[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r118280: * lisp/emacs-lisp/byte-run.el (defun-declar
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] trunk r118280: * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro |
Date: |
Mon, 03 Nov 2014 22:48:38 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 118280
revision-id: address@hidden
parent: address@hidden
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2014-11-03 17:48:30 -0500
message:
* 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.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/emacs-lisp/byte-run.el byterun.el-20091113204419-o5vbwnq5f7feedwu-2586
lisp/emacs-lisp/edebug.el edebug.el-20091113204419-o5vbwnq5f7feedwu-483
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2014-11-03 22:38:26 +0000
+++ b/lisp/ChangeLog 2014-11-03 22:48:30 +0000
@@ -1,5 +1,11 @@
2014-11-03 Stefan Monnier <address@hidden>
+ * 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.
=== modified file 'lisp/emacs-lisp/byte-run.el'
--- a/lisp/emacs-lisp/byte-run.el 2014-04-22 21:46:19 +0000
+++ b/lisp/emacs-lisp/byte-run.el 2014-11-03 22:48:30 +0000
@@ -112,12 +112,21 @@
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)
=== modified file 'lisp/emacs-lisp/edebug.el'
--- a/lisp/emacs-lisp/edebug.el 2014-07-21 01:56:54 +0000
+++ b/lisp/emacs-lisp/edebug.el 2014-11-03 22:48:30 +0000
@@ -3373,9 +3373,7 @@
(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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r118280: * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro,
Stefan Monnier <=