Mercurial > emacs
diff lisp/progmodes/cc-cmds.el @ 76811:72a276765477
(c-forward-to-nth-EOF-}): Fix EOB bug.
author | Alan Mackenzie <acm@muc.de> |
---|---|
date | Fri, 30 Mar 2007 20:20:35 +0000 |
parents | 0cca0f6a0522 |
children | 831765c54f39 |
line wrap: on
line diff
--- a/lisp/progmodes/cc-cmds.el Fri Mar 30 20:17:54 2007 +0000 +++ b/lisp/progmodes/cc-cmds.el Fri Mar 30 20:20:35 2007 +0000 @@ -1477,9 +1477,7 @@ (c-syntactic-re-search-forward "{") (backward-char) (setq n (1- n))) - (;; (or (eq where 'at-header) (eq where 'outwith-function) -;; (eq where 'at-function-end) (eq where 'in-trailer)) - (memq where '(at-header outwith-function at-function-end in-trailer)) + ((memq where '(at-header outwith-function at-function-end in-trailer)) (c-syntactic-skip-backward "^}") (when (eq (char-before) ?\}) (backward-sexp) @@ -1526,8 +1524,7 @@ (if (< arg 0) ;; Move forward to the closing brace of a function. (progn - (if ;; (or (eq where 'at-function-end) (eq where 'outwith-function)) - (memq where '(at-function-end outwith-function)) + (if (memq where '(at-function-end outwith-function)) (setq arg (1+ arg))) (if (< arg 0) (setq arg (c-forward-to-nth-EOF-} (- arg) where))) @@ -1587,13 +1584,11 @@ ((eq where 'in-trailer) (c-syntactic-skip-backward "^}") (setq n (1- n))) - (;; (or (eq where 'at-function-end) (eq where 'outwith-function) -;; (eq where 'at-header) (eq where 'in-header)) - (memq where '(at-function-end outwith-function at-header in-header)) - (c-syntactic-re-search-forward "{") - (backward-char) - (forward-sexp) - (setq n (1- n))) + ((memq where '(at-function-end outwith-function at-header in-header)) + (when (c-syntactic-re-search-forward "{" nil 'eob) + (backward-char) + (forward-sexp) + (setq n (1- n)))) (t (error "c-forward-to-nth-EOF-}: `where' is %s" where))) ;; Each time round the loop, go forward to a "}" at the outermost level. @@ -1631,8 +1626,7 @@ (if (< arg 0) ;; Move backwards to the } of a function (progn - (if ;; (or (eq where 'at-header) (eq where 'outwith-function)) - (memq where '(at-header outwith-function)) + (if (memq where '(at-header outwith-function)) (setq arg (1+ arg))) (if (< arg 0) (setq arg (c-backward-to-nth-BOF-{ (- arg) where)))