branch: externals/embark
commit c9f75ce5e812924434ee1b05d64181998e8cbcd3
Merge: 28c1e33fa6 8461bdc50f
Author: Omar AntolĂn Camarena <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #543 from minad/improve-toggle
embark-toggle-variable: Toggle local variable
---
embark.el | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/embark.el b/embark.el
index 5272b73949..225ae0602d 100644
--- a/embark.el
+++ b/embark.el
@@ -3562,13 +3562,16 @@ Returns the new name actually used."
(interactive "SVariable: ")
(insert (string-trim (pp-to-string (symbol-value var)))))
-(defun embark-toggle-variable-value (var)
- "Toggle value of boolean variable VAR."
- (interactive "SVariable: ")
+(defun embark-toggle-variable (var &optional local)
+ "Toggle value of boolean variable VAR.
+If prefix LOCAL is non-nil make variable local."
+ (interactive "SVariable: \nP")
(let ((val (symbol-value var)))
(unless (memq val '(nil t))
(user-error "Not a boolean variable"))
- (funcall (or (get var 'custom-set) #'set-default) var (not val))))
+ (when local
+ (make-local-variable var))
+ (funcall (or (get var 'custom-set) 'set) var (not val))))
(defun embark-insert-relative-path (file)
"Insert relative path to FILE.
@@ -4162,7 +4165,7 @@ library, which have an obvious notion of associated
directory."
("u" customize-variable)
("v" embark-save-variable-value)
("<" embark-insert-variable-value)
- ("t" embark-toggle-variable-value))
+ ("t" embark-toggle-variable))
(embark-define-keymap embark-function-map
"Keymap for Embark function actions."