# HG changeset patch # User Chong Yidong # Date 1275585470 14400 # Node ID e039f2da3d28181785b614040a68c8ccd83b3469 # Parent b465aa3255ed6f907a4933e87154d5cdeaa13a28 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). diff -r b465aa3255ed -r e039f2da3d28 lisp/ChangeLog --- a/lisp/ChangeLog Thu Jun 03 17:34:35 2010 +0200 +++ b/lisp/ChangeLog Thu Jun 03 13:17:50 2010 -0400 @@ -1,3 +1,9 @@ +2010-06-03 Eric Ludlam + + * 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). + 2010-06-03 Glenn Morris * desktop.el (desktop-clear-preserve-buffers): diff -r b465aa3255ed -r e039f2da3d28 lisp/cedet/semantic/lex-spp.el --- a/lisp/cedet/semantic/lex-spp.el Thu Jun 03 17:34:35 2010 +0200 +++ b/lisp/cedet/semantic/lex-spp.el Thu Jun 03 13:17:50 2010 -0400 @@ -1121,37 +1121,31 @@ (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)) - ) + (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")) -) + (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 ;;