Mercurial > emacs
comparison lisp/textmodes/texinfo.el @ 91040:14c4a6aac623
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 866-879)
- Merge multi-tty branch
- Update from CVS
- Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-257
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 11 Oct 2007 16:14:00 +0000 |
parents | f55f9811f5d7 1e7780181572 |
children | 56a72e2bd635 |
comparison
equal
deleted
inserted
replaced
91039:eefadc1e1d5e | 91040:14c4a6aac623 |
---|---|
49 :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | 49 :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) |
50 :group 'docs) | 50 :group 'docs) |
51 | 51 |
52 ;;;###autoload | 52 ;;;###autoload |
53 (defcustom texinfo-open-quote "``" | 53 (defcustom texinfo-open-quote "``" |
54 "*String inserted by typing \\[texinfo-insert-quote] to open a quotation." | 54 "String inserted by typing \\[texinfo-insert-quote] to open a quotation." |
55 :type 'string | 55 :type 'string |
56 :group 'texinfo) | 56 :group 'texinfo) |
57 | 57 |
58 ;;;###autoload | 58 ;;;###autoload |
59 (defcustom texinfo-close-quote "''" | 59 (defcustom texinfo-close-quote "''" |
60 "*String inserted by typing \\[texinfo-insert-quote] to close a quotation." | 60 "String inserted by typing \\[texinfo-insert-quote] to close a quotation." |
61 :type 'string | 61 :type 'string |
62 :group 'texinfo) | 62 :group 'texinfo) |
63 | 63 |
64 (defcustom texinfo-mode-hook nil | 64 (defcustom texinfo-mode-hook nil |
65 "Normal hook run when entering Texinfo mode." | 65 "Normal hook run when entering Texinfo mode." |
294 ("subsubheading" 5)) | 294 ("subsubheading" 5)) |
295 "Alist of sectioning commands and their relative level.") | 295 "Alist of sectioning commands and their relative level.") |
296 | 296 |
297 ;;; Syntax table | 297 ;;; Syntax table |
298 | 298 |
299 (defvar texinfo-mode-syntax-table nil) | 299 (defvar texinfo-mode-syntax-table |
300 | 300 (let ((st (make-syntax-table))) |
301 (if texinfo-mode-syntax-table | 301 (modify-syntax-entry ?\" "." st) |
302 nil | 302 (modify-syntax-entry ?\\ "." st) |
303 (setq texinfo-mode-syntax-table (make-syntax-table)) | 303 (modify-syntax-entry ?@ "\\" st) |
304 (modify-syntax-entry ?\" "." texinfo-mode-syntax-table) | 304 (modify-syntax-entry ?\^q "\\" st) |
305 (modify-syntax-entry ?\\ "." texinfo-mode-syntax-table) | 305 (modify-syntax-entry ?\[ "(]" st) |
306 (modify-syntax-entry ?@ "\\" texinfo-mode-syntax-table) | 306 (modify-syntax-entry ?\] ")[" st) |
307 (modify-syntax-entry ?\^q "\\" texinfo-mode-syntax-table) | 307 (modify-syntax-entry ?{ "(}" st) |
308 (modify-syntax-entry ?\[ "(]" texinfo-mode-syntax-table) | 308 (modify-syntax-entry ?} "){" st) |
309 (modify-syntax-entry ?\] ")[" texinfo-mode-syntax-table) | 309 (modify-syntax-entry ?\n ">" st) |
310 (modify-syntax-entry ?{ "(}" texinfo-mode-syntax-table) | 310 (modify-syntax-entry ?\' "w" st) |
311 (modify-syntax-entry ?} "){" texinfo-mode-syntax-table) | 311 st)) |
312 (modify-syntax-entry ?\n ">" texinfo-mode-syntax-table) | |
313 (modify-syntax-entry ?\' "w" texinfo-mode-syntax-table)) | |
314 | 312 |
315 ;; Written by Wolfgang Bangerth <zcg51122@rpool1.rus.uni-stuttgart.de> | 313 ;; Written by Wolfgang Bangerth <zcg51122@rpool1.rus.uni-stuttgart.de> |
316 ;; To override this example, set either `imenu-generic-expression' | 314 ;; To override this example, set either `imenu-generic-expression' |
317 ;; or `imenu-create-index-function'. | 315 ;; or `imenu-create-index-function'. |
318 (defvar texinfo-imenu-generic-expression | 316 (defvar texinfo-imenu-generic-expression |
397 (concat (regexp-quote (buffer-substring start end)) "\\>")) | 395 (concat (regexp-quote (buffer-substring start end)) "\\>")) |
398 (text-clone-create start end 'spread "\\w*"))))))) | 396 (text-clone-create start end 'spread "\\w*"))))))) |
399 | 397 |
400 | 398 |
401 ;;; Keybindings | 399 ;;; Keybindings |
402 (defvar texinfo-mode-map nil) | |
403 | 400 |
404 ;;; Keys common both to Texinfo mode and to TeX shell. | 401 ;;; Keys common both to Texinfo mode and to TeX shell. |
405 | 402 |
406 (defun texinfo-define-common-keys (keymap) | 403 (defun texinfo-define-common-keys (keymap) |
407 "Define the keys both in Texinfo mode and in the texinfo-tex-shell." | 404 "Define the keys both in Texinfo mode and in the texinfo-tex-shell." |
418 (define-key keymap "\C-c\C-t\C-b" 'texinfo-tex-buffer)) | 415 (define-key keymap "\C-c\C-t\C-b" 'texinfo-tex-buffer)) |
419 | 416 |
420 ;; Mode documentation displays commands in reverse order | 417 ;; Mode documentation displays commands in reverse order |
421 ;; from how they are listed in the texinfo-mode-map. | 418 ;; from how they are listed in the texinfo-mode-map. |
422 | 419 |
423 (if texinfo-mode-map | 420 (defvar texinfo-mode-map |
424 nil | 421 (let ((map (make-sparse-keymap))) |
425 (setq texinfo-mode-map (make-sparse-keymap)) | 422 |
426 | 423 ;; bindings for `texnfo-tex.el' |
427 ;; bindings for `texnfo-tex.el' | 424 (texinfo-define-common-keys map) |
428 (texinfo-define-common-keys texinfo-mode-map) | 425 |
429 | 426 (define-key map "\"" 'texinfo-insert-quote) |
430 (define-key texinfo-mode-map "\"" 'texinfo-insert-quote) | 427 |
431 | 428 ;; bindings for `makeinfo.el' |
432 ;; bindings for `makeinfo.el' | 429 (define-key map "\C-c\C-m\C-k" 'kill-compilation) |
433 (define-key texinfo-mode-map "\C-c\C-m\C-k" 'kill-compilation) | 430 (define-key map "\C-c\C-m\C-l" |
434 (define-key texinfo-mode-map "\C-c\C-m\C-l" | 431 'makeinfo-recenter-compilation-buffer) |
435 'makeinfo-recenter-compilation-buffer) | 432 (define-key map "\C-c\C-m\C-r" 'makeinfo-region) |
436 (define-key texinfo-mode-map "\C-c\C-m\C-r" 'makeinfo-region) | 433 (define-key map "\C-c\C-m\C-b" 'makeinfo-buffer) |
437 (define-key texinfo-mode-map "\C-c\C-m\C-b" 'makeinfo-buffer) | 434 |
438 | 435 ;; bindings for `texinfmt.el' |
439 ;; bindings for `texinfmt.el' | 436 (define-key map "\C-c\C-e\C-r" 'texinfo-format-region) |
440 (define-key texinfo-mode-map "\C-c\C-e\C-r" 'texinfo-format-region) | 437 (define-key map "\C-c\C-e\C-b" 'texinfo-format-buffer) |
441 (define-key texinfo-mode-map "\C-c\C-e\C-b" 'texinfo-format-buffer) | 438 |
442 | 439 ;; AUCTeX-like bindings |
443 ;; AUCTeX-like bindings | 440 (define-key map "\e\r" 'texinfo-insert-@item) |
444 (define-key texinfo-mode-map "\e\r" 'texinfo-insert-@item) | 441 |
445 | 442 ;; bindings for updating nodes and menus |
446 ;; bindings for updating nodes and menus | 443 |
447 | 444 (define-key map "\C-c\C-um" 'texinfo-master-menu) |
448 (define-key texinfo-mode-map "\C-c\C-um" 'texinfo-master-menu) | 445 |
449 | 446 (define-key map "\C-c\C-u\C-m" 'texinfo-make-menu) |
450 (define-key texinfo-mode-map "\C-c\C-u\C-m" 'texinfo-make-menu) | 447 (define-key map "\C-c\C-u\C-n" 'texinfo-update-node) |
451 (define-key texinfo-mode-map "\C-c\C-u\C-n" 'texinfo-update-node) | 448 (define-key map "\C-c\C-u\C-e" 'texinfo-every-node-update) |
452 (define-key texinfo-mode-map "\C-c\C-u\C-e" 'texinfo-every-node-update) | 449 (define-key map "\C-c\C-u\C-a" 'texinfo-all-menus-update) |
453 (define-key texinfo-mode-map "\C-c\C-u\C-a" 'texinfo-all-menus-update) | 450 |
454 | 451 (define-key map "\C-c\C-s" 'texinfo-show-structure) |
455 (define-key texinfo-mode-map "\C-c\C-s" 'texinfo-show-structure) | 452 |
456 | 453 (define-key map "\C-c}" 'up-list) |
457 (define-key texinfo-mode-map "\C-c}" 'up-list) | 454 (define-key map "\C-c]" 'up-list) |
458 (define-key texinfo-mode-map "\C-c]" 'up-list) | 455 (define-key map "\C-c{" 'texinfo-insert-braces) |
459 (define-key texinfo-mode-map "\C-c{" 'texinfo-insert-braces) | 456 |
460 | 457 ;; bindings for inserting strings |
461 ;; bindings for inserting strings | 458 (define-key map "\C-c\C-o" 'texinfo-insert-block) |
462 (define-key texinfo-mode-map "\C-c\C-o" 'texinfo-insert-block) | 459 (define-key map "\C-c\C-c\C-d" 'texinfo-start-menu-description) |
463 (define-key texinfo-mode-map "\C-c\C-c\C-d" 'texinfo-start-menu-description) | 460 (define-key map "\C-c\C-c\C-s" 'texinfo-insert-@strong) |
464 (define-key texinfo-mode-map "\C-c\C-c\C-s" 'texinfo-insert-@strong) | 461 (define-key map "\C-c\C-c\C-e" 'texinfo-insert-@emph) |
465 (define-key texinfo-mode-map "\C-c\C-c\C-e" 'texinfo-insert-@emph) | 462 |
466 | 463 (define-key map "\C-c\C-cv" 'texinfo-insert-@var) |
467 (define-key texinfo-mode-map "\C-c\C-cv" 'texinfo-insert-@var) | 464 (define-key map "\C-c\C-cu" 'texinfo-insert-@uref) |
468 (define-key texinfo-mode-map "\C-c\C-cu" 'texinfo-insert-@uref) | 465 (define-key map "\C-c\C-ct" 'texinfo-insert-@table) |
469 (define-key texinfo-mode-map "\C-c\C-ct" 'texinfo-insert-@table) | 466 (define-key map "\C-c\C-cs" 'texinfo-insert-@samp) |
470 (define-key texinfo-mode-map "\C-c\C-cs" 'texinfo-insert-@samp) | 467 (define-key map "\C-c\C-cq" 'texinfo-insert-@quotation) |
471 (define-key texinfo-mode-map "\C-c\C-cq" 'texinfo-insert-@quotation) | 468 (define-key map "\C-c\C-co" 'texinfo-insert-@noindent) |
472 (define-key texinfo-mode-map "\C-c\C-co" 'texinfo-insert-@noindent) | 469 (define-key map "\C-c\C-cn" 'texinfo-insert-@node) |
473 (define-key texinfo-mode-map "\C-c\C-cn" 'texinfo-insert-@node) | 470 (define-key map "\C-c\C-cm" 'texinfo-insert-@email) |
474 (define-key texinfo-mode-map "\C-c\C-cm" 'texinfo-insert-@email) | 471 (define-key map "\C-c\C-ck" 'texinfo-insert-@kbd) |
475 (define-key texinfo-mode-map "\C-c\C-ck" 'texinfo-insert-@kbd) | 472 (define-key map "\C-c\C-ci" 'texinfo-insert-@item) |
476 (define-key texinfo-mode-map "\C-c\C-ci" 'texinfo-insert-@item) | 473 (define-key map "\C-c\C-cf" 'texinfo-insert-@file) |
477 (define-key texinfo-mode-map "\C-c\C-cf" 'texinfo-insert-@file) | 474 (define-key map "\C-c\C-cx" 'texinfo-insert-@example) |
478 (define-key texinfo-mode-map "\C-c\C-cx" 'texinfo-insert-@example) | 475 (define-key map "\C-c\C-ce" 'texinfo-insert-@end) |
479 (define-key texinfo-mode-map "\C-c\C-ce" 'texinfo-insert-@end) | 476 (define-key map "\C-c\C-cd" 'texinfo-insert-@dfn) |
480 (define-key texinfo-mode-map "\C-c\C-cd" 'texinfo-insert-@dfn) | 477 (define-key map "\C-c\C-cc" 'texinfo-insert-@code) |
481 (define-key texinfo-mode-map "\C-c\C-cc" 'texinfo-insert-@code)) | 478 map)) |
482 | 479 |
483 (easy-menu-define texinfo-mode-menu | 480 (easy-menu-define texinfo-mode-menu |
484 texinfo-mode-map | 481 texinfo-mode-map |
485 "Menu used for `texinfo-mode'." | 482 "Menu used for `texinfo-mode'." |
486 '("Texinfo" | 483 '("Texinfo" |
945 | 942 |
946 | 943 |
947 ;;; The tex and print function definitions: | 944 ;;; The tex and print function definitions: |
948 | 945 |
949 (defcustom texinfo-texi2dvi-command "texi2dvi" | 946 (defcustom texinfo-texi2dvi-command "texi2dvi" |
950 "*Command used by `texinfo-tex-buffer' to run TeX and texindex on a buffer." | 947 "Command used by `texinfo-tex-buffer' to run TeX and texindex on a buffer." |
951 :type 'string | 948 :type 'string |
952 :group 'texinfo) | 949 :group 'texinfo) |
953 | 950 |
954 (defcustom texinfo-tex-command "tex" | 951 (defcustom texinfo-tex-command "tex" |
955 "*Command used by `texinfo-tex-region' to run TeX on a region." | 952 "Command used by `texinfo-tex-region' to run TeX on a region." |
956 :type 'string | 953 :type 'string |
957 :group 'texinfo) | 954 :group 'texinfo) |
958 | 955 |
959 (defcustom texinfo-texindex-command "texindex" | 956 (defcustom texinfo-texindex-command "texindex" |
960 "*Command used by `texinfo-texindex' to sort unsorted index files." | 957 "Command used by `texinfo-texindex' to sort unsorted index files." |
961 :type 'string | 958 :type 'string |
962 :group 'texinfo) | 959 :group 'texinfo) |
963 | 960 |
964 (defcustom texinfo-delete-from-print-queue-command "lprm" | 961 (defcustom texinfo-delete-from-print-queue-command "lprm" |
965 "*Command string used to delete a job from the line printer queue. | 962 "Command string used to delete a job from the line printer queue. |
966 Command is used by \\[texinfo-delete-from-print-queue] based on | 963 Command is used by \\[texinfo-delete-from-print-queue] based on |
967 number provided by a previous \\[tex-show-print-queue] | 964 number provided by a previous \\[tex-show-print-queue] |
968 command." | 965 command." |
969 :type 'string | 966 :type 'string |
970 :group 'texinfo) | 967 :group 'texinfo) |