]> git.eshelyaron.com Git - emacs.git/commitdiff
(defcustom-c-stylevar): Revert to pre-2007-12-12 version.
authorThien-Thi Nguyen <ttn@gnuvola.org>
Mon, 17 Dec 2007 09:16:57 +0000 (09:16 +0000)
committerThien-Thi Nguyen <ttn@gnuvola.org>
Mon, 17 Dec 2007 09:16:57 +0000 (09:16 +0000)
lisp/ChangeLog
lisp/progmodes/cc-vars.el

index 69dbb8c6ff6c225d0251d2d0cb8c78e1f5bf9af6..a3ae2a10c5585df7bcb4d35d619a63d31c7cf3b4 100644 (file)
@@ -1,7 +1,7 @@
 2007-12-17  Thien-Thi Nguyen  <ttn@gnuvola.org>
 
        * progmodes/cc-vars.el (defcustom-c-stylevar):
-       Remove debugging message.  Reported by Eli Zaretskii.
+       Revert to pre-2007-12-12 version.
 
 2007-12-15  Richard Stallman  <rms@gnu.org>
 
index c071569d694bf8dfaf37624a627f997f43fae2c1..76b0e5a898c2e42607e4916d5746b6edd6c5316e 100644 (file)
@@ -156,44 +156,34 @@ Useful as last item in a `choice' widget."
   (setq c-fallback-style (cons (cons name val) c-fallback-style)))
 
 (defmacro defcustom-c-stylevar (name val doc &rest args)
-  "Define a style variable NAME with VAL and DOC.
-More precisely, convert the given `:type FOO', mined out of ARGS,
-to an aggregate `:type (radio STYLE (PREAMBLE FOO))', append some
-some boilerplate documentation to DOC, arrange for the fallback
-value of NAME to be VAL, and call `custom-declare-variable' to
-do the rest of the work.
-
-STYLE stands for the choice where the value is taken from some
-style setting.  PREAMBLE is optionally prepended to FOO; that is,
-if FOO contains :tag or :value, the respective two-element list
-component is ignored."
-  (declare (debug (symbolp form stringp &rest)))
-  (let* ((expanded-doc (concat doc "
+  "Defines a style variable."
+  `(let ((-value- ,val))
+     (c-set-stylevar-fallback ',name -value-)
+     (custom-declare-variable
+      ',name ''set-from-style
+      ,(concat doc "
 
 This is a style variable.  Apart from the valid values described
-above, it can be set to the symbol `set-from-style'.  In that case,
-it takes its value from the style system (see `c-default-style' and
+above, it can be set to the symbol `set-from-style'.  In that case, it
+takes its value from the style system (see `c-default-style' and
 `c-style-alist') when a CC Mode buffer is initialized.  Otherwise,
 the value set here overrides the style system (there is a variable
-`c-old-style-variable-behavior' that changes this, though)."))
-         (typ (eval (plist-get args :type)))
-         (type (if (consp typ) typ (list typ)))
-         (head (car type))
-         (tail (cdr type))
-         (newt (append (unless (plist-get tail :tag)
-                         '(:tag "Override style settings"))
-                       (unless (plist-get tail :value)
-                         `(:value ,val))
-                       tail))
-         (aggregate `'(radio
-                       (const :tag "Use style settings" set-from-style)
-                       ,(cons head newt))))
-    `(progn
-       (c-set-stylevar-fallback ',name ,val)
-       (custom-declare-variable
-        ',name ''set-from-style
-        ,expanded-doc
-        ,@(plist-put args :type aggregate)))))
+`c-old-style-variable-behavior' that changes this, though).")
+      ,@(plist-put
+        args ':type
+        `(` (radio
+             (const :tag "Use style settings"
+                    set-from-style)
+             ,(, (let ((type (eval (plist-get args ':type))))
+                   (unless (consp type)
+                     (setq type (list type)))
+                   (unless (c-safe (plist-get (cdr type) ':value))
+                     (setcdr type (append '(:value (, -value-))
+                                          (cdr type))))
+                   (unless (c-safe (plist-get (cdr type) ':tag))
+                     (setcdr type (append '(:tag "Override style settings")
+                                          (cdr type))))
+                   (bq-process type)))))))))
 
 (defun c-valid-offset (offset)
   "Return non-nil if OFFSET is a valid offset for a syntactic symbol.