annotate man/eshell.texi @ 32479:783ed0889617

Require CL when compiling. (tex-mode-syntax-table): Init immediately. (tex-mode-map): Bind M-RET to latex-insert-item. (latex-mode): Set indent-line-function to latex-indent. (tex-common-initialization): Don't setup the syntax-table any more. (latex-insert-item): New skeleton. (tex-next-unmatched-end): Fix copy/paste braino. (latex-syntax-after, latex-skip-close-parens, latex-down-list) (latex-indent, latex-find-indent): New functions. (tex-indent-allhanging, tex-indent-arg, tex-latex-indent-syntax-table) (tex-indent-item, tex-indent-item-re, tex-indent-basic): New vars. (tex-compilation-parse-errors): Use with-syntax-table.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 15 Oct 2000 03:48:17 +0000
parents b09ded79f0f9
children 9b4c05d377c9
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
32451
b09ded79f0f9 Removed all external URL references, and changed one, since my
John Wiegley <johnw@newartisans.com>
parents: 32450
diff changeset
3 @c "@(#)$Name: $:$Id: eshell.texi,v 1.1 2000/10/13 09:47:34 johnw Exp $"
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
4
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
5 @c Documentation for Eshell: The Emacs Shell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
6 @c Copyright (C) 1999-2000 Free Software Foundation, Inc.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
7
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
8 @c This file is part of GNU Emacs
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
9
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
10 @c GNU Emacs is free software; you can redistribute it and/or modify it
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
11 @c under the terms of the GNU General Public License as published by the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
12 @c Free Software Foundation; either version 2 of the License, or (at
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
13 @c your option) any later version.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
14
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
15 @c GNU Emacs is distributed in the hope that it will be useful, but
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
16 @c WITHOUT ANY WARRANTY; without even the implied warraonty of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
17 @c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
18 @c General Public License for more details.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
19
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
20 @c You should have received a copy of the GNU General Public License
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
21 @c along with Eshell; see the file COPYING. If not, write to the Free
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
22 @c Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
23
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
24 @c %**start of header
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
25 @setfilename ../info/eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
26 @settitle Eshell: The Emacs Shell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
27 @c %**end of header
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
28
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
29 @c @dircategory Emacs
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
30 @direntry
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
31 * Eshell: (eshell). A command shell implemented in Emacs Lisp.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
32 @end direntry
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
33 @setchapternewpage on
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
34
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
35 @ifinfo
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
36 Copyright @copyright{} 1999-2000 Free Software Foundation, Inc.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
37
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
38 Permission is granted to make and distribute verbatim copies of this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
39 manual provided the copyright notice and this permission notice are
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
40 preserved on all copies.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
41
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
42 @ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
43 Permission is granted to process this file through TeX and print the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
44 results, provided the printed document carries copying permission notice
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
45 identical to this one except for the removal of this paragraph (this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
46 paragraph not being relevant to the printed manual).
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
47 @end ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
48
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
49 Permission is granted to copy and distribute modified versions of this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
50 manual under the conditions for verbatim copying, provided also that the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
51 section entitled ``GNU General Public License'' is included exactly as
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
52 in the original, and provided that the entire resulting derived work is
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
53 distributed under the terms of a permission notice identical to this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
54 one.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
55
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
56 Permission is granted to copy and distribute translations of this manual
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
57 into another language, under the above conditions for modified versions,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
58 except that the section entitled ``GNU General Public License'' and this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
59 permission notice may be included in translations approved by the Free
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
60 Software Foundation instead of in the original English.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
61 @end ifinfo
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
62
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
63 @synindex vr fn
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
64 @c The titlepage section does not appear in the Info file.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
65 @titlepage
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
66 @sp 4
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
67 @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
68 @center @titlefont{User's Guide}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
69 @sp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
70 @center @titlefont{to}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
71 @sp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
72 @center @titlefont{Eshell: The Emacs Shell}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
73 @ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
74 @sp 2
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
75 @center release 2.3.2
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
76 @c -release-
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
77 @end ignore
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
78 @sp 3
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
79 @center John Wiegley
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
80 @c -date-
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 @c The following two commands start the copyright page for the printed
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
83 @c manual. This will not appear in the Info file.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
84 @page
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
85 @vskip 0pt plus 1filll
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
86 Copyright @copyright{} 1999-2000 Free Software Foundation, Inc.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
87
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
88 Permission is granted to make and distribute verbatim copies of this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
89 manual provided the copyright notice and this permission notice are
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
90 preserved on all copies.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
91
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
92 Permission is granted to copy and distribute modified versions of this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
93 manual under the conditions for verbatim copying, provided also that the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
94 section entitled ``GNU General Public License'' is included exactly as
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
95 in the original, and provided that the entire resulting derived work is
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
96 distributed under the terms of a permission notice identical to this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
97 one.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
98
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
99 Permission is granted to copy and distribute translations of this manual
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
100 into another language, under the above conditions for modified versions,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
101 except that the section entitled ``GNU General Public License'' and this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
102 permission notice may be included in translations approved by the Free
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
103 Software Foundation instead of in the original English.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
104 @end titlepage
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
105
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
106 @c ================================================================
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
107 @c The real text starts here
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
108 @c ================================================================
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
109
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
110 @node Top, What is Eshell?, (dir), (dir)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
111 @ifinfo
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
112 @top Eshell
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 This manual documents Eshell, a shell-like command interpretor
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
115 implemented entirely in Emacs Lisp. It invokes no external processes
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
116 beyond those requested by the user. It is intended to be a functional
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
117 replacement for command shells such as @command{bash}, @command{zsh},
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
118 @command{rc}, @command{4dos}; since Emacs itself is capable of handling
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
119 most of the tasks accomplished by such tools.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
120 @c This manual is updated to release 2.3.2 of Eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
121 @end ifinfo
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
122
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
123 @menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
124 * What is Eshell?:: A brief introduction to the Emacs Shell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
125 * Bugs and ideas::
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
126 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
127
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
128 @node What is Eshell?, Bugs and ideas, Top, Top
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
129 @chapter What is Eshell?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
130 @cindex What is Eshell?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
131
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
132 Eshell is a command shell written using Emacs Lisp. All of what it does
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
133 it uses Emacs' facilities to do. This means Eshell is as portable as
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
134 Emacs itself. It also means that cooperation with other Lisp code is
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
135 natural and seamless.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
136
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
137 So what is a command shell? To properly understand the role of a shell,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
138 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
139 computer is a tool; in order to use that tool, you must tell it what to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
140 do---or give it ``commands''. These commands take many forms, such as
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
141 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
142 one form of command input.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
143
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
144 By far the most versatile way to express what you want the computer to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
145 do is using an abbreviated language, called script. In script, instead
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
146 of telling the computer, ``list my files, please'', we write just
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
147 ``list''. In fact, this command is so commonly used that we abbreviate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
148 it to ``ls''. Typing @code{ls} in a command shell is a script way of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
149 telling the computer to list your files. This is comparable to viewing
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
150 the contents of a folder using a graphical display.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
151
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
152 The real flexibility is apparent only when you realize that there are
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
153 many, many ways to list your files. Perhaps you want them sorted by
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
154 name, or sorted by date, or in reverse order, or grouped by type. Most
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
155 graphical browsers have simple ways to express this. But what about
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
156 showing only a few files, or only files that meet a certain criteria?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
157 In very complex and specific situations, the request becomes too
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
158 difficult to express with a mouse. It is just these kinds of requests
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
159 that are solvable using a command shell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
160
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
161 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
162 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
163 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
164 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
165 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
166 without using a command shell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
167
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
168 So the role of a command shell is to give you more control over what
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
169 your computer does for you. Not everyone needs this amount of control,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
170 and it does come at a cost: Learning the necessary script commands to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
171 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
172 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
173 computer frequently enough, it is more than worthwhile in the long run.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
174 Any tool you use often deserves your time in learning to master it.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
175 @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
176 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
177 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
178
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
179 As of Emacs 21, Eshell is part of the standard Emacs distribution.
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 @menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
182 * Contributors to Eshell::
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
183 * Installation::
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
184 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
185
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
186 @node Contributors to Eshell, Installation, What is Eshell?, What is Eshell?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
187 @section Contributors to Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
188 @cindex Contributors
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
189 @cindex Authors
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
190
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
191 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
192 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
193 this package.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
194
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
195 The following persons have made contributions to Eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
196
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
197 @itemize @bullet
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
198 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
199 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
200 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
201 does not have such support.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
202
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
203 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
204 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
205
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
206 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
207 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
208 things better for all.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
209
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
210 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
211 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
212 integration with Emacs 21.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
213
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
214 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
215 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
216 before overwriting files.@refill
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
217
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
218 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
219 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
220
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
221 @end itemize
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
222
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
223 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
224 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
225 there would be no new releases of Eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
226
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
227 @node Installation, , Contributors to Eshell, What is Eshell?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
228 @section Installation
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
229 @cindex Installation
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
230
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
231 As mentioned above, Eshell comes preinstalled since Emacs 21. If you're
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
232 using Emacs 20.4 or later, or XEmacs 21, you can download the most
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
233 recent version of Eshell from
32451
b09ded79f0f9 Removed all external URL references, and changed one, since my
John Wiegley <johnw@newartisans.com>
parents: 32450
diff changeset
234 @url{http://www.gci-net.com/users/j/johnw/Emacs/eshell.tar.gz}.
32450
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
235
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
236 If you are using Emacs 21, please skip this section.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
237
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
238 @subsection Short Form
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
239
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
240 Here's exactly what to do, with no explanation why:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
241
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
242 @enumerate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
243 @item @samp{M-x load-file RET eshell-auto.el RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
244 @item @samp{ESC : (add-to-list 'load-path "<path where Eshell resides>") RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
245 @item @samp{ESC : (add-to-list 'load-path "<path where Pcomplete resides>") RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
246 @item @samp{M-x eshell RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
247
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
248 You should see a version banner displayed.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
249
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
250 @item @samp{ls RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
251
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
252 Confirm that you see a file listing.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
253
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
254 @item @samp{eshell-test RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
255
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
256 Confirm that everything runs correctly. Use `M-x eshell-report-bug' if
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
257 not.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
258
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
259 @item @samp{cd $@{dirname (locate-library "eshell-auto")@} RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
260 @item @samp{find-file Makefile RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
261 @item Edit the Makefile to reflect your site.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
262 @item @samp{M-x eshell RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
263 @item @samp{make install RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
264 @item @samp{find-file $user-init-file RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
265 @item Add the following lines to your @file{.emacs} file:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
266
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
267 @example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
268 (add-to-list 'load-path "<directory where you install Eshell>")
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
269 (load "eshell-auto")
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
270 @end example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
271
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
272 @item @samp{M-x eshell RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
273 @item @samp{customize-option #'eshell-modules-list RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
274 @item Select the extension modules you prefer.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
275 @item Restart Emacs!
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
276 @item @samp{M-x info RET m Eshell RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
277
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
278 Read the manual and enjoy!
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
279 @end enumerate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
280
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
281 @subsection Long Form
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
282
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
283 @enumerate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
284 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
285 Before building and installing Eshell, it is important to test that it
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
286 will work properly on your system. To do this, first load
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
287 @file{eshell-auto}, which will define certain autoloads required to run
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
288 Eshell. This can be done using the command @kbd{M-x load-file}, and
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
289 then selecting the file @file{eshell-auto.el}.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
290
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
291 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
292 In order for Emacs to find Eshell's files, the Eshell directory must be
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
293 added to the @code{load-path} variable. This can be done within Emacs by
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
294 typing:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
295
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
296 @example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
297 ESC : (add-to-list 'load-path "<path where Eshell resides>") RET
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
298 ESC : (add-to-list 'load-path "<path where Pcomplete resides>") RET
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
299 @end example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
300
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
301 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
302 Start Eshell from the distributed sources, using default settings, by
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
303 typing @kbd{M-x eshell}.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
304
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
305 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
306 Verify that Eshell is functional by typing @command{ls} followed by
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
307 @kbd{RET}. You should have already seen a version banner announcing the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
308 version number of this release, followed by a prompt.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
309
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
310 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
311 Run the test suite by typing @command{eshell-test} followed by @kbd{RET}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
312 in the Eshell buffer. It is important that Emacs be left alone while
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
313 the tests are running, since extraneous command input may cause some of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
314 the tests to fail (they were never intended to run in the background).
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
315 If all of the tests pass, Eshell should work just fine on your system.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
316 If any of the tests fail, please send e-mail to the Eshell maintainer
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
317 using the command @kbd{M-x eshell-report-bug}.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
318
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
319 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
320 Edit the file @file{Makefile} in the directory containing the Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
321 sources to reflect the location of certain Emacs dircetories at your
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
322 site. The only things you really have to change are the definitions of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
323 @code{lispdir} and @code{infodir}. The elisp files will be copied to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
324 @code{lispdir}, and the info file to @code{infodir}.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
325
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
326 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
327 Type @code{make install} in the directory containing the Eshell sources.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
328 This will byte-compile all of the @file{.el} files and copy both the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
329 source and compiled versions to the directories specified in the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
330 previous step. It will also copy the info file, and add a corresponding
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
331 entry to your @file{dir} file----if @file{install-info} can be found.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
332
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
333 If you only want to create the compiled elisp files, but don't want to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
334 install them, you can type just @command{make} instead.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
335
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
336 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
337 Add the directory into which Eshell was installed to your
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
338 @code{load-path} variable. This can be done by adding the following
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
339 line to your @file{.emacs} file:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
340
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
341 @example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
342 (add-to-list 'load-path "/usr/local/share/emacs/site-lisp/eshell")
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
343 @end example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
344
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
345 The actual directory on your system may differ.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
346
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
347 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
348 To install Eshell privately, edit your @file{.emacs} file; to install
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
349 Eshell site-wide, edit the file @file{site-start.el} in your
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
350 @file{site-lisp} directory (usually
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
351 @file{/usr/local/share/emacs/site-lisp} or something similar). In
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
352 either case enter the following line into the appropriate file:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
353
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
354 @example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
355 (load "eshell-auto")
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
356 @end example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
357
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
358 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
359 Restart Emacs. After restarting, customize the variable
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
360 @code{eshell-modules-list}. This variable selects which Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
361 extension modules you want to use. You will find documentation on each
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
362 of those modules in the Info manual.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
363
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
364 @end enumerate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
365
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
366 If you have @TeX{} installed at your site, you can make a typeset manual
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
367 from @file{eshell.texi}.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
368
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
369 @enumerate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
370 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
371 Run @TeX{} by typing @samp{texi2dvi eshell.texi}.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
372 @item
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
373 Convert the resulting device independent file @file{eshell.dvi} to a
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
374 form which your printer can output and print it. If you have a
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
375 postscript printer there is a program, @code{dvi2ps}, which does. There
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
376 is also a program which comes together with @TeX{}, @code{dvips}, which
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
377 you can use.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
378 @end enumerate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
379
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
380 @c @node Forming commands, Known problems, What is Eshell?, Top
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
381 @c @chapter Forming commands
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
382
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
383 @c A command shell is nothing more than a place to enter commands.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
384
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
385 @c What is a command?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
386
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
387 @c A command is piece of ``script''---or special shorthand
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
388 @c language---that the computer can understand.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
389
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
390 @c What does script look like?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
391
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
392 @c Script is an extremely simplified language. Oddly enough, this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
393 @c actually makes it look more complicated than it is. Whereas normal
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
394 @c languages can use many different embellishments, the form of a script
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
395 @c command is always: a command verb, following by its arguments.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
396
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
397 @c A verb? Arguments?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
398
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
399 @c The verb is the thing you want your computer to do. There are a set
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
400 @c number of verbs, although this number is quite large. On my
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
401 @c computer, it reaches almost 1400 in number! But of course, only a
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
402 @c handful of these are necessary most of the time.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
403
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
404 @c Sometimes, the verb is all that's necessary. A verb is always a
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
405 @c single word, usually related to the task it will perform.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
406 @c @command{reboot} is a good example. Entering that will cause your
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
407 @c computer to reboot, assuming you have sufficient privileges.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
408
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
409 @c Other verbs need more information. These are usually very capable of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
410 @c verbs, but they must be told more specifically what to do. This
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
411 @c extra information is given in the form of arguments. Arguments are
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
412 @c also words, that appear after the verb. For example, @command{echo}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
413 @c is a command verb that will print back to you whatever you say.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
414 @c @command{echo} requires a set of arguments, to know what you want it
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
415 @c to echo! So a proper use of echo might look like:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
416
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
417 @c @example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
418 @c echo This is an example of using echo!
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
419 @c @end example
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
420
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
421 @c This command would result in the computer printing back to you,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
422 @c ``This is an example of using echo!''. Pretty easy, no?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
423
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
424 @c Although commands are always simple words, arguments can take
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
425 @c different forms. There are textual arguments, numeric arguments,
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
426 @c even Lisp arguments. Distinguishing among these different types of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
427 @c arguments requires some special typing, because the computer needs
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
428 @c very specific directions to understand what you mean.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
429
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
430 @node Bugs and ideas, , What is Eshell?, Top
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
431 @chapter Bugs and ideas
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
432 @cindex Reporting bugs and ideas
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
433 @cindex Bugs, how to report them
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
434 @cindex Author, how to reach
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
435 @cindex Email to the author
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
436 @cindex Known bugs
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
437 @cindex Bugs, known
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
438 @cindex FAQ
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
439 @cindex Problems, list of common
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
440
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
441 If you find a bug or misfeature, don't hesitate to let me know! Send
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
442 email to @samp{johnw@@gnu.org}. Feature requests should also be sent
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
443 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
444 unrelated bugs, please report them separately.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
445
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
446 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
447 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
448 find this package useful!
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
449
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
450 @menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
451 * Known problems::
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
452 @end menu
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
453
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
454 @node Known problems, , Bugs and ideas, Bugs and ideas
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
455 @section Known problems
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
456
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
457 Below is a partial list of currently known problems with Eshell version
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
458 2.3.2, which is the version distribution with Emacs 21.1.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
459
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
460 @table @asis
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
461 @item @samp{for i in 1 2 3 @{ grep -q a b && *echo has it @} | wc -l} fails
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
462
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
463 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
464 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
465 @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
466 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
467 structured command thing is too complicated at present.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
468
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
469 @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
470
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
471 On some XEmacs system, the subprocess interaction test fails
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
472 inexplicably, since @command{bc} works fine at the command prompt.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
473
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
474 @item @command{ls} in remote directories sometimes fails
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
475
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
476 For XEmacs users, using @command{ls} in a remote directory sometimes
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
477 fails. The reason why has not yet been found.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
478
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
479 @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
480
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
481 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
482 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
483
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
484 @item Pcomplete sometimes gets stuck
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
485
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
486 When @kbd{TAB}, no completions appear, even though the directory has
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
487 them. This behavior is rare.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
488
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
489 @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
490
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
491 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
492 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
493 temporary file, which has since been deleted.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
494
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
495 @item Problem with C-r repeating text
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
496
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
497 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
498 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
499
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
500 @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
501
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
502 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
503 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
504 scrolls back.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
505
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
506 @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
507
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
508 @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
509
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
510 @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
511
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
512 This happened a few times in Emacs 21, but has been unreproducable
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
513 since.
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 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
516
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
517 @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
518
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
519 @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
520
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
521 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
522 called with the input strings as arguments. This will require changing
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
523 eshell-do-pipeline to handle non-process targets.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
524
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
525 @item Input redirection is not supported
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
526
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
527 See the entry above.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
528
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
529 @c @item problem running "less" without argument on Windows
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
530 @c Before running telnet, I noticed that 'less' (for example) was already
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
531 @c configured as a visual command. So I invoked it from eshell to see what
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
532 @c would happen.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
533 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
534 @c Here's the result in the eshell buffer:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
535 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
536 @c Spawning child process: invalid argument
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
537 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
538 @c Also a new 'less' buffer was created with nothing in it .. (presumably this
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
539 @c holds the output of less)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
540 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
541 @c If I run 'less.exe' from the eshell command line, I get the output I expect
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
542 @c simply written to the buffer.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
543 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
544 @c Note that I'm using FSF NT-Emacs 20.6.1 on Win2000. The term.el package and
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
545 @c the supplied shell both seem to use the 'cmdproxy' program to run things
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
546 @c like shells.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
547 @c @item implement -r, -n and -s switches for cp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
548 @c @item Make M-5 eshell -> switch to *eshell<5>*, creating it if need be
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
549 @c @item mv DIR FILE.tar does not remove directories
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
550 @c This is because the tar option --remove-files doesn't do so. Should
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
551 @c it be Eshell's job?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
552 @c @item Write an article about Eshell for the LinuxWorld journal.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
553 @c @item bind standard-output and standard-error, so that if a Lisp function
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
554 @c calls `print', everything will happen as it should (albeit slowly)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
555 @c @item when the extension modules fail to load, cd / gives a Lisp error
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
556 @c @item if a globbing patterns returns only one match, should it still be a
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
557 @c list?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
558 @c @item make sure that the syntax table correctly in eshell mode
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
559 @c So that M-DEL acts in a predictable manner, etc.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
560 @c @item allow all Eshell buffers to share the same history and list-dir
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
561 @c @item error with script commands and outputting to /dev/null
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
562 @c If a script file, somewhere in the middle, does a "> /dev/null",
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
563 @c output from all subsequent commands will be swallowed
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
564 @c @item split up parsing of the text after a $ in eshell-var
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
565 @c Similar to way that eshell-arg is structured. Then add parsing of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
566 @c $[?\n]
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
567 @c @item after pressing M-RET, redisplay before running the next command
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
568 @c @item argument predicates and modifiers should work anywhere in a path
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
569 @c /usr/local/src/editors/vim $ vi **/CVS(/)/Root(.)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
570 @c Invalid regexp: "Unmatched ( or \\("
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
571 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
572 @c with zsh, the glob above expands to all files named Root in
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
573 @c directories named CVS.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
574 @c @item typing "echo ${locate locate}/bin<tab>" results in a Lisp error
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
575 @c Perhaps it should interpolate all permutations, and make that the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
576 @c globbing result, since otherwise hitting return here will result in
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
577 @c "(list of filenames)/bin", which is never very valuable. Thus, one
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
578 @c could cat only c backup files by using "ls ${identity *.c}~". In that
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
579 @c case, having an alias command name `glob' for `identity' would be
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
580 @c useful
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
581 @c @item for XEmacs on Win32, fix `file-name-all-completions'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
582 @c Make sure it returns directory names terminated by
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
583 @c `directory-sep-char' (which is initialized to be ?/), rather than
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
584 @c backslash
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
585 @c @item once symbolic mode is supported for umask, implement chmod in Lisp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
586 @c @item create `eshell-expand-file-name'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
587 @c Which uses a data table to transform things like "~+", "...", etc
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
588 @c @item abstract `eshell-smart.el' into `smart-scroll.el'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
589 @c It only really needs: to be hooked onto the output filter and the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
590 @c pre-command hook, and to have the input-end and input-start markers.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
591 @c And to know whether the last output group was "successful".
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
592 @c @item allow for fully persisting the state of Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
593 @c vars, history, buffer, input, dir stack, etc.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
594 @c @item implement D in the predicate list
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
595 @c It means that files beginning with a dot should be included in the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
596 @c glob match
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
597 @c @item a comma in a predicate list means OR
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
598 @c @item error if a glob doesn't expand due to a predicate
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
599 @c An error should be generated only if `eshell-error-if-no-glob' is
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
600 @c non-nil
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
601 @c @item the following doesn't cause an indent-according-to-mode to occur
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
602 @c (+ RET SPC TAB
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
603 @c @item create `eshell-auto-accumulate-list'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
604 @c It is a list of commands for which, if the user presses RET, the text
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
605 @c gets staged as the next Eshell command, rather than being sent to the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
606 @c current interactive
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
607 @c @item display file and line number if an error occurs in a script
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
608 @c @item wait doesn't work with process ids at the moment
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
609 @c @item enable the direct-to-process input code in eshell-term.el
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
610 @c @item problem with repeating "echo ${find /tmp}"
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
611 @c With smart display active, if I hold down RET, after a while it can't
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
612 @c keep up anymore and starts outputting blank lines. It only happens if
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
613 @c an asynchronous process is involved...
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
614 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
615 @c I think the problem is that `eshell-send-input' is resetting the input
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
616 @c target location, so that if the asynchronous process is not done by
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
617 @c the time the next RET is received, the input processor thinks that the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
618 @c input is meant for the process; which, because smart display is
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
619 @c enabled, will be the text of the last command line! That is a bug in
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
620 @c itself.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
621 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
622 @c In holding down RET while an asynchronous process is running, there
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
623 @c will be a point in between termination of the process, and the running
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
624 @c of eshell-post-command-hook, which would cause `eshell-send-input' to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
625 @c call `eshell-copy-old-input', and then process that text as a command
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
626 @c to be run after the process. Perhaps there should be a way of killing
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
627 @c pending input between the death of the process, and the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
628 @c post-command-hook.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
629 @c @item allow for a more aggressive smart display mode
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
630 @c Perhaps toggled by a command, that makes each output block a smart
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
631 @c display block
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
632 @c @item create more meta variables
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
633 @c $! -- the reason for the failure of the last disk command, or the text
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
634 @c of the last Lisp error
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
635 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
636 @c $= -- a special associate array, which can take references of the form
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
637 @c $=[REGEXP]. It also indexes into the directory ring
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
638 @c @item eshell scripts can't execute in the background
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
639 @c @item support zsh's "Parameter Expansion" syntax, i.e. ${NAME:-VAL}
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
640 @c @item write an `info' alias that can take arguments
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
641 @c So that the user can enter "info chmod"
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
642 @c @item split off more generic code from Eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
643 @c parse-args.el --- parse a list of arguments
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
644 @c interpolate.el --- interpolate $variable $(lisp)... references
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
645 @c interp.el --- find which interpretor to run a script with
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
646 @c sh-ring.el --- extend ring.el for persistant, searchable history
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
647 @c zsh-glob.el --- zsh-style globbing and predicate/modifiers
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
648 @c smartdisp.el --- smart scrolling in input buffers
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
649 @c egetopt.el --- `eshell-eval-using-options'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
650 @c prompt.el --- code for outputting and navigating prompts
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
651 @c cmd-rebind.el --- rebind certain keys in the input text
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
652 @c unix.el --- provides Lispish UNIX command, such as unix-rm, etc.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
653 @c emacs-ls.el --- implementation of ls in Emacs Lisp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
654 @c texidoc.el
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
655 @c pushd.el --- implementation of pushd/popd in Lisp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
656 @c interface.el -- a mode for reading command-line input from the user
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
657 @c @item create a mode `eshell-browse'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
658 @c It would treat the Eshell buffer as a outline. Collapsing the outline
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
659 @c hides all of the output text. Collapsing again would show only the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
660 @c first command run in each directory
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
661 @c @item look through the Korn Shell book for feature ideas
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
662 @c @item allow other version of a file to be referenced by "file{rev}"
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
663 @c This would be expanded by `eshell-expand-file-name'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
664 @c @item print "You have new mail" when the "Mail" icon gets turned on
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
665 @c @item implement M-|
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
666 @c @item implement input redirection
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
667 @c If it's a lisp function, input redirection implies "xargs" (in a
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
668 @c way..). And if input redirection is added, don't forget to update the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
669 @c file-name-quote-list, and the delimiter list.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
670 @c @item allow #<WORD ARG> to be a generic syntax
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
671 @c With the handling of "word" specified by an `eshell-special-alist'.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
672 @c @item in `eval-using-options', have a :complete tag
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
673 @c It would be used to provide completion rules for that command. Then
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
674 @c the macro will automagically define the completion function
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
675 @c @item for `eshell-command-on-region', redirections apply to the result
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
676 @c So that "+ > 'blah" will cause the result of the `+' (using input from
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
677 @c the current region) to be inserting in the symbol `blah'.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
678 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
679 @c If a disk command is being invoked, the input is sent as standard
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
680 @c input, as if a "cat <region> |" were invoked.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
681 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
682 @c If a lisp command, or an alias, is invoked, then: if the line has no
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
683 @c ^J characters, it is divided by whitespace and passed as arguments to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
684 @c the lisp function. Otherwise, it is divided at the ^J characters.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
685 @c Thus, invoking `+' on a series of numbers will add them; `min' would
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
686 @c display the smallest figure.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
687 @c @item write `eshell-script-mode' as a minor mode
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
688 @c It would provide syntax, abbrev, highlighting and indenting support
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
689 @c like emacs-lisp-mode + shell-mode.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
690 @c @item in the history mechanism, finish bash-style support
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
691 @c For !n, !#, !:%, and !:1- as separate from !:1*
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
692 @c @item support the -n command line option for "history"
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
693 @c @item implement `fc'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
694 @c @item specifying a frame as a redirection target implies point's buffer
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
695 @c @item implement ">FUNC-OR-FUNC-LIST"
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
696 @c This would allow for an "output translator", that takes a function to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
697 @c modify output with, and the target. Devise a syntax that words well
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
698 @c with pipes, and can accomodate multiple functions (i.e.,">'(upcase
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
699 @c regexp-quote)" or ">'upcase").
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
700 @c @item allow Eshell to read/write to/from standard input and output
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
701 @c This would be optional, rather than always using the Eshell buffer.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
702 @c This would allow it to be run from the command line.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
703 @c @item write a "help" command
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
704 @c It could even call subcommands with "--help" (or "-h" or "/?").
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
705 @c @item implement stty
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
706 @c @item support rc's matching operator, "~ (list) regexp"
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
707 @c @item implement "bg" and "fg" to edit `eshell-process-list'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
708 @c Using "bg" on a process that is already in the background does
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
709 @c nothing. Specifying redirection targets replaces (or adds) to the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
710 @c list current being used.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
711 @c @item have "jobs" print only the processes for the current eshell
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
712 @c @item how do I discover that a background process has requested input?
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
713 @c @item support 2>&1 and >& and 2> and |&
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
714 @c The syntax table for parsing these should be customizable, such that
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
715 @c the user could change it to use rc syntax: >[2=1].
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
716 @c @item allow $_[-1], which reads the last element of the array, etc.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
717 @c @item make $x[*] equal to listing out the full contents of x
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
718 @c Return them as a list, so that $_[*] is all the arguments of the last
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
719 @c command.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
720 @c @item move ANSI code handling from `term' into `eshell-term'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
721 @c And make it possible for the user to send char-by-char to the
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
722 @c underlying process. Ultimately, I should be able to move away from
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
723 @c using term.el altogether, since everything but the ANSI code handling
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
724 @c is already part of Eshell. Then, things would work correctly on Win32
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
725 @c as well (which doesn't have "/bin/sh", though term tries to use it)
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
726 @c @item have other shell spawning commands be visual
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
727 @c Make (su, bash, telnet, rlogin, rsh, etc.) be part of
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
728 @c `eshell-visual-commands'. The only exception is if rsh/su/bash are
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
729 @c simply being used to invoke a single command. Then, it should be
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
730 @c based on what that command is.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
731 @c @item create an alias "open"
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
732 @c This will search for some way to open its argument (similar to opening
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
733 @c a file in the Windows Explorer). Perhaps using ffap...
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
734 @c @item alias "read" to be the same as "open", except read-only
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
735 @c @item write a "tail -f" alias which does a view-file
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
736 @c I.e., it moves point to the end of the buffer, and then turns on
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
737 @c auto-revert mode in that buffer at frequent intervals -- and a head
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
738 @c alias which assums an upper limit of `eshell-maximum-line-length'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
739 @c characters per line.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
740 @c @item make dgrep load dired, mark everything, then execute the A binding
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
741 @c @item write emsh.c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
742 @c It just runs Emacs with the appropriate arguments to invoke eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
743 @c That way, it could be listed as a login shell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
744 @c @item use an intangible PS2 string for multi-line input prompts
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
745 @c @item auto-detect when a command is visual, by checking TERMCAP usage
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
746 @c @item First keypress after M-x watson triggers `eshell-send-input'
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
747 @c @item Emacs 20.3: Figure out why pcomplete won't make
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
748 @c @item Make / electric
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
749 @c So that it automatically expands and corrects pathnames. Or make
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
750 @c pathname completion for pcomplete auto-expand "/u/i/std<TAB>" to
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
751 @c "/usr/include/std<TAB>".
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
752 @c @item Write pushd/popd out to disk along with last-dir-ring
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
753 @c @item add options to eshell/cat which would cause it to sort and uniq
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
754 @c @item implement in Lisp: wc. Also count sentences, paragraphs, pages.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
755 @c @item once piping is added, implement sort and uniq
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
756 @c @item implement touch
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
757 @c @item implement epatch
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
758 @c Calls ediff-patch-file, or ediff-patch-buffer, depending on its
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
759 @c argument.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
760 @c @item have an option for bringing up ls -l result in a dired buffer
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
761 @c @item write a version of xargs that's based on command rewriting
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
762 @c find X | xargs Y == Y ${find X}. Maybe I could change
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
763 @c eshell-do-pipelines to perform this on-thy-fly rewriting.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
764 @c @item implement head and tail in Lisp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
765 @c @item write an alias for less and more that brings up a view buffer
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
766 @c Such that they can press SPC and DEL, and then q to return to eshell.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
767 @c The more command would be equivalent to: X > #<buffer Y>; view-buffer
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
768 @c #<buffer Y>
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
769 @c @item differentiate between aliases and functions
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
770 @c Allow for a bash-compatible syntax, such as:
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
771 @c
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
772 @c alias arg=blah
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
773 @c function arg () { blah $* }
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
774 @c @item find the various references to shell-mode within Emacs
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
775 @c And add support for Eshell there, since now Eshell is going to be part
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
776 @c of Emacs.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
777 @c @item permit umask to be set on a cp target during the cp command
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
778 @c @item if the first thing that I do after I enter Emacs
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
779 @c is to run eshell-command and invoke ls, and then I use M-x eshell, it
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
780 @c doesn't show me anything.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
781 @c @item M-RET during a long command doesn't quite work
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
782 @c Since it keeps the cursor up where the command was invoked.
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
783 @end table
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
784
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
785 @unnumbered Function and Variable Index
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
786
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
787 @printindex fn
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
788
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
789 @unnumbered Concept Index
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
790
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
791 @printindex cp
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
792
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
793 @unnumbered Key Index
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
794
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
795 @printindex ky
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
796
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
797 @setchapternewpage odd
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
798 @summarycontents
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
799 @contents
99899af1ec94 Added the beginnings of proper Eshell documentation.
John Wiegley <johnw@newartisans.com>
parents:
diff changeset
800 @bye