From: Juanma Barranquero Date: Wed, 30 Nov 2022 00:38:59 +0000 (+0100) Subject: Fix interactive selection of emacs-lock mode, broken by 2a4b0da28c X-Git-Tag: emacs-29.0.90~1422 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=edd64e64a3;p=emacs.git Fix interactive selection of emacs-lock mode, broken by 2a4b0da28c * lisp/emacs-lock.el (emacs-lock--set-mode): Check that arg is 4 and prefix is '(4). (emacs-lock-mode): Pass also `current-prefix-arg' to `emacs-lock--set-mode'. --- diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el index 1818e22a923..3c8b81e94da 100644 --- a/lisp/emacs-lock.el +++ b/lisp/emacs-lock.el @@ -165,13 +165,14 @@ Return a value appropriate for `kill-buffer-query-functions' (which see)." (message "Buffer %S is locked and cannot be killed" (buffer-name)) nil)) -(defun emacs-lock--set-mode (mode arg) +(defun emacs-lock--set-mode (mode arg prefix) "Setter function for `emacs-lock-mode'." (setq emacs-lock-mode (cond ((memq arg '(all exit kill)) ;; explicit locking mode arg, use it arg) - ((and (eq arg current-prefix-arg) (consp current-prefix-arg)) + ;; kludgy, but commit 2a4b0da28c converts arg to number + ((and (eq arg 4) (equal prefix '(4))) ;; called with C-u M-x emacs-lock-mode, so ask the user (intern (completing-read (format-prompt "Locking mode" @@ -214,7 +215,7 @@ some major modes from being locked under some circumstances." :group 'emacs-lock :variable (emacs-lock-mode . (lambda (mode) - (emacs-lock--set-mode mode arg))) + (emacs-lock--set-mode mode arg current-prefix-arg))) (when emacs-lock-mode (setq emacs-lock--old-mode emacs-lock-mode) (setq emacs-lock--try-unlocking