1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00

Make buffer-local-value obsolete as a generalized variable

* lisp/electric.el (electric-indent-local-mode)
(electric-layout-local-mode, electric-quote-local-mode):
* lisp/elec-pair.el (electric-pair-local-mode): Adjust usage.
* lisp/emacs-lisp/gv.el (make-obsolete-generalized-variable): Move
since we're using it earlier in the file.
(buffer-local-value): Make obsolete as a generalized variable
since the semantics are unclear (bug#26624).
This commit is contained in:
Lars Ingebrigtsen 2022-08-23 12:22:42 +02:00
parent 66040fbeed
commit 915efbff98
4 changed files with 23 additions and 17 deletions

View file

@ -666,7 +666,8 @@ To toggle the mode in a single buffer, use `electric-pair-local-mode'."
;;;###autoload
(define-minor-mode electric-pair-local-mode
"Toggle `electric-pair-mode' only in this buffer."
:variable (buffer-local-value 'electric-pair-mode (current-buffer))
:variable ( electric-pair-mode .
(lambda (val) (setq-local electric-pair-mode val)))
(cond
((eq electric-pair-mode (default-value 'electric-pair-mode))
(kill-local-variable 'electric-pair-mode))

View file

@ -340,7 +340,8 @@ use `electric-indent-local-mode'."
;;;###autoload
(define-minor-mode electric-indent-local-mode
"Toggle `electric-indent-mode' only in this buffer."
:variable (buffer-local-value 'electric-indent-mode (current-buffer))
:variable ( electric-indent-mode .
(lambda (val) (setq-local electric-indent-mode val)))
(cond
((eq electric-indent-mode (default-value 'electric-indent-mode))
(kill-local-variable 'electric-indent-mode))
@ -484,7 +485,8 @@ The variable `electric-layout-rules' says when and how to insert newlines."
;;;###autoload
(define-minor-mode electric-layout-local-mode
"Toggle `electric-layout-mode' only in this buffer."
:variable (buffer-local-value 'electric-layout-mode (current-buffer))
:variable ( electric-layout-mode .
(lambda (val) (setq-local electric-layout-mode val)))
(cond
((eq electric-layout-mode (default-value 'electric-layout-mode))
(kill-local-variable 'electric-layout-mode))
@ -661,7 +663,8 @@ use `electric-quote-local-mode'."
;;;###autoload
(define-minor-mode electric-quote-local-mode
"Toggle `electric-quote-mode' only in this buffer."
:variable (buffer-local-value 'electric-quote-mode (current-buffer))
:variable ( electric-quote-mode .
(lambda (val) (setq-local electric-quote-mode val)))
(cond
((eq electric-quote-mode (default-value 'electric-quote-mode))
(kill-local-variable 'electric-quote-mode))

View file

@ -169,6 +169,18 @@ arguments as NAME. DO is a function as defined in `gv-get'."
;; (`(expand ,expander) `(gv-define-expand ,name ,expander))
(_ (message "Unknown %s declaration %S" symbol handler) nil))))
(defun make-obsolete-generalized-variable (obsolete-name current-name when)
"Make byte-compiler warn that generalized variable OBSOLETE-NAME is obsolete.
The warning will say that CURRENT-NAME should be used instead.
If CURRENT-NAME is a string, that is the `use instead' message.
WHEN should be a string indicating when the variable was first
made obsolete, for example a date or a release number."
(put obsolete-name 'byte-obsolete-generalized-variable
(purecopy (list current-name when)))
obsolete-name)
;; Additions for `declare'. We specify the values as named aliases so
;; that `describe-variable' prints something useful; cf. Bug#40491.
@ -395,6 +407,7 @@ The return value is the last VAL in the list.
(gv-define-setter buffer-local-value (val var buf)
(macroexp-let2 nil v val
`(with-current-buffer ,buf (set (make-local-variable ,var) ,v))))
(make-obsolete-generalized-variable 'buffer-local-value nil "29.1")
(gv-define-expander alist-get
(lambda (do key alist &optional default remove testfn)
@ -619,18 +632,6 @@ REF must have been previously obtained with `gv-ref'."
;;; Generalized variables.
(defun make-obsolete-generalized-variable (obsolete-name current-name when)
"Make byte-compiler warn that generalized variable OBSOLETE-NAME is obsolete.
The warning will say that CURRENT-NAME should be used instead.
If CURRENT-NAME is a string, that is the `use instead' message.
WHEN should be a string indicating when the variable was first
made obsolete, for example a date or a release number."
(put obsolete-name 'byte-obsolete-generalized-variable
(purecopy (list current-name when)))
obsolete-name)
;; Some Emacs-related place types.
(gv-define-simple-setter buffer-file-name set-visited-file-name t)
(make-obsolete-generalized-variable

View file

@ -149,7 +149,8 @@ use `show-paren-local-mode'."
;;;###autoload
(define-minor-mode show-paren-local-mode
"Toggle `show-paren-mode' only in this buffer."
:variable (buffer-local-value 'show-paren-mode (current-buffer))
:variable ( show-paren-mode .
(lambda (val) (setq-local show-paren-mode val)))
(cond
((eq show-paren-mode (default-value 'show-paren-mode))
(unless show-paren-mode