4 new commits in cc-mode:
https://bitbucket.org/xemacs/cc-mode/commits/a8f0174ae23f/
Changeset:   a8f0174ae23f
User:        acm
Date:        2013-09-28 18:39:05
Summary:     Fix indentation/fontification of Java enum with "implements".
cc-langs.el (c-postfix-decl-spec-key): New variable, a regexp which
  matches "implements", etc., in Java.
cc-engine.el (c-inside-bracelist-p): Check for extra specifier clauses
  coming after "enum".
cc-fonts.el (c-font-lock-declarations, c-font-lock-enum-tail): Check for
  extra specifier clauses coming after "enum".
enum-7.{java,res,face}: New test case.
Affected #:  3 files
diff -r 394839a483bc044b94a970df3f4657b35282cac6 -r
a8f0174ae23f3cf4c0cbcf6e4c0d0b5831bc04ce cc-engine.el
--- a/cc-engine.el
+++ b/cc-engine.el
@@ -4781,7 +4781,6 @@
        (if (> cfd-re-match-end (point))
 	   (goto-char cfd-re-match-end))
 
-;;;; NEW STOUGH, 2013-09-21
        ;; Each time round, the next `while' moves forward over a pseudo match
        ;; of `c-decl-prefix-or-start-re' which is either inside a literal, or
        ;; is a ":" not preceded by "public", etc.. 
`cfd-re-match' and
@@ -4821,7 +4820,6 @@
 	       ;; Found a ":" which isn't part of "public:", etc.
 	       t)
 	      (t nil)))) ;; Found a real match.  Exit the pseudo-match loop.
-;;;; END OF NEW STOUGH
 
        ;; If our match was at the decl start, we have to back up over the
        ;; preceding syntactic ws to set `cfd-match-pos' and to catch
@@ -8525,15 +8523,19 @@
    (c-safe
      (save-excursion
        (goto-char containing-sexp)
-       (c-forward-sexp -1)
-       (let (bracepos)
-	 (if (and (or (looking-at c-brace-list-key)
-		      (progn (c-forward-sexp -1)
-			     (looking-at c-brace-list-key)))
-		  (setq bracepos (c-down-list-forward (point)))
-		  (not (c-crosses-statement-barrier-p (point)
-						      (- bracepos 2))))
-	     (point)))))
+       (let (before-identifier)
+	 (while
+	     (progn
+	       (c-forward-sexp -1)
+	       (cond
+		((c-on-identifier) (setq before-identifier t))
+		((and before-identifier
+		      (looking-at c-postfix-decl-spec-key))
+		 (setq before-identifier nil)
+		 t)
+		((looking-at c-brace-list-key) nil)
+		(t nil))))
+	 (looking-at c-brace-list-key))))
    ;; this will pick up array/aggregate init lists, even if they are nested.
    (save-excursion
      (let ((class-key
diff -r 394839a483bc044b94a970df3f4657b35282cac6 -r
a8f0174ae23f3cf4c0cbcf6e4c0d0b5831bc04ce cc-fonts.el
--- a/cc-fonts.el
+++ b/cc-fonts.el
@@ -1438,13 +1438,22 @@
 		   (let ((paren-state (c-parse-state)))
 		     (and
 		      (numberp (car paren-state))
-		      (save-excursion
-			(goto-char (car paren-state))
-			(c-backward-token-2)
-			(or (looking-at c-brace-list-key)
-			    (progn
-			      (c-backward-token-2)
-			      (looking-at c-brace-list-key)))))))
+		      (c-safe
+			(save-excursion
+			  (goto-char (car paren-state))
+			  (let (before-identifier)
+			    (while
+				(progn
+				  (c-forward-sexp -1)
+				  (cond
+				   ((c-on-identifier) (setq before-identifier t))
+				   ((and before-identifier
+					 (looking-at c-postfix-decl-spec-key))
+				    (setq before-identifier nil)
+				    t)
+				   ((looking-at c-brace-list-key) nil) ; "enum"
+				   (t nil))))
+			    (looking-at c-brace-list-key)))))))
 	      (c-forward-token-2)
 	      nil)
 
@@ -1533,14 +1542,22 @@
     (when (and
 	   encl-pos
 	   (eq (char-after encl-pos) ?\{)
-	   (save-excursion
-	     (goto-char encl-pos)
-	     (c-backward-syntactic-ws)
-	     (c-simple-skip-symbol-backward)
-	     (or (looking-at c-brace-list-key) ; "enum"
-		 (progn (c-backward-syntactic-ws)
-			(c-simple-skip-symbol-backward)
-			(looking-at c-brace-list-key)))))
+	   (c-safe
+	     (save-excursion
+	       (goto-char encl-pos)
+	       (let (before-identifier)
+		 (while
+		     (progn
+		      (c-forward-sexp -1)
+		      (cond
+		       ((c-on-identifier) (setq before-identifier t))
+		       ((and before-identifier
+			     (looking-at c-postfix-decl-spec-key))
+			(setq before-identifier nil)
+			t)
+		       ((looking-at c-brace-list-key) nil) ; "enum"
+		       (t nil))))
+		 (looking-at c-brace-list-key)))))
       (c-syntactic-skip-backward "^{," nil t)
       (c-put-char-property (1- (point)) 'c-type 'c-decl-id-start)
 
diff -r 394839a483bc044b94a970df3f4657b35282cac6 -r
a8f0174ae23f3cf4c0cbcf6e4c0d0b5831bc04ce cc-langs.el
--- a/cc-langs.el
+++ b/cc-langs.el
@@ -2035,6 +2035,12 @@
 	 ;; In CORBA PSDL:
 	 "as" "const" "implements" "of"
"ref"))
 
+(c-lang-defconst c-postfix-decl-spec-key
+  ;; Regexp matching the keywords in `c-postfix-decl-spec-kwds'.
+  t (c-make-keywords-re t (c-lang-const c-postfix-decl-spec-kwds)))
+(c-lang-defvar c-postfix-decl-spec-key
+  (c-lang-const c-postfix-decl-spec-key))
+
 (c-lang-defconst c-nonsymbol-sexp-kwds
   "Keywords that may be followed by a nonsymbol sexp before whatever
 construct it's part of continues."
https://bitbucket.org/xemacs/cc-mode/commits/dd02d99a9b3f/
Changeset:   dd02d99a9b3f
User:        acm
Date:        2013-10-13 21:20:15
Summary:     Fix indentation/fontification of Java enum with
"implements"/generic.
cc-engine.el (c-backward-over-enum-header): Extracted from the three
other places and enhanced to handle generics.
(c-inside-bracelist-p): Uses new function above.
cc-fonts.el (c-font-lock-declarations): Uses new function above.
(c-font-lock-enum-tail): Uses new function above.
Affected #:  2 files
diff -r a8f0174ae23f3cf4c0cbcf6e4c0d0b5831bc04ce -r
dd02d99a9b3f7b730ff3f9f180d28bbf2b917e82 cc-engine.el
--- a/cc-engine.el
+++ b/cc-engine.el
@@ -8506,6 +8506,32 @@
 		      (not (looking-at "=")))))
       b-pos)))
 
+(defun c-backward-over-enum-header ()
+  ;; We're at a "{".  Move back to the enum-like keyword that starts this
+  ;; declaration and return t, otherwise don't move and return nil.
+  (let ((here (point))
+	up-sexp-pos before-identifier)
+    (while
+	(and
+	 (eq (c-backward-token-2) 0)
+	 (or (not (looking-at "\\s)"))
+	     (c-go-up-list-backward))
+	 (cond
+	  ((and (looking-at c-symbol-key) (c-on-identifier))
+	   (setq before-identifier t))
+	  ((and before-identifier
+		(looking-at c-postfix-decl-spec-key))
+	   (setq before-identifier nil)
+	   t)
+	  ((looking-at c-brace-list-key) nil)
+	  ((and c-recognize-<>-arglists
+		(eq (char-after) ?<)
+		(looking-at "\\s("))
+	   t)
+	  (t nil))))
+    (or (looking-at c-brace-list-key)
+	(progn (goto-char here) nil))))
+
 (defun c-inside-bracelist-p (containing-sexp paren-state)
   ;; return the buffer position of the beginning of the brace list
   ;; statement if we're inside a brace list, otherwise return nil.
@@ -8520,22 +8546,9 @@
   ;; This function might do hidden buffer changes.
   (or
    ;; This will pick up brace list declarations.
-   (c-safe
-     (save-excursion
-       (goto-char containing-sexp)
-       (let (before-identifier)
-	 (while
-	     (progn
-	       (c-forward-sexp -1)
-	       (cond
-		((c-on-identifier) (setq before-identifier t))
-		((and before-identifier
-		      (looking-at c-postfix-decl-spec-key))
-		 (setq before-identifier nil)
-		 t)
-		((looking-at c-brace-list-key) nil)
-		(t nil))))
-	 (looking-at c-brace-list-key))))
+   (save-excursion
+     (goto-char containing-sexp)
+     (c-backward-over-enum-header))
    ;; this will pick up array/aggregate init lists, even if they are nested.
    (save-excursion
      (let ((class-key
diff -r a8f0174ae23f3cf4c0cbcf6e4c0d0b5831bc04ce -r
dd02d99a9b3f7b730ff3f9f180d28bbf2b917e82 cc-fonts.el
--- a/cc-fonts.el
+++ b/cc-fonts.el
@@ -1438,22 +1438,9 @@
 		   (let ((paren-state (c-parse-state)))
 		     (and
 		      (numberp (car paren-state))
-		      (c-safe
-			(save-excursion
-			  (goto-char (car paren-state))
-			  (let (before-identifier)
-			    (while
-				(progn
-				  (c-forward-sexp -1)
-				  (cond
-				   ((c-on-identifier) (setq before-identifier t))
-				   ((and before-identifier
-					 (looking-at c-postfix-decl-spec-key))
-				    (setq before-identifier nil)
-				    t)
-				   ((looking-at c-brace-list-key) nil) ; "enum"
-				   (t nil))))
-			    (looking-at c-brace-list-key)))))))
+		      (save-excursion
+			(goto-char (car paren-state))
+			(c-backward-over-enum-header)))))
 	      (c-forward-token-2)
 	      nil)
 
@@ -1542,22 +1529,9 @@
     (when (and
 	   encl-pos
 	   (eq (char-after encl-pos) ?\{)
-	   (c-safe
-	     (save-excursion
-	       (goto-char encl-pos)
-	       (let (before-identifier)
-		 (while
-		     (progn
-		      (c-forward-sexp -1)
-		      (cond
-		       ((c-on-identifier) (setq before-identifier t))
-		       ((and before-identifier
-			     (looking-at c-postfix-decl-spec-key))
-			(setq before-identifier nil)
-			t)
-		       ((looking-at c-brace-list-key) nil) ; "enum"
-		       (t nil))))
-		 (looking-at c-brace-list-key)))))
+	   (save-excursion
+	     (goto-char encl-pos)
+	     (c-backward-over-enum-header)))
       (c-syntactic-skip-backward "^{," nil t)
       (c-put-char-property (1- (point)) 'c-type 'c-decl-id-start)
 
https://bitbucket.org/xemacs/cc-mode/commits/55f930a5e117/
Changeset:   55f930a5e117
User:        acm
Date:        2013-10-13 21:34:03
Summary:     Merge.
Affected #:  3 files
diff -r dd02d99a9b3f7b730ff3f9f180d28bbf2b917e82 -r
55f930a5e1176d964842390e3536b38eda9e0684 .hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -102,3 +102,4 @@
 30193171ee9f9ed46e44502a7b15f7064016ee5b cc-mode-1_68
 d3c0d95369e48b69f82b52b69f2b6d77bf957c65 cc-mode-1_69
 e4b17748254e2efd679b7f2bcc92c6f7e0204ae1 cc-mode-1_70
+f7e9fa89b5fa9d21a9a5be5eef0214d2e0566b2a cc-mode-1_71
diff -r dd02d99a9b3f7b730ff3f9f180d28bbf2b917e82 -r
55f930a5e1176d964842390e3536b38eda9e0684 ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-09-22  Norbert Koch  <viteno(a)xemacs.org>
+
+	* Makefile (VERSION): XEmacs package 1.71 released.
+
 2013-09-19  Norbert Koch  <viteno(a)xemacs.org>
 
 	* Makefile (VERSION): XEmacs package 1.70 released.
diff -r dd02d99a9b3f7b730ff3f9f180d28bbf2b917e82 -r
55f930a5e1176d964842390e3536b38eda9e0684 Makefile
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@
 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
-VERSION = 1.70
+VERSION = 1.71
 AUTHOR_VERSION = 5.32.2
 MAINTAINER = Alan Mackenzie <bug-cc-mode(a)gnu.org>
 PACKAGE = cc-mode
https://bitbucket.org/xemacs/cc-mode/commits/831c2054d7e6/
Changeset:   831c2054d7e6
User:        acm
Date:        2013-10-13 21:35:21
Summary:     Update AUTHOR_VERSION to 5.32.5.
Affected #:  1 file
diff -r 55f930a5e1176d964842390e3536b38eda9e0684 -r
831c2054d7e632ee7943a3d2b45061a9adc1d3e2 Makefile
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@
 # Boston, MA 02111-1307, USA.
 
 VERSION = 1.71
-AUTHOR_VERSION = 5.32.2
+AUTHOR_VERSION = 5.32.5
 MAINTAINER = Alan Mackenzie <bug-cc-mode(a)gnu.org>
 PACKAGE = cc-mode
 PKG_TYPE = regular
Repository URL: 
https://bitbucket.org/xemacs/cc-mode/
--
This is a commit notification from 
bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches