[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}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [6360] scan whole-line macro arguments differently,
Gavin D. Smith <=