]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix interactive selection of emacs-lock mode, broken by 2a4b0da28c
authorJuanma Barranquero <lekktu@gmail.com>
Wed, 30 Nov 2022 00:38:59 +0000 (01:38 +0100)
committerJuanma Barranquero <lekktu@gmail.com>
Wed, 30 Nov 2022 00:38:59 +0000 (01:38 +0100)
* 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'.

lisp/emacs-lock.el

index 1818e22a923f2b4f6c9d87a7a60189f88d6408ae..3c8b81e94daedefe76606b573ae0a21732d1428f 100644 (file)
@@ -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