aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1996-06-25 22:44:10 +0000
committerRichard M. Stallman1996-06-25 22:44:10 +0000
commitcf149bdfaeff5e9c2db5a082fad7b5a88551dda8 (patch)
tree3657ea22d9c3f9a41892653ef58fe65748d1027b
parent526baa41c5af164265e6a03957e9c45f3ba31b58 (diff)
downloademacs-cf149bdfaeff5e9c2db5a082fad7b5a88551dda8.tar.gz
emacs-cf149bdfaeff5e9c2db5a082fad7b5a88551dda8.zip
(tex-common-initialization): Set skeleton-further-elements.
(tex-latex-block): Define as a skeleton.
-rw-r--r--lisp/textmodes/tex-mode.el34
1 files changed, 16 insertions, 18 deletions
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 565a8d13e76..d410035cf84 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -556,6 +556,9 @@ Entering SliTeX mode runs the hook `text-mode-hook', then the hook
556 (setq parse-sexp-ignore-comments t) 556 (setq parse-sexp-ignore-comments t)
557 (make-local-variable 'compare-windows-whitespace) 557 (make-local-variable 'compare-windows-whitespace)
558 (setq compare-windows-whitespace 'tex-categorize-whitespace) 558 (setq compare-windows-whitespace 'tex-categorize-whitespace)
559 (make-local-variable 'skeleton-further-elements)
560 (setq skeleton-further-elements
561 '((indent-line-function 'indent-relative-maybe)))
559 (make-local-variable 'facemenu-add-face-function) 562 (make-local-variable 'facemenu-add-face-function)
560 (make-local-variable 'facemenu-end-add-face) 563 (make-local-variable 'facemenu-end-add-face)
561 (make-local-variable 'facemenu-remove-face-function) 564 (make-local-variable 'facemenu-remove-face-function)
@@ -728,25 +731,20 @@ A prefix arg inhibits the checking."
728 (insert ?}))) 731 (insert ?})))
729 732
730;;; Like tex-insert-braces, but for LaTeX. 733;;; Like tex-insert-braces, but for LaTeX.
731(defun tex-latex-block (name) 734(define-skeleton tex-latex-block
732 "Creates a matching pair of lines `\\begin{NAME}' and `\\end{NAME}' at point. 735 "Create a matching pair of lines \\begin[OPT]{NAME} and \\end{NAME} at point.
733Puts point on a blank line between them." 736Puts point on a blank line between them."
734 (interactive 737 (completing-read "LaTeX block name: "
735 (prog2 738 (mapcar 'list
736 (barf-if-buffer-read-only) 739 (append standard-latex-block-names
737 (list 740 latex-block-names)))
738 (completing-read "LaTeX block name: " 741 "\\begin["
739 (mapcar 'list 742 (skeleton-read "[options]: ") & ?\] | -1
740 (append standard-latex-block-names 743 ?\{
741 latex-block-names)))))) 744 str
742 (let ((col (current-column))) 745 ?\} \n
743 (insert (format "\\begin{%s}\n" name)) 746 _ \n
744 (indent-to col) 747 "\\end{" str ?\})
745 (save-excursion
746 (insert ?\n)
747 (indent-to col)
748 (insert-string (format "\\end{%s}" name))
749 (if (eobp) (insert ?\n)))))
750 748
751(defun tex-last-unended-begin () 749(defun tex-last-unended-begin ()
752 "Leave point at the beginning of the last `\\begin{...}' that is unended." 750 "Leave point at the beginning of the last `\\begin{...}' that is unended."