Eric Blake <ebb9 <at> byu.net> writes:
>
> Eric Blake <ebb9 <at> byu.net> writes:
>
> >
> > Oops - for every line except line 1, if an unterminated quote or comment
> began
> > immediately after \n, the error message is off by one.
>
> And that introduced a regression:
>
> $ printf 'dnl ignored' > foo
> $ m4
> include(foo) still ignored
> __file__
> foo
Still not quite right. There is a difference between a macro that supplies the
include and a newline, vs. calling include directly with the newline coming
from the input file.
2006-10-12 Eric Blake <[EMAIL PROTECTED]>
* doc/m4.texinfo (Location): Fix typo in previous commit.
(Changeword): Catch one more case.
* src/input.c (skip_line): Fix case when outer file used macro to
supply the \n.
Index: doc/m4.texinfo
===================================================================
RCS file: /sources/m4/m4/doc/m4.texinfo,v
retrieving revision 1.1.1.1.2.82
diff -u -r1.1.1.1.2.82 m4.texinfo
--- doc/m4.texinfo 11 Oct 2006 23:34:21 -0000 1.1.1.1.2.82
+++ doc/m4.texinfo 12 Oct 2006 14:03:55 -0000
@@ -2897,14 +2897,20 @@
')m4exit(`77')')dnl
define(`bar
', defn(`dnl'))dnl
+define(`baz', `dnl
+include(`foo') ignored
+dnl')dnl
changeword(`\([_a-zA-Z][_a-zA-Z0-9]*\|bar
\)')
@result{}
__file__:__line__
[EMAIL PROTECTED]:7
-include(`foo') still ignored
[EMAIL PROTECTED]:10
+include(`foo') ignored
__file__:__line__
[EMAIL PROTECTED]:9
[EMAIL PROTECTED]:12
+baz ignored
+__file__:__line__
[EMAIL PROTECTED]:14
define(`bar
', defn(`__file__'))
@result{}
@@ -2916,7 +2922,7 @@
include(`foo')
@result{}1
__file__:__line__
[EMAIL PROTECTED]:16
[EMAIL PROTECTED]:21
@end example
@end ignore
@@ -4477,7 +4483,7 @@
though wrapped text came from line 0 of the file ``''.
@example
-define(`echo', `$@')
+define(`echo', `$@@')
@result{}
define(`foo', `echo(__line__
__line__)')
Index: src/input.c
===================================================================
RCS file: /sources/m4/m4/src/Attic/input.c,v
retrieving revision 1.1.1.1.2.25
diff -u -r1.1.1.1.2.25 input.c
--- src/input.c 11 Oct 2006 23:34:22 -0000 1.1.1.1.2.25
+++ src/input.c 12 Oct 2006 14:03:55 -0000
@@ -620,7 +620,7 @@
i->type = INPUT_STRING_WRAP;
i->u.u_s.string = "";
i->u.u_s.name = current_file;
- i->u.u_s.lineno = current_line + 1; /* Account for parsed `\n'. */
+ i->u.u_s.lineno = current_line + start_of_input_line;
isp = i;
}
}
_______________________________________________
M4-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/m4-patches