texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[6360] scan whole-line macro arguments differently


From: Gavin D. Smith
Subject: [6360] scan whole-line macro arguments differently
Date: Wed, 24 Jun 2015 22:35:30 +0000

Revision: 6360
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6360
Author:   gavin
Date:     2015-06-24 22:35:29 +0000 (Wed, 24 Jun 2015)
Log Message:
-----------
scan whole-line macro arguments differently

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/doc/texinfo.tex

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2015-06-24 11:12:25 UTC (rev 6359)
+++ trunk/ChangeLog     2015-06-24 22:35:29 UTC (rev 6360)
@@ -1,5 +1,15 @@
 2015-06-24  Gavin Smith  <address@hidden>
 
+       * doc/texinfo.tex (\macrolineargctxt): New macro, based on 
+       \macroargctxt.
+       (\defmacro) <one argument non-recursive>,
+       <one argument recursive>: Don't call \macroargctxt.
+       (\braceorlinexxx) Call \macroargctxt only if a { follows the 
+       macro name, otherwise call \macrolineargctxt.  (Various reports 
+       from, inter alia, Werner Lemberg and David Kastrup.)
+
+2015-06-24  Gavin Smith  <address@hidden>
+
        * tp/Texinfo/Convert/DocBook.pm (@inline_elements): Add 
        'subscript' and 'superscript' so they can show up in a @def* 
        line.  Bug report from Per Bothner.

Modified: trunk/doc/texinfo.tex
===================================================================
--- trunk/doc/texinfo.tex       2015-06-24 11:12:25 UTC (rev 6359)
+++ trunk/doc/texinfo.tex       2015-06-24 22:35:29 UTC (rev 6360)
@@ -7449,6 +7449,12 @@
 %
 % \anythingelse will almost certainly be an error of some kind.
 
+\def\macrolineargctxt{% used for whole-line arguments without braces
+  \scanctxt
+  \catcode`\{=\other
+  \catcode`\}=\other
+}
+
 % \mbodybackslash is the definition of \ in @macro bodies.
 % It maps \foo\ => \csname macarg.foo\endcsname => #N
 % where N is the macro parameter number.
@@ -7795,7 +7801,7 @@
         \noexpand\scanmacro{\temp}}%
     \or % 1
       \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
+         \bgroup
          \noexpand\braceorline
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
@@ -7828,7 +7834,7 @@
         \noexpand\scanmacro{\temp}\egroup}%
     \or % 1
       \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
+         \bgroup
          \noexpand\braceorline
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
@@ -7871,8 +7877,8 @@
 % 
 \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
 \def\braceorlinexxx{%
-  \ifx\nchar\bgroup\else
-    \expandafter\parsearg
+  \ifx\nchar\bgroup\macroargctxt\else
+    \macrolineargctxt\expandafter\parsearg
   \fi \macnamexxx}
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]