1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

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).
This commit is contained in:
Eric M. Ludlam 2010-06-03 13:17:50 -04:00 committed by Chong Yidong
parent 78edd3b72d
commit 988b91ce8f
2 changed files with 30 additions and 30 deletions

View file

@ -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))
)
(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
;;