annotate lisp/progmodes/m4-mode.el @ 63308:51d38cfbe542

Warn about using "cvs up -kb" if one intends to commit changes. Add a pointer to another site with detailed configure and build instructions. Suggest to look at config.log when configure fails. Add MinGW Make 3.80 to the list of successful combinations.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 11 Jun 2005 11:31:29 +0000
parents f2892faa87d4
children 18a818a2ee7c 01137c1fdbe9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 ;;; m4-mode.el --- m4 code editing commands for Emacs
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
3 ;;; Copyright (C) 1996, 1997 Free Software Foundation, Inc.
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
20344
229f31952731 Update author email address.
Richard M. Stallman <rms@gnu.org>
parents: 19779
diff changeset
5 ;; Author: Andrew Csillag <drew_csillag@geocities.com>
229f31952731 Update author email address.
Richard M. Stallman <rms@gnu.org>
parents: 19779
diff changeset
6 ;; Maintainer: Andrew Csillag <drew_csillag@geocities.com>
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 ;; Keywords: languages, faces
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 ;; any later version.
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 ;; GNU General Public License for more details.
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 ;; Boston, MA 02111-1307, USA.
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 ;;; Commentary:
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
28 ;; A smart editing mode for m4 macro definitions. It seems to have most of the
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;; syntax right (sexp motion commands work, but function motion commands don't).
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 ;; It also sets the font-lock syntax stuff for colorization
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ;; To Do's:
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ;; * want to make m4-m4-(buffer|region) look sorta like M-x compile look&feel ?
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 ;; * sexp motion commands don't seem to work right
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
37 ;;; Thanks:
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 ;;; to Akim Demaille and Terry Jones for the bug reports
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
39 ;;; to Simon Marshall for the regexp tip
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
40 ;;; to Martin Buchholz for some general fixes
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 ;;; Code:
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43
21447
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
44 (defgroup m4 nil
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
45 "m4 code editing commands for Emacs."
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
46 :prefix "m4-"
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
47 :group 'languages)
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
48
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
49 (defcustom m4-program
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
50 (cond
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
51 ((file-exists-p "/usr/local/bin/m4") "/usr/local/bin/m4")
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
52 ((file-exists-p "/usr/bin/m4") "/usr/bin/m4")
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
53 ((file-exists-p "/bin/m4") "/bin/m4")
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
54 ((file-exists-p "/usr/ccs/bin/m4") "/usr/ccs/bin/m4")
21447
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
55 ( t "m4")
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
56 )
21447
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
57 "File name of the m4 executable."
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
58 :type 'file
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
59 :group 'm4)
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
61 ;;options to m4
21447
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
62 (defcustom m4-program-options nil
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
63 "Options to pass to `m4-program'."
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
64 :type '(repeat string)
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
65 :group 'm4)
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
66
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
67 ;;to use --prefix-builtins, you can use
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
68 ;;(defconst m4-program-options '("-P"))
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
69 ;;or
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
70 ;;(defconst m4-program-options '("--prefix-builtins"))
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
71
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 (defvar m4-font-lock-keywords
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 `(
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
74 ("\\(\\b\\(m4_\\)?dnl\\b\\|^\\#\\).*$" . font-lock-comment-face)
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
75 ; ("\\(\\bdnl\\b\\|\\bm4_dnl\\b\\|^\\#\\).*$" . font-lock-comment-face)
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
76 ("\\$[*#@0-9]" . font-lock-variable-name-face)
16618
7f975e29d4ee Fixed syntax table for quotes since they messed up
Richard M. Stallman <rms@gnu.org>
parents: 16482
diff changeset
77 ("\\\$\\\@" . font-lock-variable-name-face)
7f975e29d4ee Fixed syntax table for quotes since they messed up
Richard M. Stallman <rms@gnu.org>
parents: 16482
diff changeset
78 ("\\\$\\\*" . font-lock-variable-name-face)
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 ("\\b\\(builtin\\|change\\(com\\|quote\\|word\\)\\|d\\(e\\(bug\\(file\\|mode\\)\\|cr\\|f\\(ine\\|n\\)\\)\\|iv\\(ert\\|num\\)\\|nl\\|umpdef\\)\\|e\\(rrprint\\|syscmd\\|val\\)\\|f\\(ile\\|ormat\\)\\|gnu\\|i\\(f\\(def\\|else\\)\\|n\\(c\\(lude\\|r\\)\\|d\\(ex\\|ir\\)\\)\\)\\|l\\(en\\|ine\\)\\|m\\(4\\(exit\\|wrap\\)\\|aketemp\\)\\|p\\(atsubst\\|opdef\\|ushdef\\)\\|regexp\\|s\\(hift\\|include\\|ubstr\\|ys\\(cmd\\|val\\)\\)\\|tra\\(ceo\\(ff\\|n\\)\\|nslit\\)\\|un\\(d\\(efine\\|ivert\\)\\|ix\\)\\)\\b" . font-lock-keyword-face)
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
80 ("\\b\\(m4_\\(builtin\\|change\\(com\\|quote\\|word\\)\\|d\\(e\\(bug\\(file\\|mode\\)\\|cr\\|f\\(ine\\|n\\)\\)\\|iv\\(ert\\|num\\)\\|nl\\|umpdef\\)\\|e\\(rrprint\\|syscmd\\|val\\)\\|f\\(ile\\|ormat\\)\\|i\\(f\\(def\\|else\\)\\|n\\(c\\(lude\\|r\\)\\|d\\(ex\\|ir\\)\\)\\)\\|l\\(en\\|ine\\)\\|m\\(4\\(_undefine\\|exit\\|wrap\\)\\|aketemp\\)\\|p\\(atsubst\\|opdef\\|ushdef\\)\\|regexp\\|s\\(hift\\|include\\|ubstr\\|ys\\(cmd\\|val\\)\\)\\|tra\\(ceo\\(ff\\|n\\)\\|nslit\\)\\|undivert\\)\\)\\b" . font-lock-keyword-face))
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
81 "Default font-lock-keywords for `m4 mode'.")
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82
21447
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
83 (defcustom m4-mode-hook nil
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
84 "*Hook called by `m4-mode'."
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
85 :type 'hook
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
86 :group 'm4)
42e8acda5021 Customize
Stephen Eglen <stephen@gnu.org>
parents: 20344
diff changeset
87
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 ;;this may still need some work
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 (defvar m4-mode-syntax-table nil
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
90 "Syntax table used while in `m4-mode'.")
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 (setq m4-mode-syntax-table (make-syntax-table))
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 (modify-syntax-entry ?` "('" m4-mode-syntax-table)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93 (modify-syntax-entry ?' ")`" m4-mode-syntax-table)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 (modify-syntax-entry ?# "<\n" m4-mode-syntax-table)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 (modify-syntax-entry ?\n ">#" m4-mode-syntax-table)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 (modify-syntax-entry ?{ "_" m4-mode-syntax-table)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 (modify-syntax-entry ?} "_" m4-mode-syntax-table)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98 (modify-syntax-entry ?* "w" m4-mode-syntax-table)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99 (modify-syntax-entry ?_ "w" m4-mode-syntax-table)
16618
7f975e29d4ee Fixed syntax table for quotes since they messed up
Richard M. Stallman <rms@gnu.org>
parents: 16482
diff changeset
100 (modify-syntax-entry ?\" "w" m4-mode-syntax-table)
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
101 (modify-syntax-entry ?\" "w" m4-mode-syntax-table)
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 (defvar m4-mode-map
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 (let ((map (make-sparse-keymap)))
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 (define-key map "\C-c\C-b" 'm4-m4-buffer)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 (define-key map "\C-c\C-r" 'm4-m4-region)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107 (define-key map "\C-c\C-c" 'comment-region)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108 map))
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109
30469
2fce61fd82ec (m4-mode-abbrev-table): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 23961
diff changeset
110 (defvar m4-mode-abbrev-table nil
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
111 "Abbrev table used while in `m4-mode'.")
30469
2fce61fd82ec (m4-mode-abbrev-table): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 23961
diff changeset
112
2fce61fd82ec (m4-mode-abbrev-table): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 23961
diff changeset
113 (unless m4-mode-abbrev-table
2fce61fd82ec (m4-mode-abbrev-table): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 23961
diff changeset
114 (define-abbrev-table 'm4-mode-abbrev-table ()))
2fce61fd82ec (m4-mode-abbrev-table): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 23961
diff changeset
115
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 (defun m4-m4-buffer ()
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
117 "Send contents of the current buffer to m4."
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
118 (interactive)
23961
7a6b8dd13afb (m4-m4-region, m4-m4-buffer): Use shell-command-on-region.
Richard M. Stallman <rms@gnu.org>
parents: 21447
diff changeset
119 (shell-command-on-region (point-min) (point-max) m4-program "*m4-output*"
7a6b8dd13afb (m4-m4-region, m4-m4-buffer): Use shell-command-on-region.
Richard M. Stallman <rms@gnu.org>
parents: 21447
diff changeset
120 nil)
7a6b8dd13afb (m4-m4-region, m4-m4-buffer): Use shell-command-on-region.
Richard M. Stallman <rms@gnu.org>
parents: 21447
diff changeset
121 (switch-to-buffer-other-window "*m4-output*"))
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 (defun m4-m4-region ()
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
124 "Send contents of the current region to m4."
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 (interactive)
23961
7a6b8dd13afb (m4-m4-region, m4-m4-buffer): Use shell-command-on-region.
Richard M. Stallman <rms@gnu.org>
parents: 21447
diff changeset
126 (shell-command-on-region (point) (mark) m4-program "*m4-output*" nil)
7a6b8dd13afb (m4-m4-region, m4-m4-buffer): Use shell-command-on-region.
Richard M. Stallman <rms@gnu.org>
parents: 21447
diff changeset
127 (switch-to-buffer-other-window "*m4-output*"))
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128
19779
fc52884e1dfc (m4-mode): Add autoload cookie.
Richard M. Stallman <rms@gnu.org>
parents: 17899
diff changeset
129 ;;;###autoload
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 (defun m4-mode ()
19779
fc52884e1dfc (m4-mode): Add autoload cookie.
Richard M. Stallman <rms@gnu.org>
parents: 17899
diff changeset
131 "A major mode to edit m4 macro files.
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132 \\{m4-mode-map}
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133 "
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 (interactive)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135 (kill-all-local-variables)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136 (use-local-map m4-mode-map)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138 (make-local-variable 'comment-start)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139 (setq comment-start "#")
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 (make-local-variable 'parse-sexp-ignore-comments)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141 (setq parse-sexp-ignore-comments t)
30469
2fce61fd82ec (m4-mode-abbrev-table): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 23961
diff changeset
142 (setq local-abbrev-table m4-mode-abbrev-table)
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
143
47666
537f1778caaf (m4-font-lock-keywords)
John Paul Wallington <jpw@pobox.com>
parents: 38436
diff changeset
144 (make-local-variable 'font-lock-defaults)
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145 (setq major-mode 'm4-mode
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
146 mode-name "m4"
17899
88e528f3dc49 (m4-program): Guess which m4 binary to use.
Richard M. Stallman <rms@gnu.org>
parents: 16618
diff changeset
147 font-lock-defaults '(m4-font-lock-keywords nil)
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148 )
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
149 (set-syntax-table m4-mode-syntax-table)
62772
f2892faa87d4 * progmodes/ada-mode.el (ada-mode):
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
150 (run-mode-hooks 'm4-mode-hook))
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
151
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
152 (provide 'm4-mode)
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
153 ;;stuff to play with for debugging
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
154 ;(char-to-string (char-syntax ?`))
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
155
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
156 ;;;how I generate the nasty looking regexps at the top
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
157 ;;;(make-regexp '("builtin" "changecom" "changequote" "changeword" "debugfile"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
158 ;;; "debugmode" "decr" "define" "defn" "divert" "divnum" "dnl"
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
159 ;;; "dumpdef" "errprint" "esyscmd" "eval" "file" "format" "gnu"
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
160 ;;; "ifdef" "ifelse" "include" "incr" "index" "indir" "len" "line"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
161 ;;; "m4exit" "m4wrap" "maketemp" "patsubst" "popdef" "pushdef" "regexp"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
162 ;;; "shift" "sinclude" "substr" "syscmd" "sysval" "traceoff" "traceon"
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163 ;;; "translit" "undefine" "undivert" "unix"))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
164 ;;;(make-regexp '("m4_builtin" "m4_changecom" "m4_changequote" "m4_changeword"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
165 ;;; "m4_debugfile" "m4_debugmode" "m4_decr" "m4_define" "m4_defn"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
166 ;;; "m4_divert" "m4_divnum" "m4_dnl" "m4_dumpdef" "m4_errprint"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
167 ;;; "m4_esyscmd" "m4_eval" "m4_file" "m4_format" "m4_ifdef" "m4_ifelse"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
168 ;;; "m4_include" "m4_incr" "m4_index" "m4_indir" "m4_len" "m4_line"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
169 ;;; "m4_m4exit" "m4_m4wrap" "m4_maketemp" "m4_patsubst" "m4_popdef"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
170 ;;; "m4_pushdef" "m4_regexp" "m4_shift" "m4_sinclude" "m4_substr"
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47666
diff changeset
171 ;;; "m4_syscmd" "m4_sysval" "m4_traceoff" "m4_traceon" "m4_translit"
16482
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
172 ;;; "m4_m4_undefine" "m4_undivert"))
4e58112986fd Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
173
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49598
diff changeset
174 ;;; arch-tag: 87811d86-94c1-474b-9666-587f6da74af1
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 30469
diff changeset
175 ;;; m4-mode.el ends here