changeset 36287:6619db0066d9

(texinfo-format-scan): Signal an error if @ follows an accent command such as @'. Support optional braces in commands that insert accents, like makeinfo does.
author Eli Zaretskii <eliz@gnu.org>
date Thu, 22 Feb 2001 13:29:37 +0000
parents e658f85365f1
children ed99bc402975
files lisp/textmodes/texinfmt.el
diffstat 1 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/texinfmt.el	Thu Feb 22 13:26:12 2001 +0000
+++ b/lisp/textmodes/texinfmt.el	Thu Feb 22 13:29:37 2001 +0000
@@ -868,7 +868,23 @@
          ;; Otherwise: the other characters are simply quoted.  Delete the @.
          (t
          (delete-char -1)
-         (forward-char 1)))
+	 ;; Be compatible with makeinfo: if @' and its ild are
+	 ;; followed by a @ without a brace, barf.
+	 (if (looking-at "[\"'^`~=]")
+	     (progn
+	       (if (= (char-after (1+ (point))) ?@)
+		   (error "Use braces to give a command as an argument to @%c"
+			  (following-char)))
+	       (forward-char 1)
+	       ;; @' etc. can optionally accept their argument in
+	       ;; braces (makeinfo supports that).
+	       (when (looking-at "{")
+		 (let ((start (point)))
+		   (forward-list 1)
+		   (delete-char -1)
+		   (goto-char start)
+		   (delete-char 1))))
+	   (forward-char 1))))
       ;; @ is followed by a command-word; find the end of the word.
       (setq texinfo-command-start (1- (point)))
       (if (= (char-syntax (following-char)) ?w)