summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2012-02-07 12:01:42 +0000
committerAlan Mackenzie <acm@muc.de>2012-02-07 12:01:42 +0000
commit667ced3a2d224b0f2ab3f2da26468791252c234a (patch)
tree8e79cbc27eae4e4a15d3e7aabc609ebab4b33562 /lisp/progmodes
parent5b77774d024ce0c13b1b071b447a344fe5c70bd7 (diff)
downloademacs-667ced3a2d224b0f2ab3f2da26468791252c234a.tar.gz
cc-engine.el (c-forward-objc-directive): Prevent looping in "#pragma mark
@implementation".
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/cc-engine.el4
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 52f18a89849..47ceec309f4 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -7396,6 +7396,7 @@ comment at the start of cc-engine.el for more info."
(let ((start (point))
start-char
(c-promote-possible-types t)
+ lim
;; Turn off recognition of angle bracket arglists while parsing
;; types here since the protocol reference list might then be
;; considered part of the preceding name or superclass-name.
@@ -7423,6 +7424,7 @@ comment at the start of cc-engine.el for more info."
; (c-forward-token-2) ; 2006/1/13 This doesn't move if the token's
; at EOB.
(goto-char (match-end 0))
+ (setq lim (point))
(c-skip-ws-forward)
(c-forward-type))
@@ -7447,7 +7449,7 @@ comment at the start of cc-engine.el for more info."
t))))
(progn
- (c-backward-syntactic-ws)
+ (c-backward-syntactic-ws lim)
(c-clear-c-type-property start (1- (point)) 'c-decl-end)
(c-put-c-type-property (1- (point)) 'c-decl-end)
t)