summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-10-07 15:48:02 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2012-10-07 15:48:02 -0400
commit795b1482a9e314cda32d62ac2988f573d359366e (patch)
treecf564c0e20916f00e333c34d507d92823797c329
parentf27c99dc7ef8f19e7a378001d8b3d906ca907dae (diff)
downloademacs-795b1482a9e314cda32d62ac2988f573d359366e.tar.gz
* lisp/subr.el (read-passwd-map): Don't use `defconst'.
(read-passwd): Remove a few more potential sources of leaks. Fixes: debbugs:12597
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/newcomment.el4
-rw-r--r--lisp/subr.el8
3 files changed, 14 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d873fbbc656..b0f896aa086 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,7 +1,12 @@
+2012-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (read-passwd-map): Don't use `defconst' (bug#12597).
+ (read-passwd): Remove a few more potential sources of leaks.
+
2012-10-07 Fabián Ezequiel Gallina <fgallina@cuca>
* progmodes/python.el (inferior-python-mode)
- (python-shell-make-comint): Fixed initialization of local
+ (python-shell-make-comint): Fix initialization of local
variables copied from parent buffer.
2012-10-07 Jan Djärv <jan.h.d@swipnet.se>
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index a7fedf20f53..6d2eed71948 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -327,8 +327,8 @@ terminated by the end of line (i.e. `comment-end' is empty)."
;;;###autoload
(defun comment-normalize-vars (&optional noerror)
"Check and setup the variables needed by other commenting functions.
-Functions autoloaded from newcomment.el, being entry points, should call
-this function before any other, so the rest of the code can assume that
+Any command calling functions from newcomment.el, being entry points, should
+call this function before any other, so the rest of the code can assume that
the variables are properly set."
(unless (and (not comment-start) noerror)
(unless comment-start
diff --git a/lisp/subr.el b/lisp/subr.el
index e438a860cbc..ec2d16e6529 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2143,7 +2143,9 @@ any other non-digit terminates the character code and is then used as input."))
(setq first nil))
code))
-(defconst read-passwd-map
+(defvar read-passwd-map
+ ;; BEWARE: `defconst' would purecopy it, breaking the sharing with
+ ;; minibuffer-local-map along the way!
(let ((map (make-sparse-keymap)))
(set-keymap-parent map minibuffer-local-map)
(define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570
@@ -2186,7 +2188,9 @@ by doing (clear-string STRING)."
(lambda ()
(setq minibuf (current-buffer))
;; Turn off electricity.
- (set (make-local-variable 'post-self-insert-hook) nil)
+ (setq-local post-self-insert-hook nil)
+ (setq-local buffer-undo-list t)
+ (setq-local select-active-regions nil)
(use-local-map read-passwd-map)
(add-hook 'after-change-functions hide-chars-fun nil 'local))
(unwind-protect