changeset 19806:dc7a5df6e4b9

(c-end-of-statement-1): Wrap backward-up-list in a c-safe call so no error results when buffer contains only a comment and point is at eob. (c-inside-bracelist-p): Add a test to the enum list test so that enum in a k&r arg decl doesn't confuse handling of the function body.
author Richard M. Stallman <rms@gnu.org>
date Mon, 08 Sep 1997 03:20:49 +0000
parents e804ac04eec1
children 86412da1174b
files lisp/progmodes/cc-engine.el
diffstat 1 files changed, 10 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/cc-engine.el	Mon Sep 08 03:20:17 1997 +0000
+++ b/lisp/progmodes/cc-engine.el	Mon Sep 08 03:20:49 1997 +0000
@@ -7,7 +7,7 @@
 ;;             1985 Richard M. Stallman
 ;; Maintainer: cc-mode-help@python.org
 ;; Created:    22-Apr-1997 (split from cc-mode.el)
-;; Version:    5.16
+;; Version:    5.17
 ;; Keywords:   c languages oop
 
 ;; This file is part of GNU Emacs.
@@ -188,13 +188,13 @@
 	  (goto-char end))
 	(re-search-backward "[;{}]")
 	(forward-char 1))
-    (error 
+    (error
      (let ((beg (point)))
-       (backward-up-list -1)
+       (c-safe (backward-up-list -1))
        (let ((end (point)))
 	 (goto-char beg)
-	 (search-forward ";" end 'move))))))
-
+	 (search-forward ";" end 'move)))
+     )))
 
 
 (defun c-crosses-statement-barrier-p (from to)
@@ -750,9 +750,11 @@
        (save-excursion
 	 (goto-char containing-sexp)
 	 (forward-sexp -1)
-	 (if (or (looking-at "enum[\t\n ]+")
-		 (progn (forward-sexp -1)
-			(looking-at "enum[\t\n ]+")))
+	 (if (and (or (looking-at "enum[\t\n ]+")
+		      (progn (forward-sexp -1)
+			     (looking-at "enum[\t\n ]+")))
+		  (progn (c-end-of-statement-1)
+			 (> (point) containing-sexp)))
 	     (point)))
      (error nil))
    ;; this will pick up array/aggregate init lists, even if they are nested.