emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r117725: progmodes/cc-fonts.el (c-font-lock-declarat


From: Alan Mackenzie
Subject: [Emacs-diffs] trunk r117725: progmodes/cc-fonts.el (c-font-lock-declarators): Fix infinite loop, bug
Date: Sat, 23 Aug 2014 11:08:33 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117725
revision-id: address@hidden
parent: address@hidden
committer: Alan Mackenzie <address@hidden>
branch nick: trunk
timestamp: Sat 2014-08-23 11:02:20 +0000
message:
  progmodes/cc-fonts.el (c-font-lock-declarators): Fix infinite loop, bug
  #18306.  The bug was introduced on 2014-08-02.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/progmodes/cc-fonts.el     ccfonts.el-20091113204419-o5vbwnq5f7feedwu-2930
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-08-21 15:07:13 +0000
+++ b/lisp/ChangeLog    2014-08-23 11:02:20 +0000
@@ -1,3 +1,8 @@
+2014-08-23  Alan Mackenzie  <address@hidden>
+
+       * progmodes/cc-fonts.el (c-font-lock-declarators): Fix infinite
+       loop, bug #18306.  The bug was introduced on 2014-08-02.
+
 2014-08-21  Eli Zaretskii  <address@hidden>
 
        * textmodes/texnfo-upd.el (texinfo-specific-section-type): Don't

=== modified file 'lisp/progmodes/cc-fonts.el'
--- a/lisp/progmodes/cc-fonts.el        2014-08-09 20:54:04 +0000
+++ b/lisp/progmodes/cc-fonts.el        2014-08-23 11:02:20 +0000
@@ -1116,14 +1116,11 @@
            ;; initializing brace lists.
            (let (found)
              (while
-                 (and (setq found
-                            (c-syntactic-re-search-forward
-                             "[;,]\\|\\s)\\|\\'\\|\\(=\\|\\s(\\)" limit t t))
-                      (eq (char-before) ?\[))
-               (backward-char)
-               (c-safe (c-forward-sexp 1))
-               (setq found nil)
-               (setq brackets-after-id t))
+                 (and (setq found (c-syntactic-re-search-forward
+                            "[;,]\\|\\s)\\|\\'\\|\\(=\\|\\s(\\)" limit t t))
+                      (eq (char-before) ?\[)
+                      (c-go-up-list-forward))
+                    (setq brackets-after-id t))
              found))
 
       (setq next-pos (match-beginning 0)


reply via email to

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