diff options
author | Miles Bader <miles@gnu.org> | 2007-12-06 09:51:45 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2007-12-06 09:51:45 +0000 |
commit | 0bd508417142ff377f34aec8dcec9438d9175c2c (patch) | |
tree | 4d60fe09e5cebf7d79766b11e9cda8cc1c9dbb9b /lisp/eshell/em-alias.el | |
parent | 98fe991da804a42f53f6a5e84cd5eab18a82e181 (diff) | |
parent | 9fb1ba8090da3528de56158a79bd3527d31c7f2f (diff) | |
download | emacs-0bd508417142ff377f34aec8dcec9438d9175c2c.tar.gz emacs-0bd508417142ff377f34aec8dcec9438d9175c2c.tar.bz2 emacs-0bd508417142ff377f34aec8dcec9438d9175c2c.zip |
Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-294
Diffstat (limited to 'lisp/eshell/em-alias.el')
-rw-r--r-- | lisp/eshell/em-alias.el | 74 |
1 files changed, 38 insertions, 36 deletions
diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el index 8ecc335523b..dd61dac0594 100644 --- a/lisp/eshell/em-alias.el +++ b/lisp/eshell/em-alias.el @@ -22,17 +22,6 @@ ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. -(provide 'em-alias) - -(eval-when-compile (require 'esh-maint)) -(require 'eshell) - -(defgroup eshell-alias nil - "Command aliases allow for easy definition of alternate commands." - :tag "Command aliases" - ;; :link '(info-link "(eshell)Command aliases") - :group 'eshell-module) - ;;; Commentary: ;; Command aliases greatly simplify the definition of new commands. @@ -62,19 +51,8 @@ ;; ;; Aliases are written to disk immediately after being defined or ;; deleted. The filename in which they are kept is defined by the -;; following variable: +;; variable eshell-aliases-file. -(defcustom eshell-aliases-file (concat eshell-directory-name "alias") - "*The file in which aliases are kept. -Whenever an alias is defined by the user, using the `alias' command, -it will be written to this file. Thus, alias definitions (and -deletions) are always permanent. This approach was chosen for the -sake of simplicity, since that's pretty much the only benefit to be -gained by using this module." - :type 'file - :group 'eshell-alias) - -;;; ;; The format of this file is quite basic. It specifies the alias ;; definitions in almost exactly the same way that the user entered ;; them, minus any argument quoting (since interpolation is not done @@ -102,19 +80,12 @@ gained by using this module." ;; mispelled command, once a given tolerance threshold has been ;; reached. -(defcustom eshell-bad-command-tolerance 3 - "*The number of failed commands to ignore before creating an alias." - :type 'integer - ;; :link '(custom-manual "(eshell)Auto-correction of bad commands") - :group 'eshell-alias) - -;;; -;; Whenever the same bad command name is encountered this many times, -;; the user will be prompted in the minibuffer to provide an alias -;; name. An alias definition will then be created which will result -;; in an equal call to the correct name. In this way, Eshell -;; gradually learns about the commands that the user mistypes -;; frequently, and will automatically correct them! +;; Whenever the same bad command name is encountered +;; `eshell-bad-command-tolerance' times, the user will be prompted in +;; the minibuffer to provide an alias name. An alias definition will +;; then be created which will result in an equal call to the correct +;; name. In this way, Eshell gradually learns about the commands that +;; the user mistypes frequently, and will automatically correct them! ;; ;; Note that a '$*' is automatically appended at the end of the alias ;; definition, so that entering it is unnecessary when specifying the @@ -122,6 +93,32 @@ gained by using this module." ;;; Code: +(eval-when-compile + (require 'esh-util)) +(require 'eshell) + +(defgroup eshell-alias nil + "Command aliases allow for easy definition of alternate commands." + :tag "Command aliases" + ;; :link '(info-link "(eshell)Command aliases") + :group 'eshell-module) + +(defcustom eshell-aliases-file (concat eshell-directory-name "alias") + "*The file in which aliases are kept. +Whenever an alias is defined by the user, using the `alias' command, +it will be written to this file. Thus, alias definitions (and +deletions) are always permanent. This approach was chosen for the +sake of simplicity, since that's pretty much the only benefit to be +gained by using this module." + :type 'file + :group 'eshell-alias) + +(defcustom eshell-bad-command-tolerance 3 + "*The number of failed commands to ignore before creating an alias." + :type 'integer + ;; :link '(custom-manual "(eshell)Auto-correction of bad commands") + :group 'eshell-alias) + (defcustom eshell-alias-load-hook '(eshell-alias-initialize) "*A hook that gets run when `eshell-alias' is loaded." :type 'hook @@ -180,6 +177,9 @@ command, which will automatically write them to the file named by (eshell-write-aliases-list)) nil) +(defvar pcomplete-stub) +(autoload 'pcomplete-here "pcomplete") + (defun pcomplete/eshell-mode/alias () "Completion function for Eshell's `alias' command." (pcomplete-here (eshell-alias-completions pcomplete-stub))) @@ -274,5 +274,7 @@ These are all the command aliases which begin with NAME." eshell-prevent-alias-expansion)))) (eshell-parse-command alias)))))))))) +(provide 'em-alias) + ;;; arch-tag: 8b018fc1-4e07-4ccc-aa73-c0a1ba361f82 ;;; em-alias.el ends here |