W dniu 29.04.2013 23:40, Jeff Johnston pisze:
Looking briefly at swscanf.c, can the o+ and o- not be changed to O+ and
O- respectively as is done further on in the RETURNS section? I imagine
you didn't see an error there or would have changed them as well.
Unfortunately it changes nothing in regard to my problem - whether all
"o+/-" or only some of them (I tried changing only "outer" pair or only
"inner" pairs) are capital "O+/-" the error remains:
./stdio/sscanf.def:275: You can't use `@unskip' in vertical mode.
@*->@unskip
@hfil @break @hbox {}@ignorespaces
l.275 @*
The problematic .def file:
where objects inclosed in square brackets are optional, and @code{ddd}
represents decimal, octal, or hexadecimal digits.
@end table
@*
@strong{Returns}@*
@code{scanf} returns the number of input fields successfully
Line 275 is the one right before {Returns} - with only "@*".
Changing "o+/-" to "O+/-" changes table to itemize, but nothing more...
The "solution" I've found - to put "." in between them (or actually any
character, but dot is converted to "smallexample", thus not visible)
changes NOTHING in the whole file - just adds something between "@end
whatever" and the following commands. Here I've placed an 'a' right
after "o-" and compared to "normal" output:
$ diff sscanf.def sscanf.def.2 -u
--- sscanf.def 2013-04-30 08:08:35.692064322 +0200
+++ sscanf.def.2 2013-04-30 08:08:08.000000000 +0200
@@ -270,7 +270,7 @@
where objects inclosed in square brackets are optional, and @code{ddd}
represents decimal, octal, or hexadecimal digits.
@end table
-a
+
@*
@strong{Returns}@*
$
I know that the reason for error seems stupid - that there must be
"something" after "@end table" or "@end itemize", before "@*", but I'm
pretty certain that's the real reason - for example if I take sprintf.c
- that does NOT cause any problems - and remove all text after last "O-"
that is before RETURNS the exact same problem happens again...
4\/3!!