Is this OK to install?
2000-04-12 Dave Love <[EMAIL PROTECTED]>
* textmodes/texinfo.el: Require tex-mode when compiling.
(texinfo-mode-map): Define it in defvar. Add a menu.
(texinfo-environment-regexp): Match vtable.
Index: texinfo.el
===================================================================
RCS file: /gd/gnu/cvsroot/emacs/lisp/textmodes/texinfo.el,v
retrieving revision 1.64
diff -u -p -c -r1.64 texinfo.el
cvs server: conflicting specifications of output style
*** texinfo.el 2000/03/10 20:01:19 1.64
--- texinfo.el 2000/04/12 18:14:38
***************
*** 1,7 ****
;;; texinfo.el --- major mode for editing Texinfo files
;; Copyright (C) 1985, '88, '89, '90, '91,
! ;; '92, '93, '96, '97 Free Software Foundation, Inc.
;; Author: Robert J. Chassell
;; Date: [Set date below for texinfo-version]
--- 1,7 ----
;;; texinfo.el --- major mode for editing Texinfo files
;; Copyright (C) 1985, '88, '89, '90, '91,
! ;; '92, '93, '96, '97, 2000 Free Software Foundation, Inc.
;; Author: Robert J. Chassell
;; Date: [Set date below for texinfo-version]
***************
*** 27,32 ****
--- 27,34 ----
;;; Code:
+ (eval-when-compile (require 'tex-mode))
+
(or (fboundp 'defgroup)
(defmacro defgroup (&rest ignore) nil))
*************** chapter."
*** 322,328 ****
;;; Keybindings
- (defvar texinfo-mode-map nil)
;;; Keys common both to Texinfo mode and to TeX shell.
--- 324,329 ----
*************** chapter."
*** 342,398 ****
;; Mode documentation displays commands in reverse order
;; from how they are listed in the texinfo-mode-map.
-
- (if texinfo-mode-map
- nil
- (setq texinfo-mode-map (make-sparse-keymap))
! ;; bindings for `texnfo-tex.el'
! (texinfo-define-common-keys texinfo-mode-map)
! ;; bindings for `makeinfo.el'
! (define-key texinfo-mode-map "\C-c\C-m\C-k" 'kill-compilation)
! (define-key texinfo-mode-map "\C-c\C-m\C-l"
! 'makeinfo-recenter-compilation-buffer)
! (define-key texinfo-mode-map "\C-c\C-m\C-r" 'makeinfo-region)
! (define-key texinfo-mode-map "\C-c\C-m\C-b" 'makeinfo-buffer)
!
! ;; bindings for `texinfmt.el'
! (define-key texinfo-mode-map "\C-c\C-e\C-r" 'texinfo-format-region)
! (define-key texinfo-mode-map "\C-c\C-e\C-b" 'texinfo-format-buffer)
!
! ;; bindings for updating nodes and menus
!
! (define-key texinfo-mode-map "\C-c\C-um" 'texinfo-master-menu)
!
! (define-key texinfo-mode-map "\C-c\C-u\C-m" 'texinfo-make-menu)
! (define-key texinfo-mode-map "\C-c\C-u\C-n" 'texinfo-update-node)
! (define-key texinfo-mode-map "\C-c\C-u\C-e" 'texinfo-every-node-update)
! (define-key texinfo-mode-map "\C-c\C-u\C-a" 'texinfo-all-menus-update)
!
! (define-key texinfo-mode-map "\C-c\C-s" 'texinfo-show-structure)
!
! (define-key texinfo-mode-map "\C-c}" 'up-list)
! (define-key texinfo-mode-map "\C-c]" 'up-list)
! (define-key texinfo-mode-map "\C-c{" 'texinfo-insert-braces)
!
! ;; bindings for inserting strings
!
! (define-key texinfo-mode-map "\C-c\C-c\C-d" 'texinfo-start-menu-description)
!
! (define-key texinfo-mode-map "\C-c\C-cv" 'texinfo-insert-@var)
! (define-key texinfo-mode-map "\C-c\C-ct" 'texinfo-insert-@table)
! (define-key texinfo-mode-map "\C-c\C-cs" 'texinfo-insert-@samp)
! (define-key texinfo-mode-map "\C-c\C-co" 'texinfo-insert-@noindent)
! (define-key texinfo-mode-map "\C-c\C-cn" 'texinfo-insert-@node)
! (define-key texinfo-mode-map "\C-c\C-ck" 'texinfo-insert-@kbd)
! (define-key texinfo-mode-map "\C-c\C-ci" 'texinfo-insert-@item)
! (define-key texinfo-mode-map "\C-c\C-cf" 'texinfo-insert-@file)
! (define-key texinfo-mode-map "\C-c\C-cx" 'texinfo-insert-@example)
! (define-key texinfo-mode-map "\C-c\C-ce" 'texinfo-insert-@end)
! (define-key texinfo-mode-map "\C-c\C-cd" 'texinfo-insert-@dfn)
! (define-key texinfo-mode-map "\C-c\C-cc" 'texinfo-insert-@code))
;;; Texinfo mode
--- 343,484 ----
;; Mode documentation displays commands in reverse order
;; from how they are listed in the texinfo-mode-map.
! (defvar texinfo-mode-map
! (let ((map (make-sparse-keymap)))
! ;; bindings for `texnfo-tex.el'
! (texinfo-define-common-keys map)
+ ;; bindings for `makeinfo.el'
+ (define-key map "\C-c\C-m\C-k" 'kill-compilation)
+ (define-key map "\C-c\C-m\C-l"
+ 'makeinfo-recenter-compilation-buffer)
+ (define-key map "\C-c\C-m\C-r" 'makeinfo-region)
+ (define-key map "\C-c\C-m\C-b" 'makeinfo-buffer)
+
+ ;; bindings for `texinfmt.el'
+ (define-key map "\C-c\C-e\C-r" 'texinfo-format-region)
+ (define-key map "\C-c\C-e\C-b" 'texinfo-format-buffer)
+
+ ;; bindings for updating nodes and menus
+
+ (define-key map "\C-c\C-um" 'texinfo-master-menu)
+
+ (define-key map "\C-c\C-u\C-m" 'texinfo-make-menu)
+ (define-key map "\C-c\C-u\C-n" 'texinfo-update-node)
+ (define-key map "\C-c\C-u\C-e" 'texinfo-every-node-update)
+ (define-key map "\C-c\C-u\C-a" 'texinfo-all-menus-update)
+
+ (define-key map "\C-c\C-s" 'texinfo-show-structure)
+
+ (define-key map "\C-c}" 'up-list)
+ (define-key map "\C-c]" 'up-list)
+ (define-key map "\C-c{" 'texinfo-insert-braces)
+
+ ;; bindings for inserting strings
+
+ (define-key map "\C-c\C-c\C-d" 'texinfo-start-menu-description)
+
+ (define-key map "\C-c\C-cv" 'texinfo-insert-@var)
+ (define-key map "\C-c\C-ct" 'texinfo-insert-@table)
+ (define-key map "\C-c\C-cs" 'texinfo-insert-@samp)
+ (define-key map "\C-c\C-co" 'texinfo-insert-@noindent)
+ (define-key map "\C-c\C-cn" 'texinfo-insert-@node)
+ (define-key map "\C-c\C-ck" 'texinfo-insert-@kbd)
+ (define-key map "\C-c\C-ci" 'texinfo-insert-@item)
+ (define-key map "\C-c\C-cf" 'texinfo-insert-@file)
+ (define-key map "\C-c\C-cx" 'texinfo-insert-@example)
+ (define-key map "\C-c\C-ce" 'texinfo-insert-@end)
+ (define-key map "\C-c\C-cd" 'texinfo-insert-@dfn)
+ (define-key map "\C-c\C-cc" 'texinfo-insert-@code)
+
+ (define-key map [menu-bar texinfo]
+ (cons
+ "Texinfo"
+ (let ((menu (make-sparse-keymap "Texinfo")))
+ (define-key-after menu [example]
+ '("Example" . texinfo-insert-@example))
+ (define-key-after menu [node] '("Node" . texinfo-insert-@node))
+ (define-key-after menu [noindent]
+ '("Noindent" . texinfo-insert-@noindent))
+ (define-key-after menu [table] '("Table" . texinfo-insert-@table))
+ (define-key-after menu [start-menu]
+ '("Menu description" . texinfo-start-menu-description))
+ (define-key-after menu [item] '("Item" . texinfo-insert-@item))
+ (define-key-after menu [end] '("Insert @end" . texinfo-insert-@end))
+ (define-key-after menu [sep1] '("--"))
+ (define-key-after menu [marking]
+ (cons "Marking Text"
+ (let ((menu (make-sparse-keymap)))
+ (define-key-after menu [variable]
+ '("Variable" . texinfo-insert-@var))
+ (define-key-after menu [sample]
+ '("Sample" . texinfo-insert-@samp))
+ (define-key-after menu [code]
+ '("Code" . texinfo-insert-@code))
+ (define-key-after menu [keyboard]
+ '("Keyboard" . texinfo-insert-@kbd))
+ (define-key-after menu [file]
+ '("File" . texinfo-insert-@file))
+ (define-key-after menu [def]
+ '("Definition" . texinfo-insert-@dfn))
+ (define-key-after menu [emph]
+ '("Emphasis" . (lambda (arg)
+ (texinfo-insert-@-with-arg "emph" arg))))
+ (define-key-after menu [strong]
+ '("Strong" . (lambda (arg)
+ (texinfo-insert-@-with-arg "strong" arg))))
+ (define-key-after menu [sc]
+ '("Small caps" . (lambda (arg)
+ (texinfo-insert-@-with-arg "sc" arg))))
+ (define-key-after menu [r]
+ '("Roman" . (lambda (arg)
+ (texinfo-insert-@-with-arg "r" arg))))
+ menu)))
+ (define-key-after menu [sep2] '("--"))
+ (define-key-after menu [menus]
+ (cons "Menus and nodes"
+ (let ((menu (make-sparse-keymap)))
+ (define-key-after menu [make-menu]
+ '("Make Menu" . texinfo-make-menu))
+ (define-key-after menu [update-all]
+ '("Update All Menus" . texinfo-all-menus-update))
+ (define-key-after menu [make-master]
+ '("Make Master Menu" . texinfo-master-menu))
+ (define-key-after menu [update-node]
+ '("Update Node" . texinfo-update-node))
+ (define-key-after menu [update-every]
+ '("Update Every Node" . texinfo-every-node-update))
+ menu)))
+ (define-key-after menu [sep3] '("--"))
+ (define-key-after menu [formatting]
+ (cons "Formatting"
+ (let ((menu (make-sparse-keymap)))
+ (define-key-after menu [makeinfo]
+ '("Run makeinfo on Buffer" . makeinfo-buffer))
+ (define-key-after menu [makeinfo-region]
+ '(menu-item "Run makeinfo on Region"
+ makeinfo-region :enable mark-active))
+ (define-key-after menu [tex]
+ '("Run TeX on Buffer" . texinfo-tex-buffer))
+ (define-key-after menu [tex-region]
+ '(menu-ietm "Run TeX on Region" texinfo-tex-region
+ :enable mark-active))
+ (define-key-after menu [texindex]
+ '("Run texindex" . texinfo-texindex))
+ (define-key-after menu [view]
+ '("TeX View" . texinfo-tex-view))
+ (define-key-after menu [print]
+ '("TeX Print" . texinfo-tex-print))
+ (define-key-after menu [format]
+ '("Format Buffer" . texinfo-format-buffer))
+ (define-key-after menu [format-region]
+ '(menu-item "Format Region" texinfo-format-region
+ :enable mark-active))
+ menu)))
+ menu)))
+ map))
;;; Texinfo mode
*************** value of texinfo-mode-hook."
*** 547,553 ****
"defop"
"defmethod"
"deftp"
! "f?table"
"flushleft"
"flushright"
"format"
--- 633,639 ----
"defop"
"defmethod"
"deftp"
! "[fv]?table"
"flushleft"
"flushright"
"format"