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)