diff options
| author | Stefan Monnier | 2014-11-03 17:48:30 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2014-11-03 17:48:30 -0500 |
| commit | 50deba142a9f49270e43361e4b610bc67653ee3a (patch) | |
| tree | 66347b7de786fd4bdb38ea0d3277e8a89e1d6d93 | |
| parent | 772a965c5f684c73e6ce6520ba49ef6b9a53651e (diff) | |
| download | emacs-50deba142a9f49270e43361e4b610bc67653ee3a.tar.gz emacs-50deba142a9f49270e43361e4b610bc67653ee3a.zip | |
* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro
autoloading when specified as a lambda.
* lisp/emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Assume that
edebug-prin1-to-string already handles circularity.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/emacs-lisp/byte-run.el | 21 | ||||
| -rw-r--r-- | lisp/emacs-lisp/edebug.el | 4 |
3 files changed, 22 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e6d74f48b78..445cef9c8c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,11 @@ | |||
| 1 | 2014-11-03 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2014-11-03 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Assume that | ||
| 4 | edebug-prin1-to-string already handles circularity. | ||
| 5 | |||
| 6 | * emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro | ||
| 7 | autoloading when specified as a lambda. | ||
| 8 | |||
| 3 | * simple.el (execute-extended-command--last-typed): New var. | 9 | * simple.el (execute-extended-command--last-typed): New var. |
| 4 | (read-extended-command): Set it. | 10 | (read-extended-command): Set it. |
| 5 | Don't complete obsolete commands. | 11 | Don't complete obsolete commands. |
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 0edcf6197b4..97768fa7e1a 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el | |||
| @@ -112,12 +112,21 @@ This may shift errors from run-time to compile-time.") | |||
| 112 | If `error-free', drop calls even if `byte-compile-delete-errors' is nil.") | 112 | If `error-free', drop calls even if `byte-compile-delete-errors' is nil.") |
| 113 | (list 'compiler-macro | 113 | (list 'compiler-macro |
| 114 | #'(lambda (f args compiler-function) | 114 | #'(lambda (f args compiler-function) |
| 115 | `(eval-and-compile | 115 | (if (not (eq (car-safe compiler-function) 'lambda)) |
| 116 | (function-put ',f 'compiler-macro | 116 | `(eval-and-compile |
| 117 | ,(if (eq (car-safe compiler-function) 'lambda) | 117 | (function-put ',f 'compiler-macro #',compiler-function)) |
| 118 | `(lambda ,(append (cadr compiler-function) args) | 118 | (let ((cfname (intern (concat (symbol-name f) |
| 119 | ,@(cddr compiler-function)) | 119 | "--anon-compiler-macro")))) |
| 120 | `#',compiler-function))))) | 120 | `(progn |
| 121 | (eval-and-compile | ||
| 122 | (function-put ',f 'compiler-macro #',cfname)) | ||
| 123 | ;; Don't autoload the compiler-macro itself, since the | ||
| 124 | ;; macroexpander will find this file via `f's autoload, | ||
| 125 | ;; if needed. | ||
| 126 | :autoload-end | ||
| 127 | (eval-and-compile | ||
| 128 | (defun ,cfname (,@(cadr compiler-function) ,@args) | ||
| 129 | ,@(cddr compiler-function)))))))) | ||
| 121 | (list 'doc-string | 130 | (list 'doc-string |
| 122 | #'(lambda (f _args pos) | 131 | #'(lambda (f _args pos) |
| 123 | (list 'function-put (list 'quote f) | 132 | (list 'function-put (list 'quote f) |
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 785050896b8..473edb4bc61 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -3373,9 +3373,7 @@ Return the result of the last expression." | |||
| 3373 | (print-level (or edebug-print-level print-level)) | 3373 | (print-level (or edebug-print-level print-level)) |
| 3374 | (print-circle (or edebug-print-circle print-circle)) | 3374 | (print-circle (or edebug-print-circle print-circle)) |
| 3375 | (print-readably nil)) ; lemacs uses this. | 3375 | (print-readably nil)) ; lemacs uses this. |
| 3376 | (condition-case nil | 3376 | (edebug-prin1-to-string value))) |
| 3377 | (edebug-prin1-to-string value) | ||
| 3378 | (error "#Apparently circular structure#")))) | ||
| 3379 | 3377 | ||
| 3380 | (defun edebug-compute-previous-result (previous-value) | 3378 | (defun edebug-compute-previous-result (previous-value) |
| 3381 | (if edebug-unwrap-results | 3379 | (if edebug-unwrap-results |