diff options
author | Eli Zaretskii <eliz@gnu.org> | 2000-12-02 15:33:30 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2000-12-02 15:33:30 +0000 |
commit | 9768eaa75d86f08bcea5aaf477693d58f8471cb0 (patch) | |
tree | 781b39274261b4adaad38ba5f49ac63e6385b4fa /lisp/textmodes/texinfo.el | |
parent | d3e7e7cf2c868daaf915c9c10a8f57675d02dc56 (diff) | |
download | emacs-9768eaa75d86f08bcea5aaf477693d58f8471cb0.tar.gz |
(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.
Diffstat (limited to 'lisp/textmodes/texinfo.el')
-rw-r--r-- | lisp/textmodes/texinfo.el | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index 7f5ff90484b..0564fe766a5 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el @@ -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 @@ chapter." ;;; 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 @@ Puts point on a blank line between them." (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 |