mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-18 10:57:34 +00:00
Require individual files if needed when compiling, rather than
esh-maint. Collect any require statements. Leave provide at start. Move any commentary to start. (eshell-debug-command): Move definition before use.
This commit is contained in:
parent
a08a176579
commit
56590d2f24
1 changed files with 46 additions and 43 deletions
|
|
@ -22,18 +22,6 @@
|
|||
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
(provide 'esh-cmd)
|
||||
|
||||
(eval-when-compile (require 'esh-maint))
|
||||
|
||||
(defgroup eshell-cmd nil
|
||||
"Executing an Eshell command is as simple as typing it in and
|
||||
pressing <RET>. There are several different kinds of commands,
|
||||
however."
|
||||
:tag "Command invocation"
|
||||
;; :link '(info-link "(eshell)Command invocation")
|
||||
:group 'eshell)
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;;_* Invoking external commands
|
||||
|
|
@ -64,11 +52,6 @@ however."
|
|||
;; functions always take precedence, set
|
||||
;; `eshell-prefer-lisp-functions' to t.
|
||||
|
||||
(defcustom eshell-prefer-lisp-functions nil
|
||||
"*If non-nil, prefer Lisp functions to external commands."
|
||||
:type 'boolean
|
||||
:group 'eshell-cmd)
|
||||
|
||||
;;;_* Alias functions
|
||||
;;
|
||||
;; Whenever a command is specified using a simple name, such as 'ls',
|
||||
|
|
@ -112,17 +95,44 @@ however."
|
|||
;;
|
||||
;; Lisp arguments are identified using the following regexp:
|
||||
|
||||
;;;_* Command hooks
|
||||
;;
|
||||
;; There are several hooks involved with command execution, which can
|
||||
;; be used either to change or augment Eshell's behavior.
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'esh-util)
|
||||
(unless (featurep 'xemacs)
|
||||
(require 'eldoc))
|
||||
(require 'esh-arg)
|
||||
(require 'esh-proc)
|
||||
(require 'esh-ext)
|
||||
|
||||
(eval-when-compile
|
||||
(require 'pcomplete))
|
||||
|
||||
|
||||
(defgroup eshell-cmd nil
|
||||
"Executing an Eshell command is as simple as typing it in and
|
||||
pressing <RET>. There are several different kinds of commands,
|
||||
however."
|
||||
:tag "Command invocation"
|
||||
;; :link '(info-link "(eshell)Command invocation")
|
||||
:group 'eshell)
|
||||
|
||||
(defcustom eshell-prefer-lisp-functions nil
|
||||
"*If non-nil, prefer Lisp functions to external commands."
|
||||
:type 'boolean
|
||||
:group 'eshell-cmd)
|
||||
|
||||
(defcustom eshell-lisp-regexp "\\([(`]\\|#'\\)"
|
||||
"*A regexp which, if matched at beginning of an argument, means Lisp.
|
||||
Such arguments will be passed to `read', and then evaluated."
|
||||
:type 'regexp
|
||||
:group 'eshell-cmd)
|
||||
|
||||
;;;_* Command hooks
|
||||
;;
|
||||
;; There are several hooks involved with command execution, which can
|
||||
;; be used either to change or augment Eshell's behavior.
|
||||
|
||||
(defcustom eshell-pre-command-hook nil
|
||||
"*A hook run before each interactive command is invoked."
|
||||
:type 'hook
|
||||
|
|
@ -219,15 +229,6 @@ return non-nil if the command is complex."
|
|||
(function :tag "Predicate")))
|
||||
:group 'eshell-cmd)
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'esh-util)
|
||||
(unless (featurep 'xemacs)
|
||||
(require 'eldoc))
|
||||
(require 'esh-arg)
|
||||
(require 'esh-proc)
|
||||
(require 'esh-ext)
|
||||
|
||||
;;; User Variables:
|
||||
|
||||
(defcustom eshell-cmd-load-hook '(eshell-cmd-initialize)
|
||||
|
|
@ -394,6 +395,18 @@ hooks should be run before and after the command."
|
|||
(list 'eshell-commands commands)
|
||||
commands)))
|
||||
|
||||
(defun eshell-debug-command (tag subform)
|
||||
"Output a debugging message to '*eshell last cmd*'."
|
||||
(let ((buf (get-buffer-create "*eshell last cmd*"))
|
||||
(text (eshell-stringify eshell-current-command)))
|
||||
(save-excursion
|
||||
(set-buffer buf)
|
||||
(if (not tag)
|
||||
(erase-buffer)
|
||||
(insert "\n\C-l\n" tag "\n\n" text
|
||||
(if subform
|
||||
(concat "\n\n" (eshell-stringify subform)) ""))))))
|
||||
|
||||
(defun eshell-debug-show-parsed-args (terms)
|
||||
"Display parsed arguments in the debug buffer."
|
||||
(ignore
|
||||
|
|
@ -956,18 +969,6 @@ at the moment are:
|
|||
"Completion for the `debug' command."
|
||||
(while (pcomplete-here '("errors" "commands"))))
|
||||
|
||||
(defun eshell-debug-command (tag subform)
|
||||
"Output a debugging message to '*eshell last cmd*'."
|
||||
(let ((buf (get-buffer-create "*eshell last cmd*"))
|
||||
(text (eshell-stringify eshell-current-command)))
|
||||
(save-excursion
|
||||
(set-buffer buf)
|
||||
(if (not tag)
|
||||
(erase-buffer)
|
||||
(insert "\n\C-l\n" tag "\n\n" text
|
||||
(if subform
|
||||
(concat "\n\n" (eshell-stringify subform)) ""))))))
|
||||
|
||||
(defun eshell-invoke-directly (command input)
|
||||
(let ((base (cadr (nth 2 (nth 2 (cadr command))))) name)
|
||||
(if (and (eq (car base) 'eshell-trap-errors)
|
||||
|
|
@ -1418,5 +1419,7 @@ messages, and errors."
|
|||
|
||||
(defalias 'eshell-lisp-command* 'eshell-lisp-command)
|
||||
|
||||
(provide 'esh-cmd)
|
||||
|
||||
;;; arch-tag: 8e4f3867-a0c5-441f-96ba-ddd142d94366
|
||||
;;; esh-cmd.el ends here
|
||||
|
|
|
|||
Loading…
Reference in a new issue