]> code.delx.au - gnu-emacs-elpa/blob - packages/auctex-11.86/tex-info.el
6f7b8497e2ab0d7b04b5eb0961f0434f32bba0a5
[gnu-emacs-elpa] / packages / auctex-11.86 / tex-info.el
1 ;;; tex-info.el --- Support for editing Texinfo source.
2
3 ;; Copyright (C) 1993, 1994, 1997, 2000, 2001,
4 ;; 2004, 2005, 2006 Free Software Foundation, Inc.
5
6 ;; Maintainer: auctex-devel@gnu.org
7 ;; Keywords: tex
8
9 ;; This file is part of AUCTeX.
10
11 ;; AUCTeX is free software; you can redistribute it and/or modify it
12 ;; under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation; either version 3, or (at your option)
14 ;; any later version.
15
16 ;; AUCTeX is distributed in the hope that it will be useful, but
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 ;; General Public License for more details.
20
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with AUCTeX; see the file COPYING. If not, write to the Free
23 ;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
24 ;; 02110-1301, USA.
25
26 ;;; Code:
27
28 (require 'tex)
29
30 (require 'texinfo)
31 ;; Make sure the Texinfo mode of AUCTeX is still used after loading
32 ;; texinfo.el. (This is only an issue on Emacs 21.)
33 (when (and (boundp 'TeX-modes)
34 (memq 'texinfo-mode TeX-modes))
35 (defalias 'texinfo-mode 'TeX-texinfo-mode))
36
37 ;;; Environments:
38
39 (defvar Texinfo-environment-list
40 '(("cartouche") ("command") ("copying") ("defcv") ("deffn") ("defivar")
41 ("defmac") ("defmethod") ("defop") ("defopt") ("defspec")
42 ("deftp") ("deftypefn") ("deftypefun") ("deftypevar") ("deftypevr")
43 ("defun") ("defvar") ("defvr") ("description") ("detailmenu")
44 ("direntry") ("display") ("documentdescription") ("enumerate")
45 ("example") ("flushleft") ("flushright") ("format") ("ftable")
46 ("group") ("ifclear") ("ifdocbook") ("ifhtml") ("ifinfo")
47 ("ifnotdocbook") ("ifnothtml") ("ifnotinfo") ("ifnotplaintext")
48 ("ifnottex") ("ifnotxml") ("ifplaintext") ("ifset") ("iftex")
49 ("ifxml") ("ignore") ("itemize") ("lisp") ("macro") ("menu")
50 ("multitable") ("quotation") ("smalldisplay") ("smallexample")
51 ("smallformat") ("smalllisp") ("table") ("tex") ("titlepage")
52 ("verbatim") ("vtable"))
53 "Alist of Texinfo environments.")
54
55 (defconst texinfo-environment-regexp
56 ;; Overwrite version from `texinfo.el'.
57 (concat "^@\\("
58 (mapconcat 'car Texinfo-environment-list "\\|")
59 "\\|end\\)\\>")
60 "Regexp for environment-like Texinfo list commands.
61 Subexpression 1 is what goes into the corresponding `@end' statement.")
62
63 (defun Texinfo-environment (env &optional arg)
64 "Make Texinfo environment ENV.
65 With optional ARG, modify current environment."
66 ;; XXX: This could be enhanced to act like `LaTeX-environment',
67 ;; i.e. suggest a default environment and have its own history.
68 (interactive (list (completing-read "Environment: "
69 Texinfo-environment-list)
70 current-prefix-arg))
71 (if arg
72 (Texinfo-modify-environment env)
73 (Texinfo-insert-environment env)))
74
75 (defun Texinfo-insert-environment (env)
76 "Insert Texinfo environment ENV."
77 (if (and (TeX-active-mark)
78 (not (eq (mark) (point))))
79 (progn
80 (when (< (mark) (point))
81 (exchange-point-and-mark))
82 (unless (TeX-looking-at-backward "^[ \t]*")
83 (newline))
84 (insert "@" env)
85 (newline)
86 (goto-char (mark))
87 (unless (TeX-looking-at-backward "^[ \t]*")
88 (newline))
89 (insert "@end " env)
90 (save-excursion (newline))
91 (end-of-line 0))
92 (insert "@" env "\n\n@end " env "\n")
93 (if (null (cdr-safe (assoc "defcv" Texinfo-environment-list)))
94 (forward-line -2))))
95
96 (defun Texinfo-modify-environment (env)
97 "Change current environment to environment ENV."
98 (save-excursion
99 (Texinfo-find-env-end)
100 (re-search-backward (concat (regexp-quote TeX-esc) "end \\([a-zA-Z]*\\)")
101 (line-beginning-position))
102 (replace-match env t t nil 1)
103 (beginning-of-line)
104 (Texinfo-find-env-start)
105 (re-search-forward (concat (regexp-quote TeX-esc) "\\([a-zA-Z]*\\)")
106 (line-end-position))
107 (replace-match env t t nil 1)))
108
109 (defun Texinfo-find-env-end ()
110 "Move point to the end of the current environment."
111 (interactive)
112 (let* ((envs (mapcar 'car Texinfo-environment-list))
113 (regexp (concat "^[ \t]*" (regexp-quote TeX-esc) "\\(end \\)*"
114 (regexp-opt envs t) "\\b"))
115 (level 1)
116 case-fold-search)
117 (save-restriction
118 (save-excursion
119 (save-excursion
120 (beginning-of-line)
121 (when (and (looking-at regexp)
122 (match-string 1))
123 (setq level 0)))
124 (while (and (> level 0) (re-search-forward regexp nil t))
125 (if (match-string 1)
126 (setq level (1- level))
127 (setq level (1+ level)))))
128 (if (= level 0)
129 (goto-char (match-end 0))
130 (error "Can't locate end of current environment")))))
131
132 (defun Texinfo-find-env-start ()
133 "Move point to the start of the current environment."
134 (interactive)
135 (let* ((envs (mapcar 'car Texinfo-environment-list))
136 (regexp (concat "^[ \t]*" (regexp-quote TeX-esc) "\\(end \\)*"
137 (regexp-opt envs t) "\\b"))
138 (level 1)
139 case-fold-search)
140 (save-restriction
141 (save-excursion
142 (save-excursion
143 (beginning-of-line)
144 (when (and (looking-at regexp)
145 (not (match-string 1)))
146 (setq level 0)))
147 (while (and (> level 0) (re-search-backward regexp nil t))
148 (if (match-string 1)
149 (setq level (1+ level))
150 (setq level (1- level)))))
151 (if (= level 0)
152 (goto-char (match-beginning 0))
153 (error "Can't locate start of current environment")))))
154
155 (defun Texinfo-insert-node ()
156 "Insert a Texinfo node in the current buffer.
157 That means, insert the string `@node' and prompt for current,
158 next, previous and upper node. If there is an active region, use
159 this for the current node and inhibit the prompt for it. Insert
160 a comment on the following line indicating the order of arguments
161 for @node."
162 (interactive)
163 (let ((active-mark (and (TeX-active-mark) (not (eq (mark) (point)))))
164 nodes node-name next-node previous-node up-node)
165 ;; Build list of nodes in current buffer.
166 ;; (What about using `imenu--index-alist'?)
167 ;; FIXME: Support multi-file documents.
168 (save-excursion
169 (goto-char (point-min))
170 (while (re-search-forward "^@node\\b" nil t)
171 (skip-chars-forward " \t")
172 (add-to-list 'nodes
173 (list (buffer-substring-no-properties
174 (point) (progn (skip-chars-forward "^,")
175 (point)))))))
176 (unless active-mark
177 (setq node-name (read-string "Node name: ")))
178 ;; FIXME: What if key binding for `minibuffer-complete' was changed?
179 ;; `substitute-command-keys' doesn't return the correct value.
180 (setq next-node (completing-read "Next node (TAB completes): " nodes))
181 (setq previous-node
182 (completing-read "Previous node (TAB completes): " nodes))
183 (setq up-node (completing-read "Upper node (TAB completes): " nodes))
184 (when (and active-mark
185 (< (mark) (point)))
186 (exchange-point-and-mark))
187 (insert "@node ")
188 (if active-mark
189 (goto-char (mark))
190 (insert node-name))
191 (insert ", " next-node ", " previous-node ", " up-node
192 "\n@comment node-name, next, previous, up\n")
193 ;; Position point at first empty field.
194 (unless (and (or (> (length node-name) 0) active-mark)
195 (> (length next-node) 0)
196 (> (length previous-node) 0)
197 (> (length up-node) 0))
198 (forward-line -2)
199 (forward-char 6)
200 (catch 'break
201 (if (or (> (length node-name) 0) active-mark)
202 (progn (skip-chars-forward "^,") (forward-char 2))
203 (throw 'break nil))
204 (dolist (node (list next-node previous-node up-node))
205 (if (> (length node) 0)
206 (progn (skip-chars-forward "^,") (forward-char 2))
207 (throw 'break nil)))))))
208
209
210 ;;; Keymap:
211
212 (defvar Texinfo-mode-map
213 (let ((map (make-sparse-keymap)))
214 (set-keymap-parent map TeX-mode-map)
215
216 ;; From texinfo.el
217 ;; bindings for updating nodes and menus
218 (define-key map "\C-c\C-um" 'texinfo-master-menu)
219 (define-key map "\C-c\C-u\C-m" 'texinfo-make-menu)
220 (define-key map "\C-c\C-u\C-n" 'texinfo-update-node)
221 (define-key map "\C-c\C-u\C-e" 'texinfo-every-node-update)
222 (define-key map "\C-c\C-u\C-a" 'texinfo-all-menus-update)
223
224 ;; Simulating LaTeX-mode
225 (define-key map "\C-c\C-e" 'Texinfo-environment)
226 (define-key map "\C-c\n" 'texinfo-insert-@item)
227 (or (key-binding "\e\r")
228 (define-key map "\e\r" 'texinfo-insert-@item)) ;*** Alias
229 (define-key map "\C-c\C-s" 'Texinfo-insert-node)
230 (define-key map "\C-c]" 'texinfo-insert-@end)
231 map)
232 "Keymap for Texinfo mode.")
233
234 (easy-menu-define Texinfo-command-menu
235 Texinfo-mode-map
236 "Menu used in Texinfo mode for external commands."
237 (TeX-mode-specific-command-menu 'texinfo-mode))
238
239 (easy-menu-define Texinfo-mode-menu
240 Texinfo-mode-map
241 "Menu used in Texinfo mode."
242 (TeX-menu-with-help
243 `("Texinfo"
244 ["Node ..." texinfo-insert-@node
245 :help "Insert a node"]
246 ["Macro ..." TeX-insert-macro
247 :help "Insert a macro and possibly arguments"]
248 ["Complete Macro" TeX-complete-symbol
249 :help "Complete the current macro"]
250 ["Environment ..." Texinfo-insert-environment
251 :help "Insert an environment"]
252 ["Item" texinfo-insert-@item
253 :help "Insert an @item"]
254 "-"
255 ("Insert Font"
256 ["Emphasize" (TeX-font nil ?\C-e) :keys "C-c C-f C-e"]
257 ["Bold" (TeX-font nil ?\C-b) :keys "C-c C-f C-b"]
258 ["Typewriter" (TeX-font nil ?\C-t) :keys "C-c C-f C-t"]
259 ["Small Caps" (TeX-font nil ?\C-c) :keys "C-c C-f C-c"]
260 ["Italic" (TeX-font nil ?\C-i) :keys "C-c C-f C-i"]
261 ["Sample" (TeX-font nil ?\C-s) :keys "C-c C-f C-s"]
262 ["Roman" (TeX-font nil ?\C-r) :keys "C-c C-f C-r"])
263 ("Replace Font"
264 ["Emphasize" (TeX-font t ?\C-e) :keys "C-u C-c C-f C-e"]
265 ["Bold" (TeX-font t ?\C-b) :keys "C-u C-c C-f C-b"]
266 ["Typewriter" (TeX-font t ?\C-t) :keys "C-u C-c C-f C-t"]
267 ["Small Caps" (TeX-font t ?\C-c) :keys "C-u C-c C-f C-c"]
268 ["Italic" (TeX-font t ?\C-i) :keys "C-u C-c C-f C-i"]
269 ["Sample" (TeX-font t ?\C-s) :keys "C-u C-c C-f C-s"]
270 ["Roman" (TeX-font t ?\C-r) :keys "C-u C-c C-f C-r"])
271 ["Delete Font" (TeX-font t ?\C-d) :keys "C-c C-f C-d"]
272 "-"
273 ["Create Master Menu" texinfo-master-menu
274 :help "Make a master menu for the whole Texinfo file"]
275 ["Create Menu" texinfo-make-menu
276 :help "Make or update the menu for the current section"]
277 ["Update Node" texinfo-update-node
278 :help "Update the current node"]
279 ["Update Every Node" texinfo-every-node-update
280 :help "Update every node in the current file"]
281 ["Update All Menus" texinfo-all-menus-update
282 :help "Update every menu in the current file"]
283 "-"
284 ("Commenting"
285 ["Comment or Uncomment Region"
286 TeX-comment-or-uncomment-region
287 :help "Comment or uncomment the currently selected region"]
288 ["Comment or Uncomment Paragraph"
289 TeX-comment-or-uncomment-paragraph
290 :help "Comment or uncomment the current paragraph"])
291 ,TeX-fold-menu
292 "-"
293 . ,TeX-common-menu-entries)))
294
295 (defvar Texinfo-font-list
296 '((?\C-b "@b{" "}")
297 (?\C-c "@sc{" "}")
298 (?\C-e "@emph{" "}")
299 (?\C-i "@i{" "}")
300 (?\C-r "@r{" "}")
301 (?\C-s "@samp{" "}")
302 (?\C-t "@t{" "}")
303 (?s "@strong{" "}")
304 (?\C-f "@file{" "}")
305 (?d "@dfn{" "}")
306 (?\C-v "@var{" "}")
307 (?k "@key{" "}")
308 (?\C-k "@kbd{" "}")
309 (?c "@code{" "}")
310 (?C "@cite{" "}")
311 (?\C-d "" "" t))
312 "Font commands used in Texinfo mode. See `TeX-font-list'.")
313
314 ;;; Mode:
315
316 ;;;###autoload
317 (defalias 'Texinfo-mode 'texinfo-mode)
318
319 ;;;###autoload
320 (defun TeX-texinfo-mode ()
321 "Major mode in AUCTeX for editing Texinfo files.
322
323 Special commands:
324 \\{Texinfo-mode-map}
325
326 Entering Texinfo mode calls the value of `text-mode-hook' and then the
327 value of `Texinfo-mode-hook'."
328 (interactive)
329 (kill-all-local-variables)
330 (setq TeX-mode-p t)
331 ;; Mostly stolen from texinfo.el
332 (setq TeX-base-mode-name "Texinfo")
333 (setq major-mode 'texinfo-mode)
334 (use-local-map Texinfo-mode-map)
335 (set-syntax-table texinfo-mode-syntax-table)
336 (make-local-variable 'page-delimiter)
337 (setq page-delimiter
338 (concat
339 "^@node [ \t]*[Tt]op\\|^@\\("
340 texinfo-chapter-level-regexp
341 "\\)"))
342 (make-local-variable 'require-final-newline)
343 (setq require-final-newline t)
344 (make-local-variable 'indent-tabs-mode)
345 (setq indent-tabs-mode nil)
346 (make-local-variable 'paragraph-separate)
347 (setq paragraph-separate
348 (concat "\b\\|^@[a-zA-Z]*[ \n]\\|" paragraph-separate))
349 (make-local-variable 'paragraph-start)
350 (setq paragraph-start
351 (concat "\b\\|^@[a-zA-Z]*[ \n]\\|" paragraph-start))
352 (make-local-variable 'fill-column)
353 (setq fill-column 72)
354 (make-local-variable 'comment-start)
355 (setq comment-start "@c ")
356 (make-local-variable 'comment-start-skip)
357 (setq comment-start-skip "@c +\\|@comment +")
358 (set (make-local-variable 'comment-use-syntax) nil)
359 (make-local-variable 'words-include-escapes)
360 (setq words-include-escapes t)
361 (if (not (boundp 'texinfo-imenu-generic-expression))
362 ;; This was introduced in 19.30.
363 ()
364 (make-local-variable 'imenu-generic-expression)
365 (setq imenu-generic-expression texinfo-imenu-generic-expression))
366 (make-local-variable 'font-lock-defaults)
367 (setq font-lock-defaults
368 ;; COMPATIBILITY for Emacs 20
369 (if (boundp 'texinfo-font-lock-syntactic-keywords)
370 '(texinfo-font-lock-keywords
371 nil nil nil backward-paragraph
372 (font-lock-syntactic-keywords
373 . texinfo-font-lock-syntactic-keywords))
374 '(texinfo-font-lock-keywords t)))
375 (if (not (boundp 'texinfo-section-list))
376 ;; This was included in 19.31.
377 ()
378 (make-local-variable 'outline-regexp)
379 (setq outline-regexp
380 (concat "@\\("
381 (mapconcat 'car texinfo-section-list "\\>\\|")
382 "\\>\\)"))
383 (make-local-variable 'outline-level)
384 (setq outline-level 'texinfo-outline-level))
385
386 ;; Mostly AUCTeX stuff
387 (easy-menu-add Texinfo-mode-menu Texinfo-mode-map)
388 (easy-menu-add Texinfo-command-menu Texinfo-mode-map)
389 (make-local-variable 'TeX-command-current)
390 (setq TeX-command-current 'TeX-command-master)
391
392 (setq TeX-default-extension "texi")
393 (make-local-variable 'TeX-esc)
394 (setq TeX-esc "@")
395
396 (make-local-variable 'TeX-auto-regexp-list)
397 (setq TeX-auto-regexp-list 'TeX-auto-empty-regexp-list)
398 (make-local-variable 'TeX-auto-update)
399 (setq TeX-auto-update t)
400
401 (setq TeX-command-default "TeX")
402 (setq TeX-header-end "%*end")
403 (setq TeX-trailer-start (regexp-quote (concat TeX-esc "bye")))
404
405 (make-local-variable 'TeX-complete-list)
406 (setq TeX-complete-list
407 (list (list "@\\([a-zA-Z]*\\)" 1 'TeX-symbol-list nil)
408 (list "" TeX-complete-word)))
409
410 (make-local-variable 'TeX-font-list)
411 (setq TeX-font-list Texinfo-font-list)
412 (make-local-variable 'TeX-font-replace-function)
413 (setq TeX-font-replace-function 'TeX-font-replace-macro)
414
415 (add-hook 'find-file-hooks (lambda ()
416 (unless (file-exists-p (buffer-file-name))
417 (TeX-master-file nil nil t))) nil t)
418
419 (TeX-add-symbols
420 '("appendix" (TeX-arg-literal " ") (TeX-arg-free "Title"))
421 '("appendixsec" (TeX-arg-literal " ") (TeX-arg-free "Title"))
422 '("appendixsection" (TeX-arg-literal " ") (TeX-arg-free "Title"))
423 '("appendixsubsec" (TeX-arg-literal " ") (TeX-arg-free "Title"))
424 '("appendixsubsubsec" (TeX-arg-literal " ") (TeX-arg-free "Title"))
425 '("asis")
426 '("author" (TeX-arg-literal " ") (TeX-arg-free "Author"))
427 '("b" "Text")
428 '("bullet")
429 '("bye")
430 '("c" (TeX-arg-literal " ") (TeX-arg-free "Comment"))
431 '("center" (TeX-arg-literal " ") (TeX-arg-free "Line of text"))
432 '("chapheading" (TeX-arg-literal " ") (TeX-arg-free "Title"))
433 '("chapter" (TeX-arg-literal " ") (TeX-arg-free "Title"))
434 '("cindex" (TeX-arg-literal " ") (TeX-arg-free "Entry"))
435 '("cite" "Reference")
436 '("clear" (TeX-arg-literal " ") (TeX-arg-free "Flag"))
437 '("code" "Sample code")
438 '("command" "Command")
439 '("comment" (TeX-arg-literal " ") (TeX-arg-free "Comment"))
440 '("contents")
441 '("copyright" nil)
442 '("defcodeindex" (TeX-arg-literal " ") (TeX-arg-free "Index name"))
443 '("defindex" (TeX-arg-literal " ") (TeX-arg-free "Index name"))
444 '("dfn" "Term")
445 '("dmn" "Dimension")
446 '("dots" nil)
447 '("emph" "Text")
448 '("email" "Email address")
449 '("equiv" nil)
450 '("error")
451 '("evenfooting" Texinfo-lrc-argument-hook)
452 '("evenheading" Texinfo-lrc-argument-hook)
453 '("everyfooting" Texinfo-lrc-argument-hook)
454 '("everyheading" Texinfo-lrc-argument-hook)
455 '("exdent" (TeX-arg-literal " ") (TeX-arg-free "Line of text"))
456 '("expansion" nil)
457 '("file" "Filename")
458 '("finalout")
459 '("findex" (TeX-arg-literal " ") (TeX-arg-free "Entry"))
460 '("footnote" "Text of footnote")
461 '("footnotestyle" (TeX-arg-literal " ") (TeX-arg-free "Style"))
462 '("group")
463 '("heading" (TeX-arg-literal " ") (TeX-arg-free "Title"))
464 ;; XXX: Would be nice with completion.
465 '("headings" (TeX-arg-literal " ") (TeX-arg-free "On off single double"))
466 '("i" "Text")
467 '("ignore")
468 '("include" (TeX-arg-literal " ") (TeX-arg-free "Filename"))
469 '("inforef" "Node name" "Info file name")
470 '("item")
471 '("itemx")
472 '("kbd" "Keyboard characters")
473 '("key" "Key name")
474 '("kindex" (TeX-arg-literal " ") (TeX-arg-free "Entry"))
475 '("lowersections" 0)
476 '("majorheading" (TeX-arg-literal " ") (TeX-arg-free "Title"))
477 '("menu")
478 '("minus")
479 '("need" "N")
480 '("node" (TeX-arg-literal " ") (TeX-arg-free "Name")
481 (TeX-arg-literal ", ") (TeX-arg-free "Next")
482 (TeX-arg-literal ", ") (TeX-arg-free "Previous")
483 (TeX-arg-literal ", ") (TeX-arg-free "Up"))
484 '("noindent")
485 '("oddfooting" Texinfo-lrc-argument-hook)
486 '("oddheading" Texinfo-lrc-argument-hook)
487 '("page")
488 '("paragraphindent" (TeX-arg-literal " ") (TeX-arg-free "Indent"))
489 '("pindex" "Entry")
490 '("point" nil)
491 '("print")
492 '("printindex" (TeX-arg-literal " ") (TeX-arg-free "Index name"))
493 '("pxref" "Node name")
494 '("r" "Text")
495 '("raisesections" 0)
496 '("ref" "Node name")
497 '("refill")
498 '("result")
499 '("samp" "Text")
500 '("sc" "Text")
501 '("section" (TeX-arg-literal " ") (TeX-arg-free "Title"))
502 '("set" (TeX-arg-literal " ") (TeX-arg-free "Flag"))
503 ;; XXX: Would be nice with completion.
504 '("setchapternewpage" (TeX-arg-literal " ") (TeX-arg-free "On off odd"))
505 '("setfilename" (TeX-arg-literal " ") (TeX-arg-free "Info file name"))
506 '("settitle" (TeX-arg-literal " ") (TeX-arg-free "Title"))
507 '("shortcontents")
508 '("smallbook")
509 '("sp" "N")
510 '("strong" "Text")
511 '("subheading" (TeX-arg-literal " ") (TeX-arg-free "Title"))
512 '("subsection" (TeX-arg-literal " ") (TeX-arg-free "Title"))
513 '("subsubheading" (TeX-arg-literal " ") (TeX-arg-free "Title"))
514 '("subsubsection" (TeX-arg-literal " ") (TeX-arg-free "Title"))
515 '("subtitle" (TeX-arg-literal " ") (TeX-arg-free "Title"))
516 '("summarycontents")
517 '("syncodeindex" (TeX-arg-literal " ") (TeX-arg-free "From index")
518 (TeX-arg-literal " ") (TeX-arg-free "Into index"))
519 '("synindex" (TeX-arg-literal " ") (TeX-arg-free "From index")
520 (TeX-arg-literal " ") (TeX-arg-free "Into index"))
521 '("t" "Text")
522 '("TeX" nil)
523 '("thischapter")
524 '("thischaptername")
525 '("thisfile")
526 '("thispage")
527 '("tindex" (TeX-arg-literal " ") (TeX-arg-free "Entry"))
528 '("title" (TeX-arg-literal " ") (TeX-arg-free "Title"))
529 '("titlefont" "Text")
530 '("titlepage")
531 '("today" nil)
532 '("top" (TeX-arg-literal " ") (TeX-arg-free "Title"))
533 '("unnumbered" (TeX-arg-literal " ") (TeX-arg-free "Title"))
534 '("unnumberedsec" (TeX-arg-literal " ") (TeX-arg-free "Title"))
535 '("unnumberedsubsec" (TeX-arg-literal " ") (TeX-arg-free "Title"))
536 '("unnumberedsubsubsec" (TeX-arg-literal " ") (TeX-arg-free "Title"))
537 '("value" "Flag")
538 '("var" "Metasyntactic variable")
539 '("vindex" (TeX-arg-literal " ") (TeX-arg-free "Entry"))
540 '("vskip" (TeX-arg-literal " ") (TeX-arg-free "Amount"))
541 '("w" "Text")
542 '("xref" "Node name"))
543
544 (TeX-run-mode-hooks 'text-mode-hook 'Texinfo-mode-hook)
545 (TeX-set-mode-name))
546
547 (defcustom Texinfo-clean-intermediate-suffixes nil
548 "List of regexps matching suffixes of files to be deleted.
549 The regexps will be anchored at the end of the file name to be matched,
550 i.e. you do _not_ have to cater for this yourself by adding \\\\' or $."
551 :type '(repeat regexp)
552 :group 'TeX-command)
553
554 (defcustom Texinfo-clean-output-suffixes
555 ;; See `man texi2html' for the HTML stuff.
556 '("\\.info\\(-[0-9]+\\)?" "\\.dvi" "\\.pdf" "\\.ps" "\\.html"
557 "_toc\\.html" "_fot\\.html" "_abt\\.html" "_[0-9]+\\.html" "_l2h_img.+")
558 "List of regexps matching suffixes of files to be deleted.
559 The regexps will be anchored at the end of the file name to be matched,
560 i.e. you do _not_ have to cater for this yourself by adding \\\\' or $."
561 :type '(repeat regexp)
562 :group 'TeX-command)
563
564 (provide 'tex-info)
565
566 ;;; tex-info.el ends here