aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKenichi Handa2012-05-03 15:57:54 +0900
committerKenichi Handa2012-05-03 15:57:54 +0900
commit1f110951b52c0d7705dd5891368efccbce95ec1a (patch)
tree5d9683724eb455e9bcb8030fb61114b2e559457b /lisp
parent2e51d4b5fb960ce0240a0eccbb0ed30cc7f53743 (diff)
parent2bd785a208c84e7ae73884d09a1087da52780b4a (diff)
downloademacs-1f110951b52c0d7705dd5891368efccbce95ec1a.tar.gz
emacs-1f110951b52c0d7705dd5891368efccbce95ec1a.zip
merge trunk
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog12
-rw-r--r--lisp/custom.el2
-rw-r--r--lisp/emacs-lisp/bytecomp.el14
-rw-r--r--lisp/subr.el29
4 files changed, 32 insertions, 25 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d35f5475bbc..ff2c5a40787 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -4,6 +4,18 @@
4 decoding, and show a warning message without signalling an error 4 decoding, and show a warning message without signalling an error
5 (Bug#11282). 5 (Bug#11282).
6 6
72012-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
8
9 * emacs-lisp/bytecomp.el
10 (byte-compile-file-form-custom-declare-variable): Compile all elements,
11 since cconv.el might have introduced :fun-body, internal-make-closure,
12 and friends for bytecomp to handle (bug#11391).
13 * custom.el (defcustom): Avoid ((λ ..) ..).
14
152012-05-02 Stefan Monnier <monnier@iro.umontreal.ca>
16
17 * subr.el (read-passwd): Better clean after ourselves (bug#11392).
18
72012-05-02 Juanma Barranquero <lekktu@gmail.com> 192012-05-02 Juanma Barranquero <lekktu@gmail.com>
8 20
9 * notifications.el (dbus-debug): 21 * notifications.el (dbus-debug):
diff --git a/lisp/custom.el b/lisp/custom.el
index 611d5688f30..d0eadcc23ff 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -335,7 +335,7 @@ for more information."
335 ;; expression is checked by the byte-compiler, and that 335 ;; expression is checked by the byte-compiler, and that
336 ;; lexical-binding is obeyed, so quote the expression with 336 ;; lexical-binding is obeyed, so quote the expression with
337 ;; `lambda' rather than with `quote'. 337 ;; `lambda' rather than with `quote'.
338 `(list (lambda () ,standard)) 338 ``(funcall #',(lambda () ,standard))
339 `',standard) 339 `',standard)
340 ,doc 340 ,doc
341 ,@args)) 341 ,@args))
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 93c6518d215..9cb0a376e36 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2267,19 +2267,7 @@ list that represents a doc string reference.
2267 (when (byte-compile-warning-enabled-p 'callargs) 2267 (when (byte-compile-warning-enabled-p 'callargs)
2268 (byte-compile-nogroup-warn form)) 2268 (byte-compile-nogroup-warn form))
2269 (push (nth 1 (nth 1 form)) byte-compile-bound-variables) 2269 (push (nth 1 (nth 1 form)) byte-compile-bound-variables)
2270 ;; Don't compile the expression because it may be displayed to the user. 2270 (byte-compile-keep-pending form))
2271 ;; (when (eq (car-safe (nth 2 form)) 'quote)
2272 ;; ;; (nth 2 form) is meant to evaluate to an expression, so if we have the
2273 ;; ;; final value already, we can byte-compile it.
2274 ;; (setcar (cdr (nth 2 form))
2275 ;; (byte-compile-top-level (cadr (nth 2 form)) nil 'file)))
2276 (let ((tail (nthcdr 4 form)))
2277 (while tail
2278 (unless (keywordp (car tail)) ;No point optimizing keywords.
2279 ;; Compile the keyword arguments.
2280 (setcar tail (byte-compile-top-level (car tail) nil 'file)))
2281 (setq tail (cdr tail))))
2282 form)
2283 2271
2284(put 'require 'byte-hunk-handler 'byte-compile-file-form-require) 2272(put 'require 'byte-hunk-handler 'byte-compile-file-form-require)
2285(defun byte-compile-file-form-require (form) 2273(defun byte-compile-file-form-require (form)
diff --git a/lisp/subr.el b/lisp/subr.el
index b548f82ca5a..1f9f3aee9fa 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2115,21 +2115,21 @@ by doing (clear-string STRING)."
2115 (message "Password not repeated accurately; please start over") 2115 (message "Password not repeated accurately; please start over")
2116 (sit-for 1)))) 2116 (sit-for 1))))
2117 success) 2117 success)
2118 (let (minibuf) 2118 (let ((hide-chars-fun
2119 (lambda (beg end _len)
2120 (clear-this-command-keys)
2121 (setq beg (min end (max (minibuffer-prompt-end)
2122 beg)))
2123 (dotimes (i (- end beg))
2124 (put-text-property (+ i beg) (+ 1 i beg)
2125 'display (string ?.)))))
2126 minibuf)
2119 (minibuffer-with-setup-hook 2127 (minibuffer-with-setup-hook
2120 (lambda () 2128 (lambda ()
2121 (setq minibuf (current-buffer)) 2129 (setq minibuf (current-buffer))
2122 ;; Turn off electricity. 2130 ;; Turn off electricity.
2123 (set (make-local-variable 'post-self-insert-hook) nil) 2131 (set (make-local-variable 'post-self-insert-hook) nil)
2124 (add-hook 'after-change-functions 2132 (add-hook 'after-change-functions hide-chars-fun nil 'local))
2125 (lambda (beg end _len)
2126 (clear-this-command-keys)
2127 (setq beg (min end (max (minibuffer-prompt-end)
2128 beg)))
2129 (dotimes (i (- end beg))
2130 (put-text-property (+ i beg) (+ 1 i beg)
2131 'display (string ?.))))
2132 nil t))
2133 (unwind-protect 2133 (unwind-protect
2134 (read-string prompt nil 2134 (read-string prompt nil
2135 (let ((sym (make-symbol "forget-history"))) 2135 (let ((sym (make-symbol "forget-history")))
@@ -2137,7 +2137,14 @@ by doing (clear-string STRING)."
2137 sym) 2137 sym)
2138 default) 2138 default)
2139 (when (buffer-live-p minibuf) 2139 (when (buffer-live-p minibuf)
2140 (with-current-buffer minibuf (erase-buffer)))))))) 2140 (with-current-buffer minibuf
2141 ;; Not sure why but it seems that there might be cases where the
2142 ;; minibuffer is not always properly reset later on, so undo
2143 ;; whatever we've done here (bug#11392).
2144 (remove-hook 'after-change-functions hide-chars-fun 'local)
2145 (kill-local-variable 'post-self-insert-hook)
2146 ;; And of course, don't keep the sensitive data around.
2147 (erase-buffer))))))))
2141 2148
2142;; This should be used by `call-interactively' for `n' specs. 2149;; This should be used by `call-interactively' for `n' specs.
2143(defun read-number (prompt &optional default) 2150(defun read-number (prompt &optional default)