emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r99834: Fix to semantic-lex-spp-ta


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r99834: Fix to semantic-lex-spp-table-write-slot-value (Bug#6324).
Date: Thu, 03 Jun 2010 13:17:50 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99834
author: Eric Ludlam  <address@hidden>
committer: Chong Yidong <address@hidden>
branch nick: emacs-23
timestamp: Thu 2010-06-03 13:17:50 -0400
message:
  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).
modified:
  lisp/ChangeLog
  lisp/cedet/semantic/lex-spp.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-06-03 15:34:35 +0000
+++ b/lisp/ChangeLog    2010-06-03 17:17:50 +0000
@@ -1,3 +1,9 @@
+2010-06-03  Eric Ludlam  <address@hidden>
+
+       * 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  <address@hidden>
 
        * desktop.el (desktop-clear-preserve-buffers):

=== modified file 'lisp/cedet/semantic/lex-spp.el'
--- a/lisp/cedet/semantic/lex-spp.el    2010-01-13 08:35:10 +0000
+++ b/lisp/cedet/semantic/lex-spp.el    2010-06-03 17:17:50 +0000
@@ -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
 ;;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]