annotate man/eshell.texi @ 70059:9028ccec5e38

(mh-sub-folders-actual): Mention that folder must have been processed by mh-normalize-folder-name. (mh-folder-completion-function): Handle completion of folders with absolute names. Also, when flag is t, display complete folder name to provide proper highlighting in Emacs 22 now that minibuffer-completing-file-name is nil (closes SF #1470518). (mh-folder-completing-read): No longer set minibuffer-completing-file-name to t. This was causing "Can't set current directory errors" when browsing absolute file names. Another benefit of this change is that SPC can be used for completion again (closes SF #1470518).
author Bill Wohler <wohler@newt.com>
date Mon, 17 Apr 2006 23:43:03 +0000
parents 11b616eddda4
children b7261e09f8e4 c1e013e3dc0e e6bf73e43cf4
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
64890
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 60425
diff changeset
11 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004,
69681
11b616eddda4 @copyright{}, no indentation in @copying{}
Karl Berry <karl@gnu.org>
parents: 68639
diff changeset
12 2005, 2006 Free Software Foundation, Inc.
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
13
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
14 @quotation
37404
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
15 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
16 under the terms of the GNU Free Documentation License, Version 1.2 or
37404
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
17 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
18 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
19 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
20 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
21 License'' in the Emacs manual.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
22
37404
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
23 (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
24 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
25 Software Foundation raise funds for GNU development.''
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
26
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
27 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
28 Documentation License. If you want to distribute this document
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37283
diff changeset
29 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
30 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
31 @end quotation
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
32 @end copying
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
33
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
34 @dircategory Emacs
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
35 @direntry
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
36 * Eshell: (eshell). A command shell implemented in Emacs Lisp.
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
37 @end direntry
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
38
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
39 @setchapternewpage on
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
40
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
41 @titlepage
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
42 @sp 4
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
43 @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
44 @center @titlefont{User's Guide}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
45 @sp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
46 @center @titlefont{to}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
47 @sp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
48 @center @titlefont{Eshell: The Emacs Shell}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
49 @ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
50 @sp 2
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
51 @center release 2.4
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
52 @c -release-
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
53 @end ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
54 @sp 3
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
55 @center John Wiegley
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
56 @c -date-
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
57
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
58 @page
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
59 @vskip 0pt plus 1filll
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
60 @insertcopying
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
61 @end titlepage
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
62
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
63 @contents
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
64
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
65 @c ================================================================
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
66 @c The real text starts here
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
67 @c ================================================================
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
68
47737
0a70200bde27 use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents: 46918
diff changeset
69 @ifnottex
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
70 @node Top, What is Eshell?, (dir), (dir)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
71 @top Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
72
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
73 This manual documents Eshell, a shell-like command interpretor
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
74 implemented in Emacs Lisp. It invokes no external processes except for
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
75 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
76 replacement for command shells such as @command{bash}, @command{zsh},
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
77 @command{rc}, or @command{4dos}; since Emacs itself is capable of
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
78 handling the sort of tasks accomplished by those tools.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
79 @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
80 @end ifnottex
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
81
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
82 @menu
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
83 * What is Eshell?:: A brief introduction to the Emacs Shell.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
84 * Command basics:: The basics of command usage.
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
85 * Commands::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
86 * Arguments::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
87 * Input/Output::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
88 * Process control::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
89 * Extension modules::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
90 * Extras and Goodies::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
91 * Bugs and ideas:: Known problems, and future ideas.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
92 * Concept Index::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
93 * Function and Variable Index::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
94 * Key Index::
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
95 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
96
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
97 @node What is Eshell?
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
98 @chapter What is Eshell?
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
99 @cindex what is Eshell?
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
100 @cindex Eshell, what it is
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
101
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
102 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
103 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
104 portable as Emacs itself. It also means that cooperation with Lisp code
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
105 is natural and seamless.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
106
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
107 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
108 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
109 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
110 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
111 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
112 one form of command input.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
113
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
114 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
115 do is by using an abbreviated language called @dfn{script}. In
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
116 script, instead of telling the computer, ``list my files, please'',
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
117 one writes a standard abbreviated command word---@samp{ls}. Typing
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
118 @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
119 to list your files.@footnote{This is comparable to viewing the
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
120 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
121
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
122 The real flexibility of this approach is apparent only when you realize
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
123 that there are many, many different ways to list files. Perhaps you
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
124 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
125 by type. Most graphical browsers have simple ways to express this. But
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
126 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
127 criteria? In very complex and specific situations, the request becomes
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
128 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
129 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
130
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
131 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
132 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
133 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
134 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
135 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
136 without using a command shell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
137
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
138 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
139 computer does for you. Not everyone needs this amount of control, and
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
140 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
141 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
142 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
143 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
144 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
145 @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
146 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
147 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
148
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
149 @menu
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
150 * 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
151 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
152
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
153 @node Contributors to Eshell
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
154 @section Contributors to Eshell
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
155 @cindex contributors
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
156 @cindex authors
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
157
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
158 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
159 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
160 this package.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
161
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
162 The following persons have made contributions to Eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
163
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
164 @itemize @bullet
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
165 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
166 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
167 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
168 does not have such support.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
169
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
170 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
171 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
172
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
173 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
174 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
175 things better for all.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
176
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
177 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
178 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
179 integration with Emacs 21.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
180
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
181 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
182 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
183 before overwriting files.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
184
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
185 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
186 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
187 @end itemize
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
188
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
189 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
190 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
191 there would be no new releases of Eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
192
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
193 @node Command basics
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
194 @chapter Basic overview
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
195
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
196 A command shell is a means of entering verbally-formed commands. This
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
197 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
198 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
199 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
200 things.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
201
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
202 @menu
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
203 * Commands verbs:: Commands always begin with a verb.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
204 * Command arguments:: Some verbs require arguments.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
205 @end menu
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
206
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
207 @node Commands verbs
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
208 @section Commands verbs
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
209
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
210 Commands are expressed using @dfn{script}, a special shorthand language
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
211 computers can understand with no trouble. Script is an extremely simple
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
212 language; oddly enough, this is what makes it look so complicated!
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
213 Whereas normal languages use a variety of embellishments, the form of a
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
214 script command is always:
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
215
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
216 @example
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
217 @var{verb} [@var{arguments}]
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
218 @end example
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
219
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
220 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
221 number of verbs, although this number is usually quite large. On the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
222 author's computer, it reaches almost 1400 in number. But of course,
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
223 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
224
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
225 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
226 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
227 good example. Entering that on GNU/Linux will reboot the
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
228 computer---assuming you have sufficient privileges.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
229
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
230 Other verbs require more information. These are usually very capable
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
231 verbs, and must be told specifically what to do. The extra information
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
232 is given in the form of @dfn{arguments}. For example, the
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
233 @command{echo} verb prints back whatever arguments you type. It
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
234 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
235 @command{echo} looks like this:
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
236
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
237 @example
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
238 echo This is an example of using echo!
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
239 @end example
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
240
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
241 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
242 example of using echo!''
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
243
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
244 Although command verbs are always simple words, like @command{reboot} or
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
245 @command{echo}, arguments may have a wide variety of forms. There are
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
246 textual arguments, numerical arguments---even Lisp arguments.
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
247 Distinguishing these different types of arguments requires special
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
248 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
249
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
250 @node Command arguments
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
251 @section Command arguments
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
252
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
253 Eshell recognizes several different kinds of command arguments:
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
254
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
255 @enumerate
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
256 @item Strings (also called textual arguments)
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
257 @item Numbers (floating point or integer)
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
258 @item Lisp lists
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
259 @item Lisp symbols
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
260 @item Emacs buffers
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
261 @item Emacs process handles
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
262 @end enumerate
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
263
35667
84253e69015f Fix a couple of typos and fix markup of \.
Eli Zaretskii <eliz@gnu.org>
parents: 35588
diff changeset
264 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
265 occur very frequently, but almost always behind the scenes.
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
266
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
267 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
268 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
269 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
270 is safe to add backslashes anywhere and everywhere.
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
271
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
272 Here is a more complicated @command{echo} example:
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
273
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
274 @example
36508
753bb928f910 Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 35667
diff changeset
275 echo A\ Multi-word\ Argument\ With\ A\ \$\ dollar
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
276 @end example
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
277
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
278 Beyond this, things get a bit more complicated. While not beyond the
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
279 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
280 this manual to present it all in a simplistic manner. Get comfortable
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
281 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
282 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
283 on your mind. Have fun!
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
284
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
285 @node Commands
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
286 @chapter Commands
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
287
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
288 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
289 * Invocation::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
290 * Completion::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
291 * Aliases::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
292 * History::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
293 * Scripts::
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
294 * Built-ins::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
295 @end menu
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
296
37283
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
297 Essentially, a command shell is all about invoking commands---and
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
298 everything that entails. So understanding how Eshell invokes commands
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
299 is the key to comprehending how it all works.
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
300
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
301 @node Invocation
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
302 @section Invocation
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
303
37283
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
304 Unlike regular system shells, Eshell never invokes kernel functions
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
305 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
306 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
307 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
308 form that will be invoked, type: @samp{eshell-parse-command "echo
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
309 hello"}}
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
310
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
311 This transformation, from the string of text typed at the command
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
312 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
313 command, follows these steps:
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
314
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
315 @enumerate
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
316 @item Parse the command string into separate arguments.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
317 @item
37283
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
318 @end enumerate
433e5fe5454d A few additions.
John Wiegley <johnw@newartisans.com>
parents: 36508
diff changeset
319
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
320 @node Completion
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
321 @section Completion
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
322
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
323 @node Aliases
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
324 @section Aliases
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
325
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
326 @node History
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
327 @section History
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
328
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
329 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
330
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
331 @table @code
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
332
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
333 @item $+
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
334 @vindex $+
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
335 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
336
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
337 @item $-
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
338 @vindex $-
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
339 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
340 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
341
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
342 @end table
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
343
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
344 @node Scripts
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
345 @section Scripts
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
346
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
347
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
348 @node Built-ins
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
349 @section Built-in commands
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
350
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
351 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
352
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
353 @table @code
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
354
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
355 @item cd
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
356 @findex cd
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
357 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
358 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
359 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
360
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
361 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
362
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
363 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
364 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
365
45867
98bbf6d8534b *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45862
diff changeset
366 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
367 numbered.
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
368
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
369 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
370 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
371 that directory.
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
372
45867
98bbf6d8534b *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45862
diff changeset
373 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
374
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
375 @end table
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
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
378 @node Arguments
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
379 @chapter Arguments
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
380
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
381 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
382 * The Parser::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
383 * Variables::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
384 * Substitution::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
385 * Globbing::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
386 * Predicates::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
387 @end menu
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
388
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
389 @node The Parser
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
390 @section The Parser
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
391
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
392 @node Variables
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
393 @section Variables
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
394
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
395 @node Substitution
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
396 @section Substitution
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
397
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
398 @node Globbing
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
399 @section Globbing
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
400
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
401 @node Predicates
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
402 @section Predicates
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
403
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
404
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
405 @node Input/Output
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
406 @chapter Input/Output
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
407
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
408 @node Process control
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
409 @chapter Process control
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
410
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
411
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
412 @node Extension modules
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
413 @chapter Extension modules
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
414
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
415 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
416 * Writing a module::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
417 * Module testing::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
418 * Directory handling::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
419 * Key rebinding::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
420 * Smart scrolling::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
421 * Terminal emulation::
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
422 * Built-in UNIX commands::
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
423 @end menu
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
424
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
425 @node Writing a module
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
426 @section Writing a module
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
427
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
428 @node Module testing
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
429 @section Module testing
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
430
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
431 @node Directory handling
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
432 @section Directory handling
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
433
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
434 @node Key rebinding
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
435 @section Key rebinding
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
436
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
437 @node Smart scrolling
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
438 @section Smart scrolling
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
439
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
440 @node Terminal emulation
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
441 @section Terminal emulation
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
442
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
443 @node Built-in UNIX commands
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
444 @section Built-in UNIX commands
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
445
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
446
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
447 @node Extras and Goodies
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
448 @chapter Extras and Goodies
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
449
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
450 @node Bugs and ideas
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
451 @chapter Bugs and ideas
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
452 @cindex reporting bugs and ideas
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
453 @cindex bugs, how to report them
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
454 @cindex author, how to reach
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
455 @cindex email to the author
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
456 @cindex FAQ
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
457 @cindex problems, list of common
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
458
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
459 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
460 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
461 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
462 unrelated bugs, please report them separately.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
463
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
464 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
465 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
466 find this package useful!
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
467
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
468 @menu
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48786
diff changeset
469 * Known problems::
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
470 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
471
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
472 @node Known problems
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
473 @section Known problems
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
474 @cindex known bugs
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
475 @cindex bugs, known
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
476
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
477 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
478 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
479
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
480 @table @asis
53171
768493812366 (Known Problems): Add doc item.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
481 @item Documentation incomplete
768493812366 (Known Problems): Add doc item.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
482
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
483 @item Differentiate between aliases and functions
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
484
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
485 Allow for a bash-compatible syntax, such as:
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
486
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
487 @example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
488 alias arg=blah
33022
4c98dfd09341 Corrected some typos
John Wiegley <johnw@newartisans.com>
parents: 33020
diff changeset
489 function arg () @{ blah $* @}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
490 @end example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
491
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
492 @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
493
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
494 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
495 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
496 @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
497 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
498 structured command thing is too complicated at present.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
499
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
500 @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
501
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
502 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
503 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
504
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
505 @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
506
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
507 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
508 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
509
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
510 @item Pcomplete sometimes gets stuck
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
511
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
512 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
513 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
514
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
515 @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
516
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
517 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
518 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
519 temporary file, which has since been deleted.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
520
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
521 @item Problem with C-r repeating text
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
522
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
523 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
524 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
525
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
526 @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
527
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
528 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
529 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
530 scrolls back.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
531
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
532 @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
533
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
534 @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
535
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
536 @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
537
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 45867
diff changeset
538 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
539 since.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
540
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
541 @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
542
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
543 @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
544
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
545 @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
546
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
547 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
548 called with the input strings as arguments. This will require changing
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
549 @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
550
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
551 @item Input redirection is not supported
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
552
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
553 See the above entry.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
554
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
555 @item Problem running @command{less} without arguments on Windows
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
556
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
557 The result in the Eshell buffer is:
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
558
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
559 @example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
560 Spawning child process: invalid argument
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
561 @end example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
562
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
563 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
564 (presumably this holds the output of @command{less}).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
565
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
566 If @command{less.exe} is invoked from the Eshell command line, the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
567 expected output is written to the buffer.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
568
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
569 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
570 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
571 for running shells.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
572
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
573 @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
574
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
575 @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
576
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
577 @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
578
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
579 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
580 be Eshell's job?
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
581
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
582 @item Bind @code{standard-output} and @code{standard-error}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
583
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
584 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
585 will happen as it should (albeit slowly).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
586
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
587 @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
588
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
589 @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
590
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
591 @item Make sure syntax table is correct in Eshell mode
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
592
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
593 So that @kbd{M-DEL} acts in a predictable manner, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
594
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
595 @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
596
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
597 @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
598
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
599 If a script file, somewhere in the middle, uses @samp{> /dev/null},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
600 output from all subsequent commands is swallowed.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
601
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
602 @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
603
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
604 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
605 Then add parsing of @samp{$[?\n]}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
606
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
607 @item After pressing @kbd{M-RET}, redisplay before running the next command
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
608
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
609 @item Argument predicates and modifiers should work anywhere in a path
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
610
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
611 @example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
612 /usr/local/src/editors/vim $ vi **/CVS(/)/Root(.)
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
613 Invalid regexp: "Unmatched ( or \\("
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
614 @end example
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
615
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
616 With @command{zsh}, the glob above expands to all files named
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
617 @file{Root} in directories named @file{CVS}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
618
33022
4c98dfd09341 Corrected some typos
John Wiegley <johnw@newartisans.com>
parents: 33020
diff changeset
619 @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
620
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
621 Perhaps it should interpolate all permutations, and make that the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
622 globbing result, since otherwise hitting return here will result in
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
623 ``(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
624 @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
625 In that case, having an alias command name @command{glob} for
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
626 @command{identity} would be useful.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
627
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
628 @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
629
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
630 @item Create @code{eshell-expand-file-name}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
631
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
632 This would use a data table to transform things such as @samp{~+},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
633 @samp{...}, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
634
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
635 @item Abstract @file{em-smart.el} into @file{smart-scroll.el}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
636
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
637 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
638 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
639 And to know whether the last output group was ``successful.''
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
640
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
641 @item Allow for fully persisting the state of Eshell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
642
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
643 This would include: variables, history, buffer, input, dir stack, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
644
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
645 @item Implement D as an argument predicate
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
646
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
647 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
648 glob match.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
649
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
650 @item A comma in a predicate list should mean OR
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
651
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
652 At the moment, this is not supported.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
653
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
654 @item Error if a glob doesn't expand due to a predicate
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
655
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
656 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
657 non-@code{nil}.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
658
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
659 @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
660
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
661 @item Create @code{eshell-auto-accumulate-list}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
662
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
663 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
664 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
665 current interactive process.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
666
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
667 @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
668
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
669 @item @command{wait} doesn't work with process ids at the moment
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
670
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
671 @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
672
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
673 @item Problem with repeating @samp{echo $@{find /tmp@}}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
674
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
675 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
676 can't keep up anymore and starts outputting blank lines. It only
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
677 happens if an asynchronous process is involved@dots{}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
678
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
679 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
680 input target location, so that if the asynchronous process is not done
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
681 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
682 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
683 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
684 itself.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
685
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
686 In holding down @kbd{RET} while an asynchronous process is running,
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
687 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
688 running of @code{eshell-post-command-hook}, which would cause
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
689 @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
690 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
691 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
692 process, and the @code{post-command-hook}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
693
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
694 @item Allow for a more aggressive smart display mode
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
695
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
696 Perhaps toggled by a command, that makes each output block a smart
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
697 display block.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
698
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
699 @item Create more meta variables
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
700
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
701 @table @samp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
702 @item $!
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
703 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
704 last Lisp error.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
705
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
706 @item $=
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
707 A special associate array, which can take references of the form
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
708 @samp{$=[REGEXP]}. It indexes into the directory ring.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
709 @end table
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
710
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
711 @item Eshell scripts can't execute in the background
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
712
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
713 @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
714
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
715 @item Write an @command{info} alias that can take arguments
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
716
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
717 So that the user can enter @samp{info chmod}, for example.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
718
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
719 @item Create a mode @code{eshell-browse}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
720
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
721 It would treat the Eshell buffer as a outline. Collapsing the outline
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
722 hides all of the output text. Collapsing again would show only the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
723 first command run in each directory
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
724
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
725 @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
726
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
727 This would be expanded by @code{eshell-expand-file-name} (see above).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
728
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
729 @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
730
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
731 @item Implement @kbd{M-|} for Eshell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
732
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
733 @item Implement input redirection
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
734
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
735 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
736 way@dots{}). If input redirection is added, also update the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
737 @code{file-name-quote-list}, and the delimiter list.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
738
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
739 @item Allow @samp{#<@var{word} @var{arg}>} as a generic syntax
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
740
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
741 With the handling of @emph{word} specified by an
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
742 @code{eshell-special-alist}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
743
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
744 @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
745
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
746 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
747 macro will automagically define the completion function.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
748
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
749 @item For @code{eshell-command-on-region}, apply redirections to the result
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
750
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
751 So that @samp{+ > 'blah} would cause the result of the @code{+} (using
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
752 input from the current region) to be inserting into the symbol
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
753 @code{blah}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
754
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
755 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
756 input, as if a @samp{cat <region> |} had been invoked.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
757
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
758 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
759 newline characters, it is divided by whitespace and passed as arguments
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
760 to the Lisp function. Otherwise, it is divided at the newline
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
761 characters. Thus, invoking @code{+} on a series of numbers will add
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
762 them; @code{min} would display the smallest figure, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
763
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
764 @item Write @code{eshell-script-mode} as a minor mode
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
765
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
766 It would provide syntax, abbrev, highlighting and indenting support like
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
767 @code{emacs-lisp-mode} and @code{shell-mode}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
768
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
769 @item In the history mechanism, finish the @command{bash}-style support
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
770
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
771 This means @samp{!n}, @samp{!#}, @samp{!:%}, and @samp{!:1-} as separate
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
772 from @samp{!:1*}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
773
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
774 @item Support the -n command line option for @command{history}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
775
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
776 @item Implement @command{fc} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
777
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
778 @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
779
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
780 @item Implement @samp{>@var{func-or-func-list}}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
781
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
782 This would allow for an ``output translators'', that take a function to
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
783 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
784 pipes, and can accommodate multiple functions (i.e., @samp{>'(upcase
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
785 regexp-quote)} or @samp{>'upcase}).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
786
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
787 @item Allow Eshell to read/write to/from standard input and output
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
788
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
789 This would be optional, rather than always using the Eshell buffer.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
790 This would allow it to be run from the command line (perhaps).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
791
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
792 @item Write a @command{help} command
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
793
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
794 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
795 @option{/?}, as appropriate.
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
796
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
797 @item Implement @command{stty} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
798
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
799 @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
800
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
801 @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
802
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
803 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
804 nothing. Specifying redirection targets replaces (or adds) to the list
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
805 current being used.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
806
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
807 @item Have @command{jobs} print only the processes for the current shell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
808
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
809 @item How can Eshell learn if a background process has requested input?
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
810
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
811 @item Support @samp{2>&1} and @samp{>&} and @samp{2>} and @samp{|&}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
812
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
813 The syntax table for parsing these should be customizable, such that the
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
814 user could change it to use rc syntax: @samp{>[2=1]}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
815
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
816 @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
817
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
818 @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
819
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
820 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
821 last command.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
822
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
823 @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
824
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
825 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
826 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
827 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
828 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
829 (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
830 it).
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
831
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
832 @item Make the shell spawning commands be visual
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
833
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
834 That is, make (@command{su}, @command{bash}, @command{telnet},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
835 @command{rlogin}, @command{rsh}, etc.) be part of
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
836 @code{eshell-visual-commands}. The only exception is if the shell is
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
837 being used to invoke a single command. Then, the behavior should be
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
838 based on what that command is.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
839
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
840 @item Create a smart viewing command named @command{open}
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
841
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
842 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
843 a file in the Windows Explorer).
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
844
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
845 @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
846
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
847 @item Write a @command{tail} command which uses @code{view-file}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
848
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
849 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
850 auto-revert mode in that buffer at frequent intervals---and a
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
851 @command{head} alias which assums an upper limit of
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
852 @code{eshell-maximum-line-length} characters per line.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
853
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
854 @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
855
35588
31904bdf4350 See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 34304
diff changeset
856 @item Write mesh.c
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
857
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
858 This would run Emacs with the appropriate arguments to invoke Eshell
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
859 only. That way, it could be listed as a login shell.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
860
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
861 @item Use an intangible @code{PS2} string for multi-line input prompts
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
862
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
863 @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
864
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
865 @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
866
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
867 @item Make @kbd{/} electric
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
868
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
869 So that it automatically expands and corrects pathnames. Or make
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
870 pathname completion for Pcomplete auto-expand @samp{/u/i/std<TAB>} to
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
871 @samp{/usr/include/std<TAB>}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
872
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
873 @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
874
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
875 @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
876
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
877 @item Implement @command{wc} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
878
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
879 Add support for counting sentences, paragraphs, pages, etc.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
880
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
881 @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
882
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
883 @item Implement @command{touch} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
884
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
885 @item Implement @command{comm} in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
886
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
887 @item Implement an @command{epatch} command in Lisp
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
888
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
889 This would call @code{ediff-patch-file}, or @code{ediff-patch-buffer},
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
890 depending on its argument.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
891
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
892 @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
893
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
894 @item Write a version of @command{xargs} based on command rewriting
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
895
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
896 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
897 $@{find X@}}. Maybe @code{eshell-do-pipelines} could be changed to
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
898 perform this on-thy-fly rewriting.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
899
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
900 @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
901
33030
867e27924dcd Some markup fixes. Don't call Windows a ``win''.
Eli Zaretskii <eliz@gnu.org>
parents: 33022
diff changeset
902 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
903 to return to Eshell. It would be equivalent to:
33020
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
904 @samp{X > #<buffer Y>; view-buffer #<buffer Y>}.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
905
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
906 @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
907
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
908 Everywhere in Emacs where @code{shell-mode} is specially noticed, add
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
909 @code{eshell-mode} there.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
910
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
911 @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
912
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
913 @item Problem using @kbd{M-x eshell} after using @code{eshell-command}
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
914
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
915 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
916 @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
917 eshell}, it doesn't display anything.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
918
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
919 @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
920
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
921 Since it keeps the cursor up where the command was invoked.
e21feeab77fb See ChangeLog
John Wiegley <johnw@newartisans.com>
parents: 32542
diff changeset
922
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
923 @end table
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
924
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
925 @node Concept Index
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
926 @unnumbered Concept Index
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
927
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
928 @printindex cp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
929
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
930 @node Function and Variable Index
32542
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
931 @unnumbered Function and Variable Index
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
932
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
933 @printindex fn
9b4c05d377c9 Fix markup and chapter structure of the document.
Eli Zaretskii <eliz@gnu.org>
parents: 32451
diff changeset
934
45862
1bcf7f390ca2 Remove unnecessary prev/next/up pointers in @node
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 37404
diff changeset
935 @node Key Index
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
936 @unnumbered Key Index
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
937
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
938 @printindex ky
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
939 @bye
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
940
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
941 @ignore
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
942 arch-tag: 776409ba-cb15-42b9-b2b6-d2bdc7ebad01
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
943 @end ignore