+2002-08-09 Richard M. Stallman <rms@gnu.org>
+
+ * simple.el (set-variable): Give locality status in prompt.
+
+2002-08-09 Benjamin Rutt <rutt@cis.ohio-state.edu>
+
+ * simple.el (set-variable): If given a prefix argument, set
+ variable buffer-locally.
+
2002-08-09 John Paul Wallington <jpw@shootybangbang.com>
* font-core.el (font-lock-function): Make it buffer-local.
+2002-08-08 Richard M. Stallman <rms@gnu.org>
+
+ * emacs-lisp/checkdoc.el (checkdoc, checkdoc-interactive)
+ (checkdoc-message-interactive, checkdoc-interactive-loop)
+ (checkdoc-current-buffer, checkdoc-continue, checkdoc-comments)
+ (checkdoc-defun):
+ Update checkdoc-spellcheck-documentation-flag correctly.
+ (checkdoc-ispell-docstring-engine): Don't test for
+ checkdoc-autofix-flag = nil.
+
2002-08-07 John Paul Wallington <jpw@shootybangbang.com>
* xt-mouse.el (xterm-mouse-mode): Make it a global mode.
(defvar set-variable-value-history nil
"History of values entered with `set-variable'.")
-(defun set-variable (var val)
+(defun set-variable (var val &optional make-local)
"Set VARIABLE to VALUE. VALUE is a Lisp object.
When using this interactively, enter a Lisp object for VALUE.
If you want VALUE to be a string, you must surround it with doublequotes.
it were the arg to `interactive' (which see) to interactively read VALUE.
If VARIABLE has been defined with `defcustom', then the type information
-in the definition is used to check that VALUE is valid."
+in the definition is used to check that VALUE is valid.
+
+With a prefix argument, set VARIABLE to VALUE buffer-locally."
(interactive
(let* ((default-var (variable-at-point))
(var (if (symbolp default-var)
(read-variable "Set variable: ")))
(minibuffer-help-form '(describe-variable var))
(prop (get var 'variable-interactive))
- (prompt (format "Set %s to value: " var))
+ (prompt (format "Set %s%s to value: " var
+ (cond ((local-variable-p var)
+ " (buffer-local)")
+ ((or current-prefix-arg
+ (local-variable-if-set-p var))
+ " buffer-locally")
+ (t " globally"))))
(val (if prop
;; Use VAR's `variable-interactive' property
;; as an interactive spec for prompting.
(read
(read-string prompt nil
'set-variable-value-history)))))
- (list var val)))
+ (list var val current-prefix-arg)))
(let ((type (get var 'custom-type)))
(when type
(unless (widget-apply type :match val)
(error "Value `%S' does not match type %S of %S"
val (car type) var))))
+
+ (if make-local
+ (make-local-variable var))
+
(set var val)
;; Force a thorough redisplay for the case that the variable