diff options
author | Eric M. Ludlam <[email protected]> | 2010-06-03 13:17:50 -0400 |
---|---|---|
committer | Chong Yidong <[email protected]> | 2010-06-03 13:17:50 -0400 |
commit | 988b91ce8f6f84e03123bf7d3eb31f1c7ecbcef0 (patch) | |
tree | 0c97cb1ffc076983c9fca0eaa51498caa944de47 /lisp/cedet/semantic | |
parent | 78edd3b72d7d7e006db5aac8c5f0514777d6e01c (diff) |
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).
Diffstat (limited to 'lisp/cedet/semantic')
-rw-r--r-- | lisp/cedet/semantic/lex-spp.el | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/lisp/cedet/semantic/lex-spp.el b/lisp/cedet/semantic/lex-spp.el index e76b8cdf5d..58ad681008 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." (prin1 (car sym)) (let* ((first (car (cdr sym))) (rest (cdr sym))) - (when (not (listp first)) - (error "Error in macro \"%s\"" (car sym))) - (when (eq (car first) 'spp-arg-list) - (princ " ") - (prin1 first) - (setq rest (cdr rest)) - ) - - (when rest - (princ " . ") - (let ((len (length (cdr rest)))) - (cond ((< len 2) - (condition-case nil - (prin1 rest) - (error - (princ "nil ;; Error writing macro\n")))) - ((< len semantic-lex-spp-macro-max-length-to-save) - (princ "\n ") - (condition-case nil - (prin1 rest) - (error - (princ "nil ;; Error writing macro\n "))) - ) - (t ;; Too Long! - (princ "nil ;; Too Long!\n ") - )))) - ) - (princ ")\n ") - ) - (princ ")\n")) -) + (if (not (listp first)) + (insert "nil ;; bogus macro found.\n") + (when (eq (car first) 'spp-arg-list) + (princ " ") + (prin1 first) + (setq rest (cdr rest))) + + (when rest + (princ " . ") + (let ((len (length (cdr rest)))) + (cond ((< len 2) + (condition-case nil + (prin1 rest) + (error + (princ "nil ;; Error writing macro\n")))) + ((< len semantic-lex-spp-macro-max-length-to-save) + (princ "\n ") + (condition-case nil + (prin1 rest) + (error + (princ "nil ;; Error writing macro\n ")))) + (t ;; Too Long! + (princ "nil ;; Too Long!\n "))))))) + (princ ")\n ")) + (princ ")\n"))) ;;; MACRO TABLE DEBUG ;; |