59 |
|
|
60 |
* FEATURES OR PROBLEMS |
* FEATURES OR PROBLEMS |
61 |
|
|
62 |
+ m4 should keep an ``execution stack'' of macros, which could applications |
+ m4 should keep an ``execution stack'' of macros, which applications could |
63 |
use in their error messages. |
use in their error messages. |
64 |
|
|
65 |
+ Implement discarding comment delimiters with the syntax table. |
+ Implement discarding comment delimiters with the syntax table. |
66 |
|
|
67 |
|
+ Implement qindir. Like indir, except that the result of the macro call |
68 |
|
is not expanded. Because the input stack might contain a file or a |
69 |
|
string, it is probably best achieved by making note that the TOS input |
70 |
|
should be copied rather than rescanned. |
71 |
|
|
72 |
|
$ echo "a'b" > f |
73 |
|
$ m4 |
74 |
|
define(a,z)dnl |
75 |
|
include(f)dnl |
76 |
|
z'b |
77 |
|
indir(`include', f)dnl |
78 |
|
z'b |
79 |
|
qindir(`include', f)dnl |
80 |
|
a'b |
81 |
|
patsubst(qindir(`include', f), b, x) |
82 |
|
z'x |
83 |
|
|
84 |
|
+ Use the TOS input quoting for qindir to fix this bug: |
85 |
|
|
86 |
|
define(`x', -'-) |
87 |
|
define(y, defn(`x')) |
88 |
|
y |
89 |
|
--' |
90 |
|
-- |
91 |
|
Stepan Kasal <kasal@ucw.cz> |
92 |
|
|
93 |
+ The $ used in user defined macros cannot be changed through |
+ The $ used in user defined macros cannot be changed through |
94 |
changesyntax. It should be handled as a modifier. |
changesyntax. It should be handled as a modifier. |
95 |
|
|