changeset 19953:5a9f21b9c5b6

(c-initialize-builtin-style): Copy the whole tree instead of just copy-sequence.
author Richard M. Stallman <rms@gnu.org>
date Fri, 19 Sep 1997 04:30:28 +0000
parents 3e0041620fc2
children 9c37afba82bc
files lisp/progmodes/cc-styles.el
diffstat 1 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/cc-styles.el	Fri Sep 19 04:27:56 1997 +0000
+++ b/lisp/progmodes/cc-styles.el	Fri Sep 19 04:30:28 1997 +0000
@@ -570,14 +570,24 @@
   ;; variables first to the `cc-mode' style before instituting the new
   ;; style.  Only do this once!
   (or (assoc "cc-mode" c-style-alist)
-      (progn
+      (let (copyfunc)
+	;; use built-in copy-tree if its there.
+	(if (fboundp 'copy-tree)
+	    (setq copyfunc (symbol-function 'copy-tree))
+	  (setq copyfunc (lambda (tree)
+			    (if (consp tree)
+				(cons (funcall copyfunc (car tree))
+				      (funcall copyfunc (cdr tree)))
+			      tree))))
 	(c-add-style "cc-mode"
 		     (mapcar
 		      (function
 		       (lambda (var)
 			 (let ((val (symbol-value var)))
-			   (cons var (if (atom val) val
-				       (copy-sequence val)))
+			   (cons var (if (atom val)
+					 val
+				       (funcall copyfunc val)
+  				       ))
 			   )))
 		      '(c-backslash-column
 			c-basic-offset