diff options
| author | Richard M. Stallman | 1996-06-25 22:44:10 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1996-06-25 22:44:10 +0000 |
| commit | cf149bdfaeff5e9c2db5a082fad7b5a88551dda8 (patch) | |
| tree | 3657ea22d9c3f9a41892653ef58fe65748d1027b /lisp/textmodes | |
| parent | 526baa41c5af164265e6a03957e9c45f3ba31b58 (diff) | |
| download | emacs-cf149bdfaeff5e9c2db5a082fad7b5a88551dda8.tar.gz emacs-cf149bdfaeff5e9c2db5a082fad7b5a88551dda8.zip | |
(tex-common-initialization): Set skeleton-further-elements.
(tex-latex-block): Define as a skeleton.
Diffstat (limited to 'lisp/textmodes')
| -rw-r--r-- | lisp/textmodes/tex-mode.el | 34 |
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. |
| 733 | Puts point on a blank line between them." | 736 | Puts 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." |