]> git.eshelyaron.com Git - emacs.git/commitdiff
Propagate :safe properties when autoloading defcustoms
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 5 Jul 2021 13:55:38 +0000 (15:55 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 5 Jul 2021 13:55:38 +0000 (15:55 +0200)
* lisp/emacs-lisp/autoload.el (make-autoload): Propagate the :safe
property to the loaddefs file (bug#28104).

etc/NEWS
lisp/emacs-lisp/autoload.el

index 1a3130826a5fafe5a680e07406d46d6eaa1c5a5b..a62e9c86c9311bcd28c69ac2d8a307be12d7bb10 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2914,6 +2914,9 @@ The former is now declared obsolete.
 \f
 * Lisp Changes in Emacs 28.1
 
+---
+*** :safe settings in 'defcustom' are now propagated to the loaddefs files.
+
 +++
 ** New function 'syntax-class-to-char'.
 This does almost the opposite of 'string-to-syntax' -- it returns the
index b45984be1d52a6e61c1e12ab77a069ed62337cfe..9d1ae7059763af40702ba4aa2c5b3e2629da597f 100644 (file)
@@ -250,7 +250,10 @@ expression, in which case we want to handle forms differently."
           (custom-autoload ',varname ,file
                             ,(condition-case nil
                                  (null (plist-get props :set))
-                               (error nil))))))
+                               (error nil)))
+           ;; Propagate the :safe property to the loaddefs file.
+           ,@(when-let ((safe (plist-get props :safe)))
+               `((put ',varname 'safe-local-variable ,safe))))))
 
      ((eq car 'defgroup)
       ;; In Emacs this is normally handled separately by cus-dep.el, but for