summaryrefslogtreecommitdiff
path: root/lisp/eshell/em-alias.el
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2007-12-06 09:51:45 +0000
committerMiles Bader <miles@gnu.org>2007-12-06 09:51:45 +0000
commit0bd508417142ff377f34aec8dcec9438d9175c2c (patch)
tree4d60fe09e5cebf7d79766b11e9cda8cc1c9dbb9b /lisp/eshell/em-alias.el
parent98fe991da804a42f53f6a5e84cd5eab18a82e181 (diff)
parent9fb1ba8090da3528de56158a79bd3527d31c7f2f (diff)
downloademacs-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.el74
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