emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 0afbc5b: Revert commit that broke 'make bootstrap'


From: Paul Eggert
Subject: [Emacs-diffs] master 0afbc5b: Revert commit that broke 'make bootstrap'
Date: Sun, 25 Oct 2015 07:31:10 +0000

branch: master
commit 0afbc5b2a2cda9fe12246bf62567162ae2577160
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Revert commit that broke 'make bootstrap'
    
    * lisp/custom.el (custom-declare-variable): Revert commit
    79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
    even when pcase has not been defined yet, when doing bootstrapping.
---
 lisp/custom.el |   57 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 23 deletions(-)

diff --git a/lisp/custom.el b/lisp/custom.el
index cc284ef..c5d0e65 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -155,29 +155,40 @@ set to nil, as the value is no longer rogue."
     (unless (memq :group args)
       (custom-add-to-group (custom-current-group) symbol 'custom-variable))
     (while args
-      (let ((keyword (pop args)))
-       (unless (symbolp keyword)
-         (error "Junk in args %S" (cons keyword args)))
-        (unless args
-          (error "Keyword %s is missing an argument" keyword))
-       (let ((value (pop args)))
-         (pcase keyword
-            (`:initialize (setq initialize value))
-            (`:set (put symbol 'custom-set value))
-            (`:get (put symbol 'custom-get value))
-            (`:require (push value requests))
-            (`:risky (put symbol 'risky-local-variable value))
-            (`:safe (put symbol 'safe-local-variable value))
-            (`:type (put symbol 'custom-type (purecopy value)))
-            (`:options (if (get symbol 'custom-options)
-                           ;; Slow safe code to avoid duplicates.
-                           (mapc (lambda (option)
-                                   (custom-add-option symbol option))
-                                 value)
-                         ;; Fast code for the common case.
-                         (put symbol 'custom-options (copy-sequence value))))
-            (_ (custom-handle-keyword symbol keyword value
-                                'custom-variable))))))
+      (let ((arg (car args)))
+       (setq args (cdr args))
+       (unless (symbolp arg)
+         (error "Junk in args %S" args))
+       (let ((keyword arg)
+             (value (car args)))
+         (unless args
+           (error "Keyword %s is missing an argument" keyword))
+         (setq args (cdr args))
+         (cond ((eq keyword :initialize)
+                (setq initialize value))
+               ((eq keyword :set)
+                (put symbol 'custom-set value))
+               ((eq keyword :get)
+                (put symbol 'custom-get value))
+               ((eq keyword :require)
+                (push value requests))
+               ((eq keyword :risky)
+                (put symbol 'risky-local-variable value))
+               ((eq keyword :safe)
+                (put symbol 'safe-local-variable value))
+               ((eq keyword :type)
+                (put symbol 'custom-type (purecopy value)))
+               ((eq keyword :options)
+                (if (get symbol 'custom-options)
+                    ;; Slow safe code to avoid duplicates.
+                    (mapc (lambda (option)
+                            (custom-add-option symbol option))
+                          value)
+                  ;; Fast code for the common case.
+                  (put symbol 'custom-options (copy-sequence value))))
+               (t
+                (custom-handle-keyword symbol keyword value
+                                       'custom-variable))))))
     (put symbol 'custom-requests requests)
     ;; Do the actual initialization.
     (unless custom-dont-initialize



reply via email to

[Prev in Thread] Current Thread [Next in Thread]