]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/make-mode.el
(gdb-gud-context-call): Does not need to be a macro.
[gnu-emacs] / lisp / progmodes / make-mode.el
index c3ba2bf19c08a18ba3fa28419fa8ff7cb1049440..fa8cf63c87a2f22f32889626474b1368a30ca3b1 100644 (file)
@@ -1,7 +1,7 @@
 ;;; make-mode.el --- makefile editing commands for Emacs
 
-;; Copyright (C) 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+;;   2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 
 ;; Author: Thomas Neumann <tom@smart.bo.open.de>
 ;;     Eric S. Raymond <esr@snark.thyrsus.com>
@@ -1688,7 +1688,7 @@ and generates the overview, one line per target name."
 ;;; ------------------------------------------------------------
 
 (defun makefile-cleanup-continuations ()
-  (if (eq major-mode 'makefile-mode)
+  (if (derived-mode-p 'makefile-mode)
       (if (and makefile-cleanup-continuations
               (not buffer-read-only))
          (save-excursion
@@ -1703,7 +1703,7 @@ and generates the overview, one line per target name."
 
 (defun makefile-warn-suspicious-lines ()
   ;; Returning non-nil cancels the save operation
-  (if (eq major-mode 'makefile-mode)
+  (if (derived-mode-p 'makefile-mode)
       (save-excursion
        (goto-char (point-min))
        (if (re-search-forward "^\\(\t+$\\| +\t\\)" nil t)
@@ -1712,7 +1712,7 @@ and generates the overview, one line per target name."
                          (count-lines (point-min) (point)))))))))
 
 (defun makefile-warn-continuations ()
-  (if (eq major-mode 'makefile-mode)
+  (if (derived-mode-p 'makefile-mode)
       (save-excursion
        (goto-char (point-min))
        (if (re-search-forward "\\\\[ \t]+$" nil t)
@@ -1761,11 +1761,12 @@ Then prompts for all required parameters."
   "To be called as an anchored matcher by font-lock.
 The anchor must have matched the opening parens in the first group."
   (let ((s (match-string-no-properties 1)))
-    (setq s (cond ((string= s "(") "\\(.*?\\)[ \t]*)")
-                 ((string= s "{") "\\(.*?\\)[ \t]*}")
-                 ((string= s "((") "\\(.*?\\)[ \t]*))")
-                 ((string= s "{{") "\\(.*?\\)[ \t]*}}")))
-    (if s (looking-at s))))
+    ;; FIXME forward-sexp or somesuch would be better?
+    (if (setq s (cond ((string= s "(") ")")
+                     ((string= s "{") "}")
+                     ((string= s "((") "))")
+                     ((string= s "{{") "}}")))
+       (re-search-forward (concat "\\(.*\\)[ \t]*" s) (line-end-position) t))))
 
 (defun makefile-match-dependency (bound)
   "Search for `makefile-dependency-regex' up to BOUND.