diff options
| author | Stefan Monnier | 2013-08-04 16:18:11 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2013-08-04 16:18:11 -0400 |
| commit | 671d5c16547d16bef2efa056705bd35b5feacc29 (patch) | |
| tree | 4bc2c3774ce9914f21508d0e2a83e25504dbc1db /lisp/eshell | |
| parent | e443729d658ee2b9e0f55bbbb90241819bf516a6 (diff) | |
| download | emacs-671d5c16547d16bef2efa056705bd35b5feacc29.tar.gz emacs-671d5c16547d16bef2efa056705bd35b5feacc29.zip | |
* lisp/subr.el (macrop): New function.
(text-clone--maintaining): New var.
(text-clone--maintain): Rename from text-clone-maintain. Use it
instead of inhibit-modification-hooks.
* lisp/emacs-lisp/nadvice.el (advice--normalize): For aliases to macros, use
a proxy, so as handle autoloads and redefinitions of the target.
(advice--defalias-fset, advice-remove): Use advice--symbol-function.
* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Remove bogus (arrayp . stringp) pair. Add entries for `vectorp'.
(pcase--mutually-exclusive-p): New function.
(pcase--split-consp): Use it.
(pcase--split-pred): Use it. Optimize the case where `pat' is a qpat
mutually exclusive with the current predicate.
* test/automated/advice-tests.el (advice-tests-nadvice): Test removal
before definition.
(advice-tests-macroaliases): New test.
* lisp/emacs-lisp/edebug.el (edebug-lookup-function): Remove function.
(edebug-macrop): Remove. Use `macrop' instead.
* lisp/emacs-lisp/advice.el (ad-subr-p): Remove. Use `subrp' instead.
(ad-macro-p):
* lisp/eshell/esh-cmd.el (eshell-macrop):
* lisp/apropos.el (apropos-macrop): Remove. Use `macrop' instead.
Diffstat (limited to 'lisp/eshell')
| -rw-r--r-- | lisp/eshell/esh-cmd.el | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index 69dc6c76b41..ef8a53f3c0b 100644 --- a/lisp/eshell/esh-cmd.el +++ b/lisp/eshell/esh-cmd.el | |||
| @@ -993,14 +993,6 @@ at the moment are: | |||
| 993 | ,@commands | 993 | ,@commands |
| 994 | (eshell-debug-command ,(concat "done " (eval tag)) form)))) | 994 | (eshell-debug-command ,(concat "done " (eval tag)) form)))) |
| 995 | 995 | ||
| 996 | (defsubst eshell-macrop (object) | ||
| 997 | "Return t if OBJECT is a macro or nil otherwise." | ||
| 998 | (and (symbolp object) (fboundp object) | ||
| 999 | (setq object (indirect-function object)) | ||
| 1000 | (listp object) | ||
| 1001 | (eq 'macro (car object)) | ||
| 1002 | (functionp (cdr object)))) | ||
| 1003 | |||
| 1004 | (defun eshell-do-eval (form &optional synchronous-p) | 996 | (defun eshell-do-eval (form &optional synchronous-p) |
| 1005 | "Evaluate form, simplifying it as we go. | 997 | "Evaluate form, simplifying it as we go. |
| 1006 | Unless SYNCHRONOUS-P is non-nil, throws `eshell-defer' if it needs to | 998 | Unless SYNCHRONOUS-P is non-nil, throws `eshell-defer' if it needs to |
| @@ -1016,7 +1008,7 @@ be finished later after the completion of an asynchronous subprocess." | |||
| 1016 | (setq form (cadr (cadr form)))) | 1008 | (setq form (cadr (cadr form)))) |
| 1017 | ;; expand any macros directly into the form. This is done so that | 1009 | ;; expand any macros directly into the form. This is done so that |
| 1018 | ;; we can modify any `let' forms to evaluate only once. | 1010 | ;; we can modify any `let' forms to evaluate only once. |
| 1019 | (if (eshell-macrop (car form)) | 1011 | (if (macrop (car form)) |
| 1020 | (let ((exp (eshell-copy-tree (macroexpand form)))) | 1012 | (let ((exp (eshell-copy-tree (macroexpand form)))) |
| 1021 | (eshell-manipulate (format "expanding macro `%s'" | 1013 | (eshell-manipulate (format "expanding macro `%s'" |
| 1022 | (symbol-name (car form))) | 1014 | (symbol-name (car form))) |