aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric M. Ludlam2010-06-03 13:17:50 -0400
committerChong Yidong2010-06-03 13:17:50 -0400
commit988b91ce8f6f84e03123bf7d3eb31f1c7ecbcef0 (patch)
tree0c97cb1ffc076983c9fca0eaa51498caa944de47
parent78edd3b72d7d7e006db5aac8c5f0514777d6e01c (diff)
downloademacs-988b91ce8f6f84e03123bf7d3eb31f1c7ecbcef0.tar.gz
emacs-988b91ce8f6f84e03123bf7d3eb31f1c7ecbcef0.zip
Fix to semantic-lex-spp-table-write-slot-value (Bug#6324).
* cedet/semantic/lex-spp.el (semantic-lex-spp-table-write-slot-value): Instead of erroring on invalid values during save, just save a nil (Bug#6324).
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/cedet/semantic/lex-spp.el56
2 files changed, 31 insertions, 31 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 16111657832..aafa464461d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12010-06-03 Eric Ludlam <zappo@gnu.org>
2
3 * cedet/semantic/lex-spp.el
4 (semantic-lex-spp-table-write-slot-value): Instead of erroring on
5 invalid values during save, just save a nil (Bug#6324).
6
12010-06-03 Glenn Morris <rgm@gnu.org> 72010-06-03 Glenn Morris <rgm@gnu.org>
2 8
3 * desktop.el (desktop-clear-preserve-buffers): 9 * desktop.el (desktop-clear-preserve-buffers):
diff --git a/lisp/cedet/semantic/lex-spp.el b/lisp/cedet/semantic/lex-spp.el
index e76b8cdf5df..58ad681008c 100644
--- a/lisp/cedet/semantic/lex-spp.el
+++ b/lisp/cedet/semantic/lex-spp.el
@@ -1121,37 +1121,31 @@ The VALUE is a spp lexical table."
1121 (prin1 (car sym)) 1121 (prin1 (car sym))
1122 (let* ((first (car (cdr sym))) 1122 (let* ((first (car (cdr sym)))
1123 (rest (cdr sym))) 1123 (rest (cdr sym)))
1124 (when (not (listp first)) 1124 (if (not (listp first))
1125 (error "Error in macro \"%s\"" (car sym))) 1125 (insert "nil ;; bogus macro found.\n")
1126 (when (eq (car first) 'spp-arg-list) 1126 (when (eq (car first) 'spp-arg-list)
1127 (princ " ") 1127 (princ " ")
1128 (prin1 first) 1128 (prin1 first)
1129 (setq rest (cdr rest)) 1129 (setq rest (cdr rest)))
1130 ) 1130
1131 1131 (when rest
1132 (when rest 1132 (princ " . ")
1133 (princ " . ") 1133 (let ((len (length (cdr rest))))
1134 (let ((len (length (cdr rest)))) 1134 (cond ((< len 2)
1135 (cond ((< len 2) 1135 (condition-case nil
1136 (condition-case nil 1136 (prin1 rest)
1137 (prin1 rest) 1137 (error
1138 (error 1138 (princ "nil ;; Error writing macro\n"))))
1139 (princ "nil ;; Error writing macro\n")))) 1139 ((< len semantic-lex-spp-macro-max-length-to-save)
1140 ((< len semantic-lex-spp-macro-max-length-to-save) 1140 (princ "\n ")
1141 (princ "\n ") 1141 (condition-case nil
1142 (condition-case nil 1142 (prin1 rest)
1143 (prin1 rest) 1143 (error
1144 (error 1144 (princ "nil ;; Error writing macro\n "))))
1145 (princ "nil ;; Error writing macro\n "))) 1145 (t ;; Too Long!
1146 ) 1146 (princ "nil ;; Too Long!\n ")))))))
1147 (t ;; Too Long! 1147 (princ ")\n "))
1148 (princ "nil ;; Too Long!\n ") 1148 (princ ")\n")))
1149 ))))
1150 )
1151 (princ ")\n ")
1152 )
1153 (princ ")\n"))
1154)
1155 1149
1156;;; MACRO TABLE DEBUG 1150;;; MACRO TABLE DEBUG
1157;; 1151;;