Next: , Previous: , Up: Eshell   [Contents][Index]

5 Extension modules

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.9 An Eshell module is defined the same as any other library but one requirement: the module must define a Customize10 group using eshell-defgroup (in place of defgroup) with eshell-module as the parent group.11 You also need to load the following as shown:

  (require 'cl-lib)
  (require 'esh-mode)
  (require 'eshell))

(require 'esh-util)



ERC provides a similar module facility.


See Customization in The Emacs Lisp Reference Manual.


If the module has no user-customizable options, then there is no need to define it as an Eshell module.