summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Porter <jporterbugs@gmail.com>2023-01-29 19:59:56 -0800
committerJim Porter <jporterbugs@gmail.com>2023-07-13 19:24:11 -0700
commit6c3fe42bde137f7e1da54acef423c4335105b1cc (patch)
treeae2a290e1bcd98a53b4ba172b7d20e9c9b71cf3d
parent4e204b561865327d4a928751b83c3a9ff4fe1a1e (diff)
downloademacs-6c3fe42bde137f7e1da54acef423c4335105b1cc.tar.gz
Restructure Eshell extension modules documentation
This adds a section for documenting all the optional modules. Do not merge to master. This is a backport of f2981a1681d. * doc/misc/eshell.texi (Extension modules): Move explanation about writing modules to... (Writing a module): ... here. (Module testing): Remove. Testing an Eshell module doesn't require any special documentation. (Key binding, Smart scrolling, Electric forward slash): Move under... (Optional modules): ... here. (Directory handling, Terminal emulation): Remove. These modules are enabled by default, and so are documented above. (Tramp extensions, Extra built-in commands): New sections.
-rw-r--r--doc/misc/eshell.texi86
1 files changed, 44 insertions, 42 deletions
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index 7d42aa62850..44eb438cfd9 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -1947,66 +1947,38 @@ at the end of the command are excluded. This allows input like this:
Eshell provides a facility for defining extension modules so that they
can be disabled and enabled without having to unload and reload them,
and to provide a common parent Customize group for the
-modules.@footnote{ERC provides a similar module facility.} An Eshell
-module is defined the same as any other library but one requirement: the
-module must define a Customize@footnote{@xref{Customization, , ,
-elisp, The Emacs Lisp Reference Manual}.}
-group using @code{eshell-defgroup} (in place of @code{defgroup}) with
-@code{eshell-module} as the parent group.@footnote{If the module has
-no user-customizable options, then there is no need to define it as an
-Eshell module.} You also need to load the following as shown:
-
-@example
-(eval-when-compile
- (require 'cl-lib)
- (require 'esh-mode)
- (require 'eshell))
-
-(require 'esh-util)
-@end example
+modules.@footnote{ERC provides a similar module facility.}
@menu
+* Optional modules::
* Writing a module::
-* Module testing::
-* Directory handling::
-* Key rebinding::
-* Smart scrolling::
-* Terminal emulation::
-* Electric forward slash::
@end menu
-@node Writing a module
-@section Writing a module
-
-This section is not yet written.
-
-@node Module testing
-@section Module testing
+@node Optional modules
+@section Optional modules
This section is not yet written.
-@node Directory handling
-@section Directory handling
-
-This section is not yet written.
+@menu
+* Key rebinding::
+* Smart scrolling::
+* Electric forward slash::
+* Tramp extensions::
+* Extra built-in commands::
+@end menu
@node Key rebinding
-@section Key rebinding
+@subsection Key rebinding
This section is not yet written.
@node Smart scrolling
-@section Smart scrolling
-
-This section is not yet written.
-
-@node Terminal emulation
-@section Terminal emulation
+@subsection Smart scrolling
This section is not yet written.
@node Electric forward slash
-@section Electric forward slash
+@subsection Electric forward slash
To help with supplying absolute file name arguments to remote
commands, you can add the @code{eshell-elecslash} module to
@@ -2060,6 +2032,36 @@ when chaining commands with the operators @code{&&}, @code{||},
@code{|} and @code{;}, the electric forward slash is active only
within the first command.
+@node Tramp extensions
+@subsection Tramp extensions
+
+This section is not yet written.
+
+@node Extra built-in functions
+@subsection Extra built-in functions
+
+This section is not yet written.
+
+@node Writing a module
+@section Writing a module
+
+An Eshell module is defined the same as any other library but one requirement: the
+module must define a Customize@footnote{@xref{Customization, , ,
+elisp, The Emacs Lisp Reference Manual}.}
+group using @code{eshell-defgroup} (in place of @code{defgroup}) with
+@code{eshell-module} as the parent group.@footnote{If the module has
+no user-customizable options, then there is no need to define it as an
+Eshell module.} You also need to load the following as shown:
+
+@example
+(eval-when-compile
+ (require 'cl-lib)
+ (require 'esh-mode)
+ (require 'eshell))
+
+(require 'esh-util)
+@end example
+
@node Bugs and ideas
@chapter Bugs and ideas
@cindex reporting bugs and ideas