X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/6c96b8933b2c5b5c85d8fa0c3f77431f5dae2e27..ea0857a126fbd38e96fd499c7173341a3e8614b6:/lisp/textmodes/texinfo.el diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index a06ac1bfd5..52b9ab092a 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el @@ -1,7 +1,7 @@ -;;; texinfo.el --- major mode for editing Texinfo files -*- coding: iso-2022-7bit -*- +;;; texinfo.el --- major mode for editing Texinfo files -*- coding: utf-8 -*- -;; Copyright (C) 1985, 1988, 1989, 1990, 1991, 1992, 1993, 1996, 1997, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2012 +;; Free Software Foundation, Inc. ;; Author: Robert J. Chassell ;; Date: [See date below for texinfo-version] @@ -10,10 +10,10 @@ ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,9 +21,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Todo: @@ -34,14 +32,7 @@ ;;; Code: -(or (fboundp 'defgroup) - (defmacro defgroup (&rest ignore) nil)) - -(or (fboundp 'defcustom) - (defmacro defcustom (var value doc &rest ignore) - `(defvar ,var ,value ,doc))) - -(eval-when-compile (require 'tex-mode) (require 'cl)) +(eval-when-compile (require 'tex-mode)) (defvar outline-heading-alist) (defgroup texinfo nil @@ -50,14 +41,14 @@ :group 'docs) ;;;###autoload -(defcustom texinfo-open-quote "``" - "*String inserted by typing \\[texinfo-insert-quote] to open a quotation." +(defcustom texinfo-open-quote (purecopy "``") + "String inserted by typing \\[texinfo-insert-quote] to open a quotation." :type 'string :group 'texinfo) ;;;###autoload -(defcustom texinfo-close-quote "''" - "*String inserted by typing \\[texinfo-insert-quote] to close a quotation." +(defcustom texinfo-close-quote (purecopy "''") + "String inserted by typing \\[texinfo-insert-quote] to close a quotation." :type 'string :group 'texinfo) @@ -296,21 +287,19 @@ chapter." ;;; Syntax table -(defvar texinfo-mode-syntax-table nil) - -(if texinfo-mode-syntax-table - nil - (setq texinfo-mode-syntax-table (make-syntax-table)) - (modify-syntax-entry ?\" "." texinfo-mode-syntax-table) - (modify-syntax-entry ?\\ "." texinfo-mode-syntax-table) - (modify-syntax-entry ?@ "\\" texinfo-mode-syntax-table) - (modify-syntax-entry ?\^q "\\" texinfo-mode-syntax-table) - (modify-syntax-entry ?\[ "(]" texinfo-mode-syntax-table) - (modify-syntax-entry ?\] ")[" texinfo-mode-syntax-table) - (modify-syntax-entry ?{ "(}" texinfo-mode-syntax-table) - (modify-syntax-entry ?} "){" texinfo-mode-syntax-table) - (modify-syntax-entry ?\n ">" texinfo-mode-syntax-table) - (modify-syntax-entry ?\' "w" texinfo-mode-syntax-table)) +(defvar texinfo-mode-syntax-table + (let ((st (make-syntax-table))) + (modify-syntax-entry ?\" "." st) + (modify-syntax-entry ?\\ "." st) + (modify-syntax-entry ?@ "\\" st) + (modify-syntax-entry ?\^q "\\" st) + (modify-syntax-entry ?\[ "(]" st) + (modify-syntax-entry ?\] ")[" st) + (modify-syntax-entry ?{ "(}" st) + (modify-syntax-entry ?} "){" st) + (modify-syntax-entry ?\n ">" st) + (modify-syntax-entry ?\' "w" st) + st)) ;; Written by Wolfgang Bangerth ;; To override this example, set either `imenu-generic-expression' @@ -320,19 +309,21 @@ chapter." ("Chapters" "^@chapter[ \t]+\\(.*\\)$" 1)) "Imenu generic expression for Texinfo mode. See `imenu-generic-expression'.") -(defvar texinfo-font-lock-syntactic-keywords - '(("\\(@\\)c\\(omment\\)?\\>" (1 "<")) - ("^\\(@\\)ignore\\>" (1 "< b")) - ("^@end ignore\\(\n\\)" (1 "> b"))) +(defconst texinfo-syntax-propertize-function + (syntax-propertize-rules + ("\\(@\\)c\\(omment\\)?\\>" (1 "<")) + ("^\\(@\\)ignore\\>" (1 "< b")) + ("^@end ignore\\(\n\\)" (1 "> b"))) "Syntactic keywords to catch comment delimiters in `texinfo-mode'.") (defconst texinfo-environments '("cartouche" "copying" "defcv" "deffn" "defivar" "defmac" - "defmethod" "defop" "defopt" "defspec" "deftp" "deftypefn" - "deftypefun" "deftypevar" "deftypevr" "defun" "defvar" + "defmethod" "defop" "defopt" "defspec" "deftp" "deftypecv" + "deftypefn" "deftypefun" "deftypeivar" "deftypemethod" + "deftypeop" "deftypevar" "deftypevr" "defun" "defvar" "defvr" "description" "detailmenu" "direntry" "display" "documentdescription" "enumerate" "example" "flushleft" - "flushright" "format" "ftable" "group" "ifclear" "ifset" + "flushright" "format" "ftable" "group" "html" "ifclear" "ifset" "ifhtml" "ifinfo" "ifnothtml" "ifnotinfo" "ifnotplaintext" "ifnottex" "ifplaintext" "iftex" "ignore" "itemize" "lisp" "macro" "menu" "multitable" "quotation" "smalldisplay" @@ -349,8 +340,7 @@ Subexpression 1 is what goes into the corresponding `@end' statement.") '((t (:inherit font-lock-function-name-face))) "Face used for section headings in `texinfo-mode'." :group 'texinfo) -;; backward-compatibility alias -(put 'texinfo-heading-face 'face-alias 'texinfo-heading) +(define-obsolete-face-alias 'texinfo-heading-face 'texinfo-heading "22.1") (defvar texinfo-heading-face 'texinfo-heading) (defvar texinfo-font-lock-keywords @@ -399,7 +389,6 @@ Subexpression 1 is what goes into the corresponding `@end' statement.") ;;; Keybindings -(defvar texinfo-mode-map nil) ;;; Keys common both to Texinfo mode and to TeX shell. @@ -420,65 +409,67 @@ Subexpression 1 is what goes into the corresponding `@end' statement.") ;; 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) - - (define-key texinfo-mode-map "\"" 'texinfo-insert-quote) - - ;; 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) - - ;; AUCTeX-like bindings - (define-key texinfo-mode-map "\e\r" 'texinfo-insert-@item) - - ;; 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-o" 'texinfo-insert-block) - (define-key texinfo-mode-map "\C-c\C-c\C-d" 'texinfo-start-menu-description) - (define-key texinfo-mode-map "\C-c\C-c\C-s" 'texinfo-insert-@strong) - (define-key texinfo-mode-map "\C-c\C-c\C-e" 'texinfo-insert-@emph) - - (define-key texinfo-mode-map "\C-c\C-cv" 'texinfo-insert-@var) - (define-key texinfo-mode-map "\C-c\C-cu" 'texinfo-insert-@uref) - (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-cq" 'texinfo-insert-@quotation) - (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-cm" 'texinfo-insert-@email) - (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)) +(defvar texinfo-mode-map + (let ((map (make-sparse-keymap))) + + ;; bindings for `texnfo-tex.el' + (texinfo-define-common-keys map) + + (define-key map "\"" 'texinfo-insert-quote) + + ;; 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) + + ;; AUCTeX-like bindings + (define-key map "\e\r" 'texinfo-insert-@item) + + ;; 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) + ;; FIXME: This is often used for "close block" aka texinfo-insert-@end. + (define-key map "\C-c]" 'up-list) + (define-key map "\C-c/" 'texinfo-insert-@end) + (define-key map "\C-c{" 'texinfo-insert-braces) + + ;; bindings for inserting strings + (define-key map "\C-c\C-o" 'texinfo-insert-block) + (define-key map "\C-c\C-c\C-d" 'texinfo-start-menu-description) + (define-key map "\C-c\C-c\C-s" 'texinfo-insert-@strong) + (define-key map "\C-c\C-c\C-e" 'texinfo-insert-@emph) + + (define-key map "\C-c\C-cv" 'texinfo-insert-@var) + (define-key map "\C-c\C-cu" 'texinfo-insert-@uref) + (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-cq" 'texinfo-insert-@quotation) + (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-cm" 'texinfo-insert-@email) + (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) + map)) (easy-menu-define texinfo-mode-menu texinfo-mode-map @@ -594,11 +585,8 @@ value of `texinfo-mode-hook'." (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-separate)) (make-local-variable 'paragraph-start) (setq paragraph-start (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-start)) - (make-local-variable 'sentence-end-base) - (setq sentence-end-base - "\\(@\\(end\\)?dots{}\\|[.?!]\\)[]\"'$B!I$,1r}(B)}]*") - (make-local-variable 'adaptive-fill-mode) - (setq adaptive-fill-mode nil) + (set (make-local-variable 'sentence-end-base) + "\\(@\\(end\\)?dots{}\\|[.?!]\\)[]\"'”)}]*") (make-local-variable 'fill-column) (setq fill-column 70) (make-local-variable 'comment-start) @@ -612,9 +600,9 @@ value of `texinfo-mode-hook'." (setq imenu-case-fold-search nil) (make-local-variable 'font-lock-defaults) (setq font-lock-defaults - '(texinfo-font-lock-keywords nil nil nil backward-paragraph - (font-lock-syntactic-keywords - . texinfo-font-lock-syntactic-keywords))) + '(texinfo-font-lock-keywords nil nil nil backward-paragraph)) + (set (make-local-variable 'syntax-propertize-function) + texinfo-syntax-propertize-function) (set (make-local-variable 'parse-sexp-lookup-properties) t) ;; Outline settings. @@ -657,7 +645,13 @@ Puts point on a blank line between them." (completing-read (format "Block name [%s]: " texinfo-block-default) texinfo-environments nil nil nil nil texinfo-block-default)) - \n "@" str \n _ \n "@end " str \n) + \n "@" str + ;; Blocks that take parameters: all the def* blocks take parameters, + ;; plus a few others. + (if (or (string-match "\\`def" str) + (member str '("table" "ftable" "vtable"))) + '(nil " " -)) + \n _ \n "@end " str \n) (defun texinfo-inside-macro-p (macro &optional bound) "Non-nil if inside a macro matching the regexp MACRO." @@ -682,7 +676,8 @@ Puts point on a blank line between them." (not (match-end 1))))) (defvar texinfo-enable-quote-macros "@\\(code\\|samp\\|kbd\\)\\>") -(defvar texinfo-enable-quote-envs '("example\\>" "lisp\\>")) +(defvar texinfo-enable-quote-envs + '("example\\>" "smallexample\\>" "lisp\\>")) (defun texinfo-insert-quote (&optional arg) "Insert the appropriate quote mark for Texinfo. Usually inserts the value of `texinfo-open-quote' (normally ``) or @@ -694,7 +689,8 @@ With prefix argument or inside @code or @example, inserts a plain \"." (if (or arg (= (preceding-char) ?\\) (save-excursion - (backward-char (length texinfo-open-quote)) + ;; Might be near the start of a (narrowed) buffer. + (ignore-errors (backward-char (length texinfo-open-quote))) (when (or (looking-at texinfo-open-quote) (looking-at texinfo-close-quote)) (delete-char (length texinfo-open-quote)) @@ -706,7 +702,8 @@ With prefix argument or inside @code or @example, inserts a plain \"." (setq in-env t))))) (self-insert-command (prefix-numeric-value arg)) (insert - (if (memq (char-syntax (preceding-char)) '(?\( ?> ?\s)) + (if (or (bobp) + (memq (char-syntax (preceding-char)) '(?\( ?> ?\s))) texinfo-open-quote texinfo-close-quote))))) @@ -726,163 +723,131 @@ With prefix argument or inside @code or @example, inserts a plain \"." (not (looking-at "@end")))) (texinfo-next-unmatched-end))) -(defun texinfo-insert-@end () +(define-skeleton texinfo-insert-@end "Insert the matching `@end' for the last Texinfo command that needs one." - (interactive) - (let ((string (ignore-errors (save-excursion + (backward-word 1) (texinfo-last-unended-begin) - (match-string 1))))) - (insert "@end ") - (if string (insert string "\n")))) - -;; The following insert commands accept a prefix arg N, which is the -;; number of words (actually s-exprs) that should be surrounded by -;; braces. Thus you can first paste a variable name into a .texinfo -;; buffer, then say C-u 1 C-c C-c v at the beginning of the just -;; pasted variable name to put @var{...} *around* the variable name. -;; Operate on previous word or words with negative arg. - -;; These commands use texinfo-insert-@-with-arg -(defun texinfo-insert-@-with-arg (string &optional arg) - (if arg - (progn - (setq arg (prefix-numeric-value arg)) - (if (< arg 0) - (progn - (skip-chars-backward " \t\n\r\f") - (save-excursion - (forward-sexp arg) - (insert "@" string "{")) - (insert "}")) - (skip-chars-forward " \t\n\r\f") - (insert "@" string "{") - (forward-sexp arg) - (insert "}"))) - (insert "@" string "{}") - (backward-char))) - -(defun texinfo-insert-braces () + (or (match-string 1) '-))) + \n "@end " str \n) + +(define-skeleton texinfo-insert-braces "Make a pair of braces and be poised to type inside of them. Use \\[up-list] to move forward out of the braces." - (interactive) - (insert "{}") - (backward-char)) + nil + "{" _ "}") -(defun texinfo-insert-@code (&optional arg) +(define-skeleton texinfo-insert-@code "Insert a `@code{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "code" arg)) + nil + "@code{" _ "}") -(defun texinfo-insert-@dfn (&optional arg) +(define-skeleton texinfo-insert-@dfn "Insert a `@dfn{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "dfn" arg)) + nil + "@dfn{" _ "}") -(defun texinfo-insert-@email (&optional arg) +(define-skeleton texinfo-insert-@email "Insert a `@email{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "email" arg)) + nil + "@email{" _ "}") -(defun texinfo-insert-@emph (&optional arg) +(define-skeleton texinfo-insert-@emph "Insert a `@emph{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "emph" arg)) + nil + "@emph{" _ "}") -(defun texinfo-insert-@example () +(define-skeleton texinfo-insert-@example "Insert the string `@example' in a Texinfo buffer." - (interactive) - (insert "@example\n")) + nil + \n "@example" \n) -(defun texinfo-insert-@file (&optional arg) +(define-skeleton texinfo-insert-@file "Insert a `@file{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "file" arg)) + nil + "@file{" _ "}") -(defun texinfo-insert-@item () +(define-skeleton texinfo-insert-@item "Insert the string `@item' in a Texinfo buffer. If in a table defined by @table, follow said string with a space. Otherwise, follow with a newline." - (interactive) - (insert "@item" + nil + \n "@item" (if (equal (ignore-errors (save-excursion (texinfo-last-unended-begin) (match-string 1))) "table") - ?\s - ?\n))) + " " '\n) + _ \n) -(defun texinfo-insert-@kbd (&optional arg) +(define-skeleton texinfo-insert-@kbd "Insert a `@kbd{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "kbd" arg)) + nil + "@kbd{" _ "}") -(defun texinfo-insert-@node () +(define-skeleton texinfo-insert-@node "Insert the string `@node' in a Texinfo buffer. Insert a comment on the following line indicating the order of arguments to @node. Insert a carriage return after the comment line. Leave point after `@node'." - (interactive) - (insert "@node \n@comment node-name, next, previous, up\n") - (forward-line -2) - (forward-char 6)) + nil + \n "@node " _ \n) -(defun texinfo-insert-@noindent () +(define-skeleton texinfo-insert-@noindent "Insert the string `@noindent' in a Texinfo buffer." - (interactive) - (insert "@noindent\n")) + nil + \n "@noindent" \n) -(defun texinfo-insert-@quotation () +(define-skeleton texinfo-insert-@quotation "Insert the string `@quotation' in a Texinfo buffer." - (interactive) - (insert "@quotation\n")) + \n "@quotation" \n) -(defun texinfo-insert-@samp (&optional arg) +(define-skeleton texinfo-insert-@samp "Insert a `@samp{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "samp" arg)) + nil + "@samp{" _ "}") -(defun texinfo-insert-@strong (&optional arg) +(define-skeleton texinfo-insert-@strong "Insert a `@strong{...}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "strong" arg)) + nil + "@strong{" _ "}") -(defun texinfo-insert-@table () +(define-skeleton texinfo-insert-@table "Insert the string `@table' in a Texinfo buffer." - (interactive) - (insert "@table ")) + nil + \n "@table " _ \n) -(defun texinfo-insert-@var (&optional arg) +(define-skeleton texinfo-insert-@var "Insert a `@var{}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "var" arg)) + nil + "@var{" _ "}") -(defun texinfo-insert-@uref (&optional arg) +(define-skeleton texinfo-insert-@uref "Insert a `@uref{}' command in a Texinfo buffer. A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." - (interactive "P") - (texinfo-insert-@-with-arg "uref" arg)) + nil + "@uref{" _ "}") (defalias 'texinfo-insert-@url 'texinfo-insert-@uref) ;;; Texinfo file structure @@ -947,22 +912,22 @@ to jump to the corresponding spot in the Texinfo source file." ;;; The tex and print function definitions: (defcustom texinfo-texi2dvi-command "texi2dvi" - "*Command used by `texinfo-tex-buffer' to run TeX and texindex on a buffer." + "Command used by `texinfo-tex-buffer' to run TeX and texindex on a buffer." :type 'string :group 'texinfo) (defcustom texinfo-tex-command "tex" - "*Command used by `texinfo-tex-region' to run TeX on a region." + "Command used by `texinfo-tex-region' to run TeX on a region." :type 'string :group 'texinfo) (defcustom texinfo-texindex-command "texindex" - "*Command used by `texinfo-texindex' to sort unsorted index files." + "Command used by `texinfo-texindex' to sort unsorted index files." :type 'string :group 'texinfo) (defcustom texinfo-delete-from-print-queue-command "lprm" - "*Command string used to delete a job from the line printer queue. + "Command string used to delete a job from the line printer queue. Command is used by \\[texinfo-delete-from-print-queue] based on number provided by a previous \\[tex-show-print-queue] command." @@ -1060,5 +1025,4 @@ You are prompted for the job number (use a number shown by a previous (provide 'texinfo) -;; arch-tag: 005d7c38-43b9-4b7d-aa1d-aea69bae73e1 ;;; texinfo.el ends here