# HG changeset patch # User John Wiegley # Date 989466468 0 # Node ID cb20d33bef507d250d2a3674d2f81f4fc688f956 # Parent 6d7c89c799964a4edc81fcfe029066d8a6a5380b (eshell-lisp-command): Don't perform numeric conversions if a Lisp function has the property `eshell-no-numeric-conversions' set to a non-nil value. diff -r 6d7c89c79996 -r cb20d33bef50 lisp/eshell/esh-cmd.el --- a/lisp/eshell/esh-cmd.el Thu May 10 03:47:24 2001 +0000 +++ b/lisp/eshell/esh-cmd.el Thu May 10 03:47:48 2001 +0000 @@ -1265,6 +1265,8 @@ name (getenv "PATH"))) (eshell-printn program))))) +(put 'eshell/which 'eshell-no-numeric-conversions t) + (defun eshell-named-command (command &optional args) "Insert output from a plain COMMAND, using ARGS. COMMAND may result in an alias being executed, or a plain command." @@ -1383,23 +1385,27 @@ (defun eshell-lisp-command (object &optional args) "Insert Lisp OBJECT, using ARGS if a function." - ;; if any of the arguments are flagged as numbers waiting for - ;; conversion, convert them now - (let ((a args) arg) - (while a - (setq arg (car a)) - (if (and (stringp arg) - (> (length arg) 0) - (get-text-property 0 'number arg)) - (setcar a (string-to-number arg))) - (setq a (cdr a)))) - (setq eshell-last-arguments args - eshell-last-command-name "#") (catch 'eshell-external ; deferred to an external command (let* ((eshell-ensure-newline-p (eshell-interactive-output-p)) (result (if (functionp object) - (eshell-apply object args) + (progn + (setq eshell-last-arguments args + eshell-last-command-name + (concat "#")) + ;; if any of the arguments are flagged as numbers + ;; waiting for conversion, convert them now + (unless (get object 'eshell-no-numeric-conversions) + (while args + (let ((arg (car args))) + (if (and (stringp arg) + (> (length arg) 0) + (get-text-property 0 'number arg)) + (setcar a (string-to-number arg)))) + (setq args (cdr args)))) + (eshell-apply object eshell-last-arguments)) + (setq eshell-last-arguments args + eshell-last-command-name "#") (eshell-eval object)))) (if (and eshell-ensure-newline-p (save-excursion