mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* 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.
This commit is contained in:
parent
772a965c5f
commit
50deba142a
3 changed files with 22 additions and 9 deletions
|
|
@ -1,5 +1,11 @@
|
|||
2014-11-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Assume that
|
||||
edebug-prin1-to-string already handles circularity.
|
||||
|
||||
* emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro
|
||||
autoloading when specified as a lambda.
|
||||
|
||||
* simple.el (execute-extended-command--last-typed): New var.
|
||||
(read-extended-command): Set it.
|
||||
Don't complete obsolete commands.
|
||||
|
|
|
|||
|
|
@ -112,12 +112,21 @@ This may shift errors from run-time to compile-time.")
|
|||
If `error-free', drop calls even if `byte-compile-delete-errors' is nil.")
|
||||
(list 'compiler-macro
|
||||
#'(lambda (f args compiler-function)
|
||||
`(eval-and-compile
|
||||
(function-put ',f 'compiler-macro
|
||||
,(if (eq (car-safe compiler-function) 'lambda)
|
||||
`(lambda ,(append (cadr compiler-function) args)
|
||||
,@(cddr compiler-function))
|
||||
`#',compiler-function)))))
|
||||
(if (not (eq (car-safe compiler-function) 'lambda))
|
||||
`(eval-and-compile
|
||||
(function-put ',f 'compiler-macro #',compiler-function))
|
||||
(let ((cfname (intern (concat (symbol-name f)
|
||||
"--anon-compiler-macro"))))
|
||||
`(progn
|
||||
(eval-and-compile
|
||||
(function-put ',f 'compiler-macro #',cfname))
|
||||
;; Don't autoload the compiler-macro itself, since the
|
||||
;; macroexpander will find this file via `f's autoload,
|
||||
;; if needed.
|
||||
:autoload-end
|
||||
(eval-and-compile
|
||||
(defun ,cfname (,@(cadr compiler-function) ,@args)
|
||||
,@(cddr compiler-function))))))))
|
||||
(list 'doc-string
|
||||
#'(lambda (f _args pos)
|
||||
(list 'function-put (list 'quote f)
|
||||
|
|
|
|||
|
|
@ -3373,9 +3373,7 @@ Return the result of the last expression."
|
|||
(print-level (or edebug-print-level print-level))
|
||||
(print-circle (or edebug-print-circle print-circle))
|
||||
(print-readably nil)) ; lemacs uses this.
|
||||
(condition-case nil
|
||||
(edebug-prin1-to-string value)
|
||||
(error "#Apparently circular structure#"))))
|
||||
(edebug-prin1-to-string value)))
|
||||
|
||||
(defun edebug-compute-previous-result (previous-value)
|
||||
(if edebug-unwrap-results
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue