emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/progmodes/cc-vars.el,v


From: Alan Mackenzie
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/cc-vars.el,v
Date: Mon, 14 Jan 2008 22:35:40 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Alan Mackenzie <acmacm> 08/01/14 22:35:40

Index: cc-vars.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/progmodes/cc-vars.el,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -b -r1.62 -r1.63
--- cc-vars.el  8 Jan 2008 20:46:20 -0000       1.62
+++ cc-vars.el  14 Jan 2008 22:35:40 -0000      1.63
@@ -73,8 +73,27 @@
       :format "%t%n"
       :value 'other))
 
+;; The next defun will supersede c-const-symbol.
+(defun c-constant-symbol (sym len)
+  "Create an uneditable symbol for customization buffers.
+SYM is the name of the symbol, LEN the length of the field (in
+characters) the symbol will be displayed in.  LEN must be big
+enough.
+
+This returns a (const ....) structure, suitable for embedding
+within a customization type."
+  (or (symbolp sym) (error "c-constant-symbol: %s is not a symbol" sym))
+  (let* ((name (symbol-name sym))
+        (l (length name))
+        (disp (concat name ":" (make-string (- len l 1) ?\ ))))
+    `(const
+      :size ,len
+      :format ,disp
+      :value ,sym)))
+
 (define-widget 'c-const-symbol 'item
-  "An uneditable lisp symbol."
+  "An uneditable lisp symbol.  This is obsolete -
+use c-constant-symbol instead."
   :value nil
   :tag "Symbol"
   :format "%t: %v\n%d"
@@ -405,9 +424,7 @@
     `(set ,@(mapcar
             (lambda (elt)
               `(cons :format "%v"
-                     (c-const-symbol :format "%v: "
-                                     :size 20
-                                     :value ,elt)
+                     ,(c-constant-symbol elt 20)
                      (choice
                       :format "%[Choice%] %v"
                       :value (column . nil)
@@ -743,18 +760,15 @@
   `(set ,@(mapcar
           (lambda (elt)
             `(cons :format "%v"
-                   (c-const-symbol :format "%v: "
-                                   :size 20
-                                   :value ,elt)
+                   ,(c-constant-symbol elt 24)
                    (choice :format "%[Choice%] %v"
                            :value (before after)
                            (set :menu-tag "Before/after"
                                 :format "Newline %v brace\n"
                                 (const :format "%v, " before)
-                                (const :format "%v" after))
+                                (const :format "%v " after))
                            (function :menu-tag "Function"
-                                     :format "Run function: %v"
-                                     :value c-))))
+                                     :format "Run function: %v"))))
           '(defun-open defun-close
              class-open class-close
              inline-open inline-close
@@ -790,10 +804,8 @@
   `(set ,@(mapcar
           (lambda (elt)
             `(cons :format "%v"
-                   (c-const-symbol :format "%v: "
-                                   :size 20
-                                   :value ,elt)
-                   (set :format "Newline %v brace\n"
+                   ,(c-constant-symbol elt 20)
+                   (set :format "Newline  %v  colon\n"
                         (const :format "%v, " before)
                         (const :format "%v" after))))
           '(case-label label access-label member-init-intro inher-intro)))
@@ -1307,8 +1319,7 @@
           (lambda (elt)
             `(cons :format "%v"
                    :value ,elt
-                   (c-const-symbol :format "%v: "
-                                   :size 25)
+                   ,(c-constant-symbol (car elt) 25)
                    (sexp :format "%v"
                          :validate
                          (lambda (widget)




reply via email to

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