Mercurial > emacs
comparison lisp/progmodes/make-mode.el @ 90185:5b029ff3b08d
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-55
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 320-323)
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 26 May 2005 05:42:19 +0000 |
parents | f042e7c0fe20 f09fbe52c543 |
children | 01137c1fdbe9 |
comparison
equal
deleted
inserted
replaced
90184:9e5e2f01c7ab | 90185:5b029ff3b08d |
---|---|
482 '(("[^|&;<>()`\\\"' \t\n]\\(#+\\)" 1 "_") | 482 '(("[^|&;<>()`\\\"' \t\n]\\(#+\\)" 1 "_") |
483 ;; Change the syntax of a quoted newline so that it does not end a comment. | 483 ;; Change the syntax of a quoted newline so that it does not end a comment. |
484 ("\\\\\n" 0 "."))) | 484 ("\\\\\n" 0 "."))) |
485 | 485 |
486 (defvar makefile-imenu-generic-expression | 486 (defvar makefile-imenu-generic-expression |
487 `(("Dependencies" ,makefile-dependency-regex 1) | 487 `(("Dependencies" makefile-previous-dependency 1) |
488 ("Macro Assignment" ,makefile-macroassign-regex 1)) | 488 ("Macro Assignment" ,makefile-macroassign-regex 1)) |
489 "Imenu generic expression for Makefile mode. See `imenu-generic-expression'.") | 489 "Imenu generic expression for Makefile mode. See `imenu-generic-expression'.") |
490 | 490 |
491 ;;; ------------------------------------------------------------ | 491 ;;; ------------------------------------------------------------ |
492 ;;; The following configurable variables are used in the | 492 ;;; The following configurable variables are used in the |
852 (set (make-local-variable 'makefile-rule-action-regex) | 852 (set (make-local-variable 'makefile-rule-action-regex) |
853 ;; Don't care about initial tab, but I don't know how to font-lock correctly without. | 853 ;; Don't care about initial tab, but I don't know how to font-lock correctly without. |
854 "^\t[ \t]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ \t]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.+\\\\\n\\)*.+\\)") | 854 "^\t[ \t]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ \t]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.+\\\\\n\\)*.+\\)") |
855 | 855 |
856 (setq font-lock-defaults | 856 (setq font-lock-defaults |
857 `(makefile-makepp-font-lock-keywords ,@(cdr font-lock-defaults)))) | 857 `(makefile-makepp-font-lock-keywords ,@(cdr font-lock-defaults)) |
858 imenu-generic-expression | |
859 `(("Functions" "^[ \t]*\\(?:make\\)?sub[ \t]+\\([A-Za-z0-9_]+\\)" 1) | |
860 ,@imenu-generic-expression))) | |
858 | 861 |
859 ;;;###autoload | 862 ;;;###autoload |
860 (define-derived-mode makefile-bsdmake-mode makefile-mode "BSDmakefile" | 863 (define-derived-mode makefile-bsdmake-mode makefile-mode "BSDmakefile" |
861 "An adapted `makefile-mode' that knows about BSD make." | 864 "An adapted `makefile-mode' that knows about BSD make." |
862 (set (make-local-variable 'makefile-dependency-regex) | 865 (set (make-local-variable 'makefile-dependency-regex) |
864 "^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\([:!]\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)") | 867 "^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\([:!]\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)") |
865 (set (make-local-variable 'makefile-dependency-skip) "^:!") | 868 (set (make-local-variable 'makefile-dependency-skip) "^:!") |
866 (set (make-local-variable 'makefile-rule-action-regex) | 869 (set (make-local-variable 'makefile-rule-action-regex) |
867 "^\t[ \t]*\\([-+@]*\\)[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)") | 870 "^\t[ \t]*\\([-+@]*\\)[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)") |
868 (setq font-lock-defaults | 871 (setq font-lock-defaults |
869 `(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults)) | 872 `(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults)))) |
870 imenu-generic-expression | |
871 `(("Dependencies" ,makefile-dependency-regex 1) | |
872 ,@(cdr imenu-generic-expression)))) | |
873 | 873 |
874 | 874 |
875 | 875 |
876 ;;; Motion code. | 876 ;;; Motion code. |
877 | 877 |
1680 Checks that the colon has not already been fontified, else we | 1680 Checks that the colon has not already been fontified, else we |
1681 matched in a rule action." | 1681 matched in a rule action." |
1682 (catch 'found | 1682 (catch 'found |
1683 (let ((pt (point))) | 1683 (let ((pt (point))) |
1684 (while (progn (skip-chars-forward makefile-dependency-skip bound) | 1684 (while (progn (skip-chars-forward makefile-dependency-skip bound) |
1685 (not (eobp))) | 1685 (< (point) (or bound (point-max)))) |
1686 (forward-char) | 1686 (forward-char) |
1687 (or (eq (char-after) ?=) | 1687 (or (eq (char-after) ?=) |
1688 (get-text-property (1- (point)) 'face) | 1688 (get-text-property (1- (point)) 'face) |
1689 (when (save-excursion | 1689 (when (save-excursion |
1690 (beginning-of-line) | 1690 (beginning-of-line) |