[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105590: progmodes/cc-menus.el (cc-im
From: |
Alan Mackenzie |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105590: progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it handle |
Date: |
Sat, 27 Aug 2011 08:41:23 +0000 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105590
committer: Alan Mackenzie <address@hidden>
branch nick: trunk
timestamp: Sat 2011-08-27 08:41:23 +0000
message:
progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it handle
function pointer parameters properly.
modified:
lisp/ChangeLog
lisp/progmodes/cc-menus.el
lisp/textmodes/paragraphs.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-08-27 08:38:33 +0000
+++ b/lisp/ChangeLog 2011-08-27 08:41:23 +0000
@@ -1,3 +1,8 @@
+2011-08-27 Alan Mackenzie <address@hidden>
+
+ * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it
+ handle function pointer parameters properly.
+
2011-08-27 Martin Rudalics <address@hidden>
* window.el (display-buffer-reuse-window): Fix case where
=== modified file 'lisp/progmodes/cc-menus.el'
--- a/lisp/progmodes/cc-menus.el 2011-01-26 08:36:39 +0000
+++ b/lisp/progmodes/cc-menus.el 2011-08-27 08:41:23 +0000
@@ -108,8 +108,11 @@
"[^" c-alnum "_:<>~]" ; match any non-identifier char
"\\([" c-alpha "_][" c-alnum "_:<>~]*\\)" ; match function name
"\\([ \t\n]\\|\\\\\n\\)*(" ; see above, BUT the arg list
- "\\([ \t\n]\\|\\\\\n\\)*\\([^ \t\n(*][^)]*\\)?)" ; must not start
- "\\([ \t\n]\\|\\\\\n\\)*[^ \t\n;(]" ; with an asterisk or parentheses
+ "\\([ \t\n]\\|\\\\\n\\)*" ; must not start
+ "\\([^ \t\n(*]" ; with an asterisk or parentheses
+ "[^()]*\\(([^()]*)[^()]*\\)*" ; Maybe function pointer arguments
+ "\\)?)"
+ "\\([ \t\n]\\|\\\\\n\\)*[^ \t\n;(]"
) 1)
;; Special case for definitions using phony prototype macros like:
;; `int main _PROTO( (int argc,char *argv[]) )'.
=== modified file 'lisp/textmodes/paragraphs.el'
--- a/lisp/textmodes/paragraphs.el 2011-02-28 01:07:29 +0000
+++ b/lisp/textmodes/paragraphs.el 2011-08-27 08:41:23 +0000
@@ -456,21 +456,25 @@
(sentence-end (sentence-end)))
(while (< arg 0)
(let ((pos (point))
- ;; We used to use (start-of-paragraph-text), but this can
- ;; prevent sentence-end from matching if it is anchored at
- ;; BOL and the paragraph starts indented.
- (par-beg (save-excursion (backward-paragraph) (point))))
- (if (and (re-search-backward sentence-end par-beg t)
- (or (< (match-end 0) pos)
- (re-search-backward sentence-end par-beg t)))
- (goto-char (match-end 0))
- (goto-char par-beg)))
+ (par-beg
+ (save-excursion
+ (start-of-paragraph-text)
+ ;; Move PAR-BEG back over indentation
+ ;; to allow s1entence-end to match if it is anchored at
+ ;; BOL and the paragraph starts indented.
+ (beginning-of-line)
+ (point))))
+ (if (and (re-search-backward sentence-end par-beg t)
+ (or (< (match-end 0) pos)
+ (re-search-backward sentence-end par-beg t)))
+ (goto-char (match-end 0))
+ (goto-char par-beg)))
(setq arg (1+ arg)))
(while (> arg 0)
(let ((par-end (save-excursion (end-of-paragraph-text) (point))))
- (if (re-search-forward sentence-end par-end t)
- (skip-chars-backward " \t\n")
- (goto-char par-end)))
+ (if (re-search-forward sentence-end par-end t)
+ (skip-chars-backward " \t\n")
+ (goto-char par-end)))
(setq arg (1- arg)))
(constrain-to-field nil opoint t)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105590: progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it handle,
Alan Mackenzie <=