mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
See ChangeLog
This commit is contained in:
parent
8844fa83d3
commit
219227ead0
@ -1,3 +1,15 @@
|
||||
2001-01-25 John Wiegley <johnw@gnu.org>
|
||||
|
||||
* eshell/esh-util.el (eshell-ange-ls-uids): Changed use of `alist'
|
||||
to `repeat' in the :type field.
|
||||
|
||||
* pcomplete.el (pcomplete-file-ignore): Changed a :type field to
|
||||
allow a choice of regexp or nil.
|
||||
(pcomplete-dir-ignore): same.
|
||||
|
||||
* eshell/em-unix.el (eshell/occur): Fixed bug causing `occur' (as
|
||||
a command) to always fail.
|
||||
|
||||
2001-01-25 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* iswitchb.el (iswitchb-make-buflist): When nconc'ing lists, don't
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; em-unix --- UNIX command aliases
|
||||
|
||||
;; Copyright (C) 1999, 2000 Free Software Foundation
|
||||
;; Copyright (C) 1999, 2000, 2001 Free Software Foundation
|
||||
|
||||
;; Author: John Wiegley <johnw@gnu.org>
|
||||
|
||||
@ -974,9 +974,9 @@ Show wall-clock time elapsed during execution of COMMAND.")
|
||||
(defun eshell/occur (&rest args)
|
||||
"Alias \"occur\" to call Emacs `occur' function."
|
||||
(let ((inhibit-read-only t))
|
||||
(if args
|
||||
(error "usage: occur: (REGEXP)")
|
||||
(occur (car args)))))
|
||||
(if (> (length args) 2)
|
||||
(error "usage: occur: (REGEXP &optional NLINES)")
|
||||
(apply 'occur args))))
|
||||
|
||||
;;; Code:
|
||||
|
||||
|
@ -98,10 +98,11 @@ function `string-to-number'."
|
||||
|
||||
(defcustom eshell-ange-ls-uids nil
|
||||
"*List of user/host/id strings, used to determine remote ownership."
|
||||
:type '(alist :key-type (string :tag "Hostname")
|
||||
:value-type (alist :tag "User/UID List"
|
||||
:key-type (string :tag "Username")
|
||||
:value-type (repeat :tag "UIDs" string)))
|
||||
:type '(repeat (cons :tag "Host for User/UID map"
|
||||
(string :tag "Hostname")
|
||||
(repeat (cons :tag "User/UID List"
|
||||
(string :tag "Username")
|
||||
(repeat :tag "UIDs" string)))))
|
||||
:group 'eshell-util)
|
||||
|
||||
;;; Internal Variables:
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; pcomplete --- programmable completion
|
||||
|
||||
;; Copyright (C) 1999, 2000 Free Sofware Foundation
|
||||
;; Copyright (C) 1999, 2000, 2001 Free Sofware Foundation
|
||||
|
||||
;; Author: John Wiegley <johnw@gnu.org>
|
||||
;; Keywords: processes abbrev
|
||||
@ -131,12 +131,12 @@
|
||||
|
||||
(defcustom pcomplete-file-ignore nil
|
||||
"*A regexp of filenames to be disregarded during file completion."
|
||||
:type 'regexp
|
||||
:type '(choice regexp (const :tag "None" nil))
|
||||
:group 'pcomplete)
|
||||
|
||||
(defcustom pcomplete-dir-ignore nil
|
||||
"*A regexp of names to be disregarded during directory completion."
|
||||
:type 'regexp
|
||||
:type '(choice regexp (const :tag "None" nil))
|
||||
:group 'pcomplete)
|
||||
|
||||
(defcustom pcomplete-ignore-case (memq system-type '(ms-dos windows-nt))
|
||||
|
@ -1,3 +1,8 @@
|
||||
2001-01-25 John Wiegley <johnw@gnu.org>
|
||||
|
||||
* eshell.texi: Editing and completion of first chapter (Overview),
|
||||
and layout of the remaining six.
|
||||
|
||||
2001-01-19 Michael Kifer <kifer@cs.sunysb.edu>
|
||||
|
||||
* ediff.texi: add credits.
|
||||
|
226
man/eshell.texi
226
man/eshell.texi
@ -1,6 +1,6 @@
|
||||
\input texinfo @c -*-texinfo-*-
|
||||
|
||||
@c "@(#)$Name: $:$Id: eshell.texi,v 1.6 2000/10/29 16:52:33 eliz Exp $"
|
||||
@c "@(#)$Name: $:$Id: eshell.texi,v 1.7 2000/12/06 20:02:30 fx Exp $"
|
||||
|
||||
@c Documentation for Eshell: The Emacs Shell.
|
||||
@c Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
@ -123,13 +123,19 @@ handling the sort of tasks accomplished by those tools.
|
||||
@end ifinfo
|
||||
|
||||
@menu
|
||||
* What is Eshell?:: A brief introduction to the Emacs Shell.
|
||||
* Installation:: For users of Emacs 20 and XEmacs.
|
||||
* Command basics:: The basics of command usage.
|
||||
* Bugs and ideas:: Known problems, and future ideas.
|
||||
* Concept Index::
|
||||
* Function and Variable Index::
|
||||
* Key Index::
|
||||
* What is Eshell?:: A brief introduction to the Emacs Shell.
|
||||
* Installation:: For users of Emacs 20 and XEmacs.
|
||||
* Command basics:: The basics of command usage.
|
||||
* Commands::
|
||||
* Arguments::
|
||||
* Input/Output::
|
||||
* Process control::
|
||||
* Extension modules::
|
||||
* Extras and Goodies::
|
||||
* Bugs and ideas:: Known problems, and future ideas.
|
||||
* Concept Index::
|
||||
* Function and Variable Index::
|
||||
* Key Index::
|
||||
@end menu
|
||||
|
||||
@node What is Eshell?, Installation, Top, Top
|
||||
@ -138,7 +144,7 @@ handling the sort of tasks accomplished by those tools.
|
||||
@cindex Eshell, what it is
|
||||
|
||||
Eshell is a @dfn{command shell} written in Emacs Lisp. Everything it
|
||||
does it uses Emacs' facilities to do. This means that Eshell is as
|
||||
does, it uses Emacs' facilities to do. This means that Eshell is as
|
||||
portable as Emacs itself. It also means that cooperation with Lisp code
|
||||
is natural and seamless.
|
||||
|
||||
@ -356,7 +362,7 @@ using the command @kbd{M-x eshell-report-bug}.
|
||||
|
||||
@item
|
||||
Edit the file @file{Makefile} in the directory containing the Eshell
|
||||
sources to reflect the location of certain Emacs dircetories at your
|
||||
sources to reflect the location of certain Emacs directories at your
|
||||
site. The only things you really have to change are the definitions of
|
||||
@code{lispdir} and @code{infodir}. The elisp files will be copied to
|
||||
@code{lispdir}, and the info file to @code{infodir}.
|
||||
@ -421,14 +427,14 @@ you can use. For other printers, use a suitable DVI driver,
|
||||
e.g., @code{dvilj4} for LaserJet-compatible printers.
|
||||
@end enumerate
|
||||
|
||||
@node Command basics, Bugs and ideas, Installation, Top
|
||||
@chapter Command basics
|
||||
@node Command basics, Commands, Installation, Top
|
||||
@chapter Basic overview
|
||||
|
||||
A command shell is a mechanism for entering verbally-formed commands.
|
||||
This is really all that it does, and every feature described in this
|
||||
manual is a means to that end. Therefore, it's important to get a firm
|
||||
grasp on exactly what a command is, and how it fits into the overall
|
||||
picture of things.
|
||||
A command shell is a means of entering verbally-formed commands. This
|
||||
is really all that it does, and every feature described in this manual
|
||||
is a means to that end. Therefore, it's important to take firm hold on
|
||||
exactly what a command is, and how it fits in the overall picture of
|
||||
things.
|
||||
|
||||
@menu
|
||||
* Commands verbs:: Commands always begin with a verb.
|
||||
@ -439,11 +445,10 @@ picture of things.
|
||||
@section Commands verbs
|
||||
|
||||
Commands are expressed using @dfn{script}, a special shorthand language
|
||||
that computers can understand without trouble.
|
||||
|
||||
Script is an extremely simplified language. Oddly enough, this actually
|
||||
makes it look more complicated than it is. Whereas normal languages use
|
||||
a variety of embellishments, the form of a script command is always:
|
||||
computers can understand with no trouble. Script is an extremely simple
|
||||
language; oddly enough, this is what makes it look so complicated!
|
||||
Whereas normal languages use a variety of embellishments, the form of a
|
||||
script command is always:
|
||||
|
||||
@example
|
||||
VERB [ARGUMENTS]
|
||||
@ -455,36 +460,165 @@ author's computer, it reaches almost 1400 in number. But of course,
|
||||
only a handful of these are really necessary.
|
||||
|
||||
Sometimes, the verb is all that's written. A verb is always a single
|
||||
word, usually related to the task it will perform. @command{reboot} is
|
||||
a good example. Entering that will cause your computer to reboot,
|
||||
assuming you have sufficient privileges.
|
||||
word, usually related to the task it performs. @command{reboot} is a
|
||||
good example. Entering that on Linux will cause your computer to
|
||||
reboot---assuming you have sufficient privileges.
|
||||
|
||||
Other verbs require more information. These are usually very capable of
|
||||
verbs, and must be told more specifically what to do. This extra
|
||||
information is given in the form of arguments. Arguments are also
|
||||
single words, that appear after the verb. For example, @command{echo}
|
||||
is a command verb that prints back whatever you say. @command{echo}
|
||||
requires arguments, so that it knows what to echo. A proper use of
|
||||
Other verbs require more information. These are usually very capable
|
||||
verbs, and must be told specifically what to do. The extra information
|
||||
is given in the form of @dfn{arguments}. For example, the
|
||||
@command{echo} verb prints back whatever arguments you type. It
|
||||
requires these arguments to know what to echo. A proper use of
|
||||
@command{echo} looks like this:
|
||||
|
||||
@example
|
||||
echo This is an example of using echo!
|
||||
echo This is an example of using echo!
|
||||
@end example
|
||||
|
||||
This piece of script expresses a command that causes the computer to
|
||||
print back: ``This is an example of using echo!''.
|
||||
This script command causes the computer to echo back: ``This is an
|
||||
example of using echo!''.
|
||||
|
||||
Although command verbs always take the form of simple words, such as
|
||||
@command{reboot} and @command{echo}, arguments have a wide vaierty of
|
||||
forms. There are textual arguments, numerical arguments---even Lisp
|
||||
arguments. Distinguishing between these different types of arguments
|
||||
requires special typing, since the computer needs to know exactly what
|
||||
you mean.
|
||||
Although command verbs are always simple words, like @command{reboot} or
|
||||
@command{echo}, arguments may have a wide variety of forms. There are
|
||||
textual arguments, numerical arguments---even Lisp arguments.
|
||||
Distinguishing these different types of arguments requires special
|
||||
typing, for the computer to know exactly what you mean.
|
||||
|
||||
@node Command arguments, , Commands verbs, Command basics
|
||||
@section Command arguments
|
||||
|
||||
@node Bugs and ideas, Concept Index, Command basics, Top
|
||||
Eshell recognizes several different kinds of command arguments:
|
||||
|
||||
@enumerate
|
||||
@item Strings (also called textual arguments)
|
||||
@item Numbers (floating point or integer)
|
||||
@item Lisp lists
|
||||
@item Lisp symbols
|
||||
@item Emacs buffers
|
||||
@item Emacs process handles
|
||||
@end enumerate
|
||||
|
||||
Most users need worry only about the first two. The third, Lisp lists,
|
||||
occur very frequently, but almost always behind the scenes.
|
||||
|
||||
Strings are the most common type of argument, and consist of nearly any
|
||||
character. Special characters---those used by Eshell
|
||||
specifically---must be preceded by a backslash (\). When in doubt, it
|
||||
safe to add backslashes anywhere and everywhere.
|
||||
|
||||
Here is a more complicated @command{echo} example:
|
||||
|
||||
@example
|
||||
echo A\ Multi-word\ Argument\ With\ A\ \$\ dollar
|
||||
@end example
|
||||
|
||||
Beyond this, things get a bit more complicated. While not beyond the
|
||||
reach of someone wishing to learn, it is definitely beyond the scope of
|
||||
this manual to present it all in a simplistic manner. Get comfortable
|
||||
with Eshell as a basic command invocation tool, and learn more about the
|
||||
commands on your system; then come back when it all sits more familiarly
|
||||
on your mind. Have fun!
|
||||
|
||||
@node Commands, Arguments, Command basics, Top
|
||||
@chapter Commands
|
||||
|
||||
@menu
|
||||
* Invocation::
|
||||
* Completion::
|
||||
* Aliases::
|
||||
* History::
|
||||
* Scripts::
|
||||
@end menu
|
||||
|
||||
@node Invocation, Completion, Commands, Commands
|
||||
@section Invocation
|
||||
|
||||
@node Completion, Aliases, Invocation, Commands
|
||||
@section Completion
|
||||
|
||||
@node Aliases, History, Completion, Commands
|
||||
@section Aliases
|
||||
|
||||
@node History, Scripts, Aliases, Commands
|
||||
@section History
|
||||
|
||||
@node Scripts, , History, Commands
|
||||
@section Scripts
|
||||
|
||||
|
||||
@node Arguments, Input/Output, Commands, Top
|
||||
@chapter Arguments
|
||||
|
||||
@menu
|
||||
* The Parser::
|
||||
* Variables::
|
||||
* Substitution::
|
||||
* Globbing::
|
||||
* Predicates::
|
||||
@end menu
|
||||
|
||||
@node The Parser, Variables, Arguments, Arguments
|
||||
@section The Parser
|
||||
|
||||
@node Variables, Substitution, The Parser, Arguments
|
||||
@section Variables
|
||||
|
||||
@node Substitution, Globbing, Variables, Arguments
|
||||
@section Substitution
|
||||
|
||||
@node Globbing, Predicates, Substitution, Arguments
|
||||
@section Globbing
|
||||
|
||||
@node Predicates, , Globbing, Arguments
|
||||
@section Predicates
|
||||
|
||||
|
||||
@node Input/Output, Process control, Arguments, Top
|
||||
@chapter Input/Output
|
||||
|
||||
@node Process control, Extension modules, Input/Output, Top
|
||||
@chapter Process control
|
||||
|
||||
|
||||
@node Extension modules, Extras and Goodies, Process control, Top
|
||||
@chapter Extension modules
|
||||
|
||||
@menu
|
||||
* Writing a module::
|
||||
* Module testing::
|
||||
* Directory handling::
|
||||
* Key rebinding::
|
||||
* Smart scrolling::
|
||||
* Terminal emulation::
|
||||
* Built-in UNIX commands::
|
||||
@end menu
|
||||
|
||||
@node Writing a module, Module testing, Extension modules, Extension modules
|
||||
@section Writing a module
|
||||
|
||||
@node Module testing, Directory handling, Writing a module, Extension modules
|
||||
@section Module testing
|
||||
|
||||
@node Directory handling, Key rebinding, Module testing, Extension modules
|
||||
@section Directory handling
|
||||
|
||||
@node Key rebinding, Smart scrolling, Directory handling, Extension modules
|
||||
@section Key rebinding
|
||||
|
||||
@node Smart scrolling, Terminal emulation, Key rebinding, Extension modules
|
||||
@section Smart scrolling
|
||||
|
||||
@node Terminal emulation, Built-in UNIX commands, Smart scrolling, Extension modules
|
||||
@section Terminal emulation
|
||||
|
||||
@node Built-in UNIX commands, , Terminal emulation, Extension modules
|
||||
@section Built-in UNIX commands
|
||||
|
||||
|
||||
@node Extras and Goodies, Bugs and ideas, Extension modules, Top
|
||||
@chapter Extras and Goodies
|
||||
|
||||
@node Bugs and ideas, Concept Index, Extras and Goodies, Top
|
||||
@chapter Bugs and ideas
|
||||
@cindex reporting bugs and ideas
|
||||
@cindex bugs, how to report them
|
||||
@ -511,8 +645,8 @@ find this package useful!
|
||||
@cindex known bugs
|
||||
@cindex bugs, known
|
||||
|
||||
Below is a partial list of currently known problems with Eshell version
|
||||
2.4, which is the version distributed with Emacs 21.1.
|
||||
Below is complete list of known problems with Eshell version 2.4.1,
|
||||
which is the version included with Emacs 21.1.
|
||||
|
||||
@table @asis
|
||||
@item Differentiate between aliases and functions
|
||||
@ -587,7 +721,7 @@ called with the input strings as arguments. This will require changing
|
||||
|
||||
See the above entry.
|
||||
|
||||
@item Problem running @command{less} without argument on Windows
|
||||
@item Problem running @command{less} without arguments on Windows
|
||||
|
||||
The result in the Eshell buffer is:
|
||||
|
||||
@ -782,7 +916,7 @@ way@dots{}). If input redirection is added, also update the
|
||||
With the handling of @emph{word} specified by an
|
||||
@code{eshell-special-alist}.
|
||||
|
||||
@item In @code{eshell-eval-using-options}, allow a @code{:complete} tag
|
||||
@item In @code{eshell-veal-using-options}, allow a @code{:complete} tag
|
||||
|
||||
It would be used to provide completion rules for that command. Then the
|
||||
macro will automagically define the completion function.
|
||||
@ -894,7 +1028,7 @@ auto-revert mode in that buffer at frequent intervals---and a
|
||||
|
||||
@item Make @command{dgrep} load @code{dired}, mark everything, then invoke @code{dired-do-search}
|
||||
|
||||
@item Write emsh.c
|
||||
@item Write mesh.c
|
||||
|
||||
This would run Emacs with the appropriate arguments to invoke Eshell
|
||||
only. That way, it could be listed as a login shell.
|
||||
|
Loading…
Reference in New Issue
Block a user