summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-08-21 23:38:09 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-08-21 23:38:09 +0200
commitbfe222288e02472bff0e1ab5ba7ef26af6a2769a (patch)
treee3c79fb1621de447ad1b0c2d5a580275422a71f5 /lisp/emacs-lisp
parentefd95300c7ce5fcd565bb891b8559c1430873072 (diff)
downloademacs-bfe222288e02472bff0e1ab5ba7ef26af6a2769a.tar.gz
emacs-bfe222288e02472bff0e1ab5ba7ef26af6a2769a.tar.bz2
emacs-bfe222288e02472bff0e1ab5ba7ef26af6a2769a.zip
Make the generalized buffer-local-variable obsolete
* lisp/paren.el (show-paren-local-mode): * lisp/electric.el (electric-indent-local-mode) (electric-layout-local-mode, electric-quote-local-mode): * lisp/elec-pair.el (electric-pair-local-mode): Don't use it. * lisp/emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Autoload. * lisp/emacs-lisp/gv.el (buffer-local-variable): Make obsolete (bug#26624). * lisp/emacs-lisp/gv.el (make-obsolete-generalized-variable): Move to allow usage.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el1
-rw-r--r--lisp/emacs-lisp/gv.el25
2 files changed, 14 insertions, 12 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 5dde2d2bfbb..ebc9aa75e56 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1355,6 +1355,7 @@ FORMAT and ARGS are as in `byte-compile-warn'."
(let ((byte-compile-form-stack (cons arg byte-compile-form-stack)))
(apply #'byte-compile-warn format args)))
+;;;###autoload
(defun byte-compile-warn-obsolete (symbol type)
"Warn that SYMBOL (a variable, function or generalized variable) is obsolete.
TYPE is a string that say which one of these three types it is."
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index 0c374ec5e37..db902d9db8c 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -141,6 +141,18 @@ all the parts of PLACE that can be evaluated and then runs E.
(declare (indent 2) (debug (sexp form def-body)))
`(gv-get ,place (lambda ,vars ,@body)))
+(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)
+
;; Different ways to declare a generalized variable.
;;;###autoload
(defmacro gv-define-expander (name handler)
@@ -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