Browse Source

BUG: Only count block open tokens if they are followed by an open paren.

Brad King 21 years ago
parent
commit
419df21c06
1 changed files with 5 additions and 2 deletions
  1. 5 2
      Docs/cmake-mode.el

+ 5 - 2
Docs/cmake-mode.el

@@ -52,7 +52,7 @@
                                        "\\|" "[ \t\r\n]"
                                        "\\)*"))
 
-(defconst cmake-regex-block-open "^\\(IF\\|MACRO\\|FOREACH\\|ELSE\\)")
+(defconst cmake-regex-block-open "^\\(IF\\|MACRO\\|FOREACH\\|ELSE\\)$")
 (defconst cmake-regex-block-close "^[ \t]*\\(ENDIF\\|ENDFOREACH\\|ENDMACRO\\|ELSE\\)[ \t]*(")
 
 (defun cmake-line-starts-inside-string ()
@@ -113,7 +113,10 @@
             (if (string-match (concat "^" cmake-regex-paren-right "$") token)
                 (setq cur-indent (- cur-indent cmake-tab-width))
               )
-            (if (string-match cmake-regex-block-open token)
+            (if (and
+                 (string-match cmake-regex-block-open token)
+                 (looking-at (concat "[ \t]*" cmake-regex-paren-left))
+                 )
                 (setq cur-indent (+ cur-indent cmake-tab-width))
               )
             )