summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorDaniel Pfeiffer <occitan@esperanto.org>2005-06-03 08:47:25 +0000
committerDaniel Pfeiffer <occitan@esperanto.org>2005-06-03 08:47:25 +0000
commit30edba6e09fcc1d64b46e79a3d49a053b92852ae (patch)
treec162e8bb7ca5310a0dfcd2940a7164dda4e84804 /lisp/progmodes
parent3b79dd208da3335459363db7cd6f2c5b04d71b48 (diff)
downloademacs-30edba6e09fcc1d64b46e79a3d49a053b92852ae.tar.gz
(makefile-targets-face, makefile-shell-face, makefile-makepp-perl-face): Add :version.
(makefile-bsdmake-dependency-regex, makefile-makepp-rule-action-regex, makefile-bsdmake-rule-action-regex): New constants. (makefile-makepp-mode, makefile-bsdmake-mode): Use them.
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/make-mode.el35
1 files changed, 25 insertions, 10 deletions
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index 055cdf7fc7d..7356583fb90 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -111,7 +111,8 @@
'((t (:underline t)))
"Face to use for additionally highlighting rule targets in Font-Lock mode."
:group 'faces
- :group 'makefile)
+ :group 'makefile
+ :version "22.1")
(defface makefile-shell-face
'((((class color) (background light)) (:background "seashell1"))
@@ -119,7 +120,8 @@
(t (:reverse-video t)))
"Face to use for additionally highlighting Shell commands in Font-Lock mode."
:group 'faces
- :group 'makefile)
+ :group 'makefile
+ :version "22.1")
(defface makefile-makepp-perl-face
'((((class color) (background light)) (:background "LightBlue1")) ; Camel Book
@@ -127,7 +129,8 @@
(t (:reverse-video t)))
"Face to use for additionally highlighting Perl code in Font-Lock mode."
:group 'faces
- :group 'makefile)
+ :group 'makefile
+ :version "22.1")
(defcustom makefile-browser-buffer-name "*Macros and Targets*"
"*Name of the macro- and target browser buffer."
@@ -262,6 +265,11 @@ not be enclosed in { } or ( )."
"^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\(:\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)"
"Regex used to find dependency lines in a makefile.")
+(defconst makefile-bsdmake-dependency-regex
+ (progn (string-match (regexp-quote "\\(:\\)") makefile-dependency-regex)
+ (replace-match "\\([:!]\\)" t t makefile-dependency-regex))
+ "Regex used to find dependency lines in a BSD makefile.")
+
(defvar makefile-dependency-skip "^:"
"Characters to skip to find a line that might be a dependency.")
@@ -269,6 +277,16 @@ not be enclosed in { } or ( )."
"^\t[ \t]*\\([-@]*\\)[ \t]*\\(\\(?:.*\\\\\n\\)*.*\\)"
"Regex used to highlight rule action lines in font lock mode.")
+(defconst makefile-makepp-rule-action-regex
+ ;; Don't care about initial tab, but I don't know how to font-lock correctly without.
+ "^\t[ \t]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ \t]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.*\\\\\n\\)*.*\\)"
+ "Regex used to highlight makepp rule action lines in font lock mode.")
+
+(defconst makefile-bsdmake-rule-action-regex
+ (progn (string-match "-@" makefile-rule-action-regex)
+ (replace-match "-+@" t t makefile-rule-action-regex))
+ "Regex used to highlight BSD rule action lines in font lock mode.")
+
;; Note that the first and second subexpression is used by font lock. Note
;; that if you change this regexp you might have to fix the imenu index in
;; makefile-imenu-generic-expression.
@@ -849,10 +867,8 @@ Makefile mode can be configured by modifying the following variables:
;;;###autoload
(define-derived-mode makefile-makepp-mode makefile-mode "Makeppfile"
"An adapted `makefile-mode' that knows about makepp."
- (set (make-local-variable 'makefile-rule-action-regex)
- ;; Don't care about initial tab, but I don't know how to font-lock correctly without.
- "^\t[ \t]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ \t]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.*\\\\\n\\)*.*\\)")
-
+ (set (make-local-variable 'makefile-rule-action-regex)
+ makefile-makepp-rule-action-regex)
(setq font-lock-defaults
`(makefile-makepp-font-lock-keywords ,@(cdr font-lock-defaults))
imenu-generic-expression
@@ -863,11 +879,10 @@ Makefile mode can be configured by modifying the following variables:
(define-derived-mode makefile-bsdmake-mode makefile-mode "BSDmakefile"
"An adapted `makefile-mode' that knows about BSD make."
(set (make-local-variable 'makefile-dependency-regex)
- ;; Identical to default, except allows `!' instead of `:'.
- "^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\([:!]\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)")
+ makefile-bsdmake-dependency-regex)
(set (make-local-variable 'makefile-dependency-skip) "^:!")
(set (make-local-variable 'makefile-rule-action-regex)
- "^\t[ \t]*\\([-+@]*\\)[ \t]*\\(\\(?:.*\\\\\n\\)*.*\\)")
+ makefile-bsdmake-rule-action-regex)
(setq font-lock-defaults
`(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults))))