diff lisp/progmodes/cc-vars.el @ 79860:9f6170e094c3

(c-constant-symbol): Put this defun inside an eval-and-compile, so as to permit byte-compiling (e.g. in bootstrap).
author Alan Mackenzie <acm@muc.de>
date Wed, 16 Jan 2008 21:26:59 +0000
parents 3a06f32d85f6
children 897a4cc5c95d
line wrap: on
line diff
--- a/lisp/progmodes/cc-vars.el	Wed Jan 16 21:26:01 2008 +0000
+++ b/lisp/progmodes/cc-vars.el	Wed Jan 16 21:26:59 2008 +0000
@@ -74,22 +74,23 @@
       :value 'other))
 
 ;; The next defun will supersede c-const-symbol.
-(defun c-constant-symbol (sym len)
-  "Create an uneditable symbol for customization buffers.
+(eval-and-compile
+  (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)))
+    (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.  This is obsolete -