Mercurial > emacs
changeset 106507:9506b5eee678
* eshell.texi (History): Add the other built-in variables.
(Built-ins): Explain built-ins, and how to apply the external commands.
Add `history', `su' and `sudo'.
* tramp.texi (Remote processes): Add missing <RET> in the example.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Wed, 09 Dec 2009 10:10:18 +0000 |
parents | c43a4817b264 |
children | 8c836ea59444 |
files | doc/misc/ChangeLog doc/misc/eshell.texi doc/misc/tramp.texi |
diffstat | 3 files changed, 77 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/misc/ChangeLog Wed Dec 09 06:04:09 2009 +0000 +++ b/doc/misc/ChangeLog Wed Dec 09 10:10:18 2009 +0000 @@ -1,3 +1,11 @@ +2009-12-09 Michael Albinus <michael.albinus@gmx.de> + + * eshell.texi (History): Add the other built-in variables. + (Built-ins): Explain built-ins, and how to apply the external commands. + Add `history', `su' and `sudo'. + + * tramp.texi (Remote processes): Add missing <RET> in the example. + 2009-12-01 Bill Wohler <wohler@newt.com> * mh-e.texi (Searching): Use mh vfolder_format and fix typo in database
--- a/doc/misc/eshell.texi Wed Dec 09 06:04:09 2009 +0000 +++ b/doc/misc/eshell.texi Wed Dec 09 10:10:18 2009 +0000 @@ -334,6 +334,20 @@ This variable always contains the previous working directory (the current working directory from before the last @code{cd} command). +@item $_ +@vindex $_ +It refers to the last argument of the last command. + +@item $$ +@vindex $$ +This is the result of the last command. In case of an external +command, it is @code{t} or @code{nil}. + +@item $? +@vindex $? +This variable contains the exit code of the last command (0 or 1 for +Lisp functions, based on successful completion). + @end table @node Scripts @@ -343,7 +357,19 @@ @node Built-ins @section Built-in commands -Here is a list of built-in commands that Eshell knows about: +Several commands are built-in in Eshell. In order to call the +external variant of a built-in command @code{foo}, you could call +@code{*foo}. Usually, this should not be necessary. You can check +what will be applied by the @code{which} command: + +@example +~ $ which ls +eshell/ls is a compiled Lisp function in `em-ls.el' +~ $ which *ls +/bin/ls +@end example + +Some of the built-in commands have a special behaviour in Eshell: @table @code @@ -367,6 +393,48 @@ With @samp{cd -42}, you can access the directory stack by number. +@item history +@findex history +The @samp{history} command shows all commands kept in the history ring +as numbered list. If the history ring contains +@code{eshell-history-size} commands, those numbers change after every +command invocation, therefore the @samp{history} command shall be +applied before using the expansion mechanism with history numbers. + +The n-th entry of the history ring can be applied with the @samp{!n} +command. If @code{n} is negative, the entry is counted from the end +of the history ring. + +@samp{!foo} expands to the last command beginning with @code{foo}, and +@samp{!?foo} to the last command containing @code{foo}. The n-th +argument of the last command beginning with @code{foo} is accessible +by @code{!foo:n}. + +@item su +@findex su +@itemx sudo +@findex sudo +@code{su} and @code{sudo} work as expected: they apply the following +commands (@code{su}), or the command being an argument (@code{sudo}) +under the permissions of somebody else. + +This does not work only on +the local host, but even on a remote one, when +@code{default-directory} is a remote file name. The necessary +proxy configuration of Tramp is performed +@ifinfo +automatically, @ref{Multi-hops, , , tramp}. +@end ifinfo +@ifnotinfo +automatically. +@end ifnotinfo +Example: + +@example +~ $ cd /ssh:otherhost:/etc +/ssh:user@@otherhost:/etc $ sudo find-file shadow +@end example + @end table