(texinfo-environment-regexp): Match @menu and
authorRichard M. Stallman <rms@gnu.org>
Mon, 6 Feb 1995 03:26:35 +0000 (03:26 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 6 Feb 1995 03:26:35 +0000 (03:26 +0000)
@titlepage --- they require @ends.  Don't match @defunx commands; they don't.
(texinfo-insert-@end): Don't put a command name after the @end
if we ran off the top of the buffer looking for its mate.

lisp/textmodes/texinfo.el

index 5067b62..dbdd532 100644 (file)
@@ -399,15 +399,11 @@ value of texinfo-mode-hook."
 (defconst texinfo-environment-regexp
   "^@\\(f?table\\|enumerate\\|itemize\\|ifinfo\\|iftex\\|ifset\\|ifclear\
 \\|example\\|quotation\\|lisp\\|smallexample\\|smalllisp\\|display\\|format\
-\\|flushleft\\|flushright\\|ignore\\|group\\|tex\\|cartouche\\|end\
-\\|def[a-z]*\\)"
+\\|flushleft\\|flushright\\|ignore\\|group\\|tex\\|cartouche\\|menu\
+\\|titlepage\\|end\\|def[a-z]*[a-wyz]\\>\\)"
   "Regexp for environment-like Texinfo list commands.
 Subexpression 1 is what goes into the corresponding `@end' statement.")
 
-;; The following texinfo-insert-@end command not only inserts a SPC
-;; after the @end, but tries to find out what belongs there.  It is
-;; not very smart: it does not understand nested lists.
-
 (defun texinfo-insert-@end ()
   "Insert the matching `@end' for the last Texinfo command that needs one."
   (interactive)
@@ -419,9 +415,10 @@ Subexpression 1 is what goes into the corresponding `@end' statement.")
            (setq depth (1+ depth))
          (setq depth (1- depth)))))
       (looking-at texinfo-environment-regexp)
-      (setq string
-           (buffer-substring (match-beginning 1)
-                             (match-end 1))))
+      (if (zerop depth)
+         (setq string
+               (buffer-substring (match-beginning 1)
+                                 (match-end 1)))))
     (insert "@end ")
     (if string (insert string "\n"))))