# HG changeset patch # User Richard M. Stallman # Date 792041195 0 # Node ID 53b3d5117779165e8d79f6476fa2a6c90c417fb4 # Parent acbd9fab366a991d08b1fd34cc6a43cd3121f884 (texinfo-environment-regexp): Match @menu and @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. diff -r acbd9fab366a -r 53b3d5117779 lisp/textmodes/texinfo.el --- a/lisp/textmodes/texinfo.el Sun Feb 05 08:58:27 1995 +0000 +++ b/lisp/textmodes/texinfo.el Mon Feb 06 03:26:35 1995 +0000 @@ -399,15 +399,11 @@ (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 @@ (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"))))