Mercurial > emacs
changeset 34119:fb272ca0c0b1
(texinfo-open-quote, texinfo-close-quote):
New defcustoms.
(texinfo-insert-quote): Don't call tex-insert-quote, to avoid
autoloading tex-mode; instead, do the same manually. Use
texinfo-open-quote and texinfo-close-quote. Insert literal quote
with numeric argument. Docstring fix.
(toplevel): Require cl when compiling.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 02 Dec 2000 15:31:23 +0000 |
parents | b9afad6c9fb8 |
children | 1fce381f3bda |
files | lisp/textmodes/texinfo.el |
diffstat | 1 files changed, 23 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/texinfo.el Sat Dec 02 15:30:10 2000 +0000 +++ b/lisp/textmodes/texinfo.el Sat Dec 02 15:31:23 2000 +0000 @@ -37,6 +37,18 @@ "Texinfo Mode" :group 'docs) +;;;###autoload +(defcustom texinfo-open-quote "``" + "*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." + :type 'string + :group 'texinfo) + ;;; Autoloads: @@ -241,6 +253,7 @@ ;;; Code: ;;; Don't you dare insert any `require' calls at top level in this file--rms. +(eval-when-compile (require 'cl)) ;; for ignore-errors (defvar texinfo-section-list '(("top" 1) @@ -655,18 +668,23 @@ (and (re-search-backward (concat "@\\(end\\s +\\)?" env) bound t) (looking-at (concat "@" env))))) -(autoload 'tex-insert-quote "tex-mode" nil t) (defun texinfo-insert-quote (&optional arg) "Insert the appropriate quote mark for TeXinfo. -Inserts a plain \" if inside @code or @example, else inserts `` or '' -by calling `tex-insert-quote'." +Usually inserts the value of `texinfo-open-quote' (normally ``) or +`texinfo-close-quote' (normally ''), depending on the context. +With prefix argument or inside @code or @example, inserts a plain \"." (interactive "*P") (let ((top (or (save-excursion (re-search-backward "@node\\>" nil t)) (point-min)))) - (if (or (texinfo-inside-env-p "example\\>" top) + (if (or arg + (texinfo-inside-env-p "example\\>" top) (texinfo-inside-macro-p "@code\\>" top)) (self-insert-command (prefix-numeric-value arg)) - (tex-insert-quote arg)))) + (insert + (cond ((= (preceding-char) ?\\) ?\") + ((memq (char-syntax (preceding-char)) '(?\( ?> ?\ )) + texinfo-open-quote) + (t texinfo-close-quote)))))) ;; The following texinfo-insert-@end command not only inserts a SPC ;; after the @end, but tries to find out what belongs there. It is