changeset 79841:3a06f32d85f6

* (c-constant-symbol): New function which supersedes c-const-symbol. During a customize-.. call it enables an element of (e.g.) c-hanging-braces alist to have its name displayed, even when the default value of c-h-b etc. doesn't include the elemnt. Replace uses of the old function by the new. * progmodes/cc-vars.el (c-hanging-braces-alist): Remove the obscure non-working fragment ":value c-".
author Alan Mackenzie <acm@muc.de>
date Mon, 14 Jan 2008 22:31:07 +0000
parents 5097f07d602d
children b42de16944ab
files lisp/progmodes/cc-vars.el
diffstat 1 files changed, 30 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/cc-vars.el	Mon Jan 14 22:28:39 2008 +0000
+++ b/lisp/progmodes/cc-vars.el	Mon Jan 14 22:31:07 2008 +0000
@@ -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"
@@ -395,9 +414,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)
@@ -732,18 +749,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))
+				 :format "Newline  %v brace\n"
+				 (const :format "%v,  " before)
+				 (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
@@ -779,11 +793,9 @@
   `(set ,@(mapcar
 	   (lambda (elt)
 	     `(cons :format "%v"
-		    (c-const-symbol :format "%v: "
-				    :size 20
-				    :value ,elt)
-		    (set :format "Newline %v brace\n"
-			 (const :format "%v, " before)
+		    ,(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)))
   :group 'c)
@@ -1296,8 +1308,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)