annotate man/eshell.texi @ 63576:7c3d537469b0

(grep-regexp-alist): Use backreference at the end of first regexp to limit the match to the position between line number and source line with same separator character as used between file name and line number. In the second regexp limit mouse-face area to file name and line number by adding new group for them and referring it in HYPERLINK arg. (grep-regexp-alist, grep-mode-font-lock-keywords): Use shy group. (grep-mode): Set font-lock-lines-before to 0 to not refontify the previous line where grep markers may be already removed.
author Juri Linkov <juri@jurta.org>
date Sat, 18 Jun 2005 12:56:14 +0000
parents bc3006550677
children 3723093a21fd c7d2b6ee3a80 29e773288013
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
2 @c %**start of header
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
3 @setfilename ../info/eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
4 @settitle Eshell: The Emacs Shell
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
5 @synindex vr fn
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
6 @c %**end of header
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
7
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
8 @copying
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
9 This manual is for Eshell, the Emacs shell.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
10
54836
746c40973d25 Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-210
Miles Bader <miles@gnu.org>
parents: 53171
diff changeset
11 Copyright @copyright{} 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
12
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
13 @quotation
37404
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
14 Permission is granted to copy, distribute and/or modify this document
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
15 under the terms of the GNU Free Documentation License, Version 1.1 or
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
16 any later version published by the Free Software Foundation; with no
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
17 Invariant Sections, with the Front-Cover texts being ``A GNU
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
18 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
19 license is included in the section entitled ``GNU Free Documentation
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
20 License'' in the Emacs manual.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
21
37404
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
22 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
23 this GNU Manual, like GNU software. Copies published by the Free
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
24 Software Foundation raise funds for GNU development.''
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
25
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
26 This document is part of a collection distributed under the GNU Free
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
27 Documentation License. If you want to distribute this document
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
28 separately from the collection, you can do so by adding a copy of the
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
29 license to the document, as described in section 6 of the license.
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
30 @end quotation
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
31 @end copying
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
32
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
33 @dircategory Emacs
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
34 @direntry
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
35 * Eshell: (eshell). A command shell implemented in Emacs Lisp.
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
36 @end direntry
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
37
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
38 @setchapternewpage on
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
39
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
40 @titlepage
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
41 @sp 4
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
42 @c The title is printed in a large font.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
43 @center @titlefont{User's Guide}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
44 @sp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
45 @center @titlefont{to}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
46 @sp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
47 @center @titlefont{Eshell: The Emacs Shell}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
48 @ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
49 @sp 2
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
50 @center release 2.4
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
51 @c -release-
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
52 @end ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
53 @sp 3
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
54 @center John Wiegley
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
55 @c -date-
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
56
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
57 @page
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
58 @vskip 0pt plus 1filll
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
59 @insertcopying
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
60 @end titlepage
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
61
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
62 @contents
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
63
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
64 @c ================================================================
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
65 @c The real text starts here
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
66 @c ================================================================
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
67
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
68 @ifnottex
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
69 @node Top, What is Eshell?, (dir), (dir)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
70 @top Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
71
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
72 This manual documents Eshell, a shell-like command interpretor
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
73 implemented in Emacs Lisp. It invokes no external processes except for
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
74 those requested by the user. It is intended to be a functional
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
75 replacement for command shells such as @command{bash}, @command{zsh},
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
76 @command{rc}, or @command{4dos}; since Emacs itself is capable of
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
77 handling the sort of tasks accomplished by those tools.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
78 @c This manual is updated to release 2.4 of Eshell.
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
79 @end ifnottex
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
80
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
81 @menu
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
82 * What is Eshell?:: A brief introduction to the Emacs Shell.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
83 * Command basics:: The basics of command usage.
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
84 * Commands::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
85 * Arguments::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
86 * Input/Output::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
87 * Process control::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
88 * Extension modules::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
89 * Extras and Goodies::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
90 * Bugs and ideas:: Known problems, and future ideas.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
91 * Concept Index::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
92 * Function and Variable Index::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
93 * Key Index::
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
94 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
95
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
96 @node What is Eshell?
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
97 @chapter What is Eshell?
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
98 @cindex what is Eshell?
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
99 @cindex Eshell, what it is
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
100
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
101 Eshell is a @dfn{command shell} written in Emacs Lisp. Everything it
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
102 does, it uses Emacs' facilities to do. This means that Eshell is as
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
103 portable as Emacs itself. It also means that cooperation with Lisp code
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
104 is natural and seamless.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
105
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
106 What is a command shell? To properly understand the role of a shell,
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
107 it's necessary to visualize what a computer does for you. Basically, a
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
108 computer is a tool; in order to use that tool, you must tell it what to
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
109 do---or give it ``commands.'' These commands take many forms, such as
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
110 clicking with a mouse on certain parts of the screen. But that is only
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
111 one form of command input.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
112
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
113 By far the most versatile way to express what you want the computer to
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
114 do is by using an abbreviated language called @dfn{script}. In
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
115 script, instead of telling the computer, ``list my files, please'',
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
116 one writes a standard abbreviated command word---@samp{ls}. Typing
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
117 @samp{ls} in a command shell is a script way of telling the computer
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
118 to list your files.@footnote{This is comparable to viewing the
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
119 contents of a folder using a graphical display.}
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
120
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
121 The real flexibility of this approach is apparent only when you realize
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
122 that there are many, many different ways to list files. Perhaps you
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
123 want them sorted by name, sorted by date, in reverse order, or grouped
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
124 by type. Most graphical browsers have simple ways to express this. But
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
125 what about showing only a few files, or only files that meet a certain
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
126 criteria? In very complex and specific situations, the request becomes
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
127 too difficult to express using a mouse or pointing device. It is just
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
128 these kinds of requests that are easily solved using a command shell.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
129
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
130 For example, what if you want to list every Word file on your hard
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
131 drive, larger than 100 kilobytes in size, and which hasn't been looked
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
132 at in over six months? That is a good candidate list for deletion, when
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
133 you go to clean up your hard drive. But have you ever tried asking your
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
134 computer for such a list? There is no way to do it! At least, not
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
135 without using a command shell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
136
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
137 The role of a command shell is to give you more control over what your
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
138 computer does for you. Not everyone needs this amount of control, and
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
139 it does come at a cost: Learning the necessary script commands to
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
140 express what you want done. A complicated query, such as the example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
141 above, takes time to learn. But if you find yourself using your
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
142 computer frequently enough, it is more than worthwhile in the long run.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
143 Any tool you use often deserves the time spent learning to master it.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
144 @footnote{For the understandably curious, here is what that command
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
145 looks like: But don't let it fool you; once you know what's going on,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
146 it's easier than it looks: @code{ls -lt **/*.doc(Lk+50aM+5)}.}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
147
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
148 @menu
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
149 * Contributors to Eshell:: People who have helped out!
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
150 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
151
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
152 @node Contributors to Eshell
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
153 @section Contributors to Eshell
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
154 @cindex contributors
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
155 @cindex authors
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
156
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
157 Contributions to Eshell are welcome. I have limited time to work on
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
158 this project, but I will gladly add any code you contribute to me to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
159 this package.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
160
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
161 The following persons have made contributions to Eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
162
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
163 @itemize @bullet
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
164 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
165 Eli Zaretskii made it possible for Eshell to run without requiring
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
166 asynchronous subprocess support. This is important for MS-DOS, which
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
167 does not have such support.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
168
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
169 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
170 Miles Bader contributed many fixes during the port to Emacs 21.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
171
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
172 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
173 Stefan Monnier fixed the things which bothered him, which of course made
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
174 things better for all.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
175
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
176 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
177 Gerd Moellmann also helped to contribute bug fixes during the initial
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
178 integration with Emacs 21.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
179
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
180 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
181 Alex Schroeder contributed code for interactively querying the user
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
182 before overwriting files.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
183
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
184 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
185 Sudish Joseph helped with some XEmacs compatibility issues.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
186 @end itemize
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
187
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
188 Apart from these, a lot of people have sent suggestions, ideas,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
189 requests, bug reports and encouragement. Thanks a lot! Without you
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
190 there would be no new releases of Eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
191
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
192 @node Command basics
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
193 @chapter Basic overview
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
194
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
195 A command shell is a means of entering verbally-formed commands. This
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
196 is really all that it does, and every feature described in this manual
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
197 is a means to that end. Therefore, it's important to take firm hold on
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
198 exactly what a command is, and how it fits in the overall picture of
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
199 things.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
200
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
201 @menu
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
202 * Commands verbs:: Commands always begin with a verb.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
203 * Command arguments:: Some verbs require arguments.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
204 @end menu
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
205
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
206 @node Commands verbs
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
207 @section Commands verbs
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
208
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
209 Commands are expressed using @dfn{script}, a special shorthand language
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
210 computers can understand with no trouble. Script is an extremely simple
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
211 language; oddly enough, this is what makes it look so complicated!
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
212 Whereas normal languages use a variety of embellishments, the form of a
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
213 script command is always:
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
214
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
215 @example
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
216 @var{verb} [@var{arguments}]
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
217 @end example
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
218
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
219 The verb expresses what you want your computer to do. There are a fixed
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
220 number of verbs, although this number is usually quite large. On the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
221 author's computer, it reaches almost 1400 in number. But of course,
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
222 only a handful of these are really necessary.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
223
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
224 Sometimes, the verb is all that's written. A verb is always a single
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
225 word, usually related to the task it performs. @command{reboot} is a
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
226 good example. Entering that on GNU/Linux will reboot the
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
227 computer---assuming you have sufficient privileges.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
228
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
229 Other verbs require more information. These are usually very capable
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
230 verbs, and must be told specifically what to do. The extra information
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
231 is given in the form of @dfn{arguments}. For example, the
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
232 @command{echo} verb prints back whatever arguments you type. It
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
233 requires these arguments to know what to echo. A proper use of
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
234 @command{echo} looks like this:
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
235
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
236 @example
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
237 echo This is an example of using echo!
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
238 @end example
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
239
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
240 This script command causes the computer to echo back: ``This is an
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
241 example of using echo!''
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
242
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
243 Although command verbs are always simple words, like @command{reboot} or
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
244 @command{echo}, arguments may have a wide variety of forms. There are
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
245 textual arguments, numerical arguments---even Lisp arguments.
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
246 Distinguishing these different types of arguments requires special
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
247 typing, for the computer to know exactly what you mean.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
248
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
249 @node Command arguments
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
250 @section Command arguments
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
251
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
252 Eshell recognizes several different kinds of command arguments:
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
253
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
254 @enumerate
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
255 @item Strings (also called textual arguments)
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
256 @item Numbers (floating point or integer)
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
257 @item Lisp lists
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
258 @item Lisp symbols
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
259 @item Emacs buffers
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
260 @item Emacs process handles
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
261 @end enumerate
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
262
35667
84253e69015f Fix a couple of typos and fix markup of \.
Eli Zaretskii <eliz@gnu.org>
parents: 35588
diff changeset
263 Most users need to worry only about the first two. The third, Lisp lists,
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
264 occur very frequently, but almost always behind the scenes.
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
265
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
266 Strings are the most common type of argument, and consist of nearly any
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
267 character. Special characters---those used by Eshell
35667
84253e69015f Fix a couple of typos and fix markup of \.
Eli Zaretskii <eliz@gnu.org>
parents: 35588
diff changeset
268 specifically---must be preceded by a backslash (@samp{\}). When in doubt, it
84253e69015f Fix a couple of typos and fix markup of \.
Eli Zaretskii <eliz@gnu.org>
parents: 35588
diff changeset
269 is safe to add backslashes anywhere and everywhere.
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
270
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
271 Here is a more complicated @command{echo} example:
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
272
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
273 @example
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
274 echo A\ Multi-word\ Argument\ With\ A\ \$\ dollar
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
275 @end example
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
276
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
277 Beyond this, things get a bit more complicated. While not beyond the
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
278 reach of someone wishing to learn, it is definitely beyond the scope of
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
279 this manual to present it all in a simplistic manner. Get comfortable
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
280 with Eshell as a basic command invocation tool, and learn more about the
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
281 commands on your system; then come back when it all sits more familiarly
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
282 on your mind. Have fun!
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
283
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
284 @node Commands
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
285 @chapter Commands
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
286
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
287 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
288 * Invocation::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
289 * Completion::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
290 * Aliases::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
291 * History::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
292 * Scripts::
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
293 * Built-ins::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
294 @end menu
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
295
37283
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
296 Essentially, a command shell is all about invoking commands---and
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
297 everything that entails. So understanding how Eshell invokes commands
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
298 is the key to comprehending how it all works.
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
299
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
300 @node Invocation
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
301 @section Invocation
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
302
37283
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
303 Unlike regular system shells, Eshell never invokes kernel functions
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
304 directly, such as @code{exec(3)}. Instead, it uses the Lisp functions
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
305 available in the Emacs Lisp library. It does this by transforming the
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
306 command you specify into a callable Lisp form.@footnote{To see the Lisp
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
307 form that will be invoked, type: @samp{eshell-parse-command "echo
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
308 hello"}}
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
309
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
310 This transformation, from the string of text typed at the command
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
311 prompt, to the ultimate invocation of either a Lisp function or external
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
312 command, follows these steps:
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
313
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
314 @enumerate
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
315 @item Parse the command string into separate arguments.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
316 @item
37283
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
317 @end enumerate
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
318
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
319 @node Completion
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
320 @section Completion
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
321
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
322 @node Aliases
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
323 @section Aliases
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
324
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
325 @node History
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
326 @section History
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
327
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
328 Eshell knows a few built-in variables:
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
329
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
330 @table @code
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
331
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
332 @item $+
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
333 @vindex $+
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
334 This variable always contains the current working directory.
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
335
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
336 @item $-
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
337 @vindex $-
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
338 This variable always contains the previous working directory (the
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
339 current working directory from before the last @code{cd} command).
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
340
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
341 @end table
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
342
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
343 @node Scripts
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
344 @section Scripts
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
345
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
346
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
347 @node Built-ins
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
348 @section Built-in commands
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
349
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
350 Here is a list of built-in commands that Eshell knows about:
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
351
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
352 @table @code
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
353
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
354 @item cd
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
355 @findex cd
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
356 This command changes the current working directory. Usually, it is
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
357 invoked as @samp{cd foo} where @file{foo} is the new working
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
358 directory. But @code{cd} knows about a few special arguments:
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
359
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
360 When it receives no argument at all, it changes to the home directory.
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
361
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
362 Giving the command @samp{cd -} changes back to the previous working
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
363 directory (this is the same as @samp{cd $-}).
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
364
45867
98bbf6d8534b *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45862
diff changeset
365 The command @samp{cd =} shows the directory stack. Each line is
98bbf6d8534b *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45862
diff changeset
366 numbered.
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
367
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
368 With @samp{cd =foo}, Eshell searches the directory stack for a
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
369 directory matching the regular expression @samp{foo} and changes to
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
370 that directory.
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
371
45867
98bbf6d8534b *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45862
diff changeset
372 With @samp{cd -42}, you can access the directory stack by number.
98bbf6d8534b *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45862
diff changeset
373
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
374 @end table
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
375
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
376
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
377 @node Arguments
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
378 @chapter Arguments
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
379
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
380 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
381 * The Parser::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
382 * Variables::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
383 * Substitution::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
384 * Globbing::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
385 * Predicates::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
386 @end menu
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
387
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
388 @node The Parser
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
389 @section The Parser
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
390
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
391 @node Variables
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
392 @section Variables
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
393
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
394 @node Substitution
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
395 @section Substitution
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
396
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
397 @node Globbing
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
398 @section Globbing
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
399
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
400 @node Predicates
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
401 @section Predicates
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
402
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
403
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
404 @node Input/Output
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
405 @chapter Input/Output
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
406
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
407 @node Process control
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
408 @chapter Process control
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
409
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
410
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
411 @node Extension modules
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
412 @chapter Extension modules
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
413
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
414 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
415 * Writing a module::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
416 * Module testing::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
417 * Directory handling::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
418 * Key rebinding::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
419 * Smart scrolling::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
420 * Terminal emulation::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
421 * Built-in UNIX commands::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
422 @end menu
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
423
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
424 @node Writing a module
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
425 @section Writing a module
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
426
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
427 @node Module testing
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
428 @section Module testing
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
429
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
430 @node Directory handling
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
431 @section Directory handling
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
432
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
433 @node Key rebinding
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
434 @section Key rebinding
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
435
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
436 @node Smart scrolling
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
437 @section Smart scrolling
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
438
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
439 @node Terminal emulation
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
440 @section Terminal emulation
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
441
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
442 @node Built-in UNIX commands
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
443 @section Built-in UNIX commands
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
444
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
445
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
446 @node Extras and Goodies
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
447 @chapter Extras and Goodies
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
448
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
449 @node Bugs and ideas
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
450 @chapter Bugs and ideas
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
451 @cindex reporting bugs and ideas
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
452 @cindex bugs, how to report them
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
453 @cindex author, how to reach
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
454 @cindex email to the author
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
455 @cindex FAQ
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
456 @cindex problems, list of common
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
457
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
458 If you find a bug or misfeature, don't hesitate to let me know! Send
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
459 email to @email{johnw@@gnu.org}. Feature requests should also be sent
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
460 there. I prefer discussing one thing at a time. If you find several
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
461 unrelated bugs, please report them separately.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
462
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
463 If you have ideas for improvements, or if you have written some
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
464 extensions to this package, I would like to hear from you. I hope you
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
465 find this package useful!
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
466
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
467 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
468 * Known problems::
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
469 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
470
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
471 @node Known problems
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
472 @section Known problems
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
473 @cindex known bugs
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
474 @cindex bugs, known
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
475
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
476 Below is complete list of known problems with Eshell version 2.4.1,
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
477 which is the version included with Emacs 21.1.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
478
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
479 @table @asis
53171
768493812366 (Known Problems): Add doc item.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
480 @item Documentation incomplete
768493812366 (Known Problems): Add doc item.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
481
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
482 @item Differentiate between aliases and functions
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
483
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
484 Allow for a bash-compatible syntax, such as:
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
485
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
486 @example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
487 alias arg=blah
33022
4c98dfd09341 Corrected some typos
John Wiegley <johnw@newartisans.com>
parents: 33020
diff changeset
488 function arg () @{ blah $* @}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
489 @end example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
490
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
491 @item @samp{for i in 1 2 3 @{ grep -q a b && *echo has it @} | wc -l} outputs result after prompt
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
492
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
493 In fact, piping to a process from a looping construct doesn't work in
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
494 general. If I change the call to @code{eshell-copy-handles} in
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
495 @code{eshell-rewrite-for-command} to use @code{eshell-protect}, it seems
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
496 to work, but the output occurs after the prompt is displayed. The whole
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
497 structured command thing is too complicated at present.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
498
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
499 @item Error with @command{bc} in @code{eshell-test}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
500
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
501 On some XEmacs system, the subprocess interaction test fails
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
502 inexplicably, although @command{bc} works fine at the command prompt.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
503
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
504 @item Eshell does not delete @file{*Help*} buffers in XEmacs 21.1.8+
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
505
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
506 In XEmacs 21.1.8, the @file{*Help*} buffer has been renamed such that
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
507 multiple instances of the @file{*Help*} buffer can exist.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
508
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
509 @item Pcomplete sometimes gets stuck
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
510
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
511 You press @key{TAB}, but no completions appear, even though the
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
512 directory has matching files. This behavior is rare.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
513
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
514 @item @samp{grep python $<rpm -qa>} doesn't work, but using @samp{*grep} does
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
515
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
516 This happens because the @code{grep} Lisp function returns immediately,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
517 and then the asynchronous @command{grep} process expects to examine the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
518 temporary file, which has since been deleted.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
519
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
520 @item Problem with C-r repeating text
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
521
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
522 If the text @emph{before point} reads "./run", and you type @kbd{C-r r u
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
523 n}, it will repeat the line for every character typed.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
524
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
525 @item Backspace doesn't scroll back after continuing (in smart mode)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
526
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
527 Hitting space during a process invocation, such as @command{make}, will
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
528 cause it to track the bottom of the output; but backspace no longer
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
529 scrolls back.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
530
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
531 @item It's not possible to fully @code{unload-feature} Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
532
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
533 @item Menu support was removed, but never put back
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
534
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
535 @item Using C-p and C-n with rebind gets into a locked state
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
536
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 45867
diff changeset
537 This happened a few times in Emacs 21, but has been unreproducible
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
538 since.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
539
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
540 @item If an interactive process is currently running, @kbd{M-!} doesn't work
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
541
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
542 @item Use a timer instead of @code{sleep-for} when killing child processes
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
543
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
544 @item Piping to a Lisp function is not supported
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
545
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
546 Make it so that the Lisp command on the right of the pipe is repeatedly
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
547 called with the input strings as arguments. This will require changing
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
548 @code{eshell-do-pipeline} to handle non-process targets.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
549
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
550 @item Input redirection is not supported
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
551
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
552 See the above entry.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
553
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
554 @item Problem running @command{less} without arguments on Windows
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
555
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
556 The result in the Eshell buffer is:
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
557
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
558 @example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
559 Spawning child process: invalid argument
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
560 @end example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
561
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
562 Also a new @command{less} buffer was created with nothing in it@dots{}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
563 (presumably this holds the output of @command{less}).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
564
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
565 If @command{less.exe} is invoked from the Eshell command line, the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
566 expected output is written to the buffer.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
567
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
568 Note that this happens on NT-Emacs 20.6.1 on Windows 2000. The term.el
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
569 package and the supplied shell both use the @command{cmdproxy} program
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
570 for running shells.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
571
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
572 @item Implement @samp{-r}, @samp{-n} and @samp{-s} switches for @command{cp}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
573
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
574 @item Make @kbd{M-5 M-x eshell} switch to ``*eshell<5>*'', creating if need be
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
575
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
576 @item @samp{mv @var{dir} @var{file}.tar} does not remove directories
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
577
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
578 This is because the tar option --remove-files doesn't do so. Should it
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
579 be Eshell's job?
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
580
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
581 @item Bind @code{standard-output} and @code{standard-error}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
582
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
583 This would be so that if a Lisp function calls @code{print}, everything
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
584 will happen as it should (albeit slowly).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
585
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
586 @item When an extension module fails to load, @samp{cd /} gives a Lisp error
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
587
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
588 @item If a globbing pattern returns one match, should it be a list?
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
589
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
590 @item Make sure syntax table is correct in Eshell mode
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
591
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
592 So that @kbd{M-DEL} acts in a predictable manner, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
593
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
594 @item Allow all Eshell buffers to share the same history and list-dir
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
595
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
596 @item There is a problem with script commands that output to @file{/dev/null}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
597
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
598 If a script file, somewhere in the middle, uses @samp{> /dev/null},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
599 output from all subsequent commands is swallowed.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
600
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
601 @item Split up parsing of text after @samp{$} in @file{esh-var.el}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
602
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
603 Make it similar to the way that @file{esh-arg.el} is structured.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
604 Then add parsing of @samp{$[?\n]}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
605
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
606 @item After pressing @kbd{M-RET}, redisplay before running the next command
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
607
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
608 @item Argument predicates and modifiers should work anywhere in a path
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
609
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
610 @example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
611 /usr/local/src/editors/vim $ vi **/CVS(/)/Root(.)
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
612 Invalid regexp: "Unmatched ( or \\("
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
613 @end example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
614
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
615 With @command{zsh}, the glob above expands to all files named
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
616 @file{Root} in directories named @file{CVS}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
617
33022
4c98dfd09341 Corrected some typos
John Wiegley <johnw@newartisans.com>
parents: 33020
diff changeset
618 @item Typing @samp{echo $@{locate locate@}/bin<TAB>} results in a Lisp error
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
619
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
620 Perhaps it should interpolate all permutations, and make that the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
621 globbing result, since otherwise hitting return here will result in
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
622 ``(list of filenames)/bin'', which is never valuable. Thus, one could
33022
4c98dfd09341 Corrected some typos
John Wiegley <johnw@newartisans.com>
parents: 33020
diff changeset
623 @command{cat} only C backup files by using @samp{ls $@{identity *.c@}~}.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
624 In that case, having an alias command name @command{glob} for
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
625 @command{identity} would be useful.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
626
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
627 @item Once symbolic mode is supported for @command{umask}, implement @command{chmod} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
628
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
629 @item Create @code{eshell-expand-file-name}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
630
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
631 This would use a data table to transform things such as @samp{~+},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
632 @samp{...}, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
633
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
634 @item Abstract @file{em-smart.el} into @file{smart-scroll.el}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
635
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
636 It only really needs: to be hooked onto the output filter and the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
637 pre-command hook, and to have the input-end and input-start markers.
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
638 And to know whether the last output group was ``successful.''
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
639
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
640 @item Allow for fully persisting the state of Eshell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
641
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
642 This would include: variables, history, buffer, input, dir stack, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
643
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
644 @item Implement D as an argument predicate
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
645
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
646 It means that files beginning with a dot should be included in the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
647 glob match.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
648
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
649 @item A comma in a predicate list should mean OR
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
650
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
651 At the moment, this is not supported.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
652
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
653 @item Error if a glob doesn't expand due to a predicate
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
654
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
655 An error should be generated only if @code{eshell-error-if-no-glob} is
56279
b1ae5333057a * ses.texi, viper.texi, search.texi, flymake.texi, faq.texi:
Jesper Harder <harder@ifa.au.dk>
parents: 54836
diff changeset
656 non-@code{nil}.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
657
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
658 @item @samp{(+ RET SPC TAB} does not cause @code{indent-according-to-mode} to occur
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
659
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
660 @item Create @code{eshell-auto-accumulate-list}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
661
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
662 This is a list of commands for which, if the user presses @kbd{RET}, the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
663 text is staged as the next Eshell command, rather than being sent to the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
664 current interactive process.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
665
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
666 @item Display file and line number if an error occurs in a script
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
667
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
668 @item @command{wait} doesn't work with process ids at the moment
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
669
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
670 @item Enable the direct-to-process input code in @file{em-term.el}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
671
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
672 @item Problem with repeating @samp{echo $@{find /tmp@}}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
673
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
674 With smart display active, if @kbd{RET} is held down, after a while it
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
675 can't keep up anymore and starts outputting blank lines. It only
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
676 happens if an asynchronous process is involved@dots{}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
677
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
678 I think the problem is that @code{eshell-send-input} is resetting the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
679 input target location, so that if the asynchronous process is not done
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
680 by the time the next @kbd{RET} is received, the input processor thinks
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
681 that the input is meant for the process; which, when smart display is
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
682 enabled, will be the text of the last command line! That is a bug in
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
683 itself.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
684
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
685 In holding down @kbd{RET} while an asynchronous process is running,
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
686 there will be a point in between termination of the process, and the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
687 running of @code{eshell-post-command-hook}, which would cause
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
688 @code{eshell-send-input} to call @code{eshell-copy-old-input}, and then
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
689 process that text as a command to be run after the process. Perhaps
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
690 there should be a way of killing pending input between the death of the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
691 process, and the @code{post-command-hook}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
692
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
693 @item Allow for a more aggressive smart display mode
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
694
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
695 Perhaps toggled by a command, that makes each output block a smart
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
696 display block.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
697
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
698 @item Create more meta variables
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
699
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
700 @table @samp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
701 @item $!
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
702 The reason for the failure of the last disk command, or the text of the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
703 last Lisp error.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
704
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
705 @item $=
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
706 A special associate array, which can take references of the form
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
707 @samp{$=[REGEXP]}. It indexes into the directory ring.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
708 @end table
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
709
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
710 @item Eshell scripts can't execute in the background
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
711
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
712 @item Support zsh's ``Parameter Expansion'' syntax, i.e. @samp{$@{@var{name}:-@var{val}@}}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
713
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
714 @item Write an @command{info} alias that can take arguments
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
715
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
716 So that the user can enter @samp{info chmod}, for example.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
717
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
718 @item Create a mode @code{eshell-browse}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
719
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
720 It would treat the Eshell buffer as a outline. Collapsing the outline
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
721 hides all of the output text. Collapsing again would show only the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
722 first command run in each directory
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
723
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
724 @item Allow other revisions of a file to be referenced using @samp{file@{rev@}}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
725
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
726 This would be expanded by @code{eshell-expand-file-name} (see above).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
727
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
728 @item Print ``You have new mail'' when the ``Mail'' icon is turned on
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
729
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
730 @item Implement @kbd{M-|} for Eshell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
731
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
732 @item Implement input redirection
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
733
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
734 If it's a Lisp function, input redirection implies @command{xargs} (in a
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
735 way@dots{}). If input redirection is added, also update the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
736 @code{file-name-quote-list}, and the delimiter list.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
737
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
738 @item Allow @samp{#<@var{word} @var{arg}>} as a generic syntax
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
739
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
740 With the handling of @emph{word} specified by an
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
741 @code{eshell-special-alist}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
742
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
743 @item In @code{eshell-veal-using-options}, allow a @code{:complete} tag
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
744
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
745 It would be used to provide completion rules for that command. Then the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
746 macro will automagically define the completion function.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
747
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
748 @item For @code{eshell-command-on-region}, apply redirections to the result
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
749
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
750 So that @samp{+ > 'blah} would cause the result of the @code{+} (using
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
751 input from the current region) to be inserting into the symbol
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
752 @code{blah}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
753
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
754 If an external command is being invoked, the input is sent as standard
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
755 input, as if a @samp{cat <region> |} had been invoked.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
756
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
757 If a Lisp command, or an alias, is invoked, then if the line has no
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
758 newline characters, it is divided by whitespace and passed as arguments
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
759 to the Lisp function. Otherwise, it is divided at the newline
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
760 characters. Thus, invoking @code{+} on a series of numbers will add
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
761 them; @code{min} would display the smallest figure, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
762
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
763 @item Write @code{eshell-script-mode} as a minor mode
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
764
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
765 It would provide syntax, abbrev, highlighting and indenting support like
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
766 @code{emacs-lisp-mode} and @code{shell-mode}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
767
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
768 @item In the history mechanism, finish the @command{bash}-style support
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
769
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
770 This means @samp{!n}, @samp{!#}, @samp{!:%}, and @samp{!:1-} as separate
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
771 from @samp{!:1*}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
772
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
773 @item Support the -n command line option for @command{history}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
774
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
775 @item Implement @command{fc} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
776
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
777 @item Specifying a frame as a redirection target should imply the currently active window's buffer
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
778
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
779 @item Implement @samp{>@var{func-or-func-list}}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
780
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
781 This would allow for an ``output translators'', that take a function to
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
782 modify output with, and a target. Devise a syntax that works well with
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 45867
diff changeset
783 pipes, and can accommodate multiple functions (i.e., @samp{>'(upcase
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
784 regexp-quote)} or @samp{>'upcase}).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
785
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
786 @item Allow Eshell to read/write to/from standard input and output
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
787
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
788 This would be optional, rather than always using the Eshell buffer.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
789 This would allow it to be run from the command line (perhaps).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
790
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
791 @item Write a @command{help} command
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
792
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
793 It would call subcommands with @option{--help}, or @option{-h} or
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
794 @option{/?}, as appropriate.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
795
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
796 @item Implement @command{stty} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
797
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
798 @item Support @command{rc}'s matching operator, e.g. @samp{~ (@var{list}) @var{regexp}}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
799
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
800 @item Implement @command{bg} and @command{fg} as editors of @code{eshell-process-list}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
801
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
802 Using @command{bg} on a process that is already in the background does
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
803 nothing. Specifying redirection targets replaces (or adds) to the list
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
804 current being used.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
805
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
806 @item Have @command{jobs} print only the processes for the current shell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
807
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
808 @item How can Eshell learn if a background process has requested input?
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
809
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
810 @item Support @samp{2>&1} and @samp{>&} and @samp{2>} and @samp{|&}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
811
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
812 The syntax table for parsing these should be customizable, such that the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
813 user could change it to use rc syntax: @samp{>[2=1]}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
814
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
815 @item Allow @samp{$_[-1]}, which would indicate the last element of the array
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
816
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
817 @item Make @samp{$x[*]} equal to listing out the full contents of @samp{x}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
818
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
819 Return them as a list, so that @samp{$_[*]} is all the arguments of the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
820 last command.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
821
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
822 @item Copy ANSI code handling from @file{term.el} into @file{em-term.el}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
823
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
824 Make it possible for the user to send char-by-char to the underlying
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
825 process. Ultimately, I should be able to move away from using term.el
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
826 altogether, since everything but the ANSI code handling is already part
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
827 of Eshell. Then, things would work correctly on MS-Windows as well
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
828 (which doesn't have @file{/bin/sh}, although @file{term.el} tries to use
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
829 it).
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
830
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
831 @item Make the shell spawning commands be visual
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
832
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
833 That is, make (@command{su}, @command{bash}, @command{telnet},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
834 @command{rlogin}, @command{rsh}, etc.) be part of
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
835 @code{eshell-visual-commands}. The only exception is if the shell is
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
836 being used to invoke a single command. Then, the behavior should be
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
837 based on what that command is.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
838
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
839 @item Create a smart viewing command named @command{open}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
840
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
841 This would search for some way to open its argument (similar to opening
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
842 a file in the Windows Explorer).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
843
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
844 @item Alias @command{read} to be the same as @command{open}, only read-only
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
845
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
846 @item Write a @command{tail} command which uses @code{view-file}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
847
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
848 It would move point to the end of the buffer, and then turns on
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
849 auto-revert mode in that buffer at frequent intervals---and a
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
850 @command{head} alias which assums an upper limit of
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
851 @code{eshell-maximum-line-length} characters per line.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
852
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
853 @item Make @command{dgrep} load @code{dired}, mark everything, then invoke @code{dired-do-search}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
854
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
855 @item Write mesh.c
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
856
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
857 This would run Emacs with the appropriate arguments to invoke Eshell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
858 only. That way, it could be listed as a login shell.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
859
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
860 @item Use an intangible @code{PS2} string for multi-line input prompts
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
861
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
862 @item Auto-detect when a command is visual, by checking @code{TERMCAP} usage
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
863
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
864 @item The first keypress after @kbd{M-x watson} triggers `eshell-send-input'
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
865
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
866 @item Make @kbd{/} electric
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
867
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
868 So that it automatically expands and corrects pathnames. Or make
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
869 pathname completion for Pcomplete auto-expand @samp{/u/i/std<TAB>} to
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
870 @samp{/usr/include/std<TAB>}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
871
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
872 @item Write the @command{pushd} stack to disk along with @code{last-dir-ring}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
873
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
874 @item Add options to @code{eshell/cat} which would allow it to sort and uniq
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
875
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
876 @item Implement @command{wc} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
877
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
878 Add support for counting sentences, paragraphs, pages, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
879
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
880 @item Once piping is added, implement @command{sort} and @command{uniq} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
881
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
882 @item Implement @command{touch} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
883
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
884 @item Implement @command{comm} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
885
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
886 @item Implement an @command{epatch} command in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
887
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
888 This would call @code{ediff-patch-file}, or @code{ediff-patch-buffer},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
889 depending on its argument.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
890
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
891 @item Have an option such that @samp{ls -l} generates a dired buffer
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
892
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
893 @item Write a version of @command{xargs} based on command rewriting
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
894
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
895 That is, @samp{find X | xargs Y} would be indicated using @samp{Y
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
896 $@{find X@}}. Maybe @code{eshell-do-pipelines} could be changed to
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
897 perform this on-thy-fly rewriting.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
898
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
899 @item Write an alias for @command{less} that brings up a @code{view-mode} buffer
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
900
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
901 Such that the user can press @key{SPC} and @key{DEL}, and then @key{q}
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
902 to return to Eshell. It would be equivalent to:
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
903 @samp{X > #<buffer Y>; view-buffer #<buffer Y>}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
904
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
905 @item Make @code{eshell-mode} as much a full citizen as @code{shell-mode}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
906
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
907 Everywhere in Emacs where @code{shell-mode} is specially noticed, add
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
908 @code{eshell-mode} there.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
909
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
910 @item Permit the umask to be selectively set on a @command{cp} target
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
911
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
912 @item Problem using @kbd{M-x eshell} after using @code{eshell-command}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
913
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
914 If the first thing that I do after entering Emacs is to run
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
915 @code{eshell-command} and invoke @command{ls}, and then use @kbd{M-x
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
916 eshell}, it doesn't display anything.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
917
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
918 @item @kbd{M-RET} during a long command (using smart display) doesn't work
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
919
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
920 Since it keeps the cursor up where the command was invoked.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
921
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
922 @end table
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
923
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
924 @node Concept Index
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
925 @unnumbered Concept Index
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
926
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
927 @printindex cp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
928
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
929 @node Function and Variable Index
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
930 @unnumbered Function and Variable Index
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
931
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
932 @printindex fn
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
933
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
934 @node Key Index
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
935 @unnumbered Key Index
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
936
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
937 @printindex ky
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
938 @bye
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
939
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
940 @ignore
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
941 arch-tag: 776409ba-cb15-42b9-b2b6-d2bdc7ebad01
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
942 @end ignore