diff options
Diffstat (limited to 'doc/examples/WWW/m4lib/visions.m4')
-rw-r--r-- | doc/examples/WWW/m4lib/visions.m4 | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/doc/examples/WWW/m4lib/visions.m4 b/doc/examples/WWW/m4lib/visions.m4 deleted file mode 100644 index ba238ca9..00000000 --- a/doc/examples/WWW/m4lib/visions.m4 +++ /dev/null @@ -1,232 +0,0 @@ -include(`setup.m4') - -\set_author([René Seindal]) -\set_title([The Road Ahead]) - -\define([originator], -[\p([Idea contributed by [$1]]\ifelse($#, 2, [ (\mailto([$2]))])[.])]) - -\define([noone], [\p([There is no-one working on this now. Do you want -to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: \defn([_item])" >volunteer</A>?])]) - - -\define([done], [\p([Done in version 1.4$1])]) - - -\divert(1) -\h2([Ideas for future versions of GNU m4]) - -\p([Here are some ideas and suggestion for the future of GNU m4, large -and small. The order here is fairly random.]) - -\ul([ - -\item([guile], [Guile as an extension language], - -[\p([\link([http://www.red-bean.com/guile/], [Guile]) can be used as an -extension language so complicated macros can be written in Scheme while -still maintaining the m4 interface. It will require some changes to the -base code, as guile cannot be used from a module.]) - -\noone <!-- \originator([René Seindal], [rene@seindal]) --> -]) - - -\item([utf8], [UTF-8 or wide characters], - -[\p([GNU m4 should be able to handle UTF-8 input or wide characters so -it can be more usable for different environments.]) - -\noone <!-- \originator([François Pinard]) --> -]) - - -\item([pquote], [Syntax: persistent quotes], - -[\p([Persistent quotes is a way of getting text unharmed through m4's -processing. While normal quotes are stripped when a quoted string is -read, the persistent quotes are removed just before being output. This -will ensure that the quoted text is always output verbatim.]) - -\p([The bulk of the changes will be in the parser (in input.c function -next_token). Persistent quotes cannot be nested, they must balance -within a normally quoted string, but normal quotes need not balance -within persistent quotes (neither within persistent quotes within normal -quotes). The quotes should be removed before being shipped out (in -macro.c).]) - -\noone <!-- \originator([Keith Bostic]) --> -]) - - - - -\item([comment2], [Syntax: removable comments], - -[\p([With the syntax table a category for discardable comments can be -defined, causing that type of comments to be discarded.]) - -\noone -]) - - - - -\item([comment1], [Option: remove comments], - -[\p([There should be an option (--discard-comments) to get m4 to discard -comments instead of passing them to the output.]) - -\done(n) -]) - - - -\item([deps], [Option: show dependencies], - -[\p([There should be an options to generate makefile dependencies for an -M4 input file.]) - -\p([It is not enough to scan the files for includes, as file names can -be generated and builtins renamed. To make it work, m4 will have to do -a complete run of the input file, discard the output and print the -dependencies instead.]) - -\p([It cannot be made to work in all cases when input file names are -generated on the fly.]) - -\noone <!-- \originator([Erick Branderhorst]) --> -]) - - -\item([safer], [Option: render GNU m4 safer], - -[\p([There should be a --safer option that disables all functions, that -could compromise system security if used by root. It will have to -include various functions, such as file inclusion, sub shells, module -loading, ...]) - -\noone <!-- \originator([Santiago Vila]) --> -]) - - - -\item([import], [Option: import environment], - -[\p([An option to defined each environment variable as a macro on -startup would be useful in many cases.]) - -\done(n) <!-- \originator([René Seindal]) --> -]) - - - -\item([m4expand], [Builtin: quote expanded text], - -[\p([A builtin to quote expanded text would be useful. Now it is not -possible to quote the expansion of a macro; the macro itself has to -provide the quotes. Some builtins return quoted strings, others -don't.]) - -\p([A possible solution is a build in macro that takes one argument. It -expands this argument fully and returns the quoted expansion.]) - -\p([It will require changes to input handling and macro expansion code.]) - -\noone <!-- \originator([Axel Boldt]) --> -]) - - - -\item([perl], [Module: embedded perl], - -[\p([Perl could be embedded in m4, giving users a powerful programming -language for writing macros. A single builtin "perleval" could do the -job. First argument could be a perl function and the rest arguments. -The return value of the function as a string would be the expansion.]) - -\p([The perl interpreter should be set up when the module is loaded and -closed down before m4 exits, using the appropriate hooks in the module -interface.]) - -\p([A perl module could potentially give users access to any facility -perl has access to, such as databases.]) - -\p([On systems with perl compiled as a shared library the size penalty -would be minimal.]) - -\p([(It might not be workable as a module, as it will need to link with non-shared libraries. Don't know how it can be fixed. (RS))]) - -\noone <!-- \originator([René Seindal]) --> -]) - - - -\item([output], [Module: better output control], - -[\p([It has been suggested a couple of times that it should be possible -to divert to named files, in order to create several output files.]) - -\p([I think this a bit a misunderstanding. Diversion are inteded to be -brought back later, ie, they are temporary and recoverable. Output -text, on the other hand, once output it is lost (for m4). Therefore -better output control should be made in a different way.]) - -\p([My suggestion is a set of builtins defined by a module:]) - -\pre([setoutput(file) -appendoutput(file) -pipeoutput(command)]) - -\p([With these output can be directed better, diversion can be sent to -different files, and groups of files can be built by a single m4 run. -Calling \tt(setoutput) without arguments should resume output to -standard output.]) - -\p([(Admittedly, diversion 0 (standard output) has always been -different, as it cannot be undiverted.)]) - -\noone <!-- \originator([René Seindal]) --> -]) - - - -\item([require], [Module: require/provide functionality], - -[\p([Two new builtins \tt(require) and \tt(provide) could provide a -handy interface to include. It has proven difficult to write these -robustly as normal macros. As an example, the files \tt(test.m4) and -\tt(../test.m4) could be the same file or different files depending on -the search path.]) - -\noone <!-- \originator([Terry Jones]) --> -]) - - -]) - - - -\p([See also the \link(todo.htm, TODO) file.]) - -\print_items - - - -\divert(0)\dnl -\DO_LAYOUT([\undivert(1)]) -\divert(-1) - -\divert(3)saljdfnaskdjfndsa\divert(-1) - - - - -\item([], [], - -[\p([]) - -\noone -]) - -\undivert |