summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-11-05 19:10:13 (GMT)
committerAnas Nashif <anas.nashif@intel.com>2012-11-05 19:10:13 (GMT)
commit7be93f2d05131d061bd4790ae33c8d50f50010d7 (patch)
tree72736c1606f803a92ffa07c9808ffea2521d009e
downloadm4-7be93f2d05131d061bd4790ae33c8d50f50010d7.zip
m4-7be93f2d05131d061bd4790ae33c8d50f50010d7.tar.gz
m4-7be93f2d05131d061bd4790ae33c8d50f50010d7.tar.bz2
Imported Upstream version 1.4.16upstream/1.4.16
-rw-r--r--.prev-version1
-rw-r--r--.tarball-version1
-rw-r--r--.version1
-rw-r--r--.x-sc_prohibit_tab_based_indentation5
-rw-r--r--.x-update-copyright1
-rw-r--r--AUTHORS42
-rw-r--r--BACKLOG60
-rw-r--r--COPYING674
-rw-r--r--ChangeLog5305
-rw-r--r--GNUmakefile131
-rw-r--r--INSTALL370
-rw-r--r--Makefile.am51
-rw-r--r--Makefile.in1570
-rw-r--r--NEWS712
-rw-r--r--README76
-rw-r--r--THANKS147
-rw-r--r--TODO47
-rw-r--r--acinclude.m425
-rw-r--r--aclocal.m41640
-rwxr-xr-xbootstrap312
-rwxr-xr-xbuild-aux/announce-gen511
-rw-r--r--build-aux/arg-nonnull.h26
-rw-r--r--build-aux/c++defs.h271
-rwxr-xr-xbuild-aux/compile310
-rwxr-xr-xbuild-aux/config.guess1511
-rwxr-xr-xbuild-aux/config.rpath690
-rwxr-xr-xbuild-aux/config.sub1739
-rwxr-xr-xbuild-aux/depcomp684
-rwxr-xr-xbuild-aux/gendocs.sh385
-rwxr-xr-xbuild-aux/git-version-gen172
-rwxr-xr-xbuild-aux/gnu-web-doc-update117
-rwxr-xr-xbuild-aux/gnupload416
-rwxr-xr-xbuild-aux/install-sh527
-rwxr-xr-xbuild-aux/mdate-sh225
-rwxr-xr-xbuild-aux/missing376
-rw-r--r--build-aux/texinfo.tex9574
-rwxr-xr-xbuild-aux/update-copyright267
-rwxr-xr-xbuild-aux/useless-if-before-free207
-rwxr-xr-xbuild-aux/vc-list-files118
-rw-r--r--build-aux/warn-on-use.h109
-rw-r--r--c-boxes.el421
-rw-r--r--cfg.mk44
-rw-r--r--checks/001.preprocess39
-rw-r--r--checks/002.debugging_16
-rw-r--r--checks/003.command_li11
-rw-r--r--checks/004.command_li11
-rw-r--r--checks/005.command_li18
-rw-r--r--checks/006.command_li20
-rw-r--r--checks/007.command_li18
-rw-r--r--checks/008.comments13
-rw-r--r--checks/009.comments23
-rw-r--r--checks/010.input_proc19
-rw-r--r--checks/011.input_proc16
-rw-r--r--checks/012.inhibiting13
-rw-r--r--checks/013.inhibiting17
-rw-r--r--checks/014.inhibiting17
-rw-r--r--checks/015.inhibiting13
-rw-r--r--checks/016.inhibiting17
-rw-r--r--checks/017.inhibiting15
-rw-r--r--checks/018.inhibiting15
-rw-r--r--checks/019.inhibiting15
-rw-r--r--checks/020.macro_argu26
-rw-r--r--checks/021.macro_argu17
-rw-r--r--checks/022.macro_argu15
-rw-r--r--checks/023.macro_argu15
-rw-r--r--checks/024.macro_argu13
-rw-r--r--checks/025.quoting_ar19
-rw-r--r--checks/026.macro_expa11
-rw-r--r--checks/027.macro_expa15
-rw-r--r--checks/028.define13
-rw-r--r--checks/029.define15
-rw-r--r--checks/030.define21
-rw-r--r--checks/031.arguments13
-rw-r--r--checks/032.arguments15
-rw-r--r--checks/033.arguments13
-rw-r--r--checks/034.arguments13
-rw-r--r--checks/035.arguments17
-rw-r--r--checks/036.arguments15
-rw-r--r--checks/037.pseudo_arg24
-rw-r--r--checks/038.pseudo_arg16
-rw-r--r--checks/039.pseudo_arg13
-rw-r--r--checks/040.pseudo_arg13
-rw-r--r--checks/041.pseudo_arg23
-rw-r--r--checks/042.pseudo_arg23
-rw-r--r--checks/043.pseudo_arg29
-rw-r--r--checks/044.pseudo_arg13
-rw-r--r--checks/045.pseudo_arg29
-rw-r--r--checks/046.undefine23
-rw-r--r--checks/047.undefine15
-rw-r--r--checks/048.defn15
-rw-r--r--checks/049.defn15
-rw-r--r--checks/050.defn17
-rw-r--r--checks/051.defn21
-rw-r--r--checks/052.defn19
-rw-r--r--checks/053.defn18
-rw-r--r--checks/054.defn25
-rw-r--r--checks/055.pushdef33
-rw-r--r--checks/056.pushdef25
-rw-r--r--checks/057.indir15
-rw-r--r--checks/058.indir18
-rw-r--r--checks/059.indir22
-rw-r--r--checks/060.builtin33
-rw-r--r--checks/061.builtin19
-rw-r--r--checks/062.builtin28
-rw-r--r--checks/063.builtin11
-rw-r--r--checks/064.builtin21
-rw-r--r--checks/065.ifdef18
-rw-r--r--checks/066.ifelse14
-rw-r--r--checks/067.ifelse19
-rw-r--r--checks/068.ifelse17
-rw-r--r--checks/069.ifelse19
-rw-r--r--checks/070.ifelse59
-rw-r--r--checks/071.shift15
-rw-r--r--checks/072.shift18
-rw-r--r--checks/073.shift42
-rw-r--r--checks/074.shift30
-rw-r--r--checks/075.shift25
-rw-r--r--checks/076.shift26
-rw-r--r--checks/077.shift19
-rw-r--r--checks/078.shift18
-rw-r--r--checks/079.forloop13
-rw-r--r--checks/080.forloop18
-rw-r--r--checks/081.forloop16
-rw-r--r--checks/082.foreach23
-rw-r--r--checks/083.foreach27
-rw-r--r--checks/084.foreach18
-rw-r--r--checks/085.foreach27
-rw-r--r--checks/086.foreach19
-rw-r--r--checks/087.foreach15
-rw-r--r--checks/088.stacks24
-rw-r--r--checks/089.stacks26
-rw-r--r--checks/090.compositio31
-rw-r--r--checks/091.compositio20
-rw-r--r--checks/092.compositio17
-rw-r--r--checks/093.compositio27
-rw-r--r--checks/094.dumpdef17
-rw-r--r--checks/095.dumpdef17
-rw-r--r--checks/096.trace21
-rw-r--r--checks/097.trace19
-rw-r--r--checks/098.trace38
-rw-r--r--checks/099.trace31
-rw-r--r--checks/100.trace16
-rw-r--r--checks/101.debug_leve28
-rw-r--r--checks/102.debug_leve18
-rw-r--r--checks/103.debug_leve16
-rw-r--r--checks/104.debug_outp25
-rw-r--r--checks/105.dnl12
-rw-r--r--checks/106.dnl14
-rw-r--r--checks/107.dnl16
-rw-r--r--checks/108.changequot15
-rw-r--r--checks/109.changequot17
-rw-r--r--checks/110.changequot15
-rw-r--r--checks/111.changequot21
-rw-r--r--checks/112.changequot33
-rw-r--r--checks/113.changequot31
-rw-r--r--checks/114.changequot20
-rw-r--r--checks/115.changequot27
-rw-r--r--checks/116.changequot15
-rw-r--r--checks/117.changequot13
-rw-r--r--checks/118.changequot11
-rw-r--r--checks/119.changecom19
-rw-r--r--checks/120.changecom19
-rw-r--r--checks/121.changecom17
-rw-r--r--checks/122.changecom23
-rw-r--r--checks/123.changecom35
-rw-r--r--checks/124.changecom13
-rw-r--r--checks/125.changeword15
-rw-r--r--checks/126.changeword20
-rw-r--r--checks/127.changeword41
-rw-r--r--checks/128.changeword39
-rw-r--r--checks/129.changeword21
-rw-r--r--checks/130.changeword16
-rw-r--r--checks/131.m4wrap17
-rw-r--r--checks/132.m4wrap26
-rw-r--r--checks/133.m4wrap26
-rw-r--r--checks/134.m4wrap16
-rw-r--r--checks/135.m4wrap15
-rw-r--r--checks/136.m4wrap12
-rw-r--r--checks/137.include19
-rw-r--r--checks/138.include16
-rw-r--r--checks/139.include16
-rw-r--r--checks/140.include13
-rw-r--r--checks/141.include13
-rw-r--r--checks/142.include13
-rw-r--r--checks/143.diversions40
-rw-r--r--checks/144.diversions36
-rw-r--r--checks/145.diversions18
-rw-r--r--checks/146.diversions17
-rw-r--r--checks/147.divert17
-rw-r--r--checks/148.divert17
-rw-r--r--checks/149.divert14
-rw-r--r--checks/150.divert13
-rw-r--r--checks/151.divert19
-rw-r--r--checks/152.undivert19
-rw-r--r--checks/153.undivert27
-rw-r--r--checks/154.undivert21
-rw-r--r--checks/155.undivert17
-rw-r--r--checks/156.undivert17
-rw-r--r--checks/157.undivert18
-rw-r--r--checks/158.divnum19
-rw-r--r--checks/159.cleardiver15
-rw-r--r--checks/160.cleardiver12
-rw-r--r--checks/161.len13
-rw-r--r--checks/162.index_macr13
-rw-r--r--checks/163.index_macr16
-rw-r--r--checks/164.index_macr12
-rw-r--r--checks/165.index_macr11
-rw-r--r--checks/166.regexp17
-rw-r--r--checks/167.regexp20
-rw-r--r--checks/168.regexp16
-rw-r--r--checks/169.substr13
-rw-r--r--checks/170.substr15
-rw-r--r--checks/171.translit19
-rw-r--r--checks/172.translit11
-rw-r--r--checks/173.translit31
-rw-r--r--checks/174.translit12
-rw-r--r--checks/175.patsubst22
-rw-r--r--checks/176.patsubst17
-rw-r--r--checks/177.patsubst22
-rw-r--r--checks/178.patsubst18
-rw-r--r--checks/179.patsubst16
-rw-r--r--checks/180.format29
-rw-r--r--checks/181.format24
-rw-r--r--checks/182.format12
-rw-r--r--checks/183.format12
-rw-r--r--checks/184.incr19
-rw-r--r--checks/185.eval18
-rw-r--r--checks/186.eval33
-rw-r--r--checks/187.eval23
-rw-r--r--checks/188.eval34
-rw-r--r--checks/189.eval27
-rw-r--r--checks/190.eval34
-rw-r--r--checks/191.platform_m15
-rw-r--r--checks/192.platform_m15
-rw-r--r--checks/193.platform_m19
-rw-r--r--checks/194.syscmd14
-rw-r--r--checks/195.syscmd11
-rw-r--r--checks/196.esyscmd14
-rw-r--r--checks/197.sysval35
-rw-r--r--checks/198.sysval26
-rw-r--r--checks/199.mkstemp32
-rw-r--r--checks/200.mkstemp17
-rw-r--r--checks/201.mkstemp21
-rw-r--r--checks/202.errprint17
-rw-r--r--checks/203.location13
-rw-r--r--checks/204.location18
-rw-r--r--checks/205.location36
-rw-r--r--checks/206.m4exit15
-rw-r--r--checks/207.m4exit15
-rw-r--r--checks/208.using_froz10
-rw-r--r--checks/209.using_froz20
-rw-r--r--checks/210.using_froz11
-rw-r--r--checks/211.extensions26
-rw-r--r--checks/212.other_inco18
-rw-r--r--checks/213.other_inco13
-rw-r--r--checks/214.improved_e15
-rw-r--r--checks/215.improved_f33
-rw-r--r--checks/216.improved_f34
-rw-r--r--checks/217.improved_f43
-rw-r--r--checks/218.improved_f35
-rw-r--r--checks/219.improved_f33
-rw-r--r--checks/220.improved_f49
-rw-r--r--checks/221.improved_f33
-rw-r--r--checks/222.improved_f37
-rw-r--r--checks/223.improved_f77
-rw-r--r--checks/224.improved_f11
-rw-r--r--checks/225.improved_f11
-rw-r--r--checks/226.improved_f11
-rw-r--r--checks/227.improved_f10
-rw-r--r--checks/228.improved_f14
-rw-r--r--checks/229.improved_c46
-rw-r--r--checks/230.improved_c16
-rw-r--r--checks/231.improved_m19
-rw-r--r--checks/232.improved_m31
-rw-r--r--checks/233.improved_c31
-rw-r--r--checks/234.improved_c37
-rw-r--r--checks/235.improved_c36
-rw-r--r--checks/236.improved_f21
-rw-r--r--checks/Makefile.in93
-rwxr-xr-xchecks/check-them191
-rwxr-xr-xchecks/get-them137
-rwxr-xr-xchecks/stackovf.test99
-rw-r--r--checks/stamp-checks0
-rwxr-xr-xconfigure35794
-rw-r--r--configure.ac185
-rw-r--r--doc/Makefile.am43
-rw-r--r--doc/Makefile.in1557
-rw-r--r--doc/fdl-1.3.texi506
-rw-r--r--doc/gendocs_template96
-rw-r--r--doc/gpl-3.0.texi717
-rw-r--r--doc/m4.1151
-rw-r--r--doc/m4.info134
-rw-r--r--doc/m4.info-17858
-rw-r--r--doc/m4.info-2909
-rw-r--r--doc/m4.texinfo8729
-rw-r--r--doc/stamp-vti4
-rw-r--r--doc/version.texi4
-rw-r--r--examples/COPYING8
-rw-r--r--examples/Makefile.am68
-rw-r--r--examples/Makefile.in1234
-rw-r--r--examples/capitalize.m412
-rw-r--r--examples/capitalize2.m419
-rw-r--r--examples/comments.m47
-rw-r--r--examples/curry.m47
-rw-r--r--examples/ddivert.m44
-rw-r--r--examples/debug.m44
-rw-r--r--examples/esyscmd.m45
-rw-r--r--examples/exp.m41
-rw-r--r--examples/file.m45
-rw-r--r--examples/foo1
-rw-r--r--examples/foreach.m48
-rw-r--r--examples/foreach2.m410
-rw-r--r--examples/foreachq.m49
-rw-r--r--examples/foreachq2.m410
-rw-r--r--examples/foreachq3.m49
-rw-r--r--examples/foreachq4.m413
-rw-r--r--examples/forloop.m46
-rw-r--r--examples/forloop2.m412
-rw-r--r--examples/forloop3.m413
-rw-r--r--examples/fstab.m46
-rw-r--r--examples/hanoi.m415
-rw-r--r--examples/incl-test.m42
-rw-r--r--examples/incl.m43
-rw-r--r--examples/include.m47
-rw-r--r--examples/indir.m410
-rw-r--r--examples/join.m415
-rw-r--r--examples/loop.m418
-rw-r--r--examples/misc.m49
-rw-r--r--examples/multiquotes.m417
-rw-r--r--examples/patsubst.m48
-rw-r--r--examples/pushpop.m425
-rw-r--r--examples/quote.m49
-rw-r--r--examples/regexp.m412
-rw-r--r--examples/reverse.m44
-rw-r--r--examples/stack.m416
-rw-r--r--examples/stack_sep.m417
-rw-r--r--examples/sync-lines.m411
-rw-r--r--examples/sysv-args.m414
-rw-r--r--examples/trace.m430
-rw-r--r--examples/translit.m48
-rw-r--r--examples/undivert.incl1
-rw-r--r--examples/undivert.m45
-rw-r--r--examples/wrap.m410
-rw-r--r--examples/wrapfifo.m410
-rw-r--r--examples/wraplifo.m410
-rw-r--r--examples/wraplifo2.m49
-rw-r--r--lib/Makefile.am29
-rw-r--r--lib/Makefile.in2814
-rw-r--r--lib/alloca.in.h56
-rw-r--r--lib/asnprintf.c35
-rw-r--r--lib/asprintf.c40
-rw-r--r--lib/basename-lgpl.c75
-rw-r--r--lib/basename.c58
-rw-r--r--lib/binary-io.h52
-rw-r--r--lib/btowc.c39
-rw-r--r--lib/c-ctype.c396
-rw-r--r--lib/c-ctype.h295
-rw-r--r--lib/c-stack.c353
-rw-r--r--lib/c-stack.h44
-rw-r--r--lib/canonicalize-lgpl.c379
-rw-r--r--lib/clean-temp.c785
-rw-r--r--lib/clean-temp.h133
-rw-r--r--lib/cloexec.c83
-rw-r--r--lib/cloexec.h38
-rw-r--r--lib/close-hook.c91
-rw-r--r--lib/close-hook.h72
-rw-r--r--lib/close-stream.c78
-rw-r--r--lib/close-stream.h2
-rw-r--r--lib/close.c42
-rw-r--r--lib/closein.c111
-rw-r--r--lib/closein.h32
-rw-r--r--lib/closeout.c124
-rw-r--r--lib/closeout.h36
-rw-r--r--lib/config.charset683
-rw-r--r--lib/config.hin1453
-rw-r--r--lib/dirname-lgpl.c86
-rw-r--r--lib/dirname.c38
-rw-r--r--lib/dirname.h46
-rw-r--r--lib/dosname.h53
-rw-r--r--lib/dup-safer-flag.c40
-rw-r--r--lib/dup-safer.c34
-rw-r--r--lib/dup2.c132
-rw-r--r--lib/errno.in.h167
-rw-r--r--lib/error.c394
-rw-r--r--lib/error.h65
-rw-r--r--lib/execute.c278
-rw-r--r--lib/execute.h44
-rw-r--r--lib/exitfail.c24
-rw-r--r--lib/exitfail.h18
-rw-r--r--lib/fatal-signal.c286
-rw-r--r--lib/fatal-signal.h76
-rw-r--r--lib/fclose.c47
-rw-r--r--lib/fcntl.c308
-rw-r--r--lib/fcntl.in.h308
-rw-r--r--lib/fd-safer-flag.c52
-rw-r--r--lib/fd-safer.c49
-rw-r--r--lib/fflush.c218
-rw-r--r--lib/filenamecat-lgpl.c88
-rw-r--r--lib/filenamecat.c41
-rw-r--r--lib/filenamecat.h27
-rw-r--r--lib/float+.h148
-rw-r--r--lib/float.in.h63
-rw-r--r--lib/fopen-safer.c63
-rw-r--r--lib/fopen.c105
-rw-r--r--lib/fpending.c30
-rw-r--r--lib/fpending.h34
-rw-r--r--lib/fpucw.h107
-rw-r--r--lib/fpurge.c137
-rw-r--r--lib/freadahead.c85
-rw-r--r--lib/freadahead.h38
-rw-r--r--lib/freading.c68
-rw-r--r--lib/freading.h53
-rw-r--r--lib/frexp.c166
-rw-r--r--lib/frexpl.c18
-rw-r--r--lib/fseeko.c146
-rw-r--r--lib/ftello.c77
-rw-r--r--lib/getdtablesize.c63
-rw-r--r--lib/getopt.c1192
-rw-r--r--lib/getopt.in.h253
-rw-r--r--lib/getopt1.c170
-rw-r--r--lib/getopt_int.h135
-rw-r--r--lib/gettext.h286
-rw-r--r--lib/gettimeofday.c144
-rw-r--r--lib/gl_anyhash_list1.h27
-rw-r--r--lib/gl_anyhash_list2.h138
-rw-r--r--lib/gl_anylinked_list1.h48
-rw-r--r--lib/gl_anylinked_list2.h1195
-rw-r--r--lib/gl_anytree_oset.h297
-rw-r--r--lib/gl_avltree_oset.c583
-rw-r--r--lib/gl_avltree_oset.h34
-rw-r--r--lib/gl_linkedhash_list.c124
-rw-r--r--lib/gl_linkedhash_list.h34
-rw-r--r--lib/gl_list.c283
-rw-r--r--lib/gl_list.h844
-rw-r--r--lib/gl_oset.c96
-rw-r--r--lib/gl_oset.h289
-rw-r--r--lib/gl_xlist.c128
-rw-r--r--lib/gl_xlist.h179
-rw-r--r--lib/gl_xoset.c46
-rw-r--r--lib/gl_xoset.h67
-rw-r--r--lib/glthread/lock.c1058
-rw-r--r--lib/glthread/lock.h927
-rw-r--r--lib/glthread/threadlib.c74
-rw-r--r--lib/glthread/tls.c61
-rw-r--r--lib/glthread/tls.h298
-rw-r--r--lib/gnulib.mk2580
-rw-r--r--lib/ignore-value.h62
-rw-r--r--lib/intprops.h86
-rw-r--r--lib/isnan.c174
-rw-r--r--lib/isnand-nolibm.h33
-rw-r--r--lib/isnand.c19
-rw-r--r--lib/isnanf-nolibm.h33
-rw-r--r--lib/isnanf.c20
-rw-r--r--lib/isnanl-nolibm.h33
-rw-r--r--lib/isnanl.c20
-rw-r--r--lib/langinfo.in.h177
-rw-r--r--lib/localcharset.c547
-rw-r--r--lib/localcharset.h41
-rw-r--r--lib/lseek.c62
-rw-r--r--lib/lstat.c91
-rw-r--r--lib/malloc.c60
-rw-r--r--lib/malloca.c141
-rw-r--r--lib/malloca.h134
-rw-r--r--lib/malloca.valgrind7
-rw-r--r--lib/math.in.h810
-rw-r--r--lib/mbrtowc.c396
-rw-r--r--lib/mbsinit.c61
-rw-r--r--lib/mbtowc-impl.h44
-rw-r--r--lib/mbtowc.c26
-rw-r--r--lib/memchr.c172
-rw-r--r--lib/memchr.valgrind14
-rw-r--r--lib/memchr2.c164
-rw-r--r--lib/memchr2.h31
-rw-r--r--lib/memchr2.valgrind14
-rw-r--r--lib/mkdtemp.c39
-rw-r--r--lib/mkstemp-safer.c63
-rw-r--r--lib/mkstemp.c46
-rw-r--r--lib/nl_langinfo.c270
-rw-r--r--lib/obstack.c428
-rw-r--r--lib/obstack.h512
-rw-r--r--lib/open.c167
-rw-r--r--lib/pathmax.h48
-rw-r--r--lib/pipe-safer.c56
-rw-r--r--lib/pipe2-safer.c52
-rw-r--r--lib/pipe2.c134
-rw-r--r--lib/printf-args.c188
-rw-r--r--lib/printf-args.h159
-rw-r--r--lib/printf-frexp.c188
-rw-r--r--lib/printf-frexp.h23
-rw-r--r--lib/printf-frexpl.c18
-rw-r--r--lib/printf-frexpl.h23
-rw-r--r--lib/printf-parse.c639
-rw-r--r--lib/printf-parse.h194
-rw-r--r--lib/progname.c92
-rw-r--r--lib/progname.h62
-rw-r--r--lib/quotearg.c888
-rw-r--r--lib/quotearg.h389
-rw-r--r--lib/rawmemchr.c136
-rw-r--r--lib/rawmemchr.valgrind12
-rw-r--r--lib/readlink.c74
-rw-r--r--lib/ref-add.sin30
-rw-r--r--lib/ref-del.sin25
-rw-r--r--lib/regcomp.c3876
-rw-r--r--lib/regex.c71
-rw-r--r--lib/regex.h675
-rw-r--r--lib/regex_internal.c1741
-rw-r--r--lib/regex_internal.h870
-rw-r--r--lib/regexec.c4417
-rw-r--r--lib/rename.c473
-rw-r--r--lib/rmdir.c53
-rw-r--r--lib/same-inode.h25
-rw-r--r--lib/sched.in.h51
-rw-r--r--lib/sig-handler.h44
-rw-r--r--lib/sigaction.c204
-rw-r--r--lib/siglist.h132
-rw-r--r--lib/signal.in.h362
-rw-r--r--lib/signbitd.c64
-rw-r--r--lib/signbitf.c64
-rw-r--r--lib/signbitl.c64
-rw-r--r--lib/sigprocmask.c329
-rw-r--r--lib/size_max.h31
-rw-r--r--lib/snprintf.c72
-rw-r--r--lib/spawn-pipe.c450
-rw-r--r--lib/spawn-pipe.h147
-rw-r--r--lib/spawn.in.h881
-rw-r--r--lib/spawn_faction_addclose.c59
-rw-r--r--lib/spawn_faction_adddup2.c60
-rw-r--r--lib/spawn_faction_addopen.c63
-rw-r--r--lib/spawn_faction_destroy.c31
-rw-r--r--lib/spawn_faction_init.c56
-rw-r--r--lib/spawn_int.h62
-rw-r--r--lib/spawnattr_destroy.c28
-rw-r--r--lib/spawnattr_init.c33
-rw-r--r--lib/spawnattr_setflags.c45
-rw-r--r--lib/spawnattr_setsigmask.c33
-rw-r--r--lib/spawni.c374
-rw-r--r--lib/spawnp.c33
-rw-r--r--lib/stat.c105
-rw-r--r--lib/stdarg.in.h36
-rw-r--r--lib/stdbool.in.h122
-rw-r--r--lib/stddef.in.h87
-rw-r--r--lib/stdint.in.h592
-rw-r--r--lib/stdio--.h41
-rw-r--r--lib/stdio-impl.h110
-rw-r--r--lib/stdio-safer.h36
-rw-r--r--lib/stdio.in.h1102
-rw-r--r--lib/stdlib--.h36
-rw-r--r--lib/stdlib-safer.h32
-rw-r--r--lib/stdlib.in.h759
-rw-r--r--lib/str-two-way.h453
-rw-r--r--lib/strchrnul.c142
-rw-r--r--lib/strchrnul.valgrind12
-rw-r--r--lib/streq.h176
-rw-r--r--lib/strerror.c356
-rw-r--r--lib/string.in.h970
-rw-r--r--lib/stripslash.c45
-rw-r--r--lib/strndup.c37
-rw-r--r--lib/strnlen.c31
-rw-r--r--lib/strsignal.c196
-rw-r--r--lib/strstr.c83
-rw-r--r--lib/strtod.c367
-rw-r--r--lib/strtol.c434
-rw-r--r--lib/sys_stat.in.h646
-rw-r--r--lib/sys_time.in.h101
-rw-r--r--lib/sys_wait.in.h130
-rw-r--r--lib/tempname.c311
-rw-r--r--lib/tempname.h50
-rw-r--r--lib/time.in.h249
-rw-r--r--lib/tmpdir.c133
-rw-r--r--lib/tmpdir.h26
-rw-r--r--lib/unistd--.h32
-rw-r--r--lib/unistd-safer.h31
-rw-r--r--lib/unistd.in.h1381
-rw-r--r--lib/unlocked-io.h136
-rw-r--r--lib/vasnprintf.c5578
-rw-r--r--lib/vasnprintf.h80
-rw-r--r--lib/vasprintf.c51
-rw-r--r--lib/verify.h163
-rw-r--r--lib/verror.c77
-rw-r--r--lib/verror.h53
-rw-r--r--lib/version-etc-fsf.c30
-rw-r--r--lib/version-etc.c258
-rw-r--r--lib/version-etc.h78
-rw-r--r--lib/w32spawn.h212
-rw-r--r--lib/wait-process.c361
-rw-r--r--lib/wait-process.h74
-rw-r--r--lib/waitpid.c31
-rw-r--r--lib/wchar.in.h922
-rw-r--r--lib/wcrtomb.c53
-rw-r--r--lib/wctype.in.h470
-rw-r--r--lib/xalloc-die.c41
-rw-r--r--lib/xalloc.h292
-rw-r--r--lib/xasprintf.c34
-rw-r--r--lib/xmalloc.c116
-rw-r--r--lib/xmalloca.c38
-rw-r--r--lib/xmalloca.h64
-rw-r--r--lib/xprintf.c79
-rw-r--r--lib/xprintf.h45
-rw-r--r--lib/xsize.h108
-rw-r--r--lib/xstrndup.c36
-rw-r--r--lib/xstrndup.h23
-rw-r--r--lib/xvasprintf.c110
-rw-r--r--lib/xvasprintf.h55
-rw-r--r--m4/00gnulib.m430
-rw-r--r--m4/alloca.m443
-rw-r--r--m4/ansi-c++.m4128
-rw-r--r--m4/assert.m424
-rw-r--r--m4/autobuild.m439
-rw-r--r--m4/btowc.m4121
-rw-r--r--m4/c-stack.m4360
-rw-r--r--m4/canonicalize.m494
-rw-r--r--m4/cloexec.m410
-rw-r--r--m4/close-stream.m413
-rw-r--r--m4/close.m426
-rw-r--r--m4/closein.m413
-rw-r--r--m4/closeout.m414
-rw-r--r--m4/codeset.m423
-rw-r--r--m4/config-h.m413
-rw-r--r--m4/configmake.m450
-rw-r--r--m4/dirname.m425
-rw-r--r--m4/double-slash-root.m438
-rw-r--r--m4/dup2.m470
-rw-r--r--m4/eealloc.m432
-rw-r--r--m4/environ.m438
-rw-r--r--m4/errno_h.m4118
-rw-r--r--m4/error.m439
-rw-r--r--m4/execute.m412
-rw-r--r--m4/exponentd.m4115
-rw-r--r--m4/exponentf.m492
-rw-r--r--m4/exponentl.m498
-rw-r--r--m4/extensions.m4118
-rw-r--r--m4/fatal-signal.m413
-rw-r--r--m4/fclose.m416
-rw-r--r--m4/fcntl-o.m4112
-rw-r--r--m4/fcntl.m488
-rw-r--r--m4/fcntl_h.m443
-rw-r--r--m4/fflush.m481
-rw-r--r--m4/filenamecat.m419
-rw-r--r--m4/float_h.m419
-rw-r--r--m4/fopen.m465
-rw-r--r--m4/fpending.m483
-rw-r--r--m4/fpieee.m452
-rw-r--r--m4/fpurge.m445
-rw-r--r--m4/freading.m410
-rw-r--r--m4/frexp.m4165
-rw-r--r--m4/frexpl.m4203
-rw-r--r--m4/fseeko.m475
-rw-r--r--m4/ftell.m416
-rw-r--r--m4/ftello.m4135
-rw-r--r--m4/getdtablesize.m415
-rw-r--r--m4/getopt.m4321
-rw-r--r--m4/getpagesize.m433
-rw-r--r--m4/gettimeofday.m4120
-rw-r--r--m4/gl_list.m410
-rw-r--r--m4/glibc21.m434
-rw-r--r--m4/gnulib-cache.m493
-rw-r--r--m4/gnulib-common.m4234
-rw-r--r--m4/gnulib-comp.m41776
-rw-r--r--m4/include_next.m4244
-rw-r--r--m4/inline.m440
-rw-r--r--m4/intlmacosx.m456
-rw-r--r--m4/intmax_t.m467
-rw-r--r--m4/inttypes_h.m429
-rw-r--r--m4/isnand.m499
-rw-r--r--m4/isnanf.m4188
-rw-r--r--m4/isnanl.m4256
-rw-r--r--m4/langinfo_h.m4105
-rw-r--r--m4/lcmessage.m435
-rw-r--r--m4/ldexp.m454
-rw-r--r--m4/ldexpl.m4118
-rw-r--r--m4/lib-ld.m4109
-rw-r--r--m4/lib-link.m4777
-rw-r--r--m4/lib-prefix.m4224
-rw-r--r--m4/libsigsegv.m416
-rw-r--r--m4/link.m443
-rw-r--r--m4/localcharset.m417
-rw-r--r--m4/locale-fr.m4246
-rw-r--r--m4/locale-ja.m4135
-rw-r--r--m4/locale-tr.m4127
-rw-r--r--m4/locale-zh.m4124
-rw-r--r--m4/locale_h.m4101
-rw-r--r--m4/localename.m412
-rw-r--r--m4/lock.m441
-rw-r--r--m4/longlong.m4113
-rw-r--r--m4/lseek.m449
-rw-r--r--m4/lstat.m469
-rw-r--r--m4/malloc.m466
-rw-r--r--m4/malloca.m415
-rw-r--r--m4/manywarnings.m4108
-rw-r--r--m4/math_h.m4146
-rw-r--r--m4/mbrtowc.m4564
-rw-r--r--m4/mbsinit.m440
-rw-r--r--m4/mbstate_t.m441
-rw-r--r--m4/mbtowc.m423
-rw-r--r--m4/memchr.m488
-rw-r--r--m4/mkdtemp.m421
-rw-r--r--m4/mkstemp.m468
-rw-r--r--m4/mmap-anon.m455
-rw-r--r--m4/mode_t.m426
-rw-r--r--m4/multiarch.m462
-rw-r--r--m4/nl_langinfo.m452
-rw-r--r--m4/nocrash.m4102
-rw-r--r--m4/open.m481
-rw-r--r--m4/pathmax.m413
-rw-r--r--m4/pipe2.m418
-rw-r--r--m4/posix_spawn.m4400
-rw-r--r--m4/printf-frexp.m438
-rw-r--r--m4/printf-frexpl.m446
-rw-r--r--m4/printf.m41481
-rw-r--r--m4/putenv.m441
-rw-r--r--m4/quotearg.m410
-rw-r--r--m4/rawmemchr.m421
-rw-r--r--m4/readlink.m462
-rw-r--r--m4/regex.m4225
-rw-r--r--m4/rename.m4188
-rw-r--r--m4/rmdir.m435
-rw-r--r--m4/sched_h.m435
-rw-r--r--m4/setenv.m4149
-rw-r--r--m4/setlocale.m427
-rw-r--r--m4/sig_atomic_t.m414
-rw-r--r--m4/sigaction.m445
-rw-r--r--m4/signal_h.m449
-rw-r--r--m4/signalblocking.m442
-rw-r--r--m4/signbit.m4348
-rw-r--r--m4/size_max.m479
-rw-r--r--m4/snprintf.m445
-rw-r--r--m4/spawn-pipe.m412
-rw-r--r--m4/spawn_h.m4113
-rw-r--r--m4/ssize_t.m423
-rw-r--r--m4/stat.m466
-rw-r--r--m4/stdarg.m475
-rw-r--r--m4/stdbool.m499
-rw-r--r--m4/stddef_h.m445
-rw-r--r--m4/stdint.m4479
-rw-r--r--m4/stdint_h.m427
-rw-r--r--m4/stdio-safer.m425
-rw-r--r--m4/stdio_h.m4140
-rw-r--r--m4/stdlib-safer.m410
-rw-r--r--m4/stdlib_h.m4105
-rw-r--r--m4/strchrnul.m421
-rw-r--r--m4/strdup.m445
-rw-r--r--m4/strerror.m468
-rw-r--r--m4/string_h.m4115
-rw-r--r--m4/strndup.m453
-rw-r--r--m4/strnlen.m432
-rw-r--r--m4/strsignal.m462
-rw-r--r--m4/strstr.m4127
-rw-r--r--m4/strtod.m4131
-rw-r--r--m4/strtol.m410
-rw-r--r--m4/symlink.m445
-rw-r--r--m4/sys_stat_h.m482
-rw-r--r--m4/sys_time_h.m472
-rw-r--r--m4/sys_wait_h.m433
-rw-r--r--m4/tempname.m422
-rw-r--r--m4/threadlib.m4369
-rw-r--r--m4/time_h.m4109
-rw-r--r--m4/tls.m412
-rw-r--r--m4/tmpdir.m412
-rw-r--r--m4/ungetc.m436
-rw-r--r--m4/unistd-safer.m413
-rw-r--r--m4/unistd_h.m4162
-rw-r--r--m4/unlocked-io.m441
-rw-r--r--m4/vasnprintf.m4289
-rw-r--r--m4/vasprintf-posix.m4101
-rw-r--r--m4/vasprintf.m446
-rw-r--r--m4/version-etc.m433
-rw-r--r--m4/wait-process.m413
-rw-r--r--m4/waitpid.m415
-rw-r--r--m4/warnings.m436
-rw-r--r--m4/wchar_h.m4232
-rw-r--r--m4/wchar_t.m424
-rw-r--r--m4/wcrtomb.m4101
-rw-r--r--m4/wctob.m4133
-rw-r--r--m4/wctomb.m423
-rw-r--r--m4/wctype_h.m4174
-rw-r--r--m4/wint_t.m432
-rw-r--r--m4/xalloc.m424
-rw-r--r--m4/xsize.m413
-rw-r--r--m4/xstrndup.m415
-rw-r--r--m4/xvasprintf.m411
-rw-r--r--maint.mk1273
-rw-r--r--src/Makefile.am28
-rw-r--r--src/Makefile.in1351
-rw-r--r--src/builtin.c2257
-rw-r--r--src/debug.c444
-rw-r--r--src/eval.c855
-rw-r--r--src/format.c385
-rw-r--r--src/freeze.c398
-rw-r--r--src/input.c1156
-rw-r--r--src/m4.c688
-rw-r--r--src/m4.h487
-rw-r--r--src/macro.c391
-rw-r--r--src/output.c1017
-rw-r--r--src/path.c205
-rw-r--r--src/symtab.c401
-rw-r--r--tests/Makefile.am20
-rw-r--r--tests/Makefile.in3740
-rw-r--r--tests/c-strcase.h56
-rw-r--r--tests/c-strcasecmp.c57
-rw-r--r--tests/c-strncasecmp.c57
-rw-r--r--tests/ftell.c38
-rw-r--r--tests/getpagesize.c39
-rw-r--r--tests/gl_array_list.c680
-rw-r--r--tests/gl_array_list.h34
-rw-r--r--tests/gl_array_oset.c357
-rw-r--r--tests/gl_array_oset.h34
-rw-r--r--tests/gnulib.mk1400
-rw-r--r--tests/init.sh474
-rw-r--r--tests/link.c203
-rw-r--r--tests/locale.in.h96
-rw-r--r--tests/localename.c2959
-rw-r--r--tests/localename.h97
-rw-r--r--tests/macros.h64
-rw-r--r--tests/minus-zero.h74
-rw-r--r--tests/nan.h60
-rw-r--r--tests/putenv.c132
-rw-r--r--tests/setenv.c390
-rw-r--r--tests/setlocale.c938
-rw-r--r--tests/signature.h48
-rw-r--r--tests/strdup.c55
-rw-r--r--tests/symlink.c57
-rw-r--r--tests/test-alloca-opt.c62
-rw-r--r--tests/test-array_list.c329
-rw-r--r--tests/test-array_oset.c144
-rw-r--r--tests/test-avltree_oset.c136
-rw-r--r--tests/test-binary-io.c64
-rwxr-xr-xtests/test-binary-io.sh11
-rw-r--r--tests/test-btowc.c63
-rwxr-xr-xtests/test-btowc1.sh15
-rwxr-xr-xtests/test-btowc2.sh15
-rw-r--r--tests/test-c-ctype.c386
-rw-r--r--tests/test-c-stack.c76
-rwxr-xr-xtests/test-c-stack.sh21
-rwxr-xr-xtests/test-c-stack2.sh36
-rwxr-xr-xtests/test-c-strcase.sh21
-rw-r--r--tests/test-c-strcasecmp.c65
-rw-r--r--tests/test-c-strncasecmp.c79
-rw-r--r--tests/test-canonicalize-lgpl.c222
-rw-r--r--tests/test-cloexec.c141
-rw-r--r--tests/test-closein.c53
-rwxr-xr-xtests/test-closein.sh38
-rw-r--r--tests/test-dirname.c191
-rw-r--r--tests/test-dup-safer.c172
-rw-r--r--tests/test-dup2.c198
-rw-r--r--tests/test-environ.c44
-rw-r--r--tests/test-errno.c117
-rw-r--r--tests/test-fcntl-h-c++.cc43
-rw-r--r--tests/test-fcntl-h.c38
-rw-r--r--tests/test-fcntl.c341
-rw-r--r--tests/test-fflush.c145
-rw-r--r--tests/test-fflush2.c108
-rwxr-xr-xtests/test-fflush2.sh9
-rw-r--r--tests/test-filenamecat.c66
-rw-r--r--tests/test-fopen-safer.c31
-rw-r--r--tests/test-fopen.c34
-rw-r--r--tests/test-fopen.h73
-rw-r--r--tests/test-fpending.c41
-rwxr-xr-xtests/test-fpending.sh12
-rw-r--r--tests/test-fpurge.c134
-rw-r--r--tests/test-freadahead.c73
-rwxr-xr-xtests/test-freadahead.sh5
-rw-r--r--tests/test-freading.c130
-rw-r--r--tests/test-frexp.c196
-rw-r--r--tests/test-frexpl.c208
-rw-r--r--tests/test-fseeko.c74
-rwxr-xr-xtests/test-fseeko.sh5
-rwxr-xr-xtests/test-fseeko2.sh3
-rw-r--r--tests/test-ftell.c107
-rwxr-xr-xtests/test-ftell.sh5
-rwxr-xr-xtests/test-ftell2.sh3
-rw-r--r--tests/test-ftell3.c78
-rw-r--r--tests/test-ftello.c118
-rwxr-xr-xtests/test-ftello.sh5
-rwxr-xr-xtests/test-ftello2.sh3
-rw-r--r--tests/test-ftello3.c78
-rw-r--r--tests/test-getdtablesize.c34
-rw-r--r--tests/test-getopt.c99
-rw-r--r--tests/test-getopt.h1369
-rw-r--r--tests/test-getopt_long.h2125
-rw-r--r--tests/test-gettimeofday.c47
-rw-r--r--tests/test-ignore-value.c84
-rw-r--r--tests/test-isnand-nolibm.c22
-rw-r--r--tests/test-isnand.h62
-rw-r--r--tests/test-isnanf-nolibm.c21
-rw-r--r--tests/test-isnanf.h64
-rw-r--r--tests/test-isnanl-nolibm.c23
-rw-r--r--tests/test-isnanl.h126
-rw-r--r--tests/test-langinfo-c++.cc35
-rw-r--r--tests/test-langinfo.c92
-rw-r--r--tests/test-link.c47
-rw-r--r--tests/test-link.h176
-rw-r--r--tests/test-linkedhash_list.c441
-rw-r--r--tests/test-locale-c++.cc39
-rw-r--r--tests/test-locale-c++2.cc20
-rw-r--r--tests/test-locale.c49
-rw-r--r--tests/test-localename.c747
-rw-r--r--tests/test-lseek.c96
-rwxr-xr-xtests/test-lseek.sh18
-rw-r--r--tests/test-lstat.c60
-rw-r--r--tests/test-lstat.h116
-rw-r--r--tests/test-malloc-gnu.c29
-rw-r--r--tests/test-malloca.c62
-rw-r--r--tests/test-math-c++.cc163
-rw-r--r--tests/test-math-c++2.cc20
-rw-r--r--tests/test-math.c53
-rwxr-xr-xtests/test-mbrtowc-w32-1.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-2.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-3.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-4.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-5.sh4
-rw-r--r--tests/test-mbrtowc-w32.c735
-rw-r--r--tests/test-mbrtowc.c343
-rwxr-xr-xtests/test-mbrtowc1.sh15
-rwxr-xr-xtests/test-mbrtowc2.sh15
-rwxr-xr-xtests/test-mbrtowc3.sh15
-rwxr-xr-xtests/test-mbrtowc4.sh15
-rw-r--r--tests/test-mbsinit.c55
-rwxr-xr-xtests/test-mbsinit.sh15
-rw-r--r--tests/test-memchr.c132
-rw-r--r--tests/test-memchr2.c100
-rw-r--r--tests/test-nl_langinfo.c126
-rwxr-xr-xtests/test-nl_langinfo.sh17
-rw-r--r--tests/test-open.c41
-rw-r--r--tests/test-open.h87
-rw-r--r--tests/test-pipe2.c145
-rw-r--r--tests/test-posix_spawn1.c166
-rw-r--r--tests/test-posix_spawn1.in.sh2
-rw-r--r--tests/test-posix_spawn2.c139
-rw-r--r--tests/test-posix_spawn2.in.sh3
-rw-r--r--tests/test-printf-frexp.c119
-rw-r--r--tests/test-printf-frexpl.c134
-rw-r--r--tests/test-quotearg-simple.c294
-rw-r--r--tests/test-quotearg.h133
-rw-r--r--tests/test-rawmemchr.c92
-rw-r--r--tests/test-readlink.c48
-rw-r--r--tests/test-readlink.h119
-rw-r--r--tests/test-rename.c47
-rw-r--r--tests/test-rename.h949
-rw-r--r--tests/test-rmdir.c47
-rw-r--r--tests/test-rmdir.h101
-rw-r--r--tests/test-sched.c38
-rw-r--r--tests/test-setenv.c56
-rw-r--r--tests/test-setlocale1.c59
-rwxr-xr-xtests/test-setlocale1.sh34
-rw-r--r--tests/test-setlocale2.c55
-rwxr-xr-xtests/test-setlocale2.sh15
-rw-r--r--tests/test-sigaction.c122
-rw-r--r--tests/test-signal-c++.cc51
-rw-r--r--tests/test-signal-c++2.cc20
-rw-r--r--tests/test-signal.c129
-rw-r--r--tests/test-signbit.c176
-rw-r--r--tests/test-snprintf.c64
-rw-r--r--tests/test-spawn-c++.cc139
-rw-r--r--tests/test-spawn-pipe.c204
-rwxr-xr-xtests/test-spawn-pipe.sh8
-rw-r--r--tests/test-spawn.c54
-rw-r--r--tests/test-stat.c56
-rw-r--r--tests/test-stat.h100
-rw-r--r--tests/test-stdbool.c118
-rw-r--r--tests/test-stddef.c52
-rw-r--r--tests/test-stdint.c361
-rw-r--r--tests/test-stdio-c++.cc191
-rw-r--r--tests/test-stdio-c++2.cc20
-rw-r--r--tests/test-stdio.c43
-rw-r--r--tests/test-stdlib-c++.cc163
-rw-r--r--tests/test-stdlib-c++2.cc20
-rw-r--r--tests/test-stdlib.c54
-rw-r--r--tests/test-strchrnul.c86
-rw-r--r--tests/test-strerror.c57
-rw-r--r--tests/test-string-c++.cc146
-rw-r--r--tests/test-string-c++2.cc20
-rw-r--r--tests/test-string.c33
-rw-r--r--tests/test-strnlen.c68
-rw-r--r--tests/test-strsignal.c78
-rw-r--r--tests/test-strstr.c277
-rw-r--r--tests/test-strtod.c986
-rw-r--r--tests/test-symlink.c47
-rw-r--r--tests/test-symlink.h95
-rw-r--r--tests/test-sys_stat-c++.cc88
-rw-r--r--tests/test-sys_stat.c288
-rw-r--r--tests/test-sys_time-c++.cc36
-rw-r--r--tests/test-sys_time.c29
-rw-r--r--tests/test-sys_wait-c++.cc35
-rw-r--r--tests/test-sys_wait.c47
-rw-r--r--tests/test-sys_wait.h53
-rw-r--r--tests/test-time-c++.cc57
-rw-r--r--tests/test-time-c++2.cc20
-rw-r--r--tests/test-time.c35
-rw-r--r--tests/test-unistd-c++.cc203
-rw-r--r--tests/test-unistd.c56
-rw-r--r--tests/test-unsetenv.c61
-rwxr-xr-xtests/test-update-copyright.sh537
-rw-r--r--tests/test-vasnprintf.c94
-rw-r--r--tests/test-vasprintf-posix.c3663
-rw-r--r--tests/test-vasprintf.c103
-rwxr-xr-xtests/test-vc-list-files-cvs.sh54
-rwxr-xr-xtests/test-vc-list-files-git.sh42
-rw-r--r--tests/test-verify.c69
-rwxr-xr-xtests/test-verify.sh24
-rw-r--r--tests/test-version-etc.c33
-rwxr-xr-xtests/test-version-etc.sh43
-rw-r--r--tests/test-wchar-c++.cc218
-rw-r--r--tests/test-wchar.c37
-rwxr-xr-xtests/test-wcrtomb-w32-1.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-2.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-3.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-4.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-5.sh4
-rw-r--r--tests/test-wcrtomb-w32.c332
-rw-r--r--tests/test-wcrtomb.c162
-rwxr-xr-xtests/test-wcrtomb.sh35
-rw-r--r--tests/test-wctype-h-c++.cc65
-rw-r--r--tests/test-wctype-h.c74
-rw-r--r--tests/test-xalloc-die.c30
-rwxr-xr-xtests/test-xalloc-die.sh36
-rw-r--r--tests/test-xvasprintf.c129
-rw-r--r--tests/unsetenv.c120
-rw-r--r--tests/wctob.c38
-rw-r--r--tests/wctomb-impl.h34
-rw-r--r--tests/wctomb.c25
-rw-r--r--tests/zerosize-ptr.h68
1021 files changed, 230260 insertions, 0 deletions
diff --git a/.prev-version b/.prev-version
new file mode 100644
index 0000000..8a3b8ac
--- /dev/null
+++ b/.prev-version
@@ -0,0 +1 @@
+1.4.15
diff --git a/.tarball-version b/.tarball-version
new file mode 100644
index 0000000..6ee81ab
--- /dev/null
+++ b/.tarball-version
@@ -0,0 +1 @@
+1.4.16
diff --git a/.version b/.version
new file mode 100644
index 0000000..6ee81ab
--- /dev/null
+++ b/.version
@@ -0,0 +1 @@
+1.4.16
diff --git a/.x-sc_prohibit_tab_based_indentation b/.x-sc_prohibit_tab_based_indentation
new file mode 100644
index 0000000..bd9127e
--- /dev/null
+++ b/.x-sc_prohibit_tab_based_indentation
@@ -0,0 +1,5 @@
+^GNUMakefile$
+Makefile\.am$
+\.mk$
+^HACKING$
+ChangeLog.*
diff --git a/.x-update-copyright b/.x-update-copyright
new file mode 100644
index 0000000..725ba40
--- /dev/null
+++ b/.x-update-copyright
@@ -0,0 +1 @@
+m4/gnulib-cache.m4
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..667db4c
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,42 @@
+Authors of GNU M4.
+
+The following contributors have warranted legal paper exchanges with
+the Free Software Foundation for their contributions to GNU M4. Also
+see the files ChangeLog and THANKS. This list results from searching
+for /\bM4\b/ in the file /gd/gnuorg/copyright.list on the
+fencepost.gnu.org machine.
+
+Rene' Seindal seindal@diku.dk 1990-03-28
+James L. Avera jima@netcom.com 1993-10-04
+Pete Chown pete.chown@dale.dircon.co.uk 1994-06-28
+John Gerard Makecki johnm@vlibs.com 1995-04-24
+Francois Pinard pinard@iro.umontreal.ca 1996-02-01
+Thomas Tanner tanner@ffii.org 1999-06-23
+Gary V. Vaughan gary@gnu.org 2000-10-02
+Yuji Minejima ? 2001-05-09
+Akim Demaille akim@freefriends.org 2001-11-01
+Andrew James Bettison andrewb@zip.com.au 2001-11-19
+Noah Jeffrey Misch noah@cs.caltech.edu 2004-07-05
+Michael Elizabeth Chastain mec@shout.net 2001-12-27
+William C. Cox bill@qswtools.com 2004-12-04
+Alexandre Duret-Lutz adl@gnu.org 2004-12-04
+John Gatewood Ham zappaman@buraphalinux.org 2005-11-01
+Eric Benjamin Blake ebb9@byu.net 2006-01-18
+John Brzustowski jbrzusto@fastmail.fm 2006-03-06
+Ralf Wildenhues Ralf.Wildenhues@gmx.de 2006-03-20
+Markus Duft markus.duft@salomon.at 2006-08-03
+Joel E. Denny jdenny@clemson.edu 2009-08-18
+David Warme David.Warme@Group-W-Inc.com 2010-03-10
+Raphael Poss m4-patches@raphael.poss.name 2010-10-04
+Tim Rice tim@multitalents.net 2011-01-24
+
+========================================================================
+
+Copyright (C) 2000, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/BACKLOG b/BACKLOG
new file mode 100644
index 0000000..e1e2e06
--- /dev/null
+++ b/BACKLOG
@@ -0,0 +1,60 @@
+# Summary of pending email for GNU m4 1.4.
+# Last updated: Saturday, November 05, 1994.
+
+rmail/announce
+ 1. 15 Sep 94 <pinard@IRO.UMontreal.CA> Release: GNU m4 1.3
+ 2. 29 Oct 94 <pinard@IRO.UMontreal.CA> Prerelease: GNU m4 1.3.1
+
+rmail/changeword
+ 1. 02 Sep 94 <pinard> Re: Prerelease: GNU m4 1.2.3
+ 2. 05 Sep 94 <Pete.Chown@dale.dircon.co.uk> Re: Prerelease: GNU m4 1.2.3
+
+rmail/configuration
+ 1. 03 Nov 94 <Fredrik_Lundh@ivab.se> Re: m4 1.3 on DEC OSF/1 3.0
+ 2. 05 Nov 94 <pinard> Re: m4 1.3 on DEC OSF/1 3.0
+
+rmail/documentation
+ 1. 05 Jun 92 <berstel@mipsmath.math.uqam.ca> Re: M4
+ 2. 10 Nov 92 <tchrist@convex.COM> Re: Is anyone using m4?
+ 3. 25 May 94 <schwab@issan.informatik.uni-dortmund.de> Autoconf 1.11: minor bu
+ 4. 27 Jul 94 <pinard@IRO.UMontreal.CA> Re: 0.95: Spacing details
+ 5. 28 Jul 94 <pinard@IRO.UMontreal.CA> Re: 0.95: Spacing details
+ 6. 31 Aug 94 <kb@cs.umb.edu> Re: Frozen file documentation to proofread
+
+rmail/floating-point
+ 1. 27 Oct 94 <johnm@vlibs.com> Re: enhancement to m4 eval()
+ 2. 25 Oct 94 <johnm@vlibs.com> enhancement to m4
+ 3. 27 Oct 94 <pinard> Re: enhancement to m4
+ 4. 27 Oct 94 <johnm@vlibs.com> Re: enhancement to m4 eval()
+ 5. 27 Oct 94 <pinard> Re: enhancement to m4 eval()
+ 6. 27 Oct 94 <johnm@vlibs.com> Re: enhancement to m4 eval()
+ 7. 28 Oct 94 <pinard> Re: enhancement to m4 eval()
+ 8. 28 Oct 94 <pinard> Re: enhancement to m4 eval()
+ 9. 28 Oct 94 <feeley@IRO.UMontreal.CA> Re: enhancement to m4 eval()
+10. 28 Oct 94 <pinard> Re: enhancement to m4 eval()
+11. 28 Oct 94 <johnm@vlibs.com> Re: enhancement to m4 eval()
+12. 28 Oct 94 <johnm@vlibs.com> Re: enhancement to m4 eval()
+13. 28 Oct 94 <pinard@IRO.UMontreal.CA> Re: enhancement to m4 eval()
+
+rmail/format-rewrite
+ 1. 25 Jun 94 <tmcconne@sedona.intel.com> Re: Prerelease: GNU m4 1.1.3
+
+rmail/named-formals
+ 1. 30 Sep 94 <djm@va.pubnix.com> m4 macros with named formal parameters
+
+rmail/purify
+ 1. 06 Dec 93 <vern@horse.ee.lbl.gov> m4 1.1.1 "make realclean"
+
+rmail/speed
+ 1. 29 Aug 94 <pinard> Re: diversions and freezing
+ 2. 05 Sep 94 <djm@va.pubnix.com> slowness
+ 3. 04 Oct 94 <pinard> Autoconf, m4, and dnl's.
+
+Copyright (C) 2000, 2006, 2009-2011 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..894ca8b
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,5305 @@
+2011-03-01 Eric Blake <eblake@redhat.com>
+
+ Release Version 1.4.16.
+ * gnulib: Update to latest.
+ * NEWS: Mention the release.
+ * src/builtin.c (m4_defn): Silence spurious -Wstrict-overflow
+ warnings from gcc 4.5.1 at -O2.
+
+2011-02-28 Eric Blake <eblake@redhat.com>
+
+ index: fix typo in previous commit
+ * doc/m4.texinfo (Index macro): Actually expose the bug.
+
+2011-02-26 Eric Blake <eblake@redhat.com>
+
+ index: fix another regression from faulty strstr
+ * gnulib: Update to latest, for strstr fix.
+ * doc/m4.texinfo (Index macro): Test for the bug.
+ * NEWS: Document the fix.
+ * THANKS: Update.
+ Reported by Mike Stump, with additional analysis from Ralf
+ Wildenhues and Jim Meyering.
+
+2011-02-07 Eric Blake <eblake@redhat.com>
+
+ maint: speed up configure, using latest gnulib
+ * gnulib: Update to latest.
+ * m4/gnulib-cache.m4: Import fclose and rename modules.
+ * configure.ac (gl_ASSERT_NO_GNULIB_POSIXCHECK): Speed up normal
+ configure runs (and document how to rerun GNULIB_POSIXCHECK).
+ * HACKING: Document GNULIB_POSIXCHECK.
+
+ maint: update http git cloning instructions
+ * HACKING: Git http doesn't like the redirect at git.sv.gnu.org.
+ * THANKS: Update.
+ Reported by Mike Dupont.
+
+2011-02-01 Eric Blake <eblake@redhat.com>
+
+ maint: update to latest gnulib
+ * gnulib: Update to latest.
+ * m4/gnulib-cache.m4: Regenerate.
+ * src/builtin.c (m4_ifelse): Use STREQ.
+
+2011-01-25 Eric Blake <eblake@redhat.com>
+
+ maint: reflect recent copyright assignments
+ * AUTHORS: Update.
+
+2011-01-03 Eric Blake <eblake@redhat.com>
+
+ maint: update copyright year
+ * gnulib: Update to latest.
+ * m4/gnulib-cache.m4: Regenerate.
+ * all other files: Run 'make update-copyright'.
+
+ maint: document use of copyright ranges
+ * README: Copy coreutils wording for allowing copyright year
+ ranges. Also mention libsigsegv 2.9.
+ * cfg.mk (UPDATE_COPYRIGHT_USE_INTERVALS): Now that GNU Coding
+ Standards permit it, prefer shorthand copyright.
+ * HACKING: Update libsigsegv preference.
+ * NEWS: 1.4.16 will be in 2011.
+ * doc/m4.texinfo (History): Likewise.
+
+2010-12-31 Eric Blake <eblake@redhat.com>
+
+ main: avoid leaking string on Haiku
+ * src/m4.c (main): Avoid leak when SIGBUS == SIGSEGV.
+ * THANKS: Update.
+ Reported by Scott McCreary.
+
+2010-12-24 Eric Blake <eblake@redhat.com>
+
+ build: pull in various gnulib fixes
+ * gnulib: Update to latest.
+ * m4/gnulib-cache.m4: Reflect spawn-pipe module name change.
+ * src/builtin.c (includes): Likewise.
+ (define_user_macro): Alter comment to appease syntax-check.
+ * src/input.c (pop_wrapup): Likewise.
+ * src/output.c (undivert_all): Likewise.
+ * cfg.mk (local-checks-to-skip): Skip new rule.
+
+ maint: reflect recent copyright assignment
+ * AUTHORS: Add Raphael Poss.
+
+2010-10-21 Eric Blake <eblake@redhat.com>
+
+ build: work around glibc and libsigsegv bugs
+ * gnulib: Update to latest.
+ * m4/gnulib-cache.m4: Regenerate.
+ * docs/m4.texinfo (Index macro): Expose strstr bug.
+ * NEWS: Mention fixes.
+
+ docs: mention more history
+ * doc/m4.texinfo (History): Add upcoming 1.4.16 release.
+
+2010-08-31 Eric Blake <eblake@redhat.com>
+
+ Release Version 1.4.15.
+ * gnulib: Update to latest.
+ * NEWS: Mention the release.
+
+2010-08-30 Eric Blake <eblake@redhat.com>
+
+ Clean up compiler warnings.
+ * src/builtin.c (m4_patsubst): Drop dead store.
+ * src/eval.c (unary_term): Likewise.
+ * src/input.c (match_input): Likewise. Also drop useless casts to
+ void.
+ * src/symtab.c (symtab_debug): Drop useless casts.
+
+ Test previous commit.
+ * doc/m4.texinfo (Format): Add a test.
+ * NEWS: Document the fix.
+ * THANKS: Update.
+
+2010-08-30 Carlo Teubner <carlo.teubner@gmail.com> (tiny change)
+
+ Avoid a crash with bad format string.
+ * src/format.c (expand_format): Fix off-by-one error.
+
+2010-08-30 Eric Blake <eblake@redhat.com>
+
+ Document recent bug fixes.
+ * NEWS: Add some entries.
+ * gnulib: Update to latest, for more AIX fixes.
+
+2010-07-30 Eric Blake <eblake@redhat.com>
+
+ Update to newer gnulib.
+ * gnulib: Update to latest, for strtod fix.
+ * src/Makefile.am (m4_LDADD): Update link libraries accordingly.
+ * cfg.mk (local-checks-to-skip): Skip broken check.
+ * doc/m4.texinfo: Drop all use of @acronym{}.
+ * THANKS: Update.
+ Reported by Rainer Tammer.
+
+2010-06-04 Eric Blake <eblake@redhat.com>
+
+ Reflect recent copyright assignment.
+ * AUTHORS: Add David Warme.
+
+ Update to newer gnulib.
+ * gnulib: Update to latest, and include C++ tests.
+ * configure.ac (gl_CXX_CHOICE_DEFAULT_NO): Make default for C++
+ tests be disabled...
+ * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): ...but run them when
+ building package.
+ * m4/gnulib-cache.m4: Regenerate.
+ * build-aux/.cvsignore: Likewise.
+ * build-aux/.gitignore: Likewise.
+
+ Fix build on newer glibc.
+ * src/m4.h (includes): Add <sys/stat.h>.
+ * THANKS: Update.
+ Reported by Todd Rinaldo.
+
+2010-03-02 Giuseppe Scrivano <gscrivano@gnu.org> (tiny change)
+
+ Support bootstrap --gnulib-srcdir=DIR.
+ * bootstrap: Add --gnulib-srcdir option, which overrides
+ GNULIB_SRCDIR, for consistency with gnulib bootstrap.
+
+2010-02-24 Eric Blake <eblake@redhat.com>
+
+ Release Version 1.4.14.
+ * gnulib: Update to latest.
+ * README: Increase libsigsegv recommendation.
+ * HACKING: Likewise. Tweak release instructions.
+ * NEWS: Mention the release.
+
+ Improve parsing example.
+ * doc/m4.texinfo (Input processing): Double-quote argument to
+ translit, for robustness.
+ * THANKS: Update.
+ Reported by Chris Penev.
+
+2010-01-29 Eric Blake <ebb9@byu.net>
+
+ Document upcoming release.
+ * gnulib: Update to latest.
+ * doc/m4.texinfo (History): Mention 1.4.14.
+
+2010-01-06 Eric Blake <ebb9@byu.net>
+
+ Use correct license on auxiliary documentation.
+ * gnulib: Update to latest.
+ * AUTHORS: Use GFDL 1.3, not 1.2.
+ * BACKLOG: Likewise.
+ * README: Likewise.
+ * THANKS: Likewise.
+ * TODO: Likewise.
+ * NEWS: Place under GFDL.
+ * cfg.mk (old_NEWS_hash): Update.
+
+2010-01-05 Eric Blake <ebb9@byu.net>
+
+ Remove more TAB characters.
+ * THANKS: Use space for alignment.
+ * bootstrap: Likewise.
+ * checks/stackovf.test: Likewise.
+ * configure.ac: Likewise.
+ * src/builtin.c: Likewise. Also update some stale comments.
+ * src/debug.c: Likewise.
+ * src/eval.c: Likewise.
+ * src/format.c: Likewise.
+ * src/freeze.c: Likewise.
+ * src/input.c: Likewise.
+ * src/m4.c: Likewise.
+ * src/m4.h: Likewise.
+ * src/macro.c: Likewise.
+ * src/output.c: Likewise.
+ * src/path.c: Likewise.
+ * src/symtab.c: Likewise.
+
+ Clarify minimum bootstrap requirements.
+ * bootstrap: Avoid out-of-date duplicated data.
+
+ Security fix by requiring newer automake features.
+ * configure.ac (AM_INIT_AUTOMAKE): Add dist-xz, color-tests,
+ parallel-tests, and silent-rules.
+ (AC_PREREQ): Bump autoconf requirement to 2.62, per automake.
+ * HACKING: Update minimum requirements.
+ * NEWS: Document the fix.
+
+ Drop hard-coding of GPG id.
+ * gnulib: Update to latest.
+ * m4/gnulib-cache.m4: Regenerate.
+ * cfg.mk (gpg_key_ID): Delete, now that maint.mk provides a
+ sensible default.
+ (update-copyright-env): Don't let environment interfere with wrap
+ column.
+
+2010-01-01 Eric Blake <ebb9@byu.net>
+
+ Update copyright year.
+ All files impacted, via 'make update-copyright'. Additionally:
+ * .gitignore: Ignore backup files.
+
+2009-12-29 Eric Blake <ebb9@byu.net>
+
+ Document new indentation policy.
+ * HACKING: Document indentation policy.
+ * .x-sc_prohibit_tab_based_indentation: New file.
+ * cfg.mk (sc_prohibit_tab_based_indentation): New rule.
+ * Makefile.am (syntax_check_exceptions): New macro.
+ (EXTRA_DIST): Distribute exception files, and .prev-version.
+
+ Switch to indentation by space, not tab.
+ * .gitmodules: Convert leading tabs to spaces.
+ * TODO: Likewise.
+ * bootstrap: Likewise.
+ * c-boxes.el: Likewise.
+ * checks/check-them: Likewise.
+ * checks/get-them: Likewise.
+ * checks/stackovf.test: Likewise.
+ * configure.ac: Likewise.
+ * src/builtin.c: Likewise.
+ * src/debug.c: Likewise.
+ * src/eval.c: Likewise.
+ * src/format.c: Likewise.
+ * src/freeze.c: Likewise.
+ * src/input.c: Likewise.
+ * src/m4.c: Likewise.
+ * src/m4.h: Likewise.
+ * src/macro.c: Likewise.
+ * src/output.c: Likewise.
+ * src/path.c: Likewise.
+ * src/symtab.c: Likewise.
+
+ Update to latest gnulib.
+ * gnulib: Update.
+ * m4/gnulib-cache.m4: Import xoset.
+ * src/output.c (includes): Ensure that gnulib oset usage will
+ call xalloc_die on memory failure.
+ * build-aux/.cvsignore: Regenerate.
+ * build-aux/.gitignore: Likewise.
+
+2009-11-28 Eric Blake <ebb9@byu.net>
+
+ Work around BSD getopt bug.
+ * gnulib: Update.
+ * doc/m4.texinfo (Command line files): Add test.
+
+ Use fastmap for better regex performance.
+ * src/input.c (word_start): Delete.
+ (pop_wrapup): Free memory on exit.
+ (set_word_regexp): Compile a fastmap instead.
+ (peek_token, next_token): Use the fastmap.
+
+2009-11-26 Eric Blake <ebb9@byu.net>
+
+ Ignore write failures before stack overflow exit.
+ * m4/gnulib-cache.m4: Import ignore-value module.
+ * src/m4.c (fault_handler): Use it to avoid compiler warning.
+
+2009-11-25 Eric Blake <ebb9@byu.net>
+
+ Allow use of compiler warnings.
+ * m4/gnulib-cache.m4: Import manywarnings module.
+ * configure.ac (WERROR_CFLAGS, WARN_CFLAGS): New variables.
+ * src/Makefile.am (AM_CFLAGS): Use them.
+ * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Turn on warnings during
+ distcheck.
+ * src/m4.h (M4_GNUC_NORETURN): New macro.
+ (trace_post): Delete unused parameter.
+ * src/m4.c (usage): Mark as noreturn.
+ (main): Remove unused parameter.
+ * src/debug.c (trace_post): Likewise.
+ (trace_pre): Cover all enum values.
+ * src/symtab.c (lookup_symbol): Likewise.
+ * src/builtin.c (define_macro, m4_dumpdef): Likewise.
+ (m4_define, m4_undefine, m4_pushdef, m4_popdef, m4_sysval)
+ (m4_divert, m4_undivert, m4_dnl, m4_changequote, m4_changecom)
+ (m4_changeword, m4_syscmd, m4_include, m4_sinclude, m4_m4exit)
+ (m4_debugmode, m4_debugfile, m4_placeholder): Mark unused
+ parameters.
+ (mkstemp_helper): Use parameter.
+ (substitute): Avoid signed vs. unsigned comparison.
+ * src/format.c (arg_int, arg_long, arg_double): Likewise.
+ * src/input.c (next_token): Likewise.
+ * src/output.c (freeze_diversions): Likewise.
+ (m4_tmpname): Allow C++ compilation.
+ * src/freeze.c (produce_frozen_state, GET_NUMBER): Use correct
+ type.
+ * src/macro.c (call_macro): Cover all enum values.
+ (expand_macro): Update caller.
+ * src/path.c (m4_fopen): Remove unused parameter.
+ (m4_path_search): Update caller.
+
+ Silence syntax-check warnings.
+ * src/m4.h (STREQ): New macro.
+ * src/builtin.c (find_builtin_by_name): Use it.
+ * src/input.c (set_word_regexp): Likewise.
+ * src/m4.c (process_file): Likewise.
+ (main): Consistently spell warning, and mark output strings.
+ Avoid unsafe parsing functions.
+ (process_file): Mark output strings.
+ * src/output.c (make_diversion): Likewise.
+ * src/format.c (arg_int, arg_long, arg_double): New helpers.
+ (ARG_INT, ARG_LONG, ARG_DOUBLE): Use them to detect parse errors.
+ * BACKLOG: Avoid whitespace problems.
+ * TODO: Likewise.
+ * HACKING: Likewise.
+ * examples/esyscmd.m4: Likewise.
+ * examples/file.m4: Likewise.
+ * examples/fstab.m4: Likewise.
+ * examples/patsubst.m4: Likewise.
+
+ Use gnulib maintainer-makefile module.
+ * m4/gnulib-cache.m4: Import maintainer-makefile module.
+ * cfg.mk (local-checks-to-skip): Drop changelog-check; add
+ sc_cast_of_x_alloc_return_value.
+ (gnulib_dir, gnu_rel_host, url_dir_list): Delete; provided by
+ maint.mk.
+ (config_h_header, old_NEWS_hash): New macros.
+ * .prev-version: New file.
+ * maint.mk: Remove from version control; use gnulib instead.
+ * .gitignore: Update.
+ * HACKING: Update.
+
+ Update from gnulib.
+ * gnulib: Update.
+ * m4/gnulib-cache.m4: Use --makefile-name.
+ * lib/Makefile.am: Wrap the gnulib-generated file.
+ * tests/Makefile.am: Likewise.
+ * .gitignore: Track our wrappers.
+ * doc/m4.texinfo (Improved capitalize): Fix typo.
+
+2009-10-05 Eric Blake <ebb9@byu.net>
+
+ Update from gnulib.
+ * gnulib: Update.
+ * m4/gnulib-cache.m4: Import gnu-web-doc-update module.
+ * build-aux/.gitignore: Ignore new file.
+ * build-aux/.cvsignore: Likewise.
+
+2009-08-20 Eric Blake <ebb9@byu.net>
+
+ Update from gnulib.
+ * gnulib: Update.
+ * AUTHORS: Mention recent copyright assignment.
+
+2009-08-17 Eric Blake <ebb9@byu.net>
+
+ Enhance test with closed descriptors.
+ * doc/m4.texinfo (Command line files): Enhance test from
+ 2009-07-20 to actually test the bug being fixed.
+
+ Update copyright year.
+ * AUTHORS: Run UPDATE_COPYRIGHT_FORCE=1 make update-copyright.
+ * BACKLOG: Likewise.
+ * Makefile.am: Likewise.
+ * TODO: Likewise.
+ * acinclude.m4: Likewise.
+ * c-boxes.el: Likewise.
+ * cfg.mk: Likewise.
+ * checks/Makefile.in: Likewise.
+ * checks/check-them: Likewise.
+ * checks/stackovf.test: Likewise.
+ * doc/Makefile.am: Likewise.
+ * examples/Makefile.am: Likewise.
+ * src/Makefile.am: Likewise.
+ * src/debug.c: Likewise.
+ * src/eval.c: Likewise.
+ * src/freeze.c: Likewise.
+ * src/m4.h: Likewise.
+ * src/macro.c: Likewise.
+ * src/path.c: Likewise.
+ * src/symtab.c: Likewise.
+
+ Prepare to bulk update copyright year.
+ * gnulib: Update.
+ * m4/gnulib-cache.m4: Import update-copyright and vc-list-files
+ modules.
+ * maint.mk: Fix copyright.
+ (build_aux, VC_LIST, VC_LIST_EXCEPT, update-copyright): New macros
+ and rules borrowed from gnulib.
+ * cfg.mk (update-copyright-env): Enforce longhand behavior.
+ * .cvsignore: Reflect these changes.
+ * .gitignore: Likewise.
+ * .x-update-copyright: New file.
+
+2009-08-14 Eric Blake <ebb9@byu.net>
+
+ Explicitly request GNU getopt extensions.
+ * gnulib: Update.
+ * m4/gnulib-cache.m4: Use getopt-gnu, not obsolete getopt module.
+
+2009-07-22 Eric Blake <ebb9@byu.net>
+
+ Fix testsuite on Solaris.
+ * doc/m4.texinfo (Command line files): Tolerate different spelling
+ of EBADF.
+ * src/builtin.c (m4_esyscmd): Clear errno before reaping.
+
+2009-07-21 Eric Blake <ebb9@byu.net>
+
+ Fix testsuite on mingw.
+ * gnulib: Update.
+
+2009-07-20 Eric Blake <ebb9@byu.net>
+
+ Pick up gnulib fixes for sub-process execution.
+ * gnulib: Update.
+ * doc/m4.texinfo (Command line files): Add test; regression
+ introduced 2009-03-05.
+ * NEWS: Document the change.
+
+ Avoid cygwin 1.7 crash with closed stdout.
+ * gnulib: Update.
+ * doc/m4.texinfo (Command line files): Add test; regression
+ introduced 2008-07-17.
+ * NEWS: Document the change.
+
+ A status of 127 does not always imply esyscmd failure.
+ * src/builtin.c (m4_esyscmd): Silence gnulib message; regression
+ introduced 2009-03-05.
+ * doc/m4.texinfo (Sysval): Test this.
+ * NEWS: Document the change.
+
+2009-06-25 Eric Blake <ebb9@byu.net>
+
+ Fix description of limits on diversions.
+ * doc/m4.texinfo (Diversions): Fix grammar. Be less pessimistic
+ about limitations.
+ * THANKS: Update.
+ Reported by Elias Benali.
+
+2009-06-17 Eric Blake <ebb9@byu.net>
+
+ Update to latest gnulib.
+ * gnulib: Import fixes for Interix compilation.
+ * THANKS: Update.
+ Reported by Jay Krell.
+
+2009-05-22 Eric Blake <ebb9@byu.net>
+
+ Update to latest gnulib.
+ * gnulib: Import fixes for AIX compilation.
+ * THANKS: Update.
+ Reported by Jens Rehsack.
+
+2009-04-13 Eric Blake <ebb9@byu.net>
+
+ Fix GFDL usage.
+ * doc/m4.texinfo (copying): Complete transition to GFDL 1.3,
+ started 2008-12-12.
+ Reported by Santiago Vila.
+
+2009-04-01 Eric Blake <ebb9@byu.net>
+
+ Release Version 1.4.13.
+ * NEWS: Mention the release.
+
+2009-03-31 Eric Blake <ebb9@byu.net>
+
+ Tweak submodule instructions.
+ * HACKING: Improve directions.
+ * gnulib: Update to latest version.
+
+2009-03-23 Eric Blake <ebb9@byu.net>
+
+ Don't force file overwrites during bootstrap.
+ * bootstrap: Ensure that rerunning bootstrap doesn't alter tree.
+
+ Drop dist-lzma, now that xz replaces lzma.
+ * configure.ac (AM_INIT_AUTOMAKE): Drop dist-lzma. Until a stable
+ automake release includes dist-xz, the release process will just
+ manually create a .xz tarball.
+ * gnulib: Update to latest gnulib.
+
+2009-03-19 Eric Blake <ebb9@byu.net>
+
+ Exploit git submodule by adding appropriate symlinks.
+ * bootstrap: No longer copy files from gnulib.
+ * COPYING: Change to symlink pointing into gnulib.
+ * INSTALL: Likewise.
+ * build-aux/compile: Likewise.
+ * build-aux/config.guess: Likewise.
+ * build-aux/config.sub: Likewise.
+ * build-aux/depcomp: Likewise.
+ * build-aux/install-sh: Likewise.
+ * build-aux/mdate-sh: Likewise.
+ * build-aux/missing: Likewise.
+ * build-aux/texinfo.tex: Likewise.
+ * .cvsignore: Reflect these changes.
+ * .gitignore: Likewise.
+ * build-aux/.cvsignore: New file.
+ * build-aux/.gitignore: Likewise.
+
+2009-03-18 Eric Blake <ebb9@byu.net>
+
+ Make gnulib a git submodule.
+ * .gitmodules: New file.
+ * gnulib: Record which version of gnulib has been tested.
+ * bootstrap: Aid in submodule usage.
+ * cfg.mk (gnulib_dir): Alter default location of gnulib.
+ * HACKING: Mention how to use submodule.
+
+ Use latest compile script, even with stable automake.
+ * bootstrap: Also sync build-aux/compile.
+
+2009-03-12 Eric Blake <ebb9@byu.net>
+
+ Fix awk script portability.
+ * checks/get-them: In gsub, properly escape {. Close all files
+ before exiting.
+ Reported by Gary V. Vaughan.
+
+2009-03-05 Eric Blake <ebb9@byu.net>
+
+ Allow configuration choice in syscmd shell.
+ * configure.ac (SYSCMD_SHELL): New test.
+ * src/builtin.c (m4_syscmd, m4_esyscmd): Use it to avoid
+ hard-coding the shell location.
+ * doc/m4.texinfo (Syscmd, Esyscmd): Document this.
+ * README: Document new configure option.
+ * NEWS: Likewise.
+
+ Remove cruft now that gnulib modules do the work.
+ * configure.ac (M4_cv_func_system_consistent): Delete.
+ * src/builtin.c (M4SYSVAL_EXITBITS, M4SYSVAL_TERMSIGBITS):
+ Delete.
+
+ Use gnulib pipe module instead of popen(3).
+ * m4/gnulib-cache.m4: Import pipe and wait-process modules.
+ * src/builtin.c (m4_esyscmd): Rewrite with pipe module.
+ Resolves a failure on AIX, reported by Gary V. Vaughan.
+
+ Use gnulib execute module instead of system(3).
+ * m4/gnulib-cache.m4: Import execute module.
+ * src/builtin.c (m4_sysval): Move computation...
+ (m4_esyscmd): ...into caller.
+ (m4_syscmd): Rewrite with execute module.
+ Resolves a failure on AIX, reported by Gary V. Vaughan.
+
+2009-03-03 Eric Blake <ebb9@byu.net>
+
+ Try to tolerate spaces in directory names in testsuite.
+ * doc/m4.texinfo (Diversions, Using frozen files): Provide shell
+ quoting, in case __program__ contains spaces.
+
+ Improve web-manual maintainer rule.
+ * maint.mk (web-manual): Work with VPATH builds. Factor
+ package-specific detail...
+ * cfg.mk (manual_title): ...to new variable.
+
+2009-02-26 Eric Blake <ebb9@byu.net>
+
+ Make bootstrap easier on Solaris.
+ * bootstrap: Add GNULIB_SRCDIR. Useful when a wrapper script
+ gnulib-tool exists earlier on the path to work around /bin/sh
+ failure in parsing $GNULIB_SRCDIR/gnulib-tool.
+
+2009-02-19 Eric Blake <ebb9@byu.net>
+
+ Fix regression in translit.
+ * src/builtin.c (m4_translit): Use correct comparison.
+ * doc/m4.texinfo (Translit): Enhance test.
+
+ Speed up input engine, by searching for quotes by buffer.
+ * src/input.c (struct input_block): Add end pointer to string.
+ (push_string_finish, push_wrapup): Populate it.
+ (next_token): For quotes, attempt a buffer search.
+ * NEWS: Document this.
+
+2009-02-18 Eric Blake <ebb9@byu.net>
+
+ Speed up translit when from argument is short.
+ * m4/gnulib-cache.m4: Import memchr2 module.
+ * src/builtin.c (m4_translit): Use memchr2 when possible.
+ * doc/m4.texinfo (Translit): Add tests.
+ * NEWS: Document this.
+
+ Update copyright year.
+ * THANKS: Mention 2009 in copyright year.
+
+ Prefer buffer over byte operations.
+ * src/format.c (expand_format): Use strchr for speed.
+ * src/builtin.c (substitute, expand_user_macro): Likewise.
+
+ Speed up esyscmd with buffer reads.
+ * src/builtin.c (m4_esyscmd): Read blocks directly into obstack,
+ rather than repeatedly reading bytes. Detect read errors.
+
+ Avoid risk of stack overflow.
+ * src/output.c (insert_file): Avoid stack allocation of large
+ buffer.
+ (freeze_diversions): Avoid spurious semicolon.
+
+2009-02-16 Eric Blake <ebb9@byu.net>
+
+ Avoid test failure due to different errno.
+ * doc/m4.texinfo (Using frozen files): Ignore stdout, since
+ hardened systems can prevent attempts to read /.
+ * THANKS: Update.
+ Reported by Ronny Peine, in Gentoo bug 259184.
+
+ Avoid tests that make no sense, because m4 is single-threaded.
+ * m4/gnulib-cache.m4: Avoid lock-tests and tls-tests.
+
+2009-02-12 Eric Blake <ebb9@byu.net>
+
+ Avoid quadratic code when walking definition stack.
+ * examples/stack_sep.m4: Use linear, not quadratic
+ implementation.
+ * doc/m4.texinfo (Improved copy): Fix documentation and add test,
+ based on recent autoconf bug fix.
+
+2009-01-24 Eric Blake <ebb9@byu.net>
+
+ Add URLs to --help output.
+ * src/m4.c (usage): Use enhanced version-etc features.
+
+2009-01-02 Eric Blake <ebb9@byu.net>
+
+ Use nicer email address in web manual.
+ * maint.mk (web-manual): Use new option in gendocs.sh.
+
+ Nuke xdelta diffs at release time; no one reported using them.
+ * maint.mk (got-xdelta, delta-xdelta): Delete.
+ * HACKING: Likewise.
+
+2009-01-01 Eric Blake <ebb9@byu.net>
+
+ Update copyright year.
+ * NEWS: M4 1.4.13 will occur in 2009.
+ * doc/m4.texinfo (History): Likewise.
+
+2008-12-24 Eric Blake <ebb9@byu.net>
+
+ Prepare for eventual release.
+ * doc/m4.texinfo (History): Mention 1.4.13.
+
+2008-12-22 Eric Blake <ebb9@byu.net>
+
+ Make --debugfile argument optional.
+ * src/builtin.c (m4_debugfile): Make error message consistent.
+ * src/m4.c (long_options): Make the argument optional, to allow
+ setting debug file back to stderr.
+ (main): Make --debugfile order-dependent.
+ (usage): Document this.
+ * doc/m4.texinfo (Debugging options): Likewise.
+ * NEWS: Likewise.
+
+ Use @var correctly.
+ * doc/m4.texinfo (Operation modes, Preprocessor features)
+ (Limits control, Frozen state, Debugging options): Use lower case
+ names in @var.
+ (Improved copy): Use @code, not @var, as appropriate.
+
+2008-12-18 Eric Blake <ebb9@byu.net>
+
+ Document optimized forloop.
+ * doc/m4.texinfo (Improved forloop): Mention alternate style that
+ avoids define overhead.
+ * examples/forloop3.m4: New file.
+ * examples/Makefile.am (EXTRA_DIST): Distribute it.
+
+ Deal with M4 1.4.x limitation on builtin tokens.
+ * doc/m4.texinfo (Composition): Mention limitation on curry.
+ (Improved copy): New node.
+ * examples/stack_sep.m4: New file.
+ * examples/Makefile.am (EXTRA_DIST): Distribute it.
+
+ Document copy composite using stack_foreach and curry.
+ * doc/m4.texinfo (Stacks): New node, to document pushdef stack
+ manipulation.
+ (Ifelse): Move define_blind...
+ (Composition): ...to this new node. Document currying, then use
+ it to implement copy and rename.
+ * examples/curry.m4: New file.
+ * examples/stack.m4: Likewise.
+ * examples/Makefile.am (EXTRA_DIST): Distribute them.
+
+2008-12-17 Eric Blake <ebb9@byu.net>
+
+ Don't override signal handlers installed by c-stack.
+ * src/m4.c (main): Reorder installation of signal handlers, so we
+ don't trash a SIGBUS handler installed by c-stack. Also provide a
+ SIGSEGV fallback, for platforms where c-stack combined with
+ libsigsegv uses something lower level than SIGSEGV.
+
+2008-12-12 Eric Blake <ebb9@byu.net>
+
+ Double size of temp file cache.
+ * src/output.c (tmp_file, tmp_file_owner): Split...
+ (tmp_file1, tmp_file2, tmp_file1_owner, tmp_file2_owner): ...into
+ two variables.
+ (tmp_file2_recent): New variable.
+ (m4_tmpopen, m4_tmpclose, m4_tmpremove, m4_tmprename)
+ (output_exit): Adjust callers.
+
+ Use fewer seeks on cached files.
+ * src/output.c (m4_tmpfile): Use write, not append mode.
+ (m4_tmpopen): Add parameter to decide when to skip seeks.
+ (m4_tmprename, make_diversion, insert_diversion_helper)
+ (freeze_diversions): Adjust callers.
+
+ Cache most recently spilled diversion.
+ * src/output.c (tmp_file, tmp_file_owner): New variables, for
+ 1-deep cache of spilled diversions.
+ (m4_tmpfile): Open in append mode, since we might revisit
+ diversion without closing it now.
+ (m4_tmpopen): Check cache first.
+ (m4_tmpclose): Update cache, rather than closing. Add parameter.
+ (m4_tmpremove): Close cache before removing.
+ (m4_tmprename): Deal with open files when renaming.
+ (output_exit): Close cache before exiting.
+ (make_room_for, make_diversion, insert_diversion_helper): Adjust
+ callers.
+ * configure.ac (RENAME_OPEN_FILE_WORKS): New configure test.
+
+ Correctly track size of in-memory diversions.
+ * src/output.c (insert_diversion_helper): Correctly track total
+ in-memory diversion size after undivert.
+
+ Avoid quadratic behavior for some cases of divert/undivert.
+ * src/output.c (struct m4_diversion): Improve comments.
+ (m4_tmpname, make_diversion): Strengthen preconditions.
+ (m4_tmprename): New function.
+ (output_init, output_exit): Move after internal functions.
+ (make_room_for): Don't bother copying uninitialized bytes.
+ (insert_diversion_helper): Transfer metadata, rather than copying
+ contents, when undiverting into a previously unused diversion.
+ * src/m4.h (includes): Add assert.h.
+ * doc/m4.texinfo (Diversions): Add test.
+ (Undivert): Enhance test.
+ * NEWS: Document the speedup.
+
+2008-12-12 Eric Blake <ebb9@byu.net>
+
+ Upgrade to FDL 1.3, keep COPYING in repository.
+ * Makefile.am (MAINTAINERCLEANFILES): Don't remove COPYING.
+ * .cvsignore: Don't ignore it.
+ * .gitignore: Likewise.
+ * COPYING: Store in repository, per automake 1.10.2
+ recommendation.
+ * m4/gnulib-cache.m4: Replace fdl module with fdl-1.3.
+ * doc/m4.texinfo (GNU Free Documentation License): Upgrade
+ license.
+ * doc/Makefile.am (m4_TEXINFOS): Likewise.
+ * NEWS: Mention the documentation license change.
+
+2008-10-10 Eric Blake <ebb9@byu.net>
+
+ Release Version 1.4.12.
+ * NEWS: Mention the release.
+
+2008-10-06 Eric Blake <ebb9@byu.net>
+
+ Work around Solaris' sed inability to process NUL.
+ * checks/check-them (SED): Allow user to override.
+
+2008-09-25 Eric Blake <ebb9@byu.net>
+
+ Tweak error message on command line failure.
+ * src/m4.c (process_file): Match wording of include builtin.
+ * src/freeze.c (produce_frozen_state): Likewise.
+ * m4/gnulib-cache.m4: Regenerate.
+ * doc/m4.texinfo (Command line files, Using frozen files): Update
+ tests accordingly.
+
+2008-09-24 Eric Blake <ebb9@byu.net>
+
+ Unify error handling for reading directories.
+ * src/path.c (m4_path_search): Factor open attempts...
+ (m4_fopen): ...into new function, to reject directories.
+ * doc/m4.texinfo (Include): Document that directories cannot be
+ input files.
+
+ Avoid bugs on platforms that mishandle trailing /.
+ * m4/gnulib-cache.m4: Import fopen module.
+ * doc/m4.texinfo (Command line files, Include): Add tests.
+ (Using frozen files): This test now works on mingw.
+ * checks/check-them (examples): Expand xerr to allow ignoring
+ error output because of differences in platform errno values.
+
+2008-09-22 Eric Blake <ebb9@byu.net>
+
+ Support alternate path separator.
+ * m4/gnulib-cache.m4: Import dirname and filenamecat modules.
+ * src/m4.h (includes): Add headers.
+ * src/path.c (m4_path_search): Avoid literal use of '/' as path
+ separator and when detecting absolute paths.
+
+2008-09-16 Eric Blake <ebb9@byu.net>
+
+ Fix bootstrap for Solaris /bin/sh.
+ * bootstrap: Avoid shell quoting pitfall.
+
+2008-09-01 Eric Blake <ebb9@byu.net>
+
+ Fix building with -DDEBUG=1.
+ * src/input.c (lex_debug) [DEBUG_INPUT]: Fix compilation failure.
+ * src/symtab.c (symtab_debug) [DEBUG_SYM]: Likewise.
+ * src/m4.c (includes) [DEBUG_STKOVF]: Likewise.
+ Reported by Tom G. Christensen.
+
+2008-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Typos in source code comments.
+ * src/builtin.c: Fix typos in comments.
+ * src/input.c: Likewise.
+
+2008-08-29 Eric Blake <ebb9@byu.net>
+
+ Fix manual date information.
+ * doc/m4.texinfo: UPDATED refers to the day the manual was built,
+ not the release date of M4.
+ Based on a bison patch by Akim Demaille.
+
+2008-08-27 Eric Blake <ebb9@byu.net>
+
+ Fix typo.
+ * doc/m4.texinfo (Invoking m4): 'm4 -d+f' is not supported in this
+ branch.
+
+2008-08-25 Eric Blake <ebb9@byu.net>
+
+ Update recommendation now that libsigsegv 2.6 is released.
+ * NEWS: Recommend libsigsegv 2.6+.
+ * README: Likewise.
+
+2008-08-21 Eric Blake <ebb9@byu.net>
+
+ Fix crash with traced defn(undef), regression from 2007-08-09.
+ * src/builtin.c (m4_defn): Handle traced but undefined macros.
+ * doc/m4.texinfo (Trace): Test it.
+ * NEWS: Document it.
+
+2008-08-18 Eric Blake <ebb9@byu.net>
+
+ Fix crash with 'm4 -N9', regression from 2006-09-14.
+ * src/m4.c (main): Add missing break.
+ * NEWS: Document it.
+
+2008-08-15 Eric Blake <ebb9@byu.net>
+
+ Documentation updates.
+ * doc/m4.texinfo (History): Mention 1.4.12.
+ (Builtin): Enhance regression tests.
+ (Debug Levels): Mention effect of -l. Enhance regression tests.
+ (Incompatibilities): Fix typo, and mention trace output.
+ (Improved capitalize): Simplify example.
+
+ Avoid compiler warning.
+ * src/builtin.c (m4_ifelse): Avoid unused variable.
+ * THANKS: Update.
+ Reported by Tom G. Christensen.
+
+ Improve 'git diff' of manual source.
+ * .gitattributes (*.texi*): Add diff attribute.
+ * bootstrap: Tell git how to use it.
+ Inspired by Jim Meyering's similar patch for coreutils.
+
+2008-08-11 Eric Blake <ebb9@byu.net>
+
+ Avoid triggering OS/2 bug in testsuite.
+ * doc/m4.texinfo (Mkstemp): Don't assume test(1) status is 1.
+ Reported by Elbert Pol.
+
+2008-08-03 Eric Blake <ebb9@byu.net>
+
+ Increase ulimit stack value to be larger than SIGSTKSZ.
+ * checks/stackovf.test (tmpfile): Use 300K rather than 50K, since
+ at least OpenBSD's sh died early from an undersized stack limit.
+
+2008-07-17 Eric Blake <ebb9@byu.net>
+
+ Remove redundant examples/stackovf.sh.
+ * examples/stackovf.sh: Delete, now that checks has better
+ version.
+ * examples/Makefile.am (EXTRA_DIST): Don't distribute it.
+
+2008-07-17 Eric Blake <ebb9@byu.net>
+
+ Adjust to c-stack changes in gnulib.
+ * src/Makefile.am (m4_LDADD): Use libsigsegv when available and
+ necessary, via LIBCSTACK.
+ * src/m4.c (main) [DEBUG_STACKOVF]: Make it easier to test fault
+ handlers.
+ * checks/stackovf.test: New file.
+ * checks/Makefile.in (CHECKS): Add stackovf.test, and factor...
+ (DOC_CHECKS): ...generated documentation tests into new macro.
+ (DISTFILES): Distribute stackovf.test.
+ * checks/check-them: Special-case stackovf.test.
+ * NEWS: Enhance the NEWS item for -L improvements.
+ * README: Mention the optional dependency.
+ * HACKING: Mention maintenance burden added by libsigsegv.
+
+2008-06-21 Eric Blake <ebb9@byu.net>
+
+ Use new sigaction module.
+ * m4/gnulib-cache.m4: Import sigaction module.
+ * src/m4.c (main): Drop signal() calls.
+
+2008-06-18 Eric Blake <ebb9@byu.net>
+
+ Also trap SIGILL, SIGFPE, SIGBUS.
+ * m4/gnulib-cache.m4: Import strsignal module.
+ * src/m4.c (main): Register more handlers, and prefer sigaction
+ when available.
+ (SIGBUS, NSIG): Provide fallback when lacking.
+ (signal_message): New variable, to keep async-safety.
+ (fault_handler): Display faulting signal description.
+ * configure.ac (gl_DISABLE_THREADS): Request gnulib modules to
+ optimize for single-threaded operation.
+
+2008-06-06 Eric Blake <ebb9@byu.net>
+
+ Inform users what to do in case of programmer error.
+ * src/m4.h (EXIT_INTERNAL_ERROR): New macro.
+ * configure.ac (AC_TYPE_SIGNAL): Delete, now that we assume C89.
+ * src/m4.c (fault_handler): New method.
+ (program_error_message): New variable, for async-safety.
+ (main): Print bug reporting address rather than dump core on any
+ failed assertions or detected non-stack-overflow faults.
+
+2008-06-06 Eric Blake <ebb9@byu.net>
+
+ Replace stackovf with gnulib c-stack.
+ * m4/gnulib.cache.m4: Import c-stack module.
+ * configure.ac (AC_CHECK_HEADERS_ONCE): Remove check for
+ siginfo.h, sys/wait.h.
+ (AC_CHECK_TYPES): Likewise for siginfo_t.
+ (AC_CHECK_MEMBERS): Likewise for sa_sigaction, ss_sp.
+ (AC_CHECK_FUNCS_ONCE): Likewise for sigaction, sigaltstack,
+ sigstack, sigvec, strerror.
+ (M4_cv_use_stackovf): Likewise for stack overflow detection.
+ * src/Makefile.am (m4_SOURCES): Don't build stackovf.c.
+ * src/stackovf.c: Delete.
+ * src/m4.h (setup_stackovf_trap): Delete.
+ * src/m4.c (stackovf_handler): Delete.
+ (main): Use c_stack_action instead of setup_stackovf_trap. If
+ stack overflow is detectable, don't limit -L artificially.
+ (usage): Document unlimited default on supported systems.
+ * doc/m4.texinfo (Limits control): Document new default nesting
+ limit.
+ * NEWS: Document this change.
+
+2008-07-30 Eric Blake <ebb9@byu.net>
+
+ Avoid regressions in trace and comment output.
+ * doc/m4.texinfo (Trace): Add test.
+ (Comments): Likewise.
+
+2008-07-28 Eric Blake <ebb9@byu.net>
+
+ Optimize iteration examples.
+ * examples/forloop2.m4: Avoid excess indir, by passing current
+ counter value as parameter.
+ * examples/foreachq3.m4: Avoid unneeded ifelse, by injecting an
+ ignored argument.
+ * doc/m4.texinfo (Improved forloop, Improved foreach): Update the
+ documentation to match.
+
+2008-07-26 Eric Blake <ebb9@byu.net>
+
+ Give example for O(n) foreach on m4 1.4.x.
+ * examples/foreachq4.m4: New file.
+ * examples/Makefile.am (EXTRA_DIST): Distribute it.
+ * doc/m4.texinfo (Improved foreach): Document linear foreach with
+ m4 1.4.5 and greater.
+
+2008-07-17 Eric Blake <ebb9@byu.net>
+
+ Fix missing copyright notices.
+ * acinclude.m4: Add copyright license details.
+ * c-boxes.el: Likewise.
+ * checks/get-them: Likewise.
+ * checks/check-them: Likewise.
+
+2008-07-13 Eric Blake <ebb9@byu.net>
+
+ Add -g/--gnu command line argument.
+ * src/m4.c (usage): Mention the new option.
+ (long_options, OPTSTRING): Add new option.
+ (main): Use it.
+ * NEWS: Document this addition.
+ * doc/m4.texinfo (Limits control): Likewise.
+ (Incompatibilities): Mention future use of POSIXLY_CORRECT.
+ * THANKS: Update.
+ Reported by Joel E. Denny.
+
+2008-07-11 Eric Blake <ebb9@byu.net>
+
+ Avoid bogus whitespace in @ovar, @dvar.
+ * doc/m4.texinfo (ovar, dvar): Add @c.
+ Based on patch by Ralf Wildenhues to Autoconf manual.
+
+2008-06-16 Eric Blake <ebb9@byu.net>
+
+ Add missing const qualifications.
+ * src/builtin.c (builtin_tab): Declare array elements as const.
+
+2008-06-03 Eric Blake <ebb9@byu.net>
+
+ Use progname module rather than rolling our own program_name.
+ * m4/gnulib-cache.m4: Import progname module.
+ * src/m4.c (program_name): Replace...
+ (main): ...with a call to set_program_name.
+
+2008-06-02 Eric Blake <ebb9@byu.net>
+
+ Allow autobuild usage.
+ * m4/gnulib.cache: Import autobuild module.
+
+2008-05-23 Eric Blake <ebb9@byu.net>
+
+ Make closing files be consistent.
+ * src/freeze.c (reload_frozen_state): Use close_stream.
+ Reported by Jean-Charles Longuet.
+
+2008-05-22 Eric Blake <ebb9@byu.net>
+
+ Don't allow failure to freeze give exit status of 0.
+ * src/freeze.c (produce_frozen_state): Guarantee non-zero exit on
+ fopen failure.
+ * doc/m4.texinfo (Using frozen files): Test the fix.
+ * THANKS: Update.
+ Reported by Jean-Charles Longuet.
+
+2008-05-09 Eric Blake <ebb9@byu.net>
+
+ Improve error message when frozen file is invalid.
+ * src/freeze.c (reload_frozen_state): Track current line.
+ [GET_STRING]: New helper macro.
+
+2008-05-09 Eric Blake <ebb9@byu.net>
+
+ Detect integer overflow when loading frozen file.
+ * src/m4.h (includes): Add limits.h.
+ (_): Define as a no-op placeholder for now.
+ * src/freeze.c (reload_frozen_state) [GET_NUMBER]: Rewrite to fail
+ immediately on overflow.
+ Reported by Jim Meyering.
+
+2008-05-07 Eric Blake <ebb9@byu.net>
+
+ Fix traceon regression introduced 2006-06-06.
+ * src/builtin.m4 (traceon): Only perform insertion if lookup
+ fails.
+ * doc/m4.texinfo (Trace): Test for the bug.
+ * NEWS: Document it.
+
+2008-05-03 Eric Blake <ebb9@byu.net>
+
+ Document define_blind.
+ * doc/m4.texinfo (Ifelse): Add a new composite macro.
+ * THANKS: Update.
+ Suggested by Mike R.
+
+2008-04-24 Eric Blake <ebb9@byu.net>
+
+ Add debugmode test.
+ * doc/m4.texinfo (Debug Levels): Test -di behavior.
+ (Changeword, Location): Correct examples.
+ * checks/check-them (examples): Update to account for recommended
+ location for running tests.
+ * doc/m4.texinfo (Debug Levels): Test this behavior.
+
+2008-04-21 Eric Blake <ebb9@byu.net>
+
+ Fix spelling of attribution to Christopher Strachey.
+ * doc/m4.texinfo (History, Inhibiting Invocation): Fix typo.
+ * THANKS: Update.
+ Reported by Fernando Carrijo.
+
+2008-04-17 Eric Blake <ebb9@byu.net>
+
+ Fix buildbot failure.
+ * doc/m4.texinfo (Diversions): Consume all of m4's output, in case
+ SIGPIPE is ignored.
+ * THANKS: Update.
+ Detected by Bob Proulx's buildbot.
+
+2008-04-17 Eric Blake <ebb9@byu.net>
+
+ Avoid gcc shadowing warnings.
+ * src/builtin.c (m4_format): s/format/expand_format, so local
+ variables can be named format.
+ * src/format.c (format): Rename...
+ (expand_format): ...to this, and avoid the name index.
+ * src/input.c (push_file): Avoid the name close.
+ * src/m4.h (expand_format): Adjust prototype.
+ * src/output.c (threshold_diversion_CB): Avoid the name div.
+
+2008-04-15 Eric Blake <ebb9@byu.net>
+
+ Another 'make installcheck' fix.
+ * doc/m4.texinfo (Diversions): s/m4/__program__/ in case
+ --program-prefix was active.
+
+2008-04-11 Eric Blake <ebb9@byu.net>
+
+ Ensure --program-prefix doesn't regress.
+ * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Enforce change from
+ 2008-03-10 by testing it at 'make distcheck' time.
+
+2008-04-11 Eric Blake <ebb9@byu.net>
+
+ Improve OS/2+emx build.
+ * src/m4.h [__EMX__]: OS/2 does not have a Unix-compatible
+ system(3), no matter what other macros it pre-defined.
+ * doc/m4.texinfo (Mkstemp): Rework test to avoid globbing failure
+ on OS/2.
+ * src/builtin.c (predefined_tab): Ensure all possible system
+ identifiers are defined, not just the first; the testsuite will
+ catch if multiple identifiers mistakenly made it through.
+ * THANKS: Update.
+ Reported by Elbert Pol.
+
+2008-04-09 Eric Blake <ebb9@byu.net>
+
+ Remove redundant configure macros.
+ * configure.ac (AC_CANONICAL_BUILD, AC_CANONICAL_HOST)
+ (AC_SYS_LARGEFILE, AC_TYPE_SIZE_T): Delete, since gnulib does
+ this.
+ (AC_CHECK_HEADERS_ONCE): Remove limits.h.
+
+2008-08-07 Bruno Haible <bruno@clisp.org> (tiny change)
+
+ Run m4 tests prior to gnulib unit tests.
+ * Makefile.am (SUBDIRS): Swap order of directories.
+
+2008-04-02 Eric Blake <ebb9@byu.net>
+
+ Release Version 1.4.11.
+ * NEWS: Mention the release.
+
+ Prepare for release.
+ * maint.mk (alpha): Check for PREV_VERSION setting sooner, and
+ remove tag operation.
+ (version-check): Enhance this check.
+ (prev-tarball): Depend on version-check.
+ (this-vc-tag): Delete, and mention need to run tag...
+ * HACKING: ...here, prior to make maintainer-distcheck.
+ Update the instructions to match this particular release process.
+ * Makefile.am (.version, announcement): Allow for VPATH build.
+ * cfg.mk (gnulib_dir): Likewise.
+ * doc/Makefile.am ($(srcdir)/m4.1): Include release number in man
+ page.
+
+2008-04-01 Eric Blake <ebb9@byu.net>
+
+ Speed up index builtin.
+ * m4/gnulib-cache: Import strstr module.
+ * NEWS: Mention the speedup.
+
+2008-03-29 Eric Blake <ebb9@byu.net>
+
+ Fix testsuite on mingw, OpenBSD.
+ * src/format.c (ARG_DOUBLE): Use strtod, not atof.
+ * src/Makefile.am (m4_LDADD): Use POW_LIB when needed.
+ * doc/m4.texinfo (Format): Add hex-float support.
+ * NEWS: Document this.
+
+2008-03-27 Eric Blake <ebb9@byu.net>
+
+ Pull other useful doc fixes from branch-1.6.
+ * doc/m4.texinfo (Arguments): Enable test of
+ --warn-macro-sequence.
+ (Defn): Test length of builtin token.
+ (Builtin, Ifelse, Changequote): Add more regression tests.
+
+2008-03-27 Eric Blake <ebb9@byu.net>
+
+ Add test for divert bug on 2007-05-28, patched 2007-07-21.
+ * doc/m4.texinfo (Diversions): Add test.
+
+2008-03-24 Eric Blake <ebb9@byu.net>
+
+ Pull GNUmakefile from gnulib.
+ * m4/gnulib-cache.m4: Import gnumakefile module.
+ * GNUmakefile: Remove from version control; supplied by gnulib
+ instead.
+ * configure.ac (AC_INIT): Track intra-release version with
+ git-version-gen.
+ (AC_CONFIG_LINKS): Let gnulib do this now.
+ * Makefile.am (distclean-local): Likewise.
+ (EXTRA_DIST): Likewise. Also handle renamed files.
+ * (.version, dist-hook): Improve version handling.
+ * Makefile.cfg: Rename...
+ * cfg.mk: ...to this.
+ * Makefile.maint: Rename...
+ * maint.mk: ...to this.
+ (ME, makefile-check, m4-check): Use new macro instead of
+ hard-coded name.
+ * HACKING: Mention that maintainer rules should now work in VPATH
+ builds.
+
+2008-03-15 Eric Blake <ebb9@byu.net>
+
+ Document join, in order to fix bug in m4wrap example.
+ * doc/m4.texinfo (Improved m4wrap): New node.
+ (Defn, Location): Enhance tests.
+ (Shift): Document the composite macro join.
+ (Incompatibilities): Move documentation of LIFO vs. FIFO...
+ (M4wrap): ...here, to match improved example.
+
+2008-03-10 Eric Blake <ebb9@byu.net>
+
+ Allow 'make installcheck' with './configure --program-prefix'.
+ * checks/Makefile.in (program_transform_name): New macro.
+ (installcheck): Use it to transform name of m4 before testing.
+ * checks/check-them (m4): Add -m option, to allow testing m4 by a
+ different name.
+ * checks/get-them: Allow xout and xerr notation.
+
+2008-02-25 Eric Blake <ebb9@byu.net>
+
+ Improve release process.
+ * configure.ac (AM_INIT_AUTOMAKE): Increase requirement, and add
+ dist-lzma.
+ * HACKING: Update for git release procedures.
+ * Makefile.cfg: New file.
+ * GNUmakefile: Use it.
+ * Makefile.maint (gzip_rsyncable, GZIP_ENV, GIT, VC, VC-tag)
+ (VERSION_REGEXP, this-vc-tag, my_distdir, null_AM_MAKEFLAGS)
+ (TMPDIR, gnulib-version): New macros, borrowed from coreutils.
+ (makefile-check, news-date-check, changelog-check, m4-check)
+ (vc-diff-check, maintainer-distcheck, vc-dist, my-distcheck)
+ (announcement, alpha, beta, major): New rules, borrowed from
+ coreutils.
+ (TEXI2HTML, cvs-release, update-timestamps, cvs-news, cvs-commit)
+ (cvs-dist): Delete.
+ * Makefile.am (EXTRA_DIST): Distribute new file.
+
+2008-02-19 Eric Blake <ebb9@byu.net>
+
+ Clean up foreach example.
+ * doc/m4.texinfo (Foreach, Improved foreach): Document another
+ shortcoming in foreach.m4.
+
+2008-02-16 Eric Blake <ebb9@byu.net>
+
+ Add regression test for multi-character quote recursion.
+ * examples/foreach2.m4: Use $0 rather than spelling out name.
+ * examples/foreachq2.m4: Likewise.
+ * examples/forloop2.m4: Likewise.
+ * examples/hanoi.m4: Likewise.
+ * examples/trace.m4: Likewise.
+ * doc/m4.texinfo (Improved forloop): Document advantage of $0.
+ (Improved foreach): Adjust dump from file.
+
+2008-02-13 Eric Blake <ebb9@byu.net>
+
+ Fix texinfo grammar.
+ * doc/m4.texinfo (Incompatibilities): Use @. after capital.
+ (History): Use @: after abbreviations.
+ (M4exit): Use correct Latin abbreviation.
+
+2008-02-11 Eric Blake <ebb9@byu.net>
+
+ Document behavior of __gnu__().
+ * doc/m4.texinfo (Platform macros): Enhance test.
+ (Macro expansion): New test.
+
+2008-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * checks/Makefile.in: Use @SET_MAKE@, and use @SHELL@ rather
+ than hard-coding /bin/sh.
+ * THANKS: Update.
+ Reported by Lawson Chan.
+
+2007-12-13 Paolo Bonzini <bonzini@gnu.org> (tiny change)
+
+ * doc/m4.texinfo (Inhibiting Invocation): Fix quoting of a quoting
+ example.
+ * THANKS: Update.
+ Reported by Giovanni Toffetti.
+
+2007-12-07 Eric Blake <ebb9@byu.net>
+
+ Minor security fix: Quote output of mkstemp.
+ * src/builtin.c (mkstemp_helper): Produce quoted output.
+ * doc/m4.texinfo (Mkstemp): Update the documentation and tests.
+ * NEWS: Document this change.
+
+2007-12-04 Eric Blake <ebb9@byu.net>
+
+ Fix builds with OpenBSD make.
+ * doc/Makefile.am (HELP2MAN): New macro.
+ (man_MANS, m4.1): Fix rules for building m4.1 into srcdir.
+ * README: Update copyright.
+ * HACKING: Mention help2man and makeinfo dependencies.
+
+2007-11-22 Eric Blake <ebb9@byu.net>
+
+ Security fix: avoid arbitrary code execution with 'm4 -F'.
+ * src/freeze.c (produce_frozen_state): Never pass raw file name as
+ printf format.
+ * NEWS: Document this fix.
+
+2007-11-07 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Pseudo Arguments): Test more corner cases.
+
+2007-11-05 Eric Blake <ebb9@byu.net>
+
+ Use build-aux directory.
+ * configure.ac (PACKAGE, VERSION): Delete, since Automake does
+ this now.
+ (AC_CONFIG_AUX_DIR): Add, with auxiliary files in build-aux
+ instead of the top level.
+ (AC_INIT_AUTOMAKE): Increase requirement, and add dist-lzma.
+ * Makefile.am (EXTRA_DIST): Gnulib now manages gendocs.sh.
+ * bootstrap: Adjust accordingly.
+ * m4/gnulib-cache.m4: Add --aux-dir option.
+ * doc/Makefile.am (m4.1): Rewrite rule to use build-aux/missing.
+
+2007-10-31 Eric Blake <ebb9@byu.net>
+
+ Test more corner cases.
+ * doc/m4.texinfo (Changecom, Pseudo Arguments): Beef up tests.
+ (Improved foreach): Document alternate foreachq style.
+
+2007-10-28 Eric Blake <ebb9@byu.net>
+
+ More test coverage for autoconf usage patterns.
+ * doc/m4.texinfo (Inhibiting Invocation, Pseudo Arguments)
+ (Builtin): Add new undocumented tests.
+ (Shift): Document cond macro, and add new test.
+
+2007-10-27 Eric Blake <ebb9@byu.net>
+
+ Document one use of changequote(`(',`)').
+ * doc/m4.texinfo (Changequote): Add new test, based on recent
+ autoconf addition of m4_expand.
+
+2007-10-22 Eric Blake <ebb9@byu.net>
+
+ Never let printf failures go undetected.
+ * m4/gnulib-cache.m4: Import announce-gen, git-version-gen,
+ intprops, strtod, and xprintf modules. Remove deprecated free
+ module. Replace vasprintf-posix and xvasprintf with
+ xvasprintf-posix.
+ * src/m4.h: Include xprintf.h.
+ * src/builtin.c (ntoa): Export.
+ (m4_errprint): Adjust all *printf callers.
+ * src/debug.c (debug_message_prefix, trace_format): Likewise.
+ * src/freeze.c (produce_frozen_state): Likewise.
+ * src/input.c [DEBUG_INPUT]: Likewise.
+ * src/m4.c (usage): Likewise.
+ * src/m4.h (DEBUG_PRINT1, DEBUG_PRINT3, DEBUG_MESSAGE)
+ (DEBUG_MESSAGE1, DEBUG_MESSAGE2): Likewise.
+ * src/output.c (shipout_text, freeze_diversione): Likewise.
+ * src/path.c [DEBUG_INCL]: Likewise.
+ * src/stackovf.c (process_sigsegv) [DEBUG_STKOVF]: Likewise.
+ * src/symtab.c [DEBUG_SYM]: Likewise.
+
+2007-10-17 Eric Blake <ebb9@byu.net>
+
+ Fix 'm4 -F file -t undefined'.
+ * src/freeze.c (produce_frozen_state): Avoid core dump.
+ * doc/m4.texinfo (Using frozen files): Test for the bug.
+ * NEWS: Mention the fix.
+
+2007-10-09 Eric Blake <ebb9@byu.net>
+
+ Avoid regexp regression.
+ * doc/m4.texinfo (Regexp, Patsubst): Test \ expansion.
+
+2007-10-02 Eric Blake <ebb9@byu.net>
+
+ Add more examples and tests.
+ * doc/m4.texinfo (Patsubst): Use the examples directory. Also
+ document shortfall.
+ (Improved capitalize): New node.
+ (Index macro, Regexp): Test more code paths.
+ * examples/capitalize.m4: Update to match manual.
+ * examples/capitalize2.m4: New file.
+ * examples/foreachq3.m4: Likewise.
+ * examples/join.m4: Likewise.
+ * examples/loop.m4: Likewise.
+ * examples/wraplifo.m4: Likewise.
+ * examples/wraplifo2.m4: Likewise.
+ * examples/Makefile.am (EXTRA_DIST): Distribute new files.
+
+2007-09-24 Eric Blake <ebb9@byu.net>
+
+ Create .gitignore alongside .cvsignore.
+ * bootstrap (LC_ALL): Set up front.
+ (version control) Borrow idea from head, to avoid churn in
+ m4/.*ignore files modified by gnulib-tool.
+
+2007-09-13 Eric Blake <ebb9@byu.net>
+
+ * AUTHORS: Fix typo.
+
+2007-09-07 Eric Blake <ebb9@byu.net>
+
+ * AUTHORS: Simplify, to match libtool and autoconf layout.
+ * THANKS: Sync with head.
+
+2007-08-10 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Compatibility): Sync with head.
+
+2007-08-10 Konrad Schwarz <konrad.schwarz@siemens.com> (tiny change)
+ and Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Defn): Update wording.
+
+2007-08-09 Eric Blake <ebb9@byu.net>
+
+ POSIX requires defn(`a',`b') to concatenate definitions.
+ * src/builtin.c (m4_defn): Allow multiple arguments, but warn if
+ trying to mix a builtin with anything else.
+ * doc/m4.texinfo (Defn): Document a use for this POSIX
+ requirement.
+ (Incompatibilities): Update to match current status.
+ * NEWS: Document this change.
+ * THANKS: Update.
+ Reported by Konrad Schwarz.
+
+2007-08-04 Eric Blake <ebb9@byu.net>
+
+ Normalize all GPL license notices.
+ * GNUmakefile: Update license wording.
+ * Makefile.am: Likewise.
+ * Makefile.maint: Likewise.
+ * bootstrap: Likewise.
+ * commit: Likewise.
+ * configure.ac: Likewise.
+ * checks/Makefile.in: Likewise.
+ * doc/Makefile.am: Likewise.
+ * examples/Makefile.am: Likewise.
+ * src/Makefile.am: Likewise.
+ * src/builtin.c: Likewise.
+ * src/debug.c: Likewise.
+ * src/eval.c: Likewise.
+ * src/format.c: Likewise.
+ * src/freeze.c: Likewise.
+ * src/input.c: Likewise.
+ * src/m4.c: Likewise.
+ * src/m4.h: Likewise.
+ * src/macro.c: Likewise.
+ * src/output.c: Likewise.
+ * src/path.c: Likewise.
+ * src/stackovf.c: Likewise.
+ * src/symtab.c: Likewise.
+
+2007-07-21 Eric Blake <ebb9@byu.net>
+
+ Fix regression on NetBSD from 2007-05-28.
+ * src/output.c (m4_tmpopen): Explicitly reset append-mode stream
+ position to byte 0.
+ * NEWS: Document this fix.
+ * THANKS: Update.
+ Reported by Thomas Klausner.
+
+2007-07-20 Eric Blake <ebb9@byu.net>
+
+ Fix 'make distcheck' issues.
+ * Makefile.am (EXTRA_DIST): No need to distribute
+ gpl-3.0.texi.diff anymore.
+ * m4/gnulib-cache.m4: Update to latest gnulib.
+
+2007-07-14 Eric Blake <ebb9@byu.net>
+
+ Reflect upstream license .texi changes.
+ * doc/m4.texinfo (Copying): Rename node...
+ (GNU General Public License): ...to this.
+ (GNU Free Documentation License): Adjust node location.
+ * local/doc/gpl-3.0.texi.diff: Remove file.
+
+2007-07-10 Eric Blake <ebb9@byu.net>
+
+ Start 1.4.10a.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Start changes since 1.4.10.
+ * doc/m4.texinfo (History): Mention 1.4.11.
+ (Copying This Package, Copying This Manual): Add index entries.
+ * local/lib/version-etc.c.diff: Delete, now that gnulib has been
+ updated.
+ * Makefile.am (EXTRA_DIST): Remove dead file.
+
+2007-07-09 Eric Blake <ebb9@byu.net>
+
+ Release Version 1.4.10.
+ * doc/Makefile.am (m4_TEXINFOS): Distribute gpl-3.0.texi.
+ * Makefile.am (EXTRA_DIST): Distribute gnulib diffs.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.9.
+
+ * src/format.c: Missed a GPLv3 conversion.
+
+ Avoid undefined behavior of %.*c in printf.
+ * src/format.c (format): Special case %c.
+ * TODO: Document that more remains to be done.
+ * NEWS: Document the fix.
+
+2007-07-05 Eric Blake <ebb9@byu.net>
+
+ Fix up gnulib-tool usage.
+ * m4/gnulib-cache.m4: Change local-dir to local, not `.'.
+ * version-etc.c.diff: Move to...
+ * local/lib/version-etc.c.diff: ...here.
+ * gpl-3.0.texi.diff: Move to...
+ * local/doc/gpl-3.0.texi.diff: ...here.
+
+2007-07-04 Eric Blake <ebb9@byu.net>
+
+ Upgrade to GPL version 3 or later.
+ * bootstrap: Pick up GPLv3.
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool
+ --local-dir=. --import gpl-3.0'.
+ * doc/m4.texinfo (Copying This Package): New appendix.
+ * NEWS: Mention this change.
+ * README: Mention why some files still claim to be version 2.
+ * version-etc.c.diff: New file, to make sure --version claims
+ correct GPL version. Temporary until gnulib makes move.
+ * gpl-3.0.texi.diff: New file, to allow inclusion of GPLv3 as
+ appendix, rather than section, of the manual.
+ * GNUmakefile: Update to new license.
+ * Makefile.am: Likewise.
+ * Makefile.maint: Likewise.
+ * commit: Likewise.
+ * configure.ac: Likewise.
+ * checks/Makefile.in: Likewise.
+ * doc/Makefile.am: Likewise.
+ * examples/Makefile.am: Likewise.
+ * src/Makefile.am: Likewise.
+ * src/builtin.c: Likewise.
+ * src/debug.c: Likewise.
+ * src/eval.c: Likewise.
+ * src/freeze.c: Likewise.
+ * src/input.c: Likewise.
+ * src/m4.c: Likewise.
+ * src/m4.h: Likewise.
+ * src/macro.c: Likewise.
+ * src/output.c: Likewise.
+ * src/path.c: Likewise.
+ * src/stackovf.c: Likewise.
+ * src/symtab.c: Likewise.
+
+2007-06-26 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import assert'.
+
+2007-06-26 Karl Berry <karl@freefriends.org> (tiny change)
+
+ Match Free Software Directory categories.
+ * doc/m4.texinfo (dircategory): Update.
+
+2007-05-31 Eric Blake <ebb9@byu.net>
+
+ * src/output.c (output_text): Fix regression from 2007-05-28.
+ * doc/m4.texinfo (History): Mention 1.4.10.
+ (Format): Make testsuite output easier to debug.
+
+2007-05-29 Eric Blake <ebb9@byu.net>
+
+ Start 1.4.9c.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Start changes since 1.4.9b, and fix typo.
+
+ Beta Release Version 1.4.9b.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.9.
+
+ Improve format support.
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
+ vasprintf-posix'.
+ * src/format.c (format): Parse %'hhd, %a, %A. Avoid calling
+ printf with too few arguments, as in format(%*.*d,-1,-1,1).
+ * doc/m4.texinfo (Format): Expand tests, and improve
+ documentation.
+ * NEWS: Document this change.
+
+2007-05-28 Eric Blake <ebb9@byu.net>
+
+ Fix large diversion corner cases, including 1.4.8 regression.
+ * src/output.c (m4_tmpfile, m4_tmpopen): Simplify use of errno.
+ (make_room_for): Use NULL, not 0, for pointers.
+ (insert_diversion_helper): Avoid using rewind.
+ (freeze_diversions): Allow freezing large diversions.
+ * NEWS: Document this fix.
+
+ Also run gnulib unit tests during make check.
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool
+ --tests-base=tests --with-tests'.
+ * configure.ac (AC_CONFIG_FILES): Build gnulib testdir.
+ * Makefile.am (SUBDIRS): Run gnulib tests before ours.
+
+2007-05-25 Eric Blake <ebb9@byu.net>
+
+ Backport prompts in examples from head.
+ * src/macro.c (expand_macro): Shorten message.
+ * doc/m4.texinfo (Manual, Command line files, Comments)
+ (Inhibiting Invocation, Macro Arguments, Macro expansion, Indir)
+ (Builtin, Shift, Forloop, Foreach, Dumpdef, Trace, Debug Levels)
+ (Debug Output, Include, Format, Syscmd, Mkstemp, Location)
+ (Using frozen files, Improved forloop, Improved foreach): Add
+ prompts to examples.
+ * checks/get-them: Ignore prompts in examples.
+
+ Fix sync line interaction with multiline comments.
+ * doc/m4.texinfo (Other Incompatibilities): Add example, and
+ document bug in --syncline/divert interaction.
+ (Preprocessor features): Augment test.
+ * src/m4.h (output_text): Export.
+ (shipout_text, next_token): Add parameter.
+ * src/freeze.c (reload_frozen_state): Don't interfere with
+ synclines when reloading state.
+ * src/output.c (output_text): Export.
+ (shipout_text): Take new parameter for start line of token.
+ Output at most one syncline per token.
+ * src/input.c (next_token): Report line where multiline tokens
+ start.
+ * src/macro.c (expand_input, expand_token, expand_argument):
+ Adjust callers so that line is passed from input to output.
+ * NEWS: Document this fix.
+ Reported by Sergey Poznyakoff.
+
+ Test -s in testsuite.
+ * doc/m4.texinfo (Preprocessor features): Add a test.
+ * checks/get-them: Support extra options in testsuite.
+ * checks/check-them (examples): Use extra options.
+ * THANKS: Update.
+ Reported by Sergey Poznyakoff.
+
+2007-05-24 Eric Blake <ebb9@byu.net>
+
+ Support POSIX flush semantics on all platforms.
+ * m4/gnulib-cache.m4: Remove closeout, and augment with
+ 'gnulib-tool --import closein fflush'.
+ * src/m4.h (includes): Use closein, not closeout.
+ * src/m4.c (main): Ensure stdin is flushed when not all input is
+ consumed.
+ (process_file): No return needed.
+ * src/debug.c (debug_flush_files): Rely on gnulib module, rather
+ than excluding mingw.
+ * NEWS: Document this change.
+
+ Work around cygwin and mingw fseeko bugs.
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import fseeko'.
+ * src/debug.c (debug_flush_files): Prefer fseeko over fseek.
+
+2007-04-25 Eric Blake <ebb9@byu.net>
+
+ Fix negative division within eval, regression of 2007-01-06.
+ * doc/m4.texinfo (Eval): Catch this bug.
+ * src/eval.c (mult_term): Fix it.
+ * NEWS: Document this.
+ * THANKS: Update.
+ Reported by Cesar Strauss.
+
+2007-04-23 Eric Blake <ebb9@byu.net>
+
+ Start 1.4.9a.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Start changes since 1.4.9.
+
+2007-03-23 Eric Blake <ebb9@byu.net>
+
+ Release 1.4.9:
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.8b.
+
+2007-03-16 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Mkstemp): Tweak wording.
+ * src/output.c (output_init): Adjust to latest gnulib.
+
+2007-03-15 Eric Blake <ebb9@byu.net>
+
+ Avoid Tandem/NSK's broken long long (without a symmetric unsigned
+ long long, it confuses gnulib).
+ * configure.ac (AC_TYPE_LONG_LONG_INT): Declare long long broken
+ if unsigned long long doesn't work.
+ * THANKS: Update.
+ Reported by Matthew Woehlke.
+
+2007-03-07 Eric Blake <ebb9@byu.net>
+
+ * AUTHORS: Update.
+ * doc/m4.texinfo: Minor tweaks, avoid makeinfo warning.
+
+2007-03-01 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Pick up more index entries from head. Follow
+ more texinfo recommendations.
+ (Sysval): Improve tests.
+
+ Avoid overfull \vbox warning from texinfo, due to indices that
+ weren't quite big enough to split across page boundaries.
+ * doc/m4.texinfo: Add lots of concept index entries.
+ (Concept Index): Move to be last, as recommended by texinfo
+ manual.
+ (Define, Arguments, Pseudo Arguments): Add more function entries.
+
+2007-02-28 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Eval): Clean up wording to reflext POSIX XCU ERN
+ 137.
+ (Pseudo Arguments): Add useful example.
+
+ * doc/m4.texinfo (Pushdef, Incompatibilities): Clean up wording to
+ reflect POSIX XCU ERN 118.
+
+ * src/m4.h (DEFAULT_MACRO_SEQUENCE): Factor out from...
+ * src/m4.c (usage): ...here,...
+ * src/builtin.c (set_macro_sequence): ...and here.
+ (define_user_macro): Fix typo.
+ * doc/m4.texinfo (Preprocessor features, Arguments): Fix minor
+ inaccuracies.
+ (Shift): Document composite macro argn for portably getting at
+ positional parameters beyond 9.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Start changes of 1.4.8c.
+
+2007-02-24 Eric Blake <ebb9@byu.net>
+
+ Beta Release 1.4.8b:
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.8.
+
+ Reserve all uses of raw ${} in macro definitions, not just
+ ${<digit>}.
+ * src/builtin.c (set_macro_sequence): Change default macro
+ sequence.
+ * doc/m4.texinfo (Operation modes): Update to match.
+ * src/m4.c (usage): Likewise.
+ * NEWS: Likewise.
+
+2007-02-23 Eric Blake <ebb9@byu.net>
+
+ * src/m4.h (includes): Update to latest gnulib.
+
+2007-02-08 Eric Blake <ebb9@byu.net>
+
+ Rename --warn-syntax to --warn-macro-sequence[=regex], to make it
+ more flexible, and so that autoconf can use it.
+ * src/m4.h (set_macro_sequence, free_macro_sequence): New
+ prototypes.
+ * src/builtin.c (macro_sequence_buf, macro_sequence_regs)
+ (macro_sequence_inuse, set_macro_sequence, free_macro_sequence):
+ New variables and functions.
+ (define_user_macro): Allow flexibility in regular expression used
+ to trigger warning.
+ * src/m4.c (warn_syntax): Delete.
+ (usage, WARN_MACRO_SEQUENCE_OPTION, main): Implement changed
+ spelling of option, along with optional argument.
+ * doc/m4.texinfo (Operation modes, Arguments): Document this
+ change.
+ * NEWS: Document this change.
+
+2007-02-05 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Module strstr no longer exists.
+
+ Avoid bool bitfields, as they don't work on AIX.
+ * src/m4.h (bool_bitfield): New typedef.
+ (struct symbol, struct builtin): Use it.
+ * src/input.c (struct input_block): Likewise.
+ Reported by Albert Chin.
+
+ * doc/m4.texinfo (Sysval): Avoid SIGPIPE in test as unreliable.
+ Reported by Albert Chin.
+ * THANKS: Update.
+
+2006-06-18 Bruno Haible <bruno@clisp.org> (tiny change)
+
+ * doc/m4.texinfo (Input processing): Further clarifications.
+
+2007-02-03 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Input processing, Quoting Arguments): Beef up
+ the examples.
+ Reported by Bruno Haible.
+
+2007-02-01 Eric Blake <ebb9@byu.net>
+
+ * src/m4.c (fatal_warnings): New variable.
+ (usage): Document new -E behavior.
+ (main): Make -E an additive option.
+ (m4_error, m4_error_at_line): Change exit status when required.
+ * NEWS: Document this change.
+ * doc/m4.texinfo (Operation modes): Likewise.
+ Reported by Ralf Wildenhues.
+
+2007-01-27 Eric Blake <ebb9@byu.net>
+
+ * src/m4.h (warn_syntax): Declare.
+ (init_pattern_buffer): Export.
+ * src/m4.c (warn_syntax, usage, WARN_SYNTAX_OPTIONS)
+ (long_options, main): Implement new option.
+ * src/builtin.c (init_pattern_buffer): Allow NULL regs argument.
+ (define_user_macro): Warn on $11 and ${1} if requested.
+ * src/input.c (init_pattern_buffer): Delete duplicate method.
+ * doc/m4.texinfo (Operation modes): Document it.
+ (Arguments): Document future direction of ${11} vs. $11.
+ (Incompatibilities): Fix wording on POSIX limitations.
+ * checks/get-them: Parse @{ and @} correctly.
+ * NEWS: Document this change.
+
+2007-01-26 Eric Blake <ebb9@byu.net>
+
+ * src/builtin.c (includes): Adjust to gnulib changes.
+
+2007-01-15 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Pull in various improvements from head.
+ * src/builtin.c (include): Alter exit status on failure.
+ * NEWS: Document this fix.
+
+2007-01-13 Eric Blake <ebb9@byu.net>
+
+ * configure.ac (AC_CHECK_MEMBERS): Check for stack_t.ss_sp, and
+ assume the fallback of ss_base for BSDI 4.0.1.
+ * src/stackovf.c (setup_stackovf_trap) [HAVE_SIGALTSTACK &&
+ ! HAVE_STACK_T_SS_SP]: Use this check.
+ Reported by Chris McGuire.
+ * THANKS: Update.
+ * NEWS: Document the improvement.
+
+2007-01-09 Eric Blake <ebb9@byu.net>
+
+ * src/eval.c (ASSIGN): New enumerator.
+ (eval_lex): Recognize '='.
+ (equality_term): Treat '=' like '==', but warn that it is
+ deprecated.
+ * doc/m4.texinfo (Eval): Document and test this.
+ (Incompatibilities): Document the POSIX incompatibility.
+ * NEWS: Document this change.
+
+2007-01-06 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import stdint'.
+ * checks/check-them: Record expected exit status.
+ * checks/get-them: Check exit status.
+ * src/m4.h (eval_t, unsigned_eval_t): Delete, use POSIX int32_t
+ instead.
+ * src/builtin.c: All users changed.
+ * src/eval.c: Likewise. Also document where we are triggering
+ undefined or implementation-defined behavior.
+ (BADOP, NEGATIVE_EXPONENT, INVALID_OPERATOR, eval_lex, evaluate)
+ (logical_or_term, logical_and_term, logical_not_term, not_term)
+ (equality_term, unary_term): Port from head to follow POSIX
+ semantics.
+ (exp_term): Reject 0**0 as undefined.
+ * doc/m4.texinfo (History): Mention 1.4.9.
+ (Format, Incompatibilities): Update to document POSIX compliance.
+ * NEWS: Document this change.
+
+2007-01-04 Eric Blake <ebb9@byu.net>
+
+ * NEWS: Document previous fix.
+ * THANKS: Update.
+
+2007-01-04 Sami Liedes <sliedes@cc.hut.fi> (tiny change)
+
+ Fix Debian bug 405594, introduced 2006-11-01 from a bad
+ copy-n-paste from head.
+ * src/m4.c (main): Use correct file name after --.
+
+2007-01-04 Eric Blake <ebb9@byu.net>
+
+ Fix regression from 1.4.7 in large file handling on some
+ platforms, introduced on 2006-10-13.
+ * configure.ac (AC_LARGE_SYSFILE): Guarantee that large files
+ will be handled.
+ * NEWS: Document this fix.
+
+2007-01-03 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
+ version-etc-fsf'.
+ * src/m4.c (AUTHORS, main): Use FSF wording for --version (plus
+ it bumps the copyright year).
+
+2006-12-27 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Patsubst): Fix typo.
+
+2006-12-16 Eric Blake <ebb9@byu.net>
+
+ * src/m4.c (main): Check for errors when closing stdin.
+
+2006-12-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/m4.texinfo: Fix some typos.
+
+2006-12-09 Eric Blake <ebb9@byu.net>
+
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Start changes of 1.4.8a.
+
+2006-11-20 Eric Blake <ebb9@byu.net>
+
+ Release 1.4.8:
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.7.
+
+2006-11-16 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Include, Search Path, Diversions, Divert):
+ Minor tweaks noticed while porting to head.
+
+2006-11-14 Eric Blake <ebb9@byu.net>
+
+ * src/output.c (cleanup_tmpfile, freeze_diversions): Clean up
+ spent iterators.
+ (m4_tmpname): Avoid memory leak.
+
+2006-11-13 Eric Blake <ebb9@byu.net>
+
+ * src/output.c (cleanup_tmpfile): Avoid double error message when
+ umask is prohibitive.
+ (m4_tmpname, m4_tmpopen, m4_tmpclose, m4_tmpremove): New
+ functions.
+ (m4_tmpfile): Add parameter, move cloexec action here.
+ (make_room_for): Adjust caller. Don't keep too many files open.
+ (insert_diversion_helper): Unlink emptied temp files.
+ (make_diversion): Don't keep too many files open.
+ * doc/m4.texinfo (Diversions): Tweak wording, now that open file
+ descriptors are no longer a limiting factor.
+ * NEWS: Document this change.
+
+ Backport sparse diversion handling from head.
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
+ avltree-oset'.
+ * src/output.c (struct m4_diversion): Rename from struct
+ diversion, and update members. All users changed.
+ (diversion_table): Change to an ordered set, instead of an array.
+ (div0): New storage for diversion 0.
+ (diversions): No longer needed.
+ (free_list): New list to allow recycling diversion storage.
+ (diversion_storage): New storage to reduce malloc overhead.
+ (cmp_diversion_CB, threshold_diversion_CB): New callbacks.
+ (output_init, output_exit, cleanup_tmpfile, make_room_for)
+ (make_diversion): Handle new diversion storage scheme.
+ (insert_diversion_helper): New function.
+ (insert_diversion, undivert_all, freeze_diversions): Use it.
+ * doc/m4.texinfo (Divert, Diversions): Move hidden test of memory
+ exhaustion to visible test of large diversion numbers.
+ * NEWS: Document this fix.
+
+2006-11-11 Eric Blake <ebb9@byu.net>
+
+ * src/builtin.c (m4_translit): Slight optimization.
+
+ * src/m4.h (to_uchar): Depend on HAVE_INLINE.
+
+ * src/builtin.c: Remove unnecessary casts.
+ (expand_ranges): Make 8-bit clean.
+ * doc/m4.texinfo (Translit): Add tests and wording.
+ * NEWS: Document this fix.
+
+2006-11-07 Eric Blake <ebb9@byu.net>
+
+ * src/m4.h (output_exit): New prototype.
+ * src/m4.c (main): Use it.
+ * src/output.c (cleanup_tmpfile): Close files before removing
+ directory.
+ (insert_diversion): Check for failure.
+ (output_exit): Avoid memory leak.
+ * doc/m4.texinfo (Diversions): Test this bug.
+
+ * doc/m4.texinfo (Esyscmd, Errprint): Minor touchups.
+
+2006-11-01 Eric Blake <ebb9@byu.net>
+
+ Allow C++ compilation on Linux, as a safety measure in type
+ checking.
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
+ stdbool'.
+ * src/m4.h (hack_symbol, hack_all_symbols): Use full prototype.
+ (boolean): Kill this, and use stdbool.h instead.
+ * src/debug.c, src/eval.c, src/input.c, src/macro.c, src/m4.c:
+ * src/output.c, src/symtab.c: All users changed.
+ * src/symtab.c (hack_all_symbols): Update prototype.
+ * src/builtin.c (dump_symbol, set_trace): Update signature.
+ (m4_dumpdef, m4_traceon, m4_traceoff): Update callers.
+ (mkstemp_helper, m4_m4wrap, expand_ranges, m4_translit): Allow
+ C++ compilation.
+ * src/debug.c (trace_flush): Likewise.
+ * src/freeze.c (reload_frozen_state): Likewise.
+ * src/input.c (push_file, push_string_finish, push_wrapup):
+ (token_bottom, next_token): Likewise.
+ * src/m4.c (main): Likewise.
+
+ * doc/m4.texinfo (Invoking m4): Update according to POSIX 200x
+ draft wording.
+ * src/m4.h (m4_path_search): Tweak signature.
+ * src/path.c (m4_path_search): Likewise.
+ * src/builtin.c (include): Update caller.
+ * src/m4.c (main): Allow -D, -U, -t, and -s to be interspersed
+ with file names. Don't write to **argv.
+ (process_file): New helper method.
+ * NEWS: Document this fix.
+
+2006-10-31 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import strstr'.
+ * doc/m4.texinfo (Translit): Improve the documentation.
+ * src/builtin.c (m4_translit): Optimize to O(n) instead of O(n^2)
+ algorithm.
+ (m4_index): Simplify, and speed up slightly.
+ * NEWS: Document this fix.
+
+2006-10-28 Eric Blake <ebb9@byu.net>
+
+ * src/input.c (set_quotes): Don't allow empty end-quote with
+ non-empty start-quote.
+ (set_comment): Likewise for end-comment.
+ * src/builtin.c (m4_changecom): Adjust caller.
+ * doc/m4.texinfo (Changequote, Changecom): Update documentation to
+ match behavior.
+ (Incompatibilities): Document another POSIX bug.
+ * NEWS: Mention this change.
+
+2006-10-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * examples/Makefile.am (EXTRA_DIST): Distribute recently-added
+ files.
+
+2006-10-26 Eric Blake <ebb9@byu.net>
+
+ Silence -Wwrite-strings -Wpointer-arith warnings.
+ * src/builtin.c (define_user_macro): Allow NULL argument.
+ (m4_builtin, m4_indir): Cast away const of "".
+ * src/format.c (format): Likewise.
+ * src/macro.c (collect_arguments): Likewise.
+ (expand_macro): Avoid math on void*.
+ * src/m4.c (main): Adjust caller.
+ * src/output.c (freeze_diversions): Detect off_t overflow.
+
+ * src/input.c (pop_input): Remove unnecessary code.
+
+2006-10-25 Eric Blake <ebb9@byu.net>
+
+ * src/symtab.c (symtab_init): Avoid size_t overflow.
+ * src/output.c (make_diversion): Avoid size_t overflow.
+ * doc/m4.texinfo (Diversions): Test this fix.
+ * src/input.c (input_block): Remove unused member. Reduce size
+ of struct.
+ (push_file, pop_input): Avoid useless assignment.
+ * NEWS: Document the bug fix.
+
+ Redo location tracking. Instead of having just files track the
+ line to return to when popping input, now all input blocks track
+ their current line.
+ * src/input.c (INPUT_STRING_WRAP, INPUT_FILE_INIT): No longer
+ needed.
+ (input_block): Have line and file storage for all input types, and
+ rename some members.
+ (input_change): New global flag.
+ (push_file, push_macro, push_string_init, push_wrapup): Store
+ location.
+ (push_string_finish, pop_input, pop_wrapup): Notice changes in
+ input blocks.
+ (peek_input): Adjust to new member names.
+ (next_char, next_char1): Adjust location if needed.
+ (skip_line): Simplify restoring location.
+ * doc/m4.texinfo (Location): Augment the test to catch line
+ location of expansion of multi-line arguments.
+ Reported by Stepan Kasal.
+
+2006-10-23 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Macro Arguments): Document that leading space
+ in argument collection stops at macro expansion.
+ (Incompatibilities): Document POSIX whitespace wording issue.
+
+2006-10-20 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Trailing '@comment' doesn't format nicely in
+ TeX, so recognize '@w{ }' instead. Likewise, @code{_name} at the
+ end of a TeX line splits incorrectly.
+ (Foreach, Improved foreach): Write these sections, borrowing ideas
+ from CVS head and from m4sugar.
+ * checks/get-them: Accomodate new way to show trailing space in
+ examples.
+ * examples/foreach.m4: Make usable in documentation.
+ * examples/foreachq.m4: New file.
+ * examples/foreachq2.m4: New file.
+ * examples/foreach2.m4: New file.
+ * NEWS: Document the documentation updates.
+
+2006-10-19 Eric Blake <ebb9@byu.net>
+
+ * src/builtin.c (mkstemp_helper, m4_mkstemp): New functions.
+ (m4_maketemp): Provide traditional behavior.
+ * doc/m4.texinfo (Mkstemp): Rename from Maketemp. Document the
+ new `mkstemp' macro and the flaws of the old `maketemp'.
+ (Incompatibilities): Move maketemp discussion to...
+ (Extensions): ...here, since -G now supresses the GNU extension.
+ * NEWS: Document this.
+
+ * examples/forloop.m4: Simplify.
+ * examples/forloop2.m4: New file.
+ * examples/quote.m4: New file.
+ * doc/m4.texinfo (Loops): Rename to...
+ (Shift): ...this node.
+ (Forloop, Foreach, Improved forloop, Improved foreach): New
+ nodes.
+
+2006-10-17 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Update with 'gnulib-tool --import
+ config-h'.
+ * configure.ac (AC_CONFIG_HEADERS): Create config.h alongside
+ gnulib headers, rather than in top directory.
+ * src/Makefile.am (AUTOMAKE_OPTIONS): Add nostdinc, to reduce make
+ output clutter.
+
+2006-10-16 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Backport some minor cleanups from head.
+ (Cleardivert): Rename from cleardiv.
+
+ * doc/m4.texinfo (Invoking m4): Promote to a chapter, instead of
+ a section of Preliminaries.
+ (Operation modes, Preprocessor features, Limits control)
+ (Frozen state, Debugging options, Command line files): Subdivide
+ into new sections.
+ (Input processing, Quoting Arguments, Define, Arguments)
+ (Cleardiv, Format, M4exit): Fix grammar of references.
+ (Inhibiting Invocation, Macro Arguments, Builtin, Trace)
+ (Debug Levels, Debug Output, Include, Search Path, Divert)
+ (Platform macros, Syscmd, Location, Extensions): Point to new
+ sections.
+ (Top, Loops, Include, Undivert, Location, Incompatibilities):
+ Improve file references.
+
+2006-10-14 Eric Blake <ebb9@byu.net>
+
+ * m4/input.c (file_clean): Don't close stdin twice, POSIX says it
+ is not portable.
+ Reported by Ralf Wildenhues.
+
+ * src/builtin.c (m4_undivert): Check for read error.
+
+2006-10-13 Eric Blake <ebb9@byu.net>
+
+ * src/m4.h (UNIX, W32_NATIVE, OS2): Move platform checks after
+ header files are included, since <unistd.h> can affect the tests.
+ * THANKS: Updated.
+ Reported by Martin Koeppe.
+
+ Backport head's usage of clean-temp module, as it is cleaner than
+ using tmpfile-safer.
+ * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
+ clean-temp closeout', and remove tmpfile-safer.
+ * src/m4.h (includes): Adjust.
+ (m4_path_search): Rename from path_search, to avoid collision
+ with gnulib.
+ * src/m4.c (main): Install closeout handler. Adjust caller.
+ (usage): Now done by closeout module.
+ * src/builtin.c (m4_m4exit): Likewise.
+ (m4_undivert, include): Adjust callers.
+ * src/freeze.c (reload_frozen_state): Likewise.
+ * src/path.c (m4_path_search): Rename from path_search.
+ * src/output.c (output_temp_dir): New variable.
+ (cleanup_tmpfile, m4_tmpfile): New functions, from head.
+ (insert_diversion, make_room_for): Use them.
+ * doc/m4.texinfo (Diversions): Document this, and add a test.
+ (Improved fatal_error): Fix typo.
+ (Maketemp): Port test to mingw, and no longer hide from
+ documentation.
+ * NEWS: Document the change in TMPDIR behavior.
+
+ * configure.ac (m4_pattern_forbid): Narrow the range of forbidden
+ macros, to work with recent gnulib-tool update.
+
+ * src/builtin.c (m4_builtin, m4_indir): Allow transparent
+ handling of defn results.
+ * doc/m4.texinfo (Builtin, Indir): Add test cases.
+ * NEWS: Document this.
+
+2006-10-12 Eric Blake <ebb9@byu.net>
+
+ * 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.
+
+2006-10-11 Eric Blake <ebb9@byu.net>
+
+ * src/input.c (enum input_type): Add additional types, to shave
+ time off the common case.
+ (push_wrapup): Wrapped strings remember location.
+ (push_string_finish): Normal strings carry no location.
+ (push_file): Start new files uninitialized.
+ (peek_input, next_char_1): Optimize common cases by updating
+ location only on new input types.
+ (pop_input): Update to honor new input types.
+ (skip_line, push_string_finish): Fix regression in previous patch
+ when dnl is not followed by newline in included file.
+ (push_string_init): Initialize all fields of INPUT_STRING sooner.
+ (peek_token): Simplify.
+ (peek_input): Don't pop input files on peek, so that __file__ and
+ __line__ as last token of include file work correctly.
+ * doc/m4.texinfo (History): Mention 1.4.8.
+ (Answers): Split into sections, one per answer.
+ (Improved exch, Improved cleardivert, Improved fatal_error): New
+ nodes.
+ (Dnl, M4wrap, Location, M4exit, Improved fatal_error): Update to
+ new m4wrap location semantics.
+ (Changeword): Add test that caught the regression.
+ * NEWS: Document this.
+
+ * src/macro.c (expand_macro): In macro expansion errors, report
+ line number at open parenthesis.
+ * src/input.c (next_token): Fix off-by-one bug in reporting end
+ of file in unterminated comment and string.
+ (file_names): New obstack, necessary since expand_macro now hangs
+ on to file names longer than the files remain open.
+ (input_init): Initialize new obstack.
+ (push_file): Use new obstack. Delay updates to current_file
+ until after expand_macro has restored state.
+ (peek_input, next_char_1): Update current_file if necessary.
+ (pop_wrapup): Release memory.
+ * doc/m4.texinfo (Macro Arguments, Changequote, Changecom): Catch
+ the off-by-one bug.
+ (Dnl): Update to the new location reporting rules.
+ * NEWS: Document these changes.
+
+2006-10-10 Eric Blake <ebb9@byu.net>
+
+ * src/macro.c (argc_stack, argv_stack): New variables for sharing
+ obstacks across multiple macro calls.
+ (expand_input): Initialize and tear down stack once per input
+ file, instead of once per macro.
+ (expand_macro): Reuse existing stacks when possible.
+ (collect_arguments): Simplify slightly.
+
+ * src/path.c (include_env_init): Fix botched patch application.
+ Reported by Ralf Wildenhues.
+
+2006-10-09 Eric Blake <ebb9@byu.net>
+
+ * src/m4.c (usage, main): Detect write failures to stderr.
+ * src/builtin.c (m4_m4exit): Likewise.
+ * NEWS: Document this.
+
+ * src/macro.c (expand_macro): Allow --nesting-limit=0 to remove
+ the limit.
+ * NEWS: Document this.
+ * doc/m4.texinfo (Invoking m4): Likewise.
+
+2006-10-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * src/path.c (include_env_init): Copy the string returned
+ by getenv before overwriting it; POSIX disallows this.
+
+2006-10-09 Eric Blake <ebb9@byu.net>
+
+ * src/m4.c (main): Defer debugfile until after --help.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Start changes of 1.4.7a.
+
+2006-09-25 Eric Blake <ebb9@byu.net>
+
+ Release 1.4.7:
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.6.
+
+2006-09-21 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Invoking m4): Add clarification on option
+ processing behavior.
+ * THANKS: Update.
+ Reported by Mikhail Teterin.
+
+ * bootstrap: Add --force option, based on idea from coreutils.
+ * README: Document that ./bootstrap and autoreconf are for
+ developers, and not lightly done in tarballs.
+
+2006-09-20 Eric Blake <ebb9@byu.net>
+
+ * src/m4.c (usage, OPTSTRING, main): Rename -e to -i, and give
+ deprecation warning on -e.
+ * doc/m4.texinfo (Invoking m4, Extensions): Document this.
+ * NEWS: Document this.
+
+2006-09-19 Eric Blake <ebb9@byu.net>
+
+ * src/m4.c (usage, long_options, main, DEBUGFILE_OPTION): Rename
+ -o/--error-output to --debugfile, and deprecate the former. This
+ will allow a future release to be more consistent with other GNU
+ tools, with -o/--output affecting stdout, not debug.
+ * doc/m4.texinfo (Invoking m4, Debug Output): Document this.
+ * NEWS: Document this.
+
+2006-09-14 Eric Blake <ebb9@byu.net>
+
+ * src/m4.c (main): Warn on deprecated options -B, -S, -T, -N,
+ --diversions. `m4 --help --version' now displays help, not
+ version.
+ (interactive, frozen_file_to_read, frozen_file_to_write): Move to
+ smaller scope.
+ (show_help, show_version): No longer needed.
+ (long_options, DIVERSIONS_OPTION): Backport patch from head to
+ distinguish between -N and --diversions in warning.
+ * doc/m4.texinfo (Invoking m4): Document this.
+ * NEWS: Likewise.
+
+2006-09-11 Eric Blake <ebb9@byu.net>
+
+ * src/Makefile.am (m4_LDADD): Add any gnulib dependent libraries.
+ * src/debug.c (debug_flush_files) [UNIX]: Flush stdin if it is
+ seekable.
+ (debug_set_file): Use STDOUT_FILENO.
+ * src/builtin.c (m4_m4exit): Flush stdin before exiting, to comply
+ with POSIX in regards to unread input.
+ * NEWS: Document this fix.
+ * doc/m4.texinfo (Syscmd, Esyscmd, M4exit): Likewise.
+
+2006-09-07 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Update to newer gnulib-tool.
+ * src/m4.h (push_file): Change prototype.
+ * src/input.c (push_file, peek_input, next_char_1): Only call getc
+ once at EOF, to avoid double ^D on terminal stdin; regression from
+ 2006-09-04.
+ (push_file, pop_file): Allow reading stdin twice.
+ * src/m4.c (main): Likewise.
+ * src/builtin.c (include): Update caller.
+ * NEWS: Document this change.
+ * doc/m4.texinfo (Invoking m4, Incompatibilities): Likewise.
+ (Syscmd): Add a test that failed before this patch.
+
+2006-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * checks/check-them: Quote $pwd.
+
+2006-09-05 Eric Blake <ebb9@byu.net>
+
+ * src/builtin.c (define_macro): Warn on invalid macro name.
+ * NEWS: Document this change.
+ * doc/m4.texinfo: Fix typos.
+ (Invoking m4, Macro Arguments, Pseudo Arguments, Defn, Indir)
+ (Ifelse): Backport some improvements from head.
+
+2006-09-04 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Changeword): Skip test on mingw, where the
+ native echo is braindead.
+ * checks/check-them (strip_needed): Ignore \r in output. Now the
+ testsuite will pass when cross-compiling from cygwin to mingw.
+
+ * src/input.c (peek_input): Fix regression in handling macro
+ without arguments as last token in file; debian bug 385720.
+ (next_token): Always consume an input character.
+ Reported by Andreas Schultz.
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Document this fix.
+ * doc/m4.texinfo (History): Mention next version.
+ (Changeword): Add example that exposes this bug.
+ * THANKS: Update.
+
+2006-08-25 Eric Blake <ebb9@byu.net>
+
+ Release 1.4.6:
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.5.
+
+ * Makefile.maint (web-manual): Give up on VPATH build during
+ distribution. But distributions are made so infrequently that
+ this is not too much of a hardship.
+ * Makefile.am (MAINTAINERCLEANFILES): Avoid error if lib/CVS/
+ exists.
+
+2006-08-24 Eric Blake <ebb9@byu.net>
+
+ * src/builtin.c (m4_index, m4_substr, m4_translit): Similar to
+ Solaris, produce output on just one argument.
+ (m4_regexp, m4_patsubst): For consistency, do likewise.
+ (m4_patsubst): Allow zero-length match at end of string.
+ * doc/m4.texinfo (Sysval): Fix overfull hbox.
+ (Bugs, Macro Arguments): Minor fixes.
+ (Other tokens): Rearrange node order.
+ (Index macro, Substr, Translit, Regexp, Patsubst): Add tests.
+ * NEWS: Document these fixes.
+
+2006-08-22 Eric Blake <ebb9@byu.net>
+
+ * src/input.c (pop_input): Avoid empty filename with -di option.
+ * src/debug.c (debug_message_prefix): Put space before message.
+
+ * m4/gnulib-cache.m4: We don't explicitly use alloca module.
+
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import gnupload.
+ * Makefile.maint (fetch): Simplify, now that we can use gnupload.
+
+ * checks/check-them: State why a test is skipped.
+ * doc/m4.texinfo (Changeword, Sysval, Maketemp): Likewise.
+
+ * ChangeLog: Add copyright.
+ * AUTHORS: Likewise.
+ * BACKLOG: Likewise.
+ * README: Likewise.
+ * THANKS: Likewise.
+ * TODO: Likewise.
+ * examples/COPYING: New file, add copyright for all the examples.
+ * checks/get-them: Put copyright on testsuite files.
+
+2006-08-18 Eric Blake <ebb9@byu.net>
+
+ Don't let unrelated child processes see too many files.
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import cloexec.
+ * src/builtin.c (m4_esyscmd, m4_regexp, m4_patsubst): Fix
+ spelling in error message.
+ * src/debug.c [!__STDC__]: Assume C89, and nuke old varargs.h.
+ (debug_set_output): Close debug file on exec.
+ * src/m4.h (includes): Add cloexec.h.
+ * src/output.c (make_room_for): Close diversions on exec.
+ * src/path.c (path_search): Close include files on exec.
+ * NEWS: Document this.
+
+ Regular expressions were leaking memory.
+ * src/builtin.c (init_pattern_buffer, free_pattern_buffer): New
+ helper methods.
+ (m4_regexp, m4_patsubst): Avoid memory leak.
+ * src/input.c (init_pattern_buffer) [ENABLE_CHANGEWORD]: Make
+ static.
+ (set_word_regexp) [ENABLE_CHANGEWORD]: Avoid memory leak. Change
+ from O(n^2) to O(n) for calculating word_start.
+ (next_token, peek_token) [ENABLE_CHANGEWORD]: Treat word_start as
+ O(1) bitmap, not O(n) search string.
+ * NEWS: Document this fix.
+
+2006-08-17 Eric Blake <ebb9@byu.net>
+
+ * NEWS: Document previous checkin.
+
+ * src/builtin.c (substitute): Avoid core dump when accessing
+ beyond bound of regular expression.
+ Reported by Karl Nelson.
+ * doc/m4.texinfo (Regexp): Add example that causes core dump on
+ some architectures prior to this patch.
+ * THANKS: Updated.
+
+2006-08-16 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Invoking m4, Debug Output): Fix wording to be
+ clear that dumpdef does not always go to stderr.
+
+ * src/builtin.c (m4_errprint): Flush buffers before printing to
+ stderr.
+ * THANKS: Updated.
+
+2006-08-15 Eric Blake <ebb9@byu.net>
+
+ * src/builtin.c (m4_m4wrap, m4_errprint, m4_shift): Make blind,
+ per debian bug 96075.
+ * doc/m4.texinfo (Loops, M4wrap, Errprint): Document this change.
+ (Changeword): Don't use shift as an example of a swallowed word.
+ (Divert): Discuss fact that divert is an English word.
+ Reported by Richard A Nelson.
+
+2006-08-14 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Invoking m4): Minor fixes.
+
+2006-08-12 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Arguments): Hint at better exch macro.
+ (Answers): Provide a better definition.
+
+2006-08-09 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Incompatibilities): Document that m4 does not
+ yet understand locales.
+ * NEWS: Fix wording of a few items.
+
+2006-08-08 Eric Blake <ebb9@byu.net>
+
+ Avoid printing `NONE:0:' in error messages.
+ * src/m4.h (m4_error_at_line): New function.
+ * src/m4.c (m4_error_at_line): Implement.
+ * src/input.c (skip_line, input_init, next_token): Use "", not
+ "NONE", for no file, since NONE can be a real file name.
+ * src/macro.c (expand_argument): Likewise.
+ * src/debug.c (debug_message_prefix, trace_header): Check for
+ current file.
+ * doc/m4.texinfo (Dnl, M4wrap): Adjust accordingly.
+ (Location): Document that synclines and internal message format
+ are not impacted by redefining these macros.
+ (M4exit): Hint at bug in fatal_error.
+ (Answers): Provide workaround to match m4 output.
+
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import verror.
+ * src/m4.h (m4_error): New function.
+ (M4ERROR, M4ERROR_AT_LINE): Reimplement without hacking around
+ error module deficiencies.
+ (reference_error, suppress_line): No longer needed.
+ * src/m4.c (m4_error): Implement.
+ (main): No longer need to install error callback.
+
+2006-08-04 Eric Blake <ebb9@byu.net>
+
+ * src/m4.h (program_name): Declare.
+ (suppress_line): New variable.
+ (M4ERROR_AT_LINE): New macro.
+ * src/m4.c (reference_error, main): Follow GNU Coding Standards
+ for error message format.
+ * src/input.c (skip_line, next_token): Use M4ERROR_AT_LINE.
+ * src/macro.c (expand_argument): Likewise.
+ * checks/check-them (examples): Adjust to new message format.
+ * src/builtin.c (m4___program__): New builtin.
+ * doc/m4.texinfo (Location): Split from Errprint into new node,
+ and document __program__.
+ (Builtin, Ifdef, Ifelse, Dumpdef, Trace, Debug Output, Dnl)
+ (Include, Regexp, Patsubst, Incr, Eval): Adjust error message
+ format.
+ (Extensions): Document __program__.
+ * NEWS: Document this change.
+
+2006-08-03 Eric Blake <ebb9@byu.net>
+
+ Don't confuse leading `(' in comment or quote with start of
+ argument collection.
+ * src/m4.h (enum token_type): Add TOKEN_OPEN, TOKEN_COMMA,
+ TOKEN_CLOSE.
+ (peek_input): Make private to input.c.
+ (peek_token): New prototype.
+ * src/input.c (default_word_regexp): Reduce ifdefs.
+ (peek_input): Make static.
+ (next_token): Return new token types.
+ (match_input, MATCH): Add argument consume, which controls
+ whether match should be pushed back.
+ (peek_token): New function.
+ (token_type_string) [DEBUG_INPUT]: New function.
+ * src/macro.c (expand_token, expand_argument, collect_arguments):
+ Handle new token types.
+ * doc/m4.texinfo (Changequote, Changecom): Document this.
+ * NEWS: Document this.
+
+ * src/stackovf.c (setup_stackovf_trap): Free memory on failure.
+
+ * src/stackovf.c (setup_stackovf_trap): Gracefully avoid stack
+ overflow detection when sigstack exists but is not implemented.
+ Fixes debian bug 154053.
+ * THANKS: Updated.
+ Reported by David Perlin.
+
+2006-08-02 Eric Blake <ebb9@byu.net>
+
+ * src/input.c (MATCH): Fix EOF detection on multi-byte comment
+ close.
+
+2006-08-01 Eric Blake <ebb9@byu.net>
+
+ * src/input.c (skip_line, next_token): Remember current file in
+ case input file ends abruptly. Addresses debian bug 175365.
+ (pop_input): Defer freeing storage that holds previous file
+ name...
+ (pop_wrapup): to here, after error message is issued.
+ * src/macro.c (expand_argument): Remember current file in case
+ input file ends abruptly.
+ * doc/m4.texinfo (Macro Arguments, Dnl, Changequote, Changecom)
+ (M4wrap): Adjust testsuite accordingly.
+ (Errprint): Document line number limitation of m4wrap.
+ * NEWS: Document this fix.
+ * THANKS: Update.
+
+2006-07-31 Eric Blake <ebb9@byu.net>
+
+ * src/input.c (peek_input, next_char, match_input): Be eight-bit
+ clean; fixes debian bug 311378.
+ * doc/m4.texinfo (Syntax): Describe eight-bit handling.
+ (Changequote, Changecom): Add examples to test this.
+ * NEWS: Document this fix.
+ * THANKS: Update.
+ Reported by Steven Augart.
+
+ * doc/m4.texinfo: Whitespace fix.
+ * checks/get-them: Avoid exceeding 14-char file name limit.
+ * THANKS: Update.
+
+2006-07-30 Eric Blake <ebb9@byu.net>
+
+ * src/path.c (path_search): Detect allocation failure.
+
+ Use native free when it is good enough.
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import free.
+ * src/builtin.c (define_user_macro, m4_regexp, m4_patsubst):
+ Adjust calls.
+ * src/symtab.c (free_symbol): Likewise.
+ * src/m4.c (xfree, main): Likewise.
+ * src/m4.h (obstack_chunk_free): Likewise.
+ * src/path.c (path_search): Likewise.
+ * src/input.c (pop_wrapup, set_quotes, set_comment): Likewise.
+
+ * doc/m4.texinfo (Errprint): Add example for last patch.
+ * checks/check-them: Account for VPATH in latest example.
+
+2006-07-29 Eric Blake <ebb9@byu.net>
+
+ * src/path.c (path_search): Add result parameter, so that
+ -I can be accounted for. Debian bug 53685.
+ * src/m4.h (path_search): Update prototype.
+ * src/m4.c (main): Adjust callers.
+ * src/freeze.c (reload_frozen_state): Likewise.
+ * src/builtin.c (include, m4_undivert): Likewise.
+ * NEWS: Document this change.
+ Reported by Nicolas Lichtmaier.
+
+2006-07-28 Eric Blake <ebb9@byu.net>
+
+ * Makefile.am (MAINTAINERCLEANFILES): Fix typo that tripped up
+ several non-GNU makes.
+ * src/stackovf.c (setup_stackovf_trap): Missed _ from yesterday.
+ * src/m4.h: Likewise.
+ * src/input.c (push_wrapup): Avoid compiler warning with Solaris
+ /usr/ccs/bin/ucbcc.
+
+2006-07-27 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Use @acronym{GNU} throughout.
+ (History): Update for 1.4.6.
+
+ * src/m4.h (_): Remove K&R cruft.
+ * src/builtin.c: Likewise.
+ * src/debug.c: Likewise.
+ * src/eval.c: Likewise.
+ * src/macro.c: Likewise.
+ * src/stackovf.c: Likewise.
+
+ * doc/Makefile.am (m4.1): Improve man page.
+ * src/m4.c (usage): Improve --help output, including adding the
+ bug reporting address.
+ (main): Follow GNU Coding Standards for --version output.
+
+2006-07-26 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Use begin-quote, end-quote, begin-comment, and
+ end-comment consistently, to match POSIX.
+
+ * doc/m4.texinfo (Macro Arguments, Changequote, Changecom)
+ (Dnl, M4wrap, Include): Document EOF issues, and add examples.
+ (Incompatibilities): Document incompatibility of changecom
+ vs. macro names, and of EOF in include.
+ * src/input.c (next_token): Reject unterminated comments at EOF.
+ (skip_line): Warn on unterminated dnl at EOF.
+ * NEWS: Document these changes.
+
+2006-07-25 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Update to reflect gnulib's split of
+ stdio-safer into fopen-safer and tmpfile-safer.
+ * src/m4.c: Remove redundant include.
+
+2006-07-24 Eric Blake <ebb9@byu.net>
+
+ Fix bugs related to stream handling.
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import
+ unlocked-io stdio-safer stdlib-safer close-stream.
+ * configure.ac (AC_CHECK_FUNCS_ONCE): Assume tmpfile; it can be
+ provided by gnulib if needed.
+ * src/output.c [! HAVE_TMPFILE]: Likewise.
+ * src/m4.h (includes): Replace unistd, stdio, and stdlib with
+ their safer counterparts.
+ (retcode): New global variable.
+ * src/input.c (pop_input): Check for read failure.
+ * src/freeze.c (reload_frozen_state): Likewise.
+ (produce_frozen_state): Check for write failure.
+ * src/debug.c (debug_set_file): Likewise.
+ * src/m4.c (usage, main): Likewise.
+ (retcode): Make global.
+ * src/builtin.c (m4_m4exit): Likewise. Ensure that the exit
+ status is non-zero except when everything succeeds.
+ * doc/m4.texinfo (M4exit): Document these changes.
+ (Incompatibilities): Remove documentation of bug now fixed.
+ * NEWS: Document these fixes.
+
+2006-07-22 Eric Blake <ebb9@byu.net>
+
+ * src/format.c (format): Avoid compiler warning that str may be
+ used uninitialized.
+
+2006-07-21 Eric Blake <ebb9@byu.net>
+
+ * src/m4.h [UNIX]: Add more platforms that are close enough to
+ categorize as UNIX, but which don't predefine __unix__.
+ Reported by Nelson H. F. Beebe.
+
+2006-07-20 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: gnulib-tool has changed again. Regenerate
+ to explicitly ask for --assume-autoconf=2.60.
+
+2006-07-19 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Sysval): Avoid kill -1, since ksh traps SIGHUP
+ and exits normally with 129.
+ Reported by Nelson H. F. Beebe.
+ * THANKS: Update.
+
+ * src/m4.h (EXIT_MISMATCH): Define.
+ * src/freeze.c (reload_frozen_state): Detect version mismatch, by
+ exiting with status 63.
+ * src/m4.c (usage): Document this.
+ * doc/m4.texinfo (Invoking m4, Using frozen files): Likewise.
+ * NEWS: Likewise.
+
+ * doc/m4.texinfo (copying): Relax restriction on front-cover and
+ back-cover texts.
+
+2006-07-17 Eric Blake <ebb9@byu.net>
+
+ * src/format.c (format): Support F, g, and G specifiers.
+ * doc/m4.texinfo (Format): Document this.
+ * NEWS: Document this addition.
+
+ * doc/m4.texinfo (Builtin): Delete redundant text.
+
+ * configure.ac (AC_INIT): Bump version number.
+ * src/builtin.c (substitute): Bah. Fix buffer overrun.
+ * NEWS: Document this fix.
+
+2006-07-15 Eric Blake <ebb9@byu.net>
+
+ Release 1.4.5:
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.4.
+
+ * src/m4.c (usage): Document exit status.
+ * doc/m4.texinfo: Use `exit status', not `exit code'.
+ (Invoking m4): Document exit status.
+
+ * bootstrap: Backport --help, --version from head.
+ (func_update): New function, for easily grabbing up-to-date files
+ from gnulib.
+ * Makefile.maint (web-manual): Fix for VPATH builds.
+
+2006-07-14 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Global cleanup. Avoid @code{...}'d, as it
+ looks bad in info. Use @deffn rather than @example for
+ describing prototypes. Fix awkward wording and grammar.
+
+ * src/builtin.c (substitute): Warn on bad escape sequences.
+ Ignore trailing backslash.
+ * doc/m4.texinfo (Regexp): Add documentation for this.
+ * NEWS: Document this change.
+
+ * src/builtin.c (m4_format, m4_indir): Warn on too few arguments.
+ * doc/m4.texinfo (Defn, Builtin, Debug Levels, Debug Output): Add
+ more examples.
+ (Dnl): Update example to show side effects.
+ * checks/get-them: Generate three digit test names.
+ * checks/Makefile.in (CHECKS): Accomodate 100+ tests.
+
+2006-07-13 Eric Blake <ebb9@byu.net>
+
+ * src/input.c (input_init): Simplify.
+ (set_word_regexp): Treat empty string as default, since empty
+ regexp would disable word parsing.
+ * src/m4.c (user_word_regexp): Default to empty string.
+ * src/builtin.c (builtin_tab): Make changeword blind.
+ * doc/m4.texinfo (Changeword): Document this.
+ * NEWS: Document this.
+ * TODO: Knock off completed items.
+
+ * src/builtin.c (m4_undefine, m4_popdef): Visit all arguments, not
+ just the first.
+ * doc/m4.texinfo (Undefine, Pushdef): Test this.
+ * NEWS: Document this change.
+
+ * src/builtin.c (numeric_arg): Treat empty string as 0, with a
+ warning. Detect quoted leading space and overflow as warnings.
+ (m4_eval): Treat empty radix as 10, and allow output in radix 1.
+ Treat width as minimum number of digits, as required by POSIX.
+ (m4_ifdef, m4_divert, m4_m4exit, m4_translit): Ignore extra
+ arguments.
+ (m4_substr): Likewise. Silently treat empty start as 0.
+ (m4_undivert): Treat ` 1a' as file, not diversion 1.
+ * src/eval.c (eval_lex): Parse radix 1 numbers.
+ * doc/m4.texinfo (Invoking m4): Fix wording; there is more than
+ one type of warning.
+ (Manual): Document behavior of numeric parsing of empty string.
+ (Divert, Incr): Document error handling.
+ (Eval): Document radices better.
+ (Incompatibilities): Document translit incompatibility.
+ * NEWS: Document these changes.
+
+ * Makefile.maint (fetch): Get gendocs from gnulib, not texinfo.
+ (web-manual): Simplify.
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import gendocs.
+ * Makefile.am (EXTRA_DIST): Distribute gendocs.sh.
+ (MAINTAINERCLEANFILES): Clean it as well.
+ * doc/Makefile.am (EXTRA_DIST): Distribute gendocs_template.
+ (MAINTAINERCLEANFILES): Clean it as well.
+
+2006-07-12 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Extensions): Document how to overcome
+ implementation difference in > 9 positional parameters.
+
+ * src/m4.c (usage): Sort within sections.
+ (nesting_limit): Raise default from 250 to 1024.
+ * doc/m4.texinfo: Use file name, not filename, per GNU coding
+ standard. Use @option where appropriate.
+ (Invoking m4): Sort to match --help output.
+ (Debug Levels): Sort.
+ (Frozen files): Sort and break into two nodes.
+
+ * src/m4.c (nesting_limit): Raise default from 250 to 1024.
+ * NEWS: Document raised -L limit.
+
+2006-07-11 Eric Blake <ebb9@byu.net>
+
+ * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New macro, to
+ stress-test changeword before a release.
+ * doc/m4.texinfo: More doc cleanups.
+ (Copying This Manual): New node; actually include the FDL in the
+ documentation.
+ * doc/Makefile.am (m4_TEXINFOS): Mention dependence on fdl.texi.
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import fdl.
+ * NEWS: Mention documentation improvements.
+
+ * src/m4.h (OS2): New platform macro.
+ * src/builtin.c (predefined_tab) [OS2]: Use it to give OS/2 a
+ platform macro.
+ * doc/m4.texinfo (Platform macros): Document it.
+ (Sysval): Remove non-portable test of system("").
+ * NEWS: Document this change.
+ Reported by Andreas Buening.
+
+2006-07-09 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Undivert): Fix typo in last commit.
+ * src/m4.c (usage): Document M4PATH.
+ * src/path.c (path_search): Reject empty string.
+ * src/output.c (insert_diversion): Ignore diversion 0.
+ * src/builtin.c (m4_undivert): Ignore empty string.
+ * NEWS: Document this fix.
+
+2006-07-08 Eric Blake <ebb9@byu.net>
+
+ * checks/get-them: Make filtering easier.
+ * checks/check-them: Filter non-input lines, so line counts are
+ more realistic in the documentation, and so changeword tests work
+ even when dnl is disabled.
+ * doc/m4.texinfo: Adjust example line numbers. Clean up
+ front-matter, following autoconf's example.
+ (Changeword): Enable tests, skipping if changeword not supported.
+ (Define, Defn, Ifelse): Backport more examples from head.
+ (Input processing, Answers): New nodes, backported from head.
+ (Include): Expand test to cover empty filename.
+ (Undivert): Add test of undivert(0).
+
+2006-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/m4.texinfo: Fix spelling errors.
+
+2006-07-07 Eric Blake <ebb9@byu.net>
+
+ * THANKS: Update.
+
+ * doc/Makefile.am (m4.1): No need to go through a temporary file;
+ this also ensures timestamps are updated.
+ * src/m4.h (includes): Require config.h. Assume string.h,
+ stdlib.h, errno. Include error.h, exit.h, and xalloc.h rather
+ than prototyping ourselves.
+ (builtin_func): Add parameter type-checking.
+ (voidstar): Delete, now that we assume C89.
+ * src/builtin.c, src/m4.c, src/macro.c, src/symtab.c: All users of
+ voidstar changed.
+ * src/m4.c (xfree) [WITH_DMALLOC]: Avoid clash with dmalloc's
+ xfree.
+
+2006-07-06 Eric Blake <ebb9@byu.net>
+
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import
+ binary-io.
+ * src/m4.h (includes): Add binary-io.h for O_BINARY.
+ * src/freeze.c (produce_frozen_state): Use O_BINARY to remove
+ #ifdef. Fixes patch from 2005-02-03 for cygwin.
+ * NEWS: Mention this fix.
+
+ * configure.ac (FUNC_SYSTEM_BROKEN): New check for OS/2 bug.
+ * src/builtin.c (m4_syscmd): Work around OS/2 bug.
+
+ * Makefile.am (SUBDIRS): Build . before src, so that autoheader
+ runs first when needed.
+ * doc/Makefile.am (m4.1): Backport rule from CVS head: build m4.1
+ once in srcdir rather than multiple times in VPATH builds.
+
+2006-07-03 Eric Blake <ebb9@byu.net>
+
+ * checks/check-them: Use portable = in test.
+ * src/Makefile.am (AM_CPPFLAGS): Omit space between -I and
+ directory, as required by Solaris cc. Include built headers, as
+ required by Solaris make in VPATH build.
+ * checks/Makefile.in: Use $(srcdir) where needed.
+ (CHECKS): Factor $(srcdir) into macro.
+ (DISTFILES): Likewise. Automake takes care of distributing
+ Makefile.in.
+ (dist): Simplify.
+ (Makefile): Use modern syntax of config.status.
+ * doc/m4.texinfo (Loops, Include, Undivert, Incompatibilities):
+ Avoid overfull and underfull hboxes in dvi.
+
+ Fix 'make check' in VPATH build. All files included by testsuite
+ now live in a single directory. Use forloop.m4 in testsuite.
+ * checks/incl.m4, checks/foo, checks/wrapfifo.m4: Move from
+ here...
+ * examples/incl.m4, examples/foo, examples/wrapfifo.m4: ...to
+ here.
+ * checks/Makefile.in (DISTFILES): Don't distribute moved files.
+ * examples/Makefile.am (EXTRA_DIST): Distribute new files.
+ * checks/check-them: Avoid s/// when filename is in pattern.
+ * examples/forloop.m4: Fix to match documentation.
+ * doc/m4.texinfo (Include, Undivert, Incompatibilities): Reflect
+ new locations.
+ (Loops, Format): Actually use forloop.m4 in tests.
+
+2006-07-02 Eric Blake <ebb9@byu.net>
+
+ * checks/Makefile.in (exec_prefix, prefix): New macros, so that
+ $(bindir) works in installcheck.
+ (check, installcheck): No longer change directory, so that
+ distcheck works with a read-only builddir.
+ * checks/check-them: Work when pwd is no longer builddir.
+
+2006-07-01 Eric Blake <ebb9@byu.net>
+
+ * GNUmakefile: New file, borrowed from coreutils.
+ * Makefile.am (EXTRA_DIST): Distribute GNUmakefile.
+ * Makefile.maint (Makefile): Delete this rule, now that
+ GNUmakefile includes Makefile.
+
+2006-06-30 Eric Blake <ebb9@byu.net>
+
+ For compatibility with other m4 implementations, sysval returns
+ signal<<8 rather than 0 if syscmd is terminated by a signal.
+ * configure.ac (AC_CHECK_HEADERS_ONCE): Check for sys/wait.h.
+ * src/builtin.c (include): Include sys/wait.h when stdlib.h does
+ not provide wait macros.
+ (WTERMSIG, WIFSIGNALED, WIFEXITED): More fallback macros.
+ (M4SYSVAL_EXITBITS, M4SYSVAL_TERMSIGBITS): New helper macros.
+ (m4_esyscmd): Set sysval to -1 on failure.
+ (m4_sysval): Print 127 on failure, and accomodate signals if they
+ are detectable.
+ * NEWS: Document this change.
+ * doc/m4.texinfo (Platform macros, Esyscmd, Sysval): Fix typos in
+ last commit.
+ * checks/check-them: Likewise.
+ * src/debug.c (debug_set_file): Work around mingw fstat bug.
+
+ * src/m4.h (UNIX, W32_NATIVE): Improve platform detection macros.
+ * src/freeze.c (produce_frozen_state): Use new spelling of
+ platform macro.
+ * src/builtin.c (predefined_tab): Add __windows__ on non-unix
+ platforms.
+ (m4_syscmd, m4_esyscmd): The empty command is successful.
+ * doc/m4.texinfo (Shell commands): Rename from UNIX commands.
+ Document platform-dependence of system().
+ (Syscmd): Add example.
+ (Esyscmd): Make example more robust, and actually demonstrate
+ rescanning.
+ (Sysval): Expand test to cover esyscmd code path, and to check
+ that empty command is successful. Add conditional check for
+ signal behavior.
+ (Other Incompatibilities): Move platform macros from here...
+ (Platform macros): ...to this new node. Add windows macro.
+ Check that exactly one platform macro is provided.
+ * checks/check-them: Improve trap cleanup. Tolerate dirname and
+ .exe in error messages. Allow for skipping checks.
+ * configure.ac (HAVE_EFGCVT): Kill dead configure check.
+ * NEWS: Document platform macros.
+
+2006-06-29 Eric Blake <ebb9@byu.net>
+
+ Fix buffer overrun bug.
+ * m4/gnulib-cache.m4: Augment with gnulib-tool --import
+ xvasprintf.
+ * src/format.c [HAVE_EFGCVT]: Delete this code, and use *printf
+ variant instead, since [efg]cvt are obsolete and our use of them
+ was buggy (savannah sr #104303).
+ (format): Fix buffer overflow by using xasprintf.
+ * doc/m4.texinfo (Format): Expand format test to catch both bugs.
+ * NEWS: Document this fix.
+
+ * configure.ac (AC_CANONICAL_HOST, AC_CANONICAL_BUILD): Allow
+ cross-compilation.
+ (AC_CACHE_CHECK): Cache search for ecvt.
+
+2006-06-27 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Eval): Document 32-bit signed limitations
+ required by POSIX, and add example that exposed core dump on x86
+ architectures.
+ (Incompatibilities): Document incompatibility in eval precedence.
+ * src/eval.c (shift_term): Explicitly mask, to avoid undefined
+ behavior.
+ (mult_term): Explicitly check for -1, to avoid SIGFPE on x86.
+ * NEWS: Document this change.
+
+ * doc/m4.texinfo: Use @noindent consistently.
+ (Quoting Arguments): Document that unquoted parentheses group
+ arguments.
+ (Pseudo Arguments): Expand tests to show this.
+ (Incompatibilities): Contrast traditional behavior of
+ changequote.
+
+2006-06-24 Eric Blake <ebb9@byu.net>
+
+ * configure.ac (AC_PREREQ): Autoconf 2.60 is now released.
+ (AC_CHECK_HEADERS_ONCE): Use this new feature.
+ (AC_CHECK_FUNCS_ONCE): Likewise.
+
+2006-06-23 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Quoting cleanup throughout - follow
+ autoconf-recommended style of one level of quote per parenthesis
+ in the normal case. Adjust error messages to match GNU coding
+ standards (and to allow 'make check' to pass again).
+ (Quoted strings, Inhibiting Invocation): Turn more examples into
+ tests.
+ (Comments): Resolve FIXME by adding example.
+ (Define): Add example about underquoting.
+ (Defn): Add example about use of $0.
+ (Indir, Format): Resolve FIXME done in last commit.
+ (Ifelse): Add example about creating blind macro.
+ (Debugging): Fix grammar.
+ (Dnl): Add example about dnl with arguments.
+ (M4wrap): Be explicit that LIFO order is non compliant, and will
+ change in m4 2.0.
+ (Undivert): Resolve FIXME by adding example.
+ (Frozen files): Document that m4wrap and sysval will not work
+ consistently until m4 2.0.
+ (Incompatibilities): Document another POSIX compliance bug, this
+ time with changequote. Document a traditional incompatibility
+ with partial input spanning file boundaries.
+
+ Make error messages more consistent with GNU coding standards -
+ start with lower case, and don't end sentence with punctuation.
+ * src/debug.c (trace_pre): Update message wording.
+ * src/eval.c (evaluate, cmp_term, shift_term, mult_term):
+ Likewise.
+ * src/freeze.c (produce_frozen_state, issue_expect_message),
+ (reload_frozen_state): Likewise.
+ * src/input.c (push_string_init, pop_init, init_macro_token),
+ (peek_input, next_char_1, set_word_regexp, next_token): Likewise.
+ * src/m4.c (stackovf_handler, main): Likewise.
+ * src/macro.c (expand_token, expand_argument, call_macro),
+ (expand_macro): Likewise.
+ * src/output.c (make_room_for, output_text, insert_file),
+ (freeze_diversions): Likewise.
+ * src/symtab.c (symtab_init, lookup_symbol): Likewise.
+
+ * src/builtin.c (builtin_tab): Make format and indir blind.
+ (substitute): Prefer "Warning:" vs. "ERROR:" in messages.
+ * NEWS: Mention the change to builtins.
+
+2006-06-22 Eric Blake <ebb9@byu.net>
+
+ Robustify frozen file format.
+ * src/freeze.c (reload_frozen_state): Add GET_DIRECTIVE helper
+ macro. Require V first, and only accept it once. For F, use
+ placeholder if builtin is not found, rather than warning.
+ * src/m4.h (m4_placeholder): New prototype.
+ * src/builtin.c: Unify error message style.
+ (m4_placeholder): New function, warn if invoked.
+ (builtin_tab): Add m4_placeholder.
+ (m4_defn): Warn if placeholder is encountered.
+ (find_builtin_by_addr): Handle placeholder.
+ (find_builtin_by_name): Return placeholder on failure.
+ (m4_builtin): Treat placeholder as undefined.
+ * doc/m4.texinfo (Frozen files): Document changes in V and F.
+ * NEWS: Document this change.
+ Reported by Bruno Haible.
+
+ * doc/m4.texinfo: Whitespace cleanup. TABs are evil in texinfo.
+ (tabchar): New macro, so that 'make check' still works.
+ (Invoking m4): Document that ignored compatibility options -B, -S,
+ and -T each consume an argument.
+ * checks/get-them: Honor @tabchar{}.
+
+ Avoid compiler warnings during -DDEBUG.
+ * src/m4.h (M4_GNUC_ATTRIBUTE, M4_GNUC_UNUSED): New macros.
+ [DEBUG]: Also imply DEBUG_OUTPUT and DEBUG_STKOVF.
+ * src/input.c (print_token) [DEBUG_INPUT]: Use correct format.
+ (lex_debug) [DEBUG_INPUT]: Fix to compile. Mark unused.
+ (next_token) [DEBUG_INPUT]: Print before returning.
+ * src/path.c (include_dump) [DEBUG_INCL]: Mark unused.
+ * src/symtab.c (symtab_debug) [DEBUG_SYM]: Mark unused.
+
+ Avoid mkstemp bugs on various platforms.
+ * m4/gnulib-cache.c: Augment with gnulib-tool --import mkstemp.
+ * src/output.c [! HAVE_MKSTEMP]: Delete.
+ * configure.ac (AC_CHECK_FUNCS): Don't check for mkstemp.
+ * src/m4.h (mkstemp) [! HAVE_MKSTEMP]: Prototype, if needed.
+ * NEWS: Document this.
+
+ * Makefile.am (EXTRA_DIST): Distribute gnulib-cache.m4.
+ Reported by Bruno Haible.
+
+2006-06-21 Eric Blake <ebb9@byu.net>
+
+ Avoid obsolete sigstack when POSIX sigaltstack is available.
+ * src/m4.c: Blindly assume signal.h, since stackovf.c and gnulib
+ do likewise.
+ * configure.ac (AC_CHECK_HEADERS): Likewise.
+ (AC_CHECK_TYPES): New check for siginfo_t, since siginfo.h is
+ obsolete and most hosts now have it in signal.h.
+ (AC_CHECK_MEMBERS): New check for sigaction.sa_sigaction.
+ (AC_CACHE_CHECK): Cache decision to use stackovf.
+ (AC_EGREP_HEADER): Switch to AC_CHECK_TYPES.
+ * src/stackovf.c (DEBUG_STACKOVF): Remove unused define.
+ (SA_RESETHAND, SA_SIGINFO): Provide fallback definitions, to
+ simplify later code.
+ (PARAM_STACKOVF, PARAM_NOSTACKOVF): Move further away from NULL,
+ in case of dereferencing a member of a NULL pointer.
+ (sigsegv_handler) [HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define a
+ POSIX handler.
+ (setup_stackovf_trap): Use NULL instead of 0 for pointers, use
+ EXIT_FAILURE in error, indent preprocessor directives.
+ [HAVE_SIGALTSTACK && HAVE_SIGINFO_T]: Depend on siginfo_t, not
+ siginfo.h.
+ [HAVE_SIGACTION && defined SA_ONSTACK]: Prefer POSIX handler.
+ Reported by Santiago Vila.
+
+2006-06-19 Eric Blake <ebb9@byu.net>
+
+ * THANKS: Update.
+
+2006-06-18 Andreas Buening <andreas.buening@nexgo.de> (tiny change)
+
+ * checks/Makefile.in (PATH_SEPARATOR): New macro.
+ (check, installcheck): Use it, for OS/2.
+
+2006-06-18 Eric Blake <ebb9@byu.net>
+
+ Consistently use "GNU M4" as package name, "m4" as executable
+ name.
+ * NEWS: Document previous fix.
+ * THANKS: Update.
+ * README: Fix grammar. Document that --enable-changeword is on
+ its last leg.
+ * doc/m4.texinfo (Top, Changeword): Likewise.
+ (Sysval): Enhance this test.
+ (History): Backport this section from CVS head, and update.
+
+2006-06-18 Bruno Haible <bruno@clisp.org> (tiny change)
+ Eric Blake <ebb9@byu.net>
+
+ * src/builtin.c (WEXITSTATUS): Provide fallback definition.
+ (m4_esyscmd): Set sysval to 0xffff, to accomodate both
+ big-endian and little-endian wait status definitions.
+ (m4_sysval): Use WEXITSTATUS.
+ Reported by Andreas Buening.
+
+2006-06-18 Eric Blake <ebb9@byu.net>
+
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes in 1.4.4c.
+
+2006-06-17 Eric Blake <ebb9@byu.net>
+
+ Beta Release 1.4.4b:
+ * configure.ac (AC_INIT): Bump version number.
+ * NEWS: Describe changes since 1.4.4.
+ * Makefile.maint (cvs-news): Accomodate copyright line wrapping.
+
+ * Makefile.am (MAINTAINERCLEANFILES): Clean files added by
+ bootstrap.
+ * checks/Makefile.in (maintainer-clean): Add missing target.
+ * COPYING: Remove generated file from CVS.
+
+2006-06-16 Eric Blake <ebb9@byu.net>
+
+ * checks/Makefile.in (DISTFILES): Distribute wrapfifo.m4.
+
+2006-06-15 Eric Blake <ebb9@byu.net>
+
+ * checks/wrapfifo.m4: New file. Use it...
+ * doc/m4.texinfo (Incompatibilities): here, in a new test case to
+ demonstrate how to get POSIX behavior of m4wrap prior to m4 2.0.
+
+ * src/m4.h (to_uchar): New function.
+ * src/eval.c (eval_lex): Use it to avoid passing signed char to
+ isdigit, isalpha, isupper, islower, isspace, isalnum.
+ * src/builtin.c (expand_user_macro): Likewise.
+ * src/format.c (format): Likewise.
+ * src/macro.c (expand_argument): Likewise.
+ * NEWS: Document this security fix.
+
+ Message cleanup.
+ * src/symtab.c (lookup_symbol): Use invalid, not illegal.
+ * src/freeze.c (reload_frozen_state): Fix typo in message.
+ (produce_frozen_state): Standardize on builtin, not built-in.
+ * src/builtin.c (numeric_arg, bad_argc): Likewise.
+
+ * configure.ac (M4_EARLY, M4_INIT): Use gnulib.
+ (AC_PROG_RANLIB, AC_AIX, AC_MINIX, AC_CHECK_HEADERS),
+ (AC_FUNC_ALLOCA, AC_REPLACE_FUNCS): Avoid checks now done by
+ gnulib.
+ * Makefile.am (ACLOCAL_AMFLAGS): New entry, for gnulib.
+ * m4/gnulib-cache.m4: New file, from gnulib.
+ * bootstrap: Invoke gnulib-tool --update.
+ * src/m4.c (main): Cast away const.
+ * NEWS: Document that regex is updated.
+ * THANKS: Update.
+
+2006-06-08 Eric Blake <ebb9@byu.net>
+
+ * configure.ac (changeword): Work even when changeword is not a
+ macro.
+ (AC_PROG_AWK, AC_PROG_INSTALL, AC_PROG_MAKE_SET, AC_HEADER_STDC):
+ Delete; now done by automake.
+ (AC_ISC_POSIX, AC_C_CONST): Delete; now obsolete.
+
+2006-06-07 Eric Blake <ebb9@byu.net>
+
+ * lib/regex.c (bcmp_translate): Canonicalize type name.
+ * doc/Makefile.am (MAINTAINERCLEANFILES): Fix typo.
+ * configure.ac (changeword): Disable changeword for the creation
+ of configure, in case of bootstrapping with an m4 configured with
+ --enable-changeword.
+
+ Distribute a rudimentary man page.
+ * Makefile.am (SUBDIRS): Move doc after src so that 'm4 --help'
+ can feed help2man.
+ * doc/Makefile.am (man_MANS, EXTRA_DIST, MAINTAINERDISTCLEAN),
+ (SUFFIXES, m4.1): New macros and rules to build m4.1.
+
+2006-06-06 Eric Blake <ebb9@byu.net>
+
+ * lib/regex.c (re_match_2_internal, bcmp_translate): Avoid
+ compiler warnings at -O2.
+ * lib/getopt.c (_getopt_internal): Likewise.
+
+ Cleanup of previous patches.
+ * src/input.c (struct input_block): Remove traced member.
+ (push_macro, init_macro_token): Don't pass trace status around.
+ * src/m4.h (struct token_data): Remove traced member.
+ (struct symbol, struct builtin): Reduce unused space.
+ (TOKEN_DATA_FUNC): Simplify.
+ (TOKEN_DATA_FUNC_TRACED): Remove unused macro.
+ (push_macro, define_builtin): Remove unused parameter.
+ * src/builtin.c (define_builtin, builtin_init, define_macro),
+ (m4_defn): Don't pass trace status around.
+ * src/macro.c (expand_argument): Likewise.
+ * src/freeze.c (reload_frozen_state): Likewise.
+ * src/symtab.c: Whitespace cleanup.
+ * NEWS: Clean up wording.
+ * doc/m4.texinfo (Undefine, Dumpdef, Trace): Cleanup wording;
+ ensure tests actually expose bugs prior to today's patches.
+
+ Trace status of builtins is no longer inherited across
+ define(...,defn(...)). Fixes bug that autom4te had been working
+ around.
+ * src/builtin.c (define_builtin): Don't override trace status.
+ * doc/m4.texinfo (Trace): Add test for this.
+ * NEWS: Document this.
+
+ When changing macro definitions inside the arguments to the macro,
+ consistently preserve the old definition that was in effect before
+ argument collection, similar to the C pre-processor.
+ Reported by John Brzustowski.
+ * NEWS: Document this change.
+ * doc/m4.texinfo (Macro Arguments, Undefine, Dumpdef): Document
+ this policy, and add tests that expose core dumps prior to this
+ patch.
+ * src/m4.h (struct symbol): New members to track when a symbol is
+ still in use after removal from the symbol table.
+ (SYMBOL_PENDING_EXPANSIONS, SYMBOL_DELETED): Define.
+ (free_symbol): Prototype.
+ * src/macro.c (expand_macro): Track pending expansions of a
+ symbol. On completion, if a symbol is deleted and no longer
+ pending, free its memory.
+ * src/symtab.c (free_symbol): Export. Don't free memory if symbol
+ is still in use.
+ (lookup_symbol) <SYMBOL_INSERT>: Create new entry when old entry
+ is still in use.
+ (lookup_symbol) <SYMBOL_DELETE, SYMBOL_POPDEF>: Mark entries still
+ in use as deleted and remove from the table without freeing
+ memory.
+ (symtab_print_list) [DEBUG_SYM]: More debug output.
+
+ * src/symtab.c (hack_all_symbols): Allow certain modifications of
+ the symbol table during traversal.
+ * src/builtin.c (set_trace): Replace SYMBOL_DELETE with
+ SYMBOL_POPDEF, since only the latter is safe with
+ hack_all_symbols.
+
+ Solve crash when passing "indir(`foo')" to "m4 -tfoo".
+ * src/symtab.c (lookup_symbol) <SYMBOL_DELETE, SYMBOL_POPDEF>:
+ Preserve placeholder when macro is being traced.
+ * src/builtin.c (m4_ifdef, m4_indir): A traced but undefined
+ symbol is not defined.
+ (set_trace): Remove placeholder when no longer traced.
+ (m4_traceon): On named traces, always reserve a slot in the
+ symbol table.
+ (m4_traceoff): Don't warn about untracing a nonexistent symbol.
+ * NEWS: Document new trace behavior.
+ * doc/m4.texinfo (Trace): Tracing by name now consistently works
+ no matter whether that macro is currently defined.
+ (Incompatibilities): Document differences between traditional and
+ GNU trace.
+
+2006-06-04 Paul Eggert <eggert@cs.ucla.edu> (tiny change)
+ Eric Blake <ebb9@byu.net>
+
+ * src/m4.h (hash_table_size): Now size_t instead of int.
+ * src/m4.c (hash_table_size): Likewise.
+ (main): Adjust to this; use atol rather than atoi.
+ * src/symtab.c: Include <limits.h>, for CHAR_BIT.
+ (symtab_init, lookup_symbol, hack_all_symbols):
+ Use size_t for sizes and indexes, not int.
+ (symtab_print_list) [DEBUG_SYM]: Likewise.
+ (hash): Likewise. Don't case-fold in the hash function.
+ Shift by 7, not 3, for consistency with gnulib/lib/hash.c.
+ Don't assume hash word is 32 bits.
+ * NEWS: Document this change.
+
+2006-06-04 Eric Blake <ebb9@byu.net>
+
+ * src/symtab.c (symtab_debug, symtab_print_list) [DEBUG_SYM]: Fix
+ to allow compilation, for use in debugger.
+ (profiles, current_mode) [DEBUG_SYM]: New variables.
+ (show_profile, profile_strcmp) [DEBUG_SYM]: New methods for
+ determining hash table performance.
+
+2006-05-31 Eric Blake <ebb9@byu.net>
+ John Brzustowski <jbrzusto@fastmail.fm>
+
+ * src/input.c (input_stack): Delete; use current_input instead.
+ (wrapup_stack): Dynamically allocate, so that recursion is handled
+ properly.
+ (push_wrapup): Use current wrapup stack.
+ (pop_wrapup): Rotate wrapup stack to current, and create new
+ wrapup stack.
+ (input_init): Dynamically allocate stacks.
+ * NEWS: Update, now that recursive m4wrap can no longer cause
+ core dump.
+
+2006-05-31 Eric Blake <ebb9@byu.net>
+
+ * lib/getopt.c: Fix copyright year.
+ * lib/obstack.c: Ditto.
+ * src/builtin.c: Ditto.
+
+2006-05-30 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (M4wrap): Add test to expose m4wrap bug.
+ Reported by John Brzustowski.
+ (Incompatibilities): Document known POSIX incompatibilities.
+ * THANKS: Update.
+
+2006-05-29 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo (Maketemp): Work even when running 'make check'
+ in read-only dir.
+
+ Use automake.
+ * Makefile.am: New file.
+ * doc/Makefile.am: Ditto.
+ * examples/Makefile.am: Ditto.
+ * lib/Makefile.am: Ditto.
+ * src/Makefile.am: Ditto.
+ * acinclude.m4: New file, renamed from aclocal.m4.
+ * configure.ac (AM_INIT_AUTOMAKE): Invoke new macro.
+ (AC_ARG_PROGRAM): Now redundant.
+ (STACKOVF): Turn into automake conditional.
+ (AC_CONFIG_COMMANDS): stamp-h is a command, not a file.
+ * checks/Makefile.in: Converting this dir to automake was not
+ trivial; for now, just add missing targets demanded by top-level.
+ * INSTALL: Remove files that are now generated from CVS.
+ * Makefile.in: Ditto.
+ * aclocal.m4: Ditto.
+ * install-sh: Ditto.
+ * mkinstalldirs: Ditto.
+ * doc/Makefile.in: Ditto.
+ * doc/texinfo.tex: Ditto.
+ * examples/Makefile.in: Ditto.
+ * lib/Makefile.in: Ditto.
+ * src/Makefile.in: Ditto.
+
+ * AUTHORS: Backport from CVS head, and update.
+ * doc/m4.texinfo (Changeword): Fix examples to match behavior.
+
+2006-05-27 Eric Blake <ebb9@byu.net>
+
+ * lib/regex.c (regex_compile): Kill compiler warnings.
+ * lib/getopt.c: Likewise.
+ * lib/obstack.c: Likewise.
+ * src/builtin.c (builtin_init): Likewise.
+ * src/path.c (path_search): Likewise.
+
+ * doc/m4.texinfo: Fix usage of a vs. an.
+ (Loops, Include, Cleardiv, Patsubst, Format, M4exit): Kill
+ overfull hbox warnings.
+ (Inhibiting Invocation, Divert, Maketemp, M4exit): Add new tests.
+
+ * configure.ac: Update to autoconf 2.59. Forbid ^M4_. Fix
+ quoting.
+ * aclocal.m4 (fp_PROG_CC_STDC): Delete; now covered by autoconf.
+ (fp_C_PROTOTYPES): Delete, GNU Coding Standards state we can now
+ assume C89.
+ (M4_WITH_DMALLOC): Rename from fp_WITH_DMALLOC. Fix quoting.
+ * src/m4.h (_): PROTOTYPES is no longer provided, assume C89.
+ * src/Makefile.in: Delete remains of ansi2knr.
+ * src/ansi2knr.1: Delete.
+ * src/ansi2knr.c: Delete.
+
+2006-05-25 Eric Blake <ebb9@byu.net>
+
+ * doc/m4.texinfo: Fix spelling errors. Use `invalid' instead of
+ `illegal'.
+
+ * doc/m4.texinfo (Francois): No longer needed as a tex variable.
+ Reported by Karl Berry.
+
+2006-05-24 Eric Blake <ebb9@byu.net>
+
+ * Makefile.in (html): New target.
+ * doc/Makefile.in (html, m4.html): Likewise.
+ (MAKEINFOHTML): New macro.
+ * doc/m4.texinfo (Francois) [ifnottex]: Use newer texinfo
+ rendering.
+ (Regexp) [ifhtml]: Make cross-reference to emacs manual an
+ absolute URL.
+ Reported by Bob Badour.
+
+ * THANKS: Update. Move reporter's email addresses here, instead
+ of in ChangeLog.
+
+2006-05-11 Eric Blake <ebb9@byu.net>
+
+ * THANKS: Update.
+ * doc/m4.texinfo (Changequote): Give testsuite exposure to bug
+ patched on 2005-12-04.
+ Reported by Ilya N. Golubev.
+
+ * bootstrap: New file, so that generated files need not be stored
+ in CVS.
+ * Makefile.in (DISTFILES): Add bootstrap.
+
+ Make testsuite less sensitive to doc changes.
+ * doc/m4.texinfo: Use m4.input instead of filename.
+ * checks/check-them (xerr): Turn m4.input into filename.
+ * checks/Makefile.in (dist): Depend on stamp-checks.
+
+ Portability updates for OS/2.
+ * src/Makefile.in (EXEEXT, OBJEXT): Define.
+ (LINK): Use CFLAGS.
+ (.c.obj): Define.
+ * lib/Makefile.in (OBJEXT): Define.
+ (.c.obj): Define.
+ * doc/Makefile.in (install, uninstall): Install info files into
+ the dir listing.
+ Reported by Andreas Buening.
+
+2006-05-09 Eric Blake <ebb9@byu.net>
+
+ * install-sh: Update to newer upstream version.
+ * mkinstalldirs: Likewise.
+ Reported by Andreas Buening.
+
+ * src/m4.c (main): Bump copyright year.
+ * Makefile.in (datarootdir): Define, for autoconf 2.59c.
+ * doc/Makefile.in (datarootdir): Likewise.
+
+2006-05-08 Eric Blake <ebb9@byu.net>
+
+ * THANKS: Update.
+ * doc/m4.texinfo (Bugs): Backport bug email address from head.
+ Reported by Stepan Kasal.
+
+2005-12-04 Ilya N. Golubev <gin@mo.msk.ru> (tiny change)
+
+ * input.c (match_input): Do not pass expression with side effect
+ to `obstack_grow'. Fix <INTERNAL ERROR: Recursive push_string!>.
+ * NEWS: Updated.
+
+2005-12-04 Gary V. Vaughan <gary@gnu.org> (tiny change)
+
+ * doc/m4.texinfo (How to debug macros and input): s/woould/would/
+ Reported by Damian Menscher.
+
+2005-10-19 Gary V. Vaughan <gary@gnu.org> (tiny change)
+
+ * configure.ac (AC_INIT): Bump to 1.4.4a.
+
+2005-10-19 Gary V. Vaughan <gary@gnu.org> (tiny change)
+
+ Release 1.4.4:
+ * configure.ac (AC_INIT): Bump to 1.4.4.
+ * NEWS: Describe 1.4.4's changes.
+ * INSTALL, install-sh, doc/texinfo.tex: Updated from upstream.
+
+2005-10-17 John Gatewood Ham <zappaman@buraphalinux.org> (tiny change)
+
+ * src/m4.c: fix return code when non-existent files are processed
+
+2005-10-17 John Gatewood Ham <zappaman@buraphalinux.org> (tiny change)
+
+ * README: update email address for bug reports.
+
+2005-10-17 Gary V. Vaughan <gary@gnu.org>
+
+ * doc/m4.info: Generated files are not kept in the repository.
+
+2005-05-01 Gary V. Vaughan <gary@gnu.org>
+
+ The FSF are moving offices today. Changed their contact address
+ in all files from `59 Temple Place, Suite 330, MA 02111-1307' to
+ `51 Franklin Street, Fifth Floor, MA 02110-1301'.
+
+ Also, some of the files here were never updated from the previous
+ '675 Mass Ave, Cambridge, MA 02139', so changed those to the
+ '51 Franklin Street, Fifth Floor, MA 02110-1301' address too.
+
+2005-03-31 Mike Frysinger <vapier@gentoo.org>
+
+ * Makefile.in (bindir, infodir): Substitute from configure rather
+ than hardcode.
+ * doc/Makefile.in (infodir): Ditto.
+ * src/Makefile.in (bindir): Ditto.
+ * NEWS: Updated.
+
+2005-03-31 Gary V. Vaughan <gary@gnu.org>
+
+ Changes needed to automate the release process for 1.4.3:
+
+ * Makefile.in (dist): Make .tar.bz2 tarball too.
+ * Makefile.maint (TSDEPS_DIST): Remove m4/libtool.m4.
+ (cvs-news): Look 1 line further down for NEWS release number.
+ (cvs-dist): We don't use automake, so make dist is fine.
+ Remove double . before suffixes.
+ (cvs-release): Don't mention manual.html.
+ (fetch): Get latest gendocs files.
+ (web-manual): Rewritten to use gendoc for multiformat manuals.
+ * doc/gendocs.sh: Don't save an old version in m4 CVS!
+ * doc/m4.texinfo (Index): HFS+ (the file system on my Mac) is case
+ preserving, but case insensitive, so generating html docs per node
+ clashes between Index.html, the node file, and index.html, the
+ top-level of the document tree...
+ (Index macro): ...so renamed to this. Changed all references.
+
+2005-03-31 Gary V. Vaughan <gary@gnu.org> (tiny change)
+
+ * configure.ac (AC_INIT): Bump to 1.4.3a.
+
+2005-03-31 Gary V. Vaughan <gary@gnu.org> (tiny change)
+
+ Release 1.4.3:
+ * configure.in (AC_INIT): Bump to 1.4.3.
+ * NEWS: Describe 1.4.3's changes.
+
+2005-03-31 Gary V. Vaughan <gary@gnu.org>
+
+ * Makefile.maint: New file with release rules, from CVS libtool.
+ * Makefile.in (DISTFILES): Add Makefile.maint.
+ * INSTALL, install-sh, doc/texinfo.tex: Updated to latest
+ canonical versions.
+
+2005-03-31 Eric Blake <ebb9@byu.net> (tiny change)
+
+ * doc/m4.texinfo (Patsubst): Re-add trailing space required by
+ checks/47.patsubst, with a redundant @comment to prevent emacs
+ from removing it accidentally again.
+ * checks/get-them: Allow for trailing spaces tucked behind
+ @comment marks.
+
+2005-03-31 Eric Blake <ebb9@byu.net> (tiny change)
+
+ * doc/Makefile.in (install, uninstall): Accomodate DESTDIR.
+ * src/Makefile.in (install, uninstall): Likewise.
+
+2005-02-07 Gary V. Vaughan <gary@gnu.org>
+
+ * lib/regex.c, lib/regex.h: Reverted gnulib update, which broke
+ on Cygwin.
+ Reported by Eric Blake.
+
+2005-02-04 Gary V. Vaughan <gary@gnu.org>
+
+ * lib/regex.c, lib/regex.h: Updated from gnulib.
+ * src/input.c (set_word_regexp): Don't change the word_regexp
+ unless it compiles correctly.
+ * NEWS: Updated.
+ Reported by Frank Schwidom.
+
+ * Makefile.in (stamp-h): Regenerate config.h properly.
+
+2005-02-03 Gary V. Vaughan <gary@gnu.org>
+
+ * configure.ac (AC_DEFINE): Fix overquoting of description
+ argument.
+
+ * src/m4.h (__CYGWIN__, WIN32): Canonicalise Windows and Cygwin
+ recognition macros.
+ * src/freeze.c (produce_frozen_state): Use \n line-endings even
+ on Windows, so that the frozen file reader will work.
+ Reported by Josef T. Burger.
+
+ * src/m4.c (main): Modernise the --version output.
+
+2005-02-03 Gary V. Vaughan <gary@gnu.org>
+
+ Modernise the configury a little to prevent spurious errors from
+ Autoconf-2.59's autoreconf:
+
+ * config.h.in: Renamed to...
+ * config-h.in: ...this to better support DOS 8.3 file systems.
+ * acconfig.h: Removed.
+ * configure.in: Renamed to...
+ * configure.ac: ...this, and AC_DEFINE used to declare config.h
+ entry comments. Slight reorganisation and reformatting.
+ * aclocal.m4: Use third argument to AC_DEFINE to declare config.h
+ entry comments.
+ (AC_INIT): Use a modern 3 argument call.
+ * Makefile.in, checks/Makefile.in, doc/Makefile.in,
+ examples/Makefile.in, lib/Makefile.in, src/Makefile.in:
+ s/PRODUCT/PACKAGE/g.
+ * Makefile.in (DISTFILES): Removed acconfig.h, configure.in,
+ config.h.in. Added configure.ac, config-h.in.
+ (stamp-h.in): Removed acconfig.h from dependencies.
+ (configure): Depends on configure.ac, not configure.in.
+ * doc/Makefile.in (stamp-vti): Ditto.
+ * src/freeze.c (produce_frozen_state), src/m4.c (main): Adjust for
+ difference between PRODUCT="m4" and PACKAGE="GNU M4".
+ * configure: Regenerated.
+
+2005-02-03 Noah Misch <noah@cs.caltech.edu>
+
+ * src/output.c (mkstemp): Make non-static, and build regardless of
+ HAVE_TMPFILE; src/builtin.c also needs this replacement.
+ * NEWS: Update.
+
+2004-09-09 Vincent Lonngren <Vincent.lonngren.759@student.lu.se>
+
+ * configure.in (AC_CHECK_HEADERS): Commit works best when you save
+ changes from your editor buffer first.
+
+ * configure.in (AC_CHECK_HEADERS): Add signal.h, sys/signal.h.
+ * src/m4.c: And include them as appropriate.
+ * NEWS: Updated.
+
+2004-09-09 Andreas Schwab <schwab@suse.de>
+
+ Refactoring of the string read case in next_char provides about a
+ 20% speedup of M4 as typically used by autoconf:
+
+ * src/input.c (next_char_1): Renamed from next_char.
+ (next_char): New macro.
+ * NEWS: Updated.
+
+2004-08-21 Gary V. Vaughan <gary@gnu.org>
+
+ * configure.in (VERSION): Bump to 1.4.2a.
+
+2004-08-19 Paul Eggert <eggert@twinsun.com>
+
+ Release 1.4.2.
+ * configure.in (VERSION): Bump to 1.4.2.
+ * News: Describe 1.4.2's changes.
+
+ * src/m4.c (reference_error): Preserve errno, since M4ERROR
+ relies on this.
+ * src/builtin.c (m4_esyscmd): Clear errno before calling popen.
+ (m4_maketemp): Clear errno before calling mkstemp.
+ * src/path.c (path_search): Don't let "free" trash errno when
+ returning NULL.
+ * src/output.c (insert_file): Don't assume errno has a valid
+ value simply because fread returns zero. This fixes a
+ portability bug reported by Marion Hakanson in
+ <http://lists.gnu.org/archive/html/bug-m4/2004-07/msg00029.html>.
+
+2004-06-09 Gary V. Vaughan <gary@gnu.org>
+
+ * configure.in (VERSION): Bump to 1.4.1a.
+ * NEWS: Place holder for next stable release.
+
+2004-06-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Release 1.4.1.
+ * configure.in (VERSION): Bump to 1.4.1.
+ * NEWS: Describe 1.4.1's changes.
+
+ * aclocal.m4 (fp_PROG_CC_STDC): Use AC_DEFUN, not define, to
+ pacify Autoconf 2.59.
+
+ * doc/m4.texinfo: Insert commas after @xref's that lack them,
+ to pacify Texinfo 4.7.
+ * doc/Makefile.in (info): Remove info-1, info-2, info-3.
+
+ * src/m4.h, src/debug.c: Use #ifdef __STDC__, not #if __STDC__, to
+ pacify Sun C compilers.
+
+2003-09-28 Akim Demaille <akim@epita.fr>
+
+ * src/symtab.c (lookup_symbol): Fix an uninitialized-variable
+ botch.
+
+2003-09-03 Santiago Vila <sanvila@debian.org>
+
+ * examples/stackovf.sh: Use tempfile if available.
+
+2001-04-02 Robert Bihlmeyer <robbe@orcus.priv.at>
+
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=92629
+ * src/output.c (m4_insert_file): Do not mix buffered and
+ unbuffered I/O, as this breaks on the Hurd. (trivial change)
+
+2001-02-01 Santiago Vila <sanvila@debian.org>
+
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=84451
+ * src/m4.c (main): Fix format vulnerabilities. (trivial change)
+
+2001-02-01 Matt Kraai <kraai@debian.org>
+
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=84416
+ * doc/m4.texinfo (Maketemp): Change maketemp to refer to a new,
+ empty file rather than to a nonexistent file. This closes a common
+ security hole.
+ * src/builtin.c (m4_maketemp): Implement the above, by using
+ mkstemp rather than mktemp. (trivial change)
+
+2000-01-09 Akim Demaille <demaille@inf.enst.fr>
+
+ * src/builtin.c (expand_ranges): Added break after trailing dash.
+ This caused misbehaviors on some systems.
+
+Sat Nov 5 15:52:47 1994 Francois Pinard (pinard@icule)
+
+ Release 1.4.
+ * doc/Makefile.in (realclean): Also remove stamp-vti.
+ Reported by Eric Backus.
+
+Wed Nov 2 00:47:53 1994 Francois Pinard (pinard@icule)
+
+ * src/freeze.c (produce_frozen_state): If the frozen file cannot
+ be opened, return immediately after producing the error message.
+ Reported by Andreas Schwab.
+
+ * configure.in: Check for const only after having found possible
+ ANSIfying compiler flags, this is of no use to check it before.
+ Reported by Alexander Lehmann.
+
+Tue Nov 1 22:02:37 1994 Francois Pinard (pinard@icule)
+
+ * src/macro.c (collect_arguments): Cast obstack arguments to
+ (voidstar), so avoiding compiler warnings.
+ Reported by Joseph E. Sacco.
+
+ * src/freeze.c (produce_frozen_state): Cast printed lengths to
+ (int) so they correspond to %d format items.
+ Reported by Joseph E. Sacco.
+
+ * src/m4.c (main): Cast the argument to xfree to (voidstar).
+ * src/symtab.c (free_symbol): Idem.
+ Reported by Karl Vogel.
+
+Mon Oct 31 02:11:19 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in (DISTFILES): Distribute BACKLOG.
+
+ * configure.in: Define PRODUCT and VERSION.
+ * acconfig.h: Document PRODUCT and VERSION.
+ * src/m4.c, src/freeze.c: Use PRODUCT and VERSION instead of the
+ constant string m4 and variable or parameter named version.
+
+Sun Oct 30 08:13:03 1994 Francois Pinard (pinard@icule)
+
+ * src/m4.h, src/debug.c: Replace all #ifdef __STDC__ by #if
+ __STDC__. Alliant FX/2800 Concentrix 2.2 (i860-BSD4.3) compiler
+ defines __STDC__ to 0, for indicating it is *not* ANSI!
+ Reported by Kaveh R. Ghazi.
+
+ * configure.in: Added obsolescent tests for AIX and Minix.
+
+ * doc/Makefile.in (mostlyclean): Remove texclean in dependencies,
+ which texclean does not exist anymore.
+ Reported by Eric Backus, Jim Meyering, John David Anglin and
+ Joseph E. Sacco.
+
+Sat Oct 29 05:10:03 1994 Francois Pinard (pinard@icule)
+
+ * aclocal.m4 (fp_C_PROTOTYPES): Force -D_HPUX_SOURCE with -Aa.
+ Reported by John David Anglin.
+
+ * src/ansi2knr.c: New version, sent by Peter Deutsch.
+ * aclocal.m4 (fp_C_PROTOTYPES): Substitute empty or ansi2knr for
+ ANSI2KNR, depending on the fact the compiler is ANSI or not.
+ * src/Makefile.in: Use -Ovarargs=convert on ansi2knr calls.
+ Remove the sed filter after ansi2knr for debug.c. Use $O instead
+ of $U, put underline in extensions rather than in basenames. Use
+ implicit rules, now that regularity makes this possible.
+ Have $(OBJECTS) depend on $(ANSI2KNR), so to trigger compilation
+ of ansi2knr whenever it is needed.
+ * configure.in: Adjusted for correct STACKOVF substitution.
+ * src/debug.c (trace_format): When not __STDC__, use (...) as a
+ parameter list, so ansi2knr will convert it to (va_alist) va_dcl.
+ Reported by David MacKenzie.
+
+ * Makefile.in: Remove binprefix. Use transform_name instead.
+ Reported by David MacKenzie.
+
+ * doc/Makefile.in: Create version.texi, use it, clean it.
+ Reported by Jim Meyering.
+
+Fri Oct 28 20:33:55 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in (all, install, uninstall): Depend on Makefile.
+
+ * Makefile.in: For actions invoking $(MAKE) from within compound
+ sh statements, exit non-zero if the sub-make fails. Otherwise,
+ the top-level make may exit successfully when it should fail.
+ Reported by Jim Kingdon.
+
+ * {,/*}Makefile.in: Use && after all cd, in case they fail.
+
+ * {,*/}Makefile.in: Declare PRODUCT and VERSION macros.
+ (dist): Use PRODUCT and VERSION instead of tricks on .fname.
+ * configure.in: Substitute PRODUCT and VERSION.
+
+ * {,*/}Makefile.in (dist): Always try a hard link before a copy.
+
+Thu Oct 27 22:32:58 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in (mostlyclean-local): Do not remove *~.
+ * */Makefile.in (mostlyclean): Idem.
+ Reported by Robert E. Brown and Richard Stallman.
+
+Sun Oct 9 08:30:13 1994 Francois Pinard (pinard@icule)
+
+ * src/m4.h: Get rid of CONFIG_BROKETS.
+
+Sun Oct 2 16:48:10 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Use AC_ARG_PROGRAM.
+ * aclocal.m4 (fp_C_PROTOTYPES): Substitute @kr@ by kr or empty.
+ Reported by David MacKenzie.
+
+Sat Oct 1 11:22:42 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Do not add -O to CFLAGS for GNU C, now that
+ configure does it automatically.
+ Reported by Jim Meyering.
+
+Fri Sep 23 08:16:58 1994 Francois Pinard (pinard@icule)
+
+ * src/stackovf.c: Declare the handler_t typedef earlier in the
+ code, use it for stackovf_handler.
+ (setup_stackovf_trap): Use RETSIGTYPE instead of void while
+ casting sigsegv_handler.
+ Reported by Robert Bernstein.
+
+ * src/m4.c (main): Initialize program_name to argv[0] without
+ basename'ing it.
+ Reported by Karl Berry.
+
+Sun Sep 18 11:42:50 1994 Francois Pinard (pinard@icule)
+
+ * src/Makefile.in (TAGS): Include a ../lib/TAGS reference.
+ Reported by Karl Berry.
+
+Wed Sep 14 10:00:22 1994 Francois Pinard (pinard@icule)
+
+ * lib/Makefile.in (mostlyclean): Added.
+ (TAGS): Make in $(srcdir).
+
+ * configure.in: Use `choke me' in test, like everywhere!
+
+ * {doc,examples,lib,src}/Makefile.in (check): Deleted, as
+ unreacheable and useless.
+
+ * doc/Makefile.in (texclean): Deleted, merged in mostlyclean.
+
+ * lib/Makefile.in (DISTFILES): Distribute TAGS.
+ (distclean): Do not remove TAGS.
+ (realclean): Remove it.
+ * Makefile.in: Make TAGS in lib also, not just in src.
+ Reported by Karl Berry.
+
+ * Makefile.in (distclean, realclean): Instead of recursively
+ calling $(MAKE) for the -local part, allow parallel execution of
+ -recursive and -local, only delay the removal of config.status,
+ which is repeated in both goals.
+
+Tue Sep 13 19:21:05 1994 Francois Pinard (pinard@icule)
+
+ Release 1.3.
+ * Makefile.in: Group all *clean-recursive goals in one, using sed
+ to remove `-recursive' while calling make recursively. Also, use
+ a subshell for each recursive $(MAKE).
+ Reported by Jim Meyering.
+
+ * src/m4.h (memcpy): Define with bcopy for BSD systems.
+ Reported by Kaveh R. Ghazi.
+
+ * src/Makefile.in (ansi2knr): Use $(LIBS) while linking, for SunOS
+ 4.1.3 requires -ldl to link even ansik2nr, and we need a way to
+ specify it.
+
+ * configure.in: Use date instead of touch for stamp-h.
+ * Makefile.in (stamp-h.in): Idem.
+
+ * Makefile.in (distclean, realclean): Force serial execution of
+ both goals, in case parallel makes are being used.
+ Reported by Jim Meyering.
+
+ * src/Makefile.in (DISTFILES): Distribute TAGS.
+ (distclean): Do not remove TAGS.
+ (realclean): Remove it.
+ Reported by Karl Berry.
+
+Sat Sep 10 12:34:04 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Use fp_ to match aclocal.m4. Revert _OS_ macros
+ to old names, for following Autoconf.
+
+Thu Sep 8 15:07:27 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in (MDEFINES): Remove INSTALL substitutions, for
+ ./install.sh will not be correctly referred to in sub-Makefiles.
+ Reported by John David Anglin.
+
+ * doc/Makefile.in (texclean): Remove *.cps and *.fns too.
+ Reported by Eric Backus.
+
+ * Makefile.in, checks/Makefile.in, doc/Makefile.in,
+ examples/Makefile.in, lib/Makefile.in, src/Makefile.in: Limit
+ config.status into remaking this directory's Makefile only.
+ * Makefile.in (stamp-h): Do not check nor touch stamp-h.
+ * configure.in (AC_OUTPUT): Touch stamp-h if CONFIG_HEADERS.
+ Reported by Jim Meyering.
+
+Tue Sep 6 12:07:33 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Correct stack overflow detection logic, taking
+ care of systems having only incomplete implementations (like for
+ Pyramid 9820 OSx 5.0d).
+ Reported by Kaveh R. Ghazi.
+
+ * src/Makefile.in (TAGS): Remote -t from etags call.
+
+Fri Sep 2 10:37:10 1994 Francois Pinard (pinard@icule)
+
+ * lib/Makefile.in (install): Depend on all.
+
+Wed Aug 31 11:17:21 1994 Francois Pinard (pinard@icule)
+
+ * examples/Makefile.in (mostlyclean): Do not depend on texclean.
+ Reported by Jim Meyering and John David Anglin.
+
+ * Makefile.in (distclean-local): Delete config.log.
+ Reported by Jim Meyering.
+
+ Solidify frozen files with respect to -P:
+ * src/m4.c: Have -P set prefix_all_buitins variable instead of
+ calling a function by that name. Declare the variable.
+ * src/m4.h: Adjust declaration for prefix_all_buitins.
+ * src/builtin.c (builtin_init): Merge in functionality from
+ previous prefix_all_buitins function, while making entries in the
+ symbol table, but not modifying the builtin description itself.
+
+ * src/freeze.c (reload_frozen_state): Add a useless `break;',
+ because *many* compilers do not accept an empty `default:'.
+ Reported by Akiko Matsushita, Eric Backus, John David Anglin,
+ Joseph E. Sacco, Kaveh R. Ghazi, Tom McConnell and Ulrich Drepper.
+
+ * configure.in: Use AC_TYPE_SIGNAL.
+ * src/stackovf.c (setup_stackovf_trap): Use RETSIGTYPE.
+ Reported by Robert Bernstein.
+
+ * checks/Makefile.in (check): Modify PATH so check-them will find
+ m4 in the src directory.
+ * Makefile.in (check): Don't.
+ Reported by Akiko Matsushita and Jim Meyering.
+
+ * src/output.c (make_room_for, output_character_helper): New
+ functions, for implementing a global MAXIMUM_TOTAL_SIZE instead of
+ a per buffer MAXIMUM_BUFFER_SIZE.
+
+ * src/output.c (output_text): New function, for optimizing the
+ output of strings of characters. Use it.
+
+Tue Aug 30 01:44:29 1994 Francois Pinard (pinard@icule)
+
+ * doc, src: New directories reorganizing the distribution.
+ * doc/Makefile.in, src/Makefile.in, examples/Makefile.in: New
+ files.
+ * Makefile.in: Adjusted.
+ * configure.in: Configure new Makefiles.
+
+ * m4.h: Declare STRING typedef. Use it for comment and quote
+ strings, adjusting all references. (This is the rudiments of a
+ beginning for the eventual withdrawal of NUL terminated strings.)
+ * output.c (shipout_text): Accept a length parameter, and use it.
+ All callers adjusted.
+
+Mon Aug 29 12:27:19 1994 Francois Pinard (pinard@icule)
+
+ * m4.h: Include <unistd.h> if it exists.
+ * stackovf.c: Don't.
+
+ Clean up for current_diversion variable:
+ * output.c: Move current_diversion from builtin.c.
+ * m4.h: Declare current_diversion so builtin.c can access it.
+ * output.c (output_init, make_diversion): Initialize or update
+ current_diversion.
+ * builtin.c (builtin_init, m4_divert): Leave current_diversion
+ alone.
+
+ Remove limit on number of diversions:
+ * output.c: Replace ndiversion by diversions, declare it.
+ (output_init): Allocate only diversion 0.
+ (make_diversion): Allocate new diversions as needed.
+ * m4.h, m4.c: Remove NDIVERSIONS and ndiversion related stuff.
+ * m4.c: Still accept -N, but do nothing with it.
+ Reported by David MacKenzie.
+
+ Freeze diversions:
+ * output.c (freeze_diversions): New function.
+ * m4.h: Declare freeze_diversions.
+ * freeze.c: Document frozen file format, revise it, call
+ freeze_diversions to add diversions to frozen format, and code to
+ reload them properly.
+ * m4.c: Do not undivert automatically at end when status being
+ frozen. Do not call builtin_init when reloading frozen state.
+
+ Speed up diversion processing:
+ * output.c: Add INITIAL_BUFFER_SIZE, MAXIMUM_BUFFER_SIZE,
+ COPY_BUFFER_SIZE, in-memory diversion buffers, struct diversion
+ structure and variables, cached variables out of output_diversion,
+ reallocate_diversion_for and OUTPUT_CHARACTER.
+ (shipout_text, make_diversion, insert_diversion): Adapted to new
+ structures.
+ (insert_file): Use better buffering.
+ Reported by David MacKenzie.
+
+Sun Aug 28 05:20:02 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in, lib/Makefile.in, checks/Makefile.in: Arrange so
+ dist works from another build directory.
+
+Sat Aug 27 14:32:45 1994 Francois Pinard (pinard@icule)
+
+ * symtab.c (hack_all_symbols): Use hash_table_size instead of
+ constant HASHMAX, for -H option to work better.
+
+ * builtin.c (DECLARE): Simplify by using _ ().
+
+ * freeze.c: New file.
+ * Makefile.in: Compile it, distribute it.
+ * m4.c: Recognize, document and process --freeze-state (-F) and
+ --reload-state (-R) options. Pass a true flag to builtin_init
+ only if no reloading some state.
+ * builtin.c (define_builtin): Remove static specifier.
+ (find_builtin_by_name): Remove static specifier.
+ (builtin_init): Accept and obey a flag argument.
+ * m4.h: Add declarations for freeze.c, changes for builtin.c.
+
+Wed Aug 24 16:14:19 1994 Francois Pinard (pinard@icule)
+
+ * builtin.c (dumpdef_cmp): Rewrite so the cast protect the const
+ specifier.
+
+ * configure.in: Implement --with-dmalloc.
+ * acconfig.h: Document WITH_DMALLOC.
+ * m4.h: Add code for when WITH_DMALLOC.
+
+Mon Aug 15 12:38:05 1994 Francois Pinard (pinard@icule)
+
+ * m4.c (long_options): Use "error-output", the dash was missing.
+ Reported by Akiko Matsushita.
+
+Fri Aug 12 16:38:01 1994 Francois Pinard (pinard@icule)
+
+ * m4.h: Include <sys/types.h>.
+ * builtin.c, debug.c, m4.c, output.c, stackovf.c: Don't.
+ * m4.h: Declare len_lquote and len_rquote as size_t, not int.
+ int.
+ * input.c: Declare len_lquote, len_rquote, len_bcomm and len_ecomm
+ as size_t, not int.
+ * builtin.c (dump_args): Declare len as size_t, not int.
+
+ * debug.c: Prototype the forward declaration of debug_set_file.
+
+ * builtin.c (m4_undivert): Replace div by file, for avoiding the
+ shadowing of this variable.
+ * output.c (insert_diversion): Idem.
+
+ * input.c: Delete def_rquote, def_lquote, def_bcomm and def_ecomm.
+ (input_init): Duplicate default quote and comment strings.
+ (set_quotes): Free previous quote strings in all cases. Duplicate
+ even default quote strings.
+ (set_comment): Free previous comment strings in all cases.
+ Duplicate even default comment strings.
+
+ * configure.in: Updated for Autoconf 2.0.
+ * Makefile.in (distclean-local): Also delete config.cache.
+
+ * m4.c (usage): Reorganize the --help output by topic. Include a
+ description for debugging flags.
+
+Fri Jul 29 10:15:52 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: If sigaction is available and SA_ONSTACK defined,
+ use sigaction. Otherwise, if sigvec is available and SV_ONSTACK
+ defined, use sigvec. Else don't compile stackovf.c.
+ * stackovf.c (setup_stackovf_trap): Idem.
+ Reported by Jim Avera, Karl Berry, Kaveh R. Ghazi, Matthias Rabe
+ and Simon Leinen.
+
+Thu Jul 21 22:43:17 1994 Francois Pinard (pinard@icule)
+
+ * m4.c (usage): Replace printf par fputs.
+
+Mon Jul 18 23:48:23 1994 Francois Pinard (pinard@icule)
+
+ * Release 1.2
+
+Sun Jul 17 08:08:25 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Check for sigaction and sigvec. Add a new delayed
+ check for RLIMIT_STACK, combine in the checking for getrlimit.
+ All those things are not universally available.
+ * stackovf.c: Split setting up the trap handler and catching
+ signals, for better taking care of various configure outcomes.
+ * examples/stackovf.sh: Correct a typo.
+ Reported by Eric Backus, Jim Avera and Jim Meyering.
+
+Sat Jul 16 20:36:19 1994 Francois Pinard (pinard@icule)
+
+ * ansi2knr.c: New version sent by its author, Peter Deutsch.
+
+Fri Jul 15 14:36:21 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in: Modify so parallel make will not try making
+ lib/libm4.a twice simultaneously.
+ Reported by Jim Meyering.
+
+Thu Jul 14 17:23:17 1994 Francois Pinard (pinard@icule)
+
+ * stackovf.c (setup_stackovf_trap): Replace "Don't" by "Do not" in
+ error message, for when no code possibility exists. Even if this
+ line is completely #ifdef'ed out, it brings a syntax error.
+ Reported by Andreas Schwab, Jim Meyering and Joseph E. Sacco.
+
+ * Makefile.in (install): Have install depend on all too, for lib
+ to be remade as needed.
+
+ * examples/stackovf.sh: Try ksh, bsh and bash for shells
+ providing ulimit, instead of using only ksh.
+ Reported by Jim Avera and Joseph E. Sacco.
+
+Tue Jul 12 06:54:31 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in (check): Have it depend on all instead of m4. In
+ this way, a change in lib will be detected and processed.
+
+ * builtin.c (numeric_arg): Use strtol and verify the conversion,
+ instead of using sscanf which stops as soon as there is a
+ non-digit in the input. Previously, incr(1xyzzy), eval(1,2xyzzy)
+ and divert(1xyzzy) were all accepted without any warning or error
+ messages.
+ * m4.h: Declare strtol as long if not including stdlib.h.
+ * configure.in: Check for limits.h, and replace strtol if missing.
+ * lib/Makefile.in: Substitute LIBOBJS. Distribute strtol.c.
+ * lib/strtol.c: New file, from elsewhere.
+ Reported by Andreas Schwab.
+
+Thu Jul 7 22:38:10 1994 Francois Pinard (pinard@icule)
+
+ * macro.c (expand_macro): Cast value to (boolean) prior to
+ assigning it to traced.
+ Reported by Tom McConnell.
+
+ * Makefile.in (m4): Always make all in lib first.
+ Reported by Jim Meyering.
+
+Wed Jul 6 13:16:31 1994 Jim Avera (jima@netcom.com)
+
+ * stackovf.c: Isolated OS-dependent sections; Improved portability,
+ adding support for SunOS/BSD (sigvec, sigstack, and 4-parameter signal
+ handlers), and a default error message if the fault address is not
+ available (when neither siginfo.h nor BSD sigcontext are supported).
+ * configure.in: Changes for stackovf.h: Check for sigcontext,
+ sigaction, sigstack, and define rlim_t as int if necessary.
+ * acconfig.h: Added HAVE_SIGCONTEXT and rlim_t.
+ * examples/stackovf.sh: Run m4 -L99999999 to allow stack overflow.
+ * ansi2knr.c: Fix for func-ptr args; convert "..." to varargs syntax.
+
+Tue Jul 5 19:13:54 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Use AC_SET_MAKE.
+ * Makefile.in: Use @SET_MAKE@.
+ Reported by Jim Meyering.
+
+ * checks/check-them: Do not trap on SIGQUIT or SIGALRM.
+ Reported by Ian Taylor.
+
+Sat Jul 2 00:58:47 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Remove dependency of USE_STACKOVF on STDC_HEADERS,
+ because siginfo.h is unrelated to standard headers, and siginfo.h
+ is already checked for.
+ Reported by Joseph E. Sacco.
+
+ * acconfig.h, aclocal.m4, m4.h: Replace HAVE_PROTOTYPES by
+ PROTOTYPES.
+ * aclocal.m4, configure.in: Replace AC_HAVE_PROTOTYPES by
+ AC_PROTOTYPES.
+
+Wed Jun 29 22:41:53 1994 Francois Pinard (pinard@icule)
+
+ * builtin.c (substitute): Use \& to represent this part of the
+ string which was matched by the whole regexp, instead of
+ representing the whole string. Any usage of \0 issues a warning
+ and acts like \&, it will disappear in some subsequent release.
+
+Mon Jun 27 14:24:23 1994 Francois Pinard (pinard@icule)
+
+ * m4.c: Complete prototype for forwarded declaration of usage.
+
+ * input.c (init_macro_token): Correct own reference in error
+ message. Previous name get_macro_func was referred to instead.
+ (next_char): Correct own reference in error message. Previous
+ name advance_input was referred to instead.
+
+ * m4.h: Declare eval_t and unsigned_eval_t typedefs to 32 bits.
+ * eval.c (logical_or_term, logical_and_term, or_term, xor_term,
+ and_term, not_term, logical_not_term, cmp_term, shift_term,
+ add_term, mult_term, exp_term, unary_term, simple_term): Add
+ prototype to forwarded declarations. Declare parameter v1 as
+ eval_t * instead of int *. Same for local variable v2 in dyadic
+ functions. Same for result in exp_term.
+ * builtin.c (m4_eval): Declare value as eval_t instead of int.
+ (ntoa): Declare value as eval_t instead of int. Declare uvalue as
+ unsigned_eval_t instead of unsigned int. Change casts accordingly.
+ (shipout_int): Cast first argument of ntoa to eval_t.
+ Reported by Thorsten Ohl.
+
+ * macro.c: Complete the prototypes of forwarded expand_macro and
+ expand_token.
+ Reported by Thorsten Ohl.
+
+ * m4.h: Define voidstar as void * or char * depending on __STDC__.
+ The Ultrix 3.1 compiler cannot do much with void pointers.
+
+ * builtin.c (dumpdef_cmp): Replace void * by voidstar.
+ * m4.c (xfree): Replace void * by voidstar.
+ Reported by Tom McConnell.
+
+ * ansi2knr.1: New, from elsewhere.
+ * Makefile.in (DISTFILES): Distribute ansi2knr.1
+
+ * Makefile.in (stamp-h.in): Avoid running ./config.status if
+ stamp-h does not exist yet. This avoids running it a second time
+ just after the initial ./configure.
+ Reported by David MacKenzie and Tom McConnell.
+
+ * m4.h: Replace the enum debug_info declaration with a series of
+ #define's. The Ultrix 3.1 compiler would otherwise need casting
+ (int) to most references, when used in expressions.
+ Reported by Tom McConnell.
+
+Sat Jun 25 00:10:05 1994 Francois Pinard (pinard@icule)
+
+ * aclocal.m4: Replace FP_PROTOTYPES by AC_HAVE_PROTOTYPES,
+ following an idea from Brook G. Milligan. AC_HAVE_PROTOTYPES
+ calls the compiler. Previously, FP_PROTOTYPES was only calling
+ the preprocessor; by not being subject to CFLAGS, this was
+ discouraging those flags asking for ANSI compilation.
+ * acconfig.h: Document HAVE_PROTOTYPES.
+ * configure.in: Use AC_HAVE_PROTOTYPES instead of FP_PROTOTYPES.
+ * m4.h: Define _() according to HAVE_PROTOTYPES, not __STDC__.
+ Reported by Eric Backus.
+
+ * configure.in: Substitute CFLAGS and LDFLAGS, taking their value
+ from the environment. Default CFLAGS to -g if not set.
+ * Makefile.in: Have CFLAGS and LDFLAGS substituted from configure.
+ * lib/Makefile.in: Have CFLAGS substituted from configure.
+ Reported by Eric Backus and Tom McConnell.
+
+ * configure.in: m4_undefine changeword before using AC_ENABLE.
+
+ * m4.h: Declare prototypes for error (for ANSI compilers only),
+ prefix_all_builtins and reference_error.
+ Reported by Tom McConnell.
+
+ * input.c (set_word_regexp): Do not try to initialize the array
+ test from a string, this does not work with non-ANSI compilers.
+ Reported by Eric Backus.
+
+ * Makefile.in (dist): Clean examples/ before saving it.
+ (distclean-local): Also remove stamp-h.
+ Reported by Eric Backus.
+
+ * Makefile.in (_stackovf.c): Goal for compiling stacokovf.c with
+ non ANSI compilers.
+ Reported by Tom McConnell.
+
+ * checks/Makefile.in (clean): Depends on mostlyclean.
+ (mostlyclean): New goal.
+
+Fri Jun 24 23:30:31 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in (DISTFILES): Distribute install.sh.
+ * install.sh: New file, copied from elsewhere.
+ Reported by Assar Westerlund and Kaveh R. Ghazi.
+
+Thu Jun 23 00:00:30 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Define ENABLE_CHANGEWORD if --enable-changeword.
+ * acconfig.h: Explain ENABLE_CHANGEWORD.
+
+ [These modifs all depend upon ENABLE_CHANGEWORD and are adapted
+ from code provided by Pete Chown]
+ * m4.h: Add original_text field to u_t variant of union u.
+ Declare TOKEN_DATA_FUNC macro.
+ * builtin.c: Declare changeword.
+ (m4_changeword): New function.
+ * input.c: Include "regex.h", define variables with word regexps.
+ (input_init): Initialize the word regexp.
+ (set_word_regexp): New.
+ (next_token): Declare local variables, use the previous code if
+ default_word_regexp is true. Else, match using a new code. Save
+ the original text.
+ * macro.c (expand_token): Ship out original text if not a macro
+ name.
+ Reported by Krste Asanovic and Pete Chown.
+
+ [These modifs all depend upon ENABLE_CHANGEWORD]
+ * m4.h: Declare external user_word_regexp.
+ * m4.c: Declare user_word_regexp, and initialize it from
+ --word-regexp or -W, or NULL if not specified.
+ * input.c: Use user_word_regexp if specified, instead of
+ DEFAULT_WORD_REGEXP.
+
+ * Makefile.in (m4): Revert Jan 3 1994 change. I'm unable to
+ agree with it.
+
+ * Makefile.in, lib/Makefile.in: Limit suffixes to .c and .o.
+ * checks/Makefile.in: Empty the suffix list.
+ Reported by Geoff Russell, Joel Sherrill and Roland McGrath.
+
+ * m4.c: Declare nesting_limit and initialize it to 250.
+ Implement -LNUMBER or --nesting-limit=NUMBER to change its
+ value.
+ * m4.h: Declare nesting_limit as external.
+ * macro.c (expand_macro): Stop execution whenever nesting limit
+ is exceeded.
+ Reported by Bengt Mertensson.
+
+ * eval.c (evaluate): Diagnose excess characters in eval input.
+ Things like `eval(08)' used to return 0 with no diagnostic.
+
+ * m4.h: Capitalize first letter of all macro arguments in
+ definitions.
+
+ * m4.c: Declare warning_status, initialize it to 0. Add new
+ option -E, or --fatal-warnings, which sets warning_status to
+ EXIT_FAILURE instead.
+ * m4.h: Declare external warning_status. Define EXIT_SUCCESS and
+ EXIT_FAILURE if not otherwise done by header files.
+ * m4.c: Delete declarations for EXIT_SUCCESS and EXIT_FAILURE.
+ * m4.c, input.c, output.c, symtab.c, builtin.c, macro.c, debug.c,
+ eval.c: Replace 0 by warning_status and 1 by EXIT_FAILURE in first
+ argument of all M4ERROR calls.
+ Reported by Noah Friedman.
+
+ * examples/incl-test.m4: Renamed from incl_test.m4.
+ * examples/include.m4: Include incl-test.m4 instead of
+ incl_test.m4.
+ * examples/multiquotes.m4: Renamed from multi-quotes.m.
+
+Wed Jun 22 21:58:54 1994 Francois Pinard (pinard@icule)
+
+ * configure.in: Avoid USE_STACKOVF if <siginfo.h> not found. Note
+ that Jim developped stackovf.c on a 486 running SVR4.0 (ESIX), and
+ also tested it on a Sun Sparc workstation running SunOS 4.x.
+
+ * format.c (format): When not HAVE_EFGCVT, m4 was failing the
+ 49.format check, abusing a `union values' argument with sprintf
+ without selecting the proper field. Now, save the formatting type
+ first, delaying the fetch of the corresponding argument.
+ Reported by Joseph E. Sacco and Tom Quinn.
+
+ * format.c (format): Remove const from char *fmt declaration when
+ not HAVE_EFGCVT, because a NUL may be forced into it.
+
+ * m4.h: Declare atof() when not STDC_HEADERS.
+ Reported by Joseph E. Sacco.
+
+ * Regenerate configure using Autoconf 1.11, this corrects a
+ problem about an incorrect cpp seting on NeXT 3.1.
+ Reported by Alexander Lehmann.
+
+Sun Jun 5 16:25:19 1994 Francois Pinard (pinard@icule)
+
+ * m4.h (_): Change argument from `x' to `Args'.
+
+Wed May 4 23:59:39 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in: Remove all occurrences of $(MFLAGS), which were
+ bringing more evil than good on a few systems.
+ Reported by Greg A. Woods.
+
+Fri Apr 22 15:59:35 1994 Francois Pinard (pinard@icule)
+
+ * m4.h: Rename Args() to _().
+ * m4.h: Remove extern specifier from all function declarations.
+
+Fri Apr 22 15:51:21 1994 Jim Avera (jima@netcom.com)
+
+ * stackovf.c: New file implementing stack-overflow detection.
+ * configure.in: Check for getrlimit, sigaction. If all of
+ standard headers, getrlimit and sigaction, define USE_STACKOVF and
+ substitute ${U}stackovf.o for STACKOVF.
+ * acconfig.h: Declare USE_STACKOVF.
+ * Makefile.in: Distribute stackovf.c, link with $(STACKOVF).
+ * m4.h: Declare setup_stackovf_trap().
+ * m4.c: Call setup_stackovf_trap().
+ * tests/stackovf_test.sh: New file.
+
+Wed Apr 13 14:10:30 1994 Francois Pinard (pinard@icule)
+
+ * checks/Makefile.in: Rename .all-stamp to stamp-checks.
+
+ * Makefile.in (Makefile, etc.): Adapt for Autoconf 1.8.
+
+Sun Jan 30 14:24:19 1994 (pinard at icule)
+
+ * m4.h: Remove definition of volatile, not used anymore.
+ Reported by Jim Meyering and Joseph E. Sacco.
+
+ * m4.h: Consistently use `do { ... } while (0)' in macros, instead
+ of `if ... else /* nothing */' for if macros.
+ Reported by Jim Meyering.
+
+ * builtin.c (m4_regexp): Reorganize the code for avoiding a
+ warning from gcc about `repl' possibly used before defined.
+ Reported by Jim Meyering.
+
+ * m4.h: Avoid a pre-ANSI <memory.h> together with <string.h>.
+ Reported by Jim Meyering.
+
+Tue Jan 25 18:39:37 1994 Francois Pinard (pinard at icule)
+
+ * m4.h: Move the conditional definition of volatile after the
+ inclusion of system files, because they may define it first.
+
+Tue Jan 4 19:46:50 1994 Francois Pinard (pinard@icule)
+
+ * checks/Makefile.in (CHECKS): Add a useless `*' before `[', to
+ get around a problem with Alpha make seeing a syntax error, there.
+ Reported by Vern Paxson.
+
+Mon Jan 3 00:21:45 1994 Francois Pinard (pinard@icule)
+
+ * Makefile.in: Do not define LDFLAGS, use CFLAGS on link calls.
+ Reported by Richard Stallman.
+
+Sat Dec 25 08:06:05 1993 Francois Pinard (pinard@icule)
+
+ * configure.in: Correct test for strerror, AC_FUNC_CHECK was used
+ instead of AC_HAVE_FUNCS.
+ Reported by Noah Friedman.
+
+Wed Dec 1 09:37:53 1993 Francois Pinard (pinard@icule)
+
+ * m4.c: Initialize show_help and show_version to zero.
+
+ * m4.c: Ensure EXIT_SUCCESS and EXIT_FAILURE are defined.
+ Use them in exit() and usage() calls.
+
+Sat Nov 27 10:43:24 1993 Francois Pinard (pinard@icule)
+
+ * m4.h: Delete extern sys_nerr, sys_errlist declarations, and
+ syserr() macro. Delete errref, add reference_error and M4ERROR.
+ * m4.c: Replace errref, which was returning an input reference
+ string, with reference_error, which prints it on standard error.
+ * builtin.c, output.c: Use errno as second parameter to error,
+ instead of using syserr() with %s.
+ * *.c: Use M4ERROR instead of error: no more errref() with %s.
+ Doing so, the program name appears after the input reference
+ instead of before, which eases M-x next-error processing.
+
+Wed Nov 24 22:16:15 1993 Francois Pinard (pinard@icule)
+
+ * checks/get-them: Escape braces with backslashes in patterns,
+ because HPUX-9.01 awk needs this.
+ Reported by Jim Meyering.
+
+Mon Nov 22 10:55:52 1993 Francois Pinard (pinard@icule)
+
+ * builtin.c: Declare "FILE *popen ();".
+
+ * m4.h: Remove MESSAGE{,1,2}, WARNING1, FATAL{,1}, INTERNAL_ERROR
+ macros, replace error_message_prefix() declaration by errref()'s.
+ Declare xrealloc, for use in errref().
+ * m4.c: Delete error_message_prefix() function, add errref().
+ * *.c: Use error() systematically in place of all error macros,
+ now that error() flushes stdout first. Make needed adjustments.
+
+ * m4.h: Remove const in sys_errlist[] declaration, it creates
+ conflicts on SGI and Alpha.
+ Reported by Kaveh R. Ghazi.
+
+Sat Nov 20 08:26:15 1993 Francois Pinard (pinard@icule)
+
+ * m4.c: Include <getopt.h> instead of "getopt.h".
+
+ * configure.in: Output to config.h. Use HAVE_FUNCS preferably.
+ * acconfig.h: New, for documenting HAVE_EFGCVT.
+ * Makefile.in: Distribute acconfig.h, .stamp-h.in and config.h.in,
+ use them wherever appropriate. Also use -I. for compilations.
+ * lib/Makefile.in: Use -I.. for compilations.
+ * *.c: Include <config.h> or "config.h".
+
+ * m4.h: Test for HAVE_MEMORY_H instead of NEED_MEMORY_H.
+ * configure.in: Use AC_HAVE_HEADERS(memory.h), delete AC_MEMORY_H.
+
+Wed Nov 17 09:34:55 1993 Francois Pinard (pinard@icule)
+
+ * builtin.c (m4_eval): Cast strlen to (int) before comparing.
+
+ * input.c (input_init): Initialize quote and comment strings
+ explicitely instead of calling set_quotes and set_comment: by
+ doing so, we ensure we do not free uninitialized variables.
+
+ * checks/check-them: Reverse arguments to both diff, so the
+ expected is on the left and the obtained on the right.
+
+ * m4.h: Add MESSAGE{,1,2}, WARNING1, FATAL{,1} and INTERNAL_ERROR
+ macros. Delete declarations for m4error, warning, fatal and
+ internal_error, add declaration for error_message_prefix.
+ * m4.c: Delete m4error, warning, fatal and internal_error
+ routines, add error_message_prefix routine.
+ * *.c: Replace m4error routine calls with MESSAGE* macro calls,
+ warning with WARNING*, fatal with FATAL* and internal_error with
+ INTERNAL_ERROR*.
+ * Makefile.in (_m4.c): Do not adjust ansi2knr output for va_alist,
+ this is not needed anymore.
+
+ * m4.h: Declare extern FILE *debug. Add DEBUG_PRINT{1,3} and
+ DEBUG_MESSAGE{,1,2} macros. Delete declarations for debug_print
+ and debug_message, add declaration for debug_message_prefix.
+ * debug.c: Remove static specifier for FILE *debug declaration.
+ Delete debug_print and debug_message routines, add
+ debug_message_prefix routine.
+ * builtin.c, debug.c: Replace debug_print routine calls with
+ DEBUG_PRINT* macro calls.
+ * input.c, path.c: Replace debug_message routine calls with
+ DEBUG_MESSAGE* macro calls.
+
+ * m4.h: Remove inclusion of <varargs.h>.
+ * debug.c: Include <stdarg.h> or <varargs.h>.
+ (trace_format): Use stdarg instead of varargs if __STDC__.
+
+ * configure.in: Remove checks for vfprintf and _doprnt. These
+ implementations use varargs tricks which are not portable enough.
+ * lib/vfprintf.c: Deleted.
+ * lib/_doprnt.c: Deleted.
+ * lib/Makefile.in: Adjusted accordingly. Remove LIBOBJS.
+ Reported by Joel Sherrill.
+
+ * path.c (add_include_directory): Use xstrdup.
+
+ * builtin.c (find_builtin_by_name): Declare static.
+
+ * *.[ch]: Add const to a few "char *" declarations.
+
+ * configure.in: Remove commented tests for fileno() and fstat().
+ * debug.c: Remove comments about HAVE_FILENO and HAVE_FSTAT.
+
+ * debug.c (debug_flush_files): New.
+ * m4.h: Declares it.
+ * builtin.c (m4_syscmd, m4_esyscmd): Use it.
+ Reported by Nicolas Pioch.
+
+Fri Nov 12 10:02:26 1993 Francois Pinard (pinard@icule)
+
+ * Makefile.in (m4.dvi): Use m4.texinfo instead of m4.texi.
+ Reported by Joel Sherrill.
+
+ * builtin.c (prefix_all_builtins): Instead of the table size, use
+ the null entry at end for stopping the loop. It was overwritten.
+ Reported by Andreas Schwab and Jim Meyering.
+
+ * builtin.c (prefix_all_builtins): Cast xmalloc to (char *).
+ Reported by Kaveh R. Ghazi.
+
+ * macro.c (call_macro): Add * in (*SYMBOL_FUNC (sym)) (...).
+ Reported by Karl Vogel.
+
+Tue Nov 9 09:31:47 1993 Francois Pinard (pinard@icule)
+
+ * m4.h: Do not define volatile if already defined.
+ Reported by Rene' Seindal.
+
+ * lib/Makefile.in: Add a forgotten ALLOCA=@ALLOCA@. Grrr!
+
+ Reported by Bernhard Daeubler, Eric Backus, Hal Peterson, Hoang
+ Uong, Ian Taylor, Kaveh R. Ghazi, Tom McConnell and Walter Wong.
+
+Mon Nov 8 21:11:44 1993 Francois Pinard (pinard@icule)
+
+ * m4.h: Define strchr and strrchr in terms of index and rindex,
+ instead of the other way around.
+ * builtin.c, m4.c, path.c: Use strchr instead of index.
+
+ * input.c (next_char): Remove a "break;" after a "return ...;".
+ Reported by Tom McConnell.
+
+Mon Nov 8 12:45:34 1993 Francois Pinard (pinard@icule)
+
+ * Release 1.1
+
+ * configure.in: Do not copy check files in the build hierarchy.
+ * checks/check-them: Identify the m4 version being checked. For
+ finding m4, look in $PATH instead of in the parent directory.
+ * Makefile.in (check): Prepend `pwd` to $PATH before checking.
+ * checks/Makefile.in (.all-stamp): Always create check files in
+ the source hierarchy, not anymore in the build hierarchy.
+ (check): cd to the source hierarchy before performing checks.
+ Do not copy nor clean COPYING anymore, take it from `..'.
+ Reported by Tom McConnell.
+
+ * Makefile.in (Makefile): Use $(SHELL).
+ (config.status): Use $(SHELL). Use "config.status --recheck"
+ instead of "configure --no-create", which is obsolete.
+ Reported by Tom McConnell.
+
+Fri Nov 5 09:49:30 1993 Francois Pinard (pinard@compy.IRO.UMontreal.CA)
+
+ * m4.c (usage): Use "%s" instead of "m4" in format string.
+ Reported by Jim Meyering.
+
+ * Makefile.in: Distribute mkinstalldirs.
+ Reported by Pierre Gaumond.
+ Reported by Jim Meyering.
+ Reported by Tom McConnell.
+ Reported by Andreas Gustafsson.
+
+ * checks/check-them: Renamed from checks/check_them.
+ * checks/get-them: Renamed from checks/get_them.
+ * checks/.all-stamp: Renamed from checks/.all_stamp.
+ * checks/Makefile.in: Changed accordingly.
+ Reported by Jim Meyering.
+
+Thu Nov 4 13:50:52 1993 Francois Pinard (pinard@lagrande.IRO.UMontreal.CA)
+
+ * lib/Makefile.in (dist): Correct permissions on files.
+
+ * output.c: Declare tmpfile, some systems don't.
+
+Wed Nov 3 09:09:16 1993 Francois Pinard (pinard@icule)
+
+ * checks/Makefile.in (dist): Correct permissions on files.
+
+ * Makefile.in (dist): Ensure recursive linking for subdirectory
+ `examples', also set read/write permissions on all its files.
+
+ * mkinstalldirs: New, from elsewhere.
+ * Makefile.in: Use it.
+
+ * debug.c: Synchronize debug messages and regular output when
+ the debug file and stdout are redirected to the same file.
+ * configure.in: Add (commented) checks for fileno and fstat.
+ Reported by Jim Avera.
+
+ * builtin.c (m4_ifelse): Diagnose excess arguments if 5, 8, 11,
+ etc., arguments, then ignore the superfluous one. m4 used to
+ diagnose missing arguments and return the empty string.
+ Reported by Nick S. Kanakakorn.
+
+Tue Nov 2 00:55:41 1993 Francois Pinard (pinard@icule)
+
+ * m4.c (main): At end of all input, ensure all undiverted text
+ goes to the main output stream.
+ Reported by Andreas Gustafsson.
+
+ * m4.c (main): exit (0), instead of return 0.
+
+ * m4.c: Implement -P and --prefix-builtins.
+ * builtin.c: Delete const specifier on builtin_tab.
+ (prefix_all_builtins): New.
+ Reported by Noah Friedman.
+ Reported by Scott Bartram.
+
+ * c-boxes.el: New, from elsewhere.
+ * Makefile.in: Distribute it.
+
+ * m4.h: Do not define bcopy if <string.h> defines it.
+ Reported by Stephen Perkins.
+
+ * builtin.c (define_macro): Allow a missing second argument, in
+ which case it is implied empty. Affects define and pushdef.
+ Reported by Eric Allman.
+
+Mon Nov 1 07:45:24 1993 Francois Pinard (pinard@icule)
+
+ * m4.h: Add blind_if_no_args in struct builtin, blind_no_args in
+ struct symbol adn SYMBOL_BLIND_NO_ARGS macro.
+ * builtin.c: Initialize all the blindness fields in builtin_tab.
+ (define_builtin): Copy the blindness of a builtin into its symbol.
+ * macro.c (expand_token): Avoid processing a blind builtin if the
+ next character is not an opening parenthesis.
+ Reported by David MacKenzie.
+ Reported by Noah Friedman.
+
+ * configure.in: Ensure an exit status of 0 on completion.
+ Reported by Vivek P. Singhal.
+
+ * eval.c (eval_lex): Admit both lower and upper case letters for
+ bases greater than 10. Only lower case letters were accepted.
+
+ * eval.c (eval_lex): Recognize 0bDIGITS and 0rRADIX:DIGITS syntax.
+ Reported by Krste Asanovic.
+
+ * eval.c: Rename NOT to LNOT. Add XOR, NOT, LSHIFT and RSHIFT.
+ * eval.c (logical_not_term): New name for not_term.
+ * eval.c (xor_term): New, between or_term and and_term.
+ * eval.c (not_term): New, between and_term and logical_not_term.
+ * eval.c (shift_term): New, between cmp_term and add_term.
+ Reported by Krste Asanovic: ~, ^, <<, >>.
+ Reported by Ben A. Mesander: ** vs ^.
+
+ * m4.c: Delete xmalloc.c, xrealloc.c, xstrdup.c.
+ * m4.h: Delete xrealloc.c.
+ * lib/xmalloc.c: New, from elsewhere.
+ * lib/xstrdup.c: New, from elsewhere.
+ * lib/Makefile.in: Distribute and compile them.
+
+ * m4.c: Change progname to program_name.
+ * builtin.c, eval.c, m4.c, m4.h: Rename error to m4error.
+ * lib/error.c: New, from elsewhere.
+ * lib/Makefile.in: Distribute and compile error.c.
+ * configure.in: Check AC_VPRINTF and for strerror.
+ * m4.c: Delete cmd_error. Use error instead.
+ * m4.c: Change label capitalisation to "ERROR", "Warning", etc.
+
+ * m4.h: Delete #define const, let Autoconf takes care of this.
+
+ * m4.c: Remove all code conditionalized by IMPLEMENT_M4OPTS.
+ Merge parse_args into main. Declare argv to be `char *const *',
+ then remove superfluous casts.
+
+ * m4.c: Rename --no-gnu-extensions to --traditional.
+ Reported by Ben A. Mesander.
+
+ * m4.c (usage): Add a status parameter. Supply one in various
+ calls. Add --help processing. Remove -V for --version.
+
+ * lib/Makefile.in: Put $(CFLAGS) last in .c.o rule.
+
+ * lib/Makefile.in: Have an AR=ar declaration.
+ Reported by Eric Backus.
+ Reported by Bjorn R. Bjornsson.
+ Reported by Tom Tromey.
+ Reported by Kristine Lund.
+ Reported by Marion Hakanson.
+
+Sat Oct 30 12:51:47 1993 Francois Pinard (pinard@icule)
+
+ * Makefile.in (m4.info): Use -I$(srcdir) on $(MAKEINFO).
+ Reported by Noah Friedman.
+
+Mon Oct 25 14:58:48 1993 Francois Pinard (pinard@icule)
+
+ * Makefile.in: Remove MDEFINES and cleanup.
+
+Wed Jun 9 14:59:46 1993 Francois Pinard (pinard@icule)
+
+ * Makefile.in (dist): Replace "echo `pwd`" by a mere "pwd".
+ Create a gzip file.
+
+Sat Feb 6 14:59:22 1993 Francois Pinard (pinard@icule)
+
+ * Makefile.in, lib/Makefile.in, check/Makefile.in: In dist goals,
+ ensure 777 mode for directories, so older tar's will restore file
+ modes properly.
+
+Sun Jan 17 15:38:05 1993 Francois Pinard (pinard@icule)
+
+ * Makefile.in, lib/Makefile.in: Put $(CFLAGS) after $(CPPFLAGS),
+ so the installer can override automatically configured choices.
+ Reported by Karl Berry.
+
+Fri Jan 15 16:07:00 1993 Francois Pinard (pinard@icule)
+
+ * lib/vfprintf.c: Stolen from Oleo distribution and adapted. The
+ previous version was not working properly on m68k-hp-bsd4.3.
+ Reported by Roland McGrath.
+
+ * lib/_doprnt.c: Stolen from Oleo distribution.
+ * configure.in: Check for _doprnt.c if vfprintf.c selected.
+ * lib/Makefile.in: Distribute _doprnt.c.
+ Do not distribute regex.[ch].old anymore.
+
+Fri Jan 1 19:42:23 1993 Francois Pinard (pinard at icule)
+
+ * Makefile.in, lib/Makefile.in: Reinstate $(CPPFLAGS), use it.
+ Richard wants it there.
+
+Sun Dec 27 07:01:54 1992 Francois Pinard (pinard at icule)
+
+ * Makefile.in: Add DEFS to MDEFINES.
+ * lib/Makefile.in (.c.o): Remove $(CPPFLAGS).
+ (libm4.a): Remove the library before creating it.
+ (distclean): Remove tags and TAGS too.
+
+Wed Dec 23 12:46:55 1992 Francois Pinard (pinard at icule)
+
+ * Makefile.in (dvi, m4.dvi): New goals.
+
+ * builtin.c, eval.c, format.c, input.c, m4.[ch], m4.texinfo,
+ macro.c, output.c, path.c, symtab.c: Change Copyright from
+ 1989-1992 to the explicit enumeration 1989, 1990, 1991, 1992.
+
+ * examples/divert.m4: Deleted, this bug has been corrected.
+
+ * Makefile.in (texclean, mostlyclean): New goals.
+
+ * Makefile.in (clean): Remove clutter from ansi2knr.
+ Reported by Pierre Gaumond.
+ Reported by Greg A. Woods.
+
+Sun Dec 20 10:40:20 1992 Francois Pinard (pinard at icule)
+
+ * Makefile.in: Remove $(CPPFLAGS) from the .c.o rule. The user
+ might well use CFLAGS is s/he needs it.
+
+ * Makefile.in: Allow installation of info files from a separate
+ build directory.
+ Reported by Jason Merrill.
+ Reported by David MacKenzie.
+ Reported by Skip Montanaro.
+ Reported by Erez Zadok.
+ Reported by Assar Westerlund.
+
+Sat Dec 19 08:21:34 1992 Francois Pinard (pinard at icule)
+
+ * Release 1.0.3
+ This is still a beta release for the future GNU m4 version 1.1.
+
+ * lib/alloca.c: New, from elsewhere.
+ * lib/Makefile.in: Distribute it. Define and use $(ALLOCA).
+
+ * m4.h: Do not define index/rindex if already defined. If
+ FALSE/TRUE are already defined, do not redefine them, but merely
+ define boolean typedef to int.
+
+ * Makefile.in: Use $(DEFS) while compiling ansi2knr.
+ * ansi2knr.c: Rewrite #ifdef HAVE_STRING_H || STDC_HEADERS,
+ because some C compilers do not like connectives with #ifdef.
+ * m4.h: Define `volatile' only if __GNUC__, instead of once for
+ __GNUC__ and once for __STDC__.
+ * lib/regex.h: Leave const alone, AC_CONST will take care of it.
+
+ * checks/Makefile.in: Use .all_stamp instead of $(CHECKS) for
+ Makefile dependencies. Without it, make keeps destroying and
+ remaking $(CHECKS) in a loop (why?). Distribute .all_stamp.
+
+ * m4.h, m4.c, builtin.c, output.c: Change all divertion/DIVERTION
+ to diversion/DIVERSION, this was a spelling error.
+
+ * m4.c: Declare version[], remove #include "version.h".
+ * version.h: Deleted.
+ * Makefile.in: Remove references to version.h.
+
+ * output.c (shipout_text): Centralize all `#line NUM ["FILE"]'
+ production, by using a simpler and more robust algorithm. This
+ solves the problem of synclines sometimes written in the middle of
+ an output line. Delete sync_line() and output_lines variable.
+ * m4.h: Remove sync_line prototype and output_lines declaration.
+ * input.c (next_char), output.c (shipout_text): Remove references
+ to output_lines.
+ * input.c (push_file, pop_file): Merely put the value -1 in
+ output_current_line instead of calling sync_line, for delaying a
+ single `#line NUM FILE' before next output line. Do not test
+ for sync_output, because this is unnecessary clutter.
+ * output.c (make_divertion, insert_divertion): Idem.
+ * input.c: Rename must_advance_line to start_of_input_line, for
+ consistency.
+
+ * debug.c (trace_header): Select a new debug line format, which
+ better complies with GNU standards for formatting error messages.
+ With option `-dfl', M-x next-error might be used on the output.
+ * m4.c (vmesg): Adjust format of error output to GNU standards.
+ * m4.texinfo: Adjust examples for `make check' to work.
+
+ * m4.h, builtin.c, debug.c, input.c, macro.c, path.c: Use upper
+ case for enum debug_info constants, which were all lower case.
+
+ * builtin.c (m4_regexp, m4_patsubst): Use re_search instead of
+ re_search_2.
+ * lib/regex.[ch]: Use new version from textutils 1.3.6, with some
+ collected patches. I tried a few times using newer regex.[ch], it
+ mysteriously stopped aborting with this one. Insecure feeling...
+ * lib/Makefile.in: Distribute regex.[ch].old, just in case!
+
+Fri Dec 18 11:08:03 1992 Francois Pinard (pinard at icule)
+
+ * m4.c: Change `--no-warnings' to `--silent'.
+ Reported by David MacKenzie.
+
+ * m4.c: Put all M4OPTS code upon IMPLEMENT_M4OPTS control, and
+ leave it off for now. See comment in m4.c for justification.
+ Reported by David MacKenzie.
+
+ * configure.in: Replace AC_USG by AC_HAVE_HEADERS(string.h).
+ * m4.h, ansi2knr.c, lib/regex.h: Replace USG by HAVE_STRING_H.
+
+ * Makefile.in: Add a new `info' goal. Use macro MAKEINFO.
+
+ * Makefile.in: Ensure recursive cleaning is done before local
+ cleaning for all clean goals.
+
+ * builtin.c (ntoa): Ensure the value is always interpreted as a
+ signed quantity, whatever the radix is.
+
+Wed Nov 18 07:57:19 1992 Jim Meyering (meyering@idefix)
+
+ * builtin.c, format.c, input.c: Split long lines.
+ * m4.c: Use typedef macro_definition instead of struct
+ macro_definition.
+ * symtab.c: Use typedef symbol instead of struct symbol.
+
+Tue Nov 17 01:58:40 1992 Francois Pinard (pinard at icule)
+
+ * *.[ch]: Remove all trailing whitespace, in code and comments.
+
+ * configure.in: Find some awk.
+ * Makefile.in: Add $(AWK) to MDEFINES.
+ * checks/Makefile.in: Transmit $(AWK) to get_them.
+ * checks/get_them: Use $AWK instead of gawk. Add a close in the
+ awk script when switching files, because without this, mawk runs
+ out of file descriptors.
+
+Mon Nov 16 20:42:56 1992 Francois Pinard (pinard at icule)
+
+ * Makefile.in (realclean): Delete m4.info*.
+ Reported by Jim Meyering.
+
+ * Makefile.in: Adjust and link with checks/Makefile.
+ * checks/Makefile.in: New.
+ * configure.in: Output checks/Makefile.
+
+ * checks/get_them: Have the dnl header of each test more
+ recognizable by next-error, also use a better message.
+
+Mon Nov 16 07:48:52 1992 Jim Meyering (meyering@idefix)
+
+ * m4.h [__GNUC__]: Use __volatile__ instead of `volatile.'
+ And use that only if __GNUC__ since we're using it's GCC-specific
+ semantics that tell the compiler the associated function doesn't
+ return.
+
+ * builtin.c (substitute): Don't use character as an array index.
+ (dumpdef_cmp): Make formal arguments `const void *' to avoid
+ warnings with gcc -W -Wall on systems with qsort prototype.
+ (m4_errprint): Cast obstack_finish to `char *' to avoid warnings
+ from gcc -W -Wall.
+
+ * eval.c (most functions): Add parentheses to assignments used
+ as truth values go avoid warnings from gcc -Wall.
+
+ * input.c, m4.c, output.c, path.c, symtab.c: Declare static
+ any functions that don't need external scope.
+
+ * builtin.c, debug.c, format.c, m4.c, m4.h, macro.c, symtab.c
+ (many functions and arrays): Declare `const'.
+
+Sun Nov 15 09:42:09 1992 Francois Pinard (pinard at icule)
+
+ * *.[ch]: Rename nil to NULL, using the declaration from <stdio.h>,
+ removing the declaration from m4.h. Also rename false to FALSE
+ and true to TRUE.
+
+ * lib/Makefile.in (Makefile): New goal.
+
+ * Makefile.in, lib/Makefile.in: Add a .c.o rule, so CFLAGS is not
+ so heavily loaded. It gets more easily overridable, calling make.
+ Reported by Jim Meyering.
+
+ * Makefile.in (dist): Get .fname from the current directory name,
+ instead of from version.h. I need updating many files manually,
+ when the version changes, version.h is just one of them.
+
+Sat Nov 14 11:01:20 1992 Francois Pinard (pinard at icule)
+
+ * m4.h: Remove the tag `boolean' on the enum introducing typedef
+ `boolean'. This tag conflicts with <sys/types.h> on SVR4.
+ Reported by Tom McConnell.
+
+Fri Nov 13 00:12:50 1992 Francois Pinard (pinard at icule)
+
+ * m4.texinfo: Correct the examples for 33.divert, 38.divnum,
+ 39.cleardiv, which were describing missing or spurious newlines.
+ Modify examples 52.eval, 53.esyscmd and 54.sysval so the results
+ do not depend on machine word size, `/bin/false' implementation,
+ or `wc' output format. `make check' is more dependable, now.
+
+ * checks/check_them: Summarize the failed tests by listing their
+ name, at end. If none, issue `All checks successful'. Output
+ `Checking' instead of `Input file:'.
+
+ * checks/get_them, checks/check_them: Reindented.
+
+ * Makefile.in (dist): chmod a+r before making the tar file.
+
+Thu Nov 12 14:42:57 1992 Francois Pinard (pinard at icule)
+
+ * builtin.c (m4_dnl): Diagnose any parameter to `dnl'.
+
+ * input.c (next_token): Reinitialize token_buttom just after using
+ it as a watermark with obstack_free. Or else, a future token, big
+ enough for triggering reallocation of the obstack chunk, could
+ void the initialized value of token_buttom, later causing panic in
+ obstack_free. Rename token_buttom to token_bottom everywhere.
+
+ * m4.h: Before declaring errno, first include <errno.h> and
+ ensure that it does not define errno.
+ Reported by Richard Stallman.
+
+Wed Nov 11 17:40:35 1992 Francois Pinard (pinard at icule)
+
+ * builtin.c: Define and use DECLARE macro for builtins.
+
+ * builtin.c (m4_ifelse): Avoid any diagnostic when exactly one
+ argument, this is a common idiom for introducing long comments.
+
+ * builtin.c (m4_ifelse): If 3n + 2 arguments, diagnose missing
+ arguments. The last argument was silently ignored.
+
+ * m4.c (cmd_error): Add a missing semicolon before va_end().
+
+Tue Nov 10 08:57:05 1992 Francois Pinard (pinard at icule)
+
+ * Makefile.in: Now handle protoized sources. Define and use U.
+ Compile and use ansi2knr with old compilers. Update DISTFILES.
+ Add `aclocal.m4' to `configure' dependencies.
+ * ansi2knr.c: New, from Ghostscript distribution.
+ * configure.in: Define U through FP_PROTOTYPES for old compilers.
+ Add AC_ISC_POSIX, AC_CONST, AC_SIZE_T.
+ * aclocal.m4: New, provide FP_PROTOTYPES.
+ * m4.h: Conditionnaly protoized through Args, save for varags.
+ * builtin.c: Protoized. Then:
+ Include <sys/types.h> if size_t is not defined, before "regex.h".
+ (m4_ifelse): Fetch built-in name properly for diagnostic.
+ (m4_dumpdef): Remove wrong (char *) cast calling dump_symbol.
+ (m4_regexp): Add const to `msg' declaration.
+ (m4_patsubst): Add const to `msg' declaration.
+ * debug.c: Protoized, save for varargs.
+ * eval.c: Protoized.
+ * format.c: Protoized.
+ * input.c: Protoized.
+ * m4.c: Protoized, save for varargs. Then:
+ (xfree): Accept void * instead of char *.
+ (xmalloc): Return void * instead of char *.
+ (xrealloc): Accept and return void * instead of char *.
+ * macro.c: Protoized.
+ * output.c: Protoized.
+ * path.c: Protoized. Then cast some (char *) over xmalloc's.
+ * symtab.c: Protoized.
+
+Fri Nov 6 02:05:21 1992 Francois Pinard (pinard at icule)
+
+ * m4.texinfo: Remove directory from diagnostics in 30.include,
+ 51.eval, 56.errprint and 57.m4exit tests.
+
+ * m4.h: Remove declarations for int or void system functions, they
+ cause more conflicting trouble than they make good.
+
+ * configure.in: Avoid configuration header file. Add some tests.
+ * m4.h: Remove #include "config.h".
+ * Makefile.in, lib/Makefile.in: Implement Autoconf interface.
+ Then, rewritten for better compliance with GNU standards.
+
+Thu Nov 5 12:37:13 1992 Francois Pinard (pinard at icule)
+
+ * format.c (format): Avoid syntax error if not HAVE_EFGCVT,
+ because of a misplaced #endif.
+
+ * Many *.[hc] files: Correct intra-line spacing here and there,
+ according to GNU indent 1.6 advice.
+
+ * configure.in: New, using Autoconf 1.2.
+ * m4.h: Reverse NO_MEMORY_H to NEED_MEMORY_H.
+ * Delete old configure.in, configure, etc/configure.in,
+ etc/configure, lib/configure.in, lib/configure and config/*.
+ Reported by Jason Merrill.
+
+ * symtab.c (hash): Change (char) NULL to '\0'.
+ Reported by Jason Merrill.
+
+ * Delete .vers, etc/newdist.sh, etc/newvers.sh and
+ etc/nextvers.sh. Release numbers will be edited `by hand'.
+ * version.h: De-automatize, force value in.
+
+ * m4.c: Changes in order to use a newer getopt.h.
+ Reported by David MacKenzie.
+
+ * checks/: New name for examples/.
+ * checks/get_them: New location for etc/get_examples.
+ * checks/check_them: New location for etc/check_examples.
+ * Makefile.in, checks/get_them, checks/check_them: Adjust.
+ * lib/vfprintf.c: New location for etc/vfprintf.c.
+ * Delete empty etc/.
+ * examples/: New name for test/.
+
+Tue Mar 10 00:29:46 1992 Francois Pinard (pinard at icule)
+
+ * Makefile.in (check): Add m4 as dependency.
+
+ * m4.c: Accept --no-warnings instead of --no_warnings, and
+ --no-gnu-extensions instead of --no_gnu_extensions. Make the
+ usage message more informative.
+ Reported by David MacKenzie.
+
+Mon Mar 9 14:53:40 1992 Francois Pinard (pinard at icule)
+
+ * etc/check_examples: New name for check_examples.sh.
+ * etc/get_examples: New name for get_examples.sh.
+ * Makefile.in, etc/Makefile.in: Use new names.
+
+ * Makefile.in: Transmit $(CC) while making in lib.
+
+ * Many *.[hc] files: GNU indent'ed, with further fine tuning of
+ code disposition by hand.
+
+Sun Mar 8 11:01:55 1992 Francois Pinard (pinard at icule)
+
+ * m4.h: Delete definitions for abort() and exit().
+ Reported by Richard Stallman.
+
+ * config/hmake-unicos, config/s-unicos.h: New files.
+ Reported by Hal Peterson.
+
+ * eval.c (exp_term): Have N^0 return 1.
+ Reported by Michael Fetterman.
+
+ * eval.c, input.c, m4.h: Remove last comma in enums.
+ Reported by Mike Lijewski.
+
+ * Transfer of maintenance duties from Rene' to Franc,ois.
+
+Thu Oct 24 15:18:46 1991 Rene' Seindal (seindal at diku.dk)
+
+ * Release 1.0. Many thanks to those, who provided me with bug
+ reports and feedback.
+
+ * Uses GNU configure, taken from the gdb distribution.
+
+ * Uses GNU getopt(), with long option names.
+
+ * The -Q/+quiet option is added, which suppresses warnings about
+ missing or superflous arguments to built-in macros.
+
+ * Added default options via the M4OPTS environment variable.
+
+ * The built-in format can now be configured to use sprintf as
+ the formatting engine, for systems without [efg]cvt(3).
+
+ * GNU library code is moved to the ./lib subdirectory; other
+ utility files are now in ./etc.
+
+ * Several minor bugs have been fixed.
+
+Fri Jul 26 15:28:42 1991 Rene' Seindal (seindal at diku.dk)
+
+ * Fixed various bugs. Release 0.99, manual 0.09. Many thanks to
+ Francois Pinard and Roland H. Pesch for providing me with reports.
+
+ * The builtins incr and decr are now implemented without use of
+ eval.
+
+ * The builtin indir is added, to allow for indirect macro calls
+ (allows use of "illegal" macro names).
+
+ * The debugging and tracing facilities has been enhanced
+ considerably. See the manual for details.
+
+ * The -tMACRO option is added, marks MACRO for tracing as soon
+ as it is defined.
+
+ * Builtins are traced after renaming iff they were before.
+
+ * Named files can now be undiverted.
+
+ * The -Nnum option can be used to increase the number of
+ divertions available.
+
+ * Calling changecom without arguments now disables all comment
+ handling.
+
+ * The function m4_patsubst() is now consistently declared
+ static.
+
+ * A bug in dnl is fixed.
+
+ * A bug in the multi-character quoting code is fixed.
+
+ * Several typos in the manual has been corrected. More probably
+ persist.
+
+ * The m4.info file is now installed along with the program.
+
+Thu Nov 15 21:51:06 1990 Rene' Seindal (seindal at diku.dk)
+
+ * Updated and enhanced version. Release 0.75, manual 0.07.
+
+ * Implemented search path for include files (-I option and
+ M4PATH envronment variable).
+
+ * Implemented builtin "format" for printf-like formatting.
+
+ * Implemented builtin "regexp" for searching for regular
+ expressions.
+
+ * Implemented builtin "patsubst" for substitution with regular
+ expressions.
+
+ * Implemented builtin "esyscmd", which expands to a shell
+ commands output.
+
+ * Implemented "__file__" and "__line__" for use in error
+ messages.
+
+ * Implemented character ranges in "translit".
+
+ * Implemented control over debugging output.
+
+ * Implemented multi-character quotes.
+
+ * Implemented multi-character comment delimiters.
+
+ * Changed predefined macro "gnu" to "__gnu__".
+
+ * Changed predefined macro "unix" to "__unix__", when the -G
+ option is not used. With -G, "unix" is still defined.
+
+ * Changed "shift", "$@" and "$*" to not insert spaces afters
+ commas.
+
+ * Added program name to error messages.
+
+ * Fixed two missing null bytes bugs.
+
+Mon Jan 22 21:08:52 1990 Rene' Seindal (seindal at diku.dk)
+
+ * Initial beta release. Release 0.50, manual 0.05.
+
+ -----
+
+ Local Variables:
+ coding: utf-8
+ End:
+
+ Copyright (C) 1990-1994, 2000-2001, 2003, 2005-2011 Free Software
+ Foundation, Inc.
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644
index 0000000..6e00ec8
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,131 @@
+# Having a separate GNUmakefile lets me `include' the dynamically
+# generated rules created via cfg.mk (package-local configuration)
+# as well as maint.mk (generic maintainer rules).
+# This makefile is used only if you run GNU Make.
+# It is necessary if you want to build targets usually of interest
+# only to the maintainer.
+
+# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Systems where /bin/sh is not the default shell need this. The $(shell)
+# command below won't work with e.g. stock DOS/Windows shells.
+ifeq ($(wildcard /bin/s[h]),/bin/sh)
+SHELL = /bin/sh
+else
+# will be used only with the next shell-test line, then overwritten
+# by a configured-in value
+SHELL = sh
+endif
+
+# If the user runs GNU make but has not yet run ./configure,
+# give them a diagnostic.
+_have-Makefile := $(shell test -f Makefile && echo yes)
+ifeq ($(_have-Makefile),yes)
+
+# Make tar archive easier to reproduce.
+export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
+
+# Allow the user to add to this in the Makefile.
+ALL_RECURSIVE_TARGETS =
+
+include Makefile
+
+# Some projects override e.g., _autoreconf here.
+-include $(srcdir)/cfg.mk
+include $(srcdir)/maint.mk
+
+# Allow cfg.mk to override these.
+_build-aux ?= build-aux
+_autoreconf ?= autoreconf -v
+
+# Ensure that $(VERSION) is up to date for dist-related targets, but not
+# for others: rerunning autoreconf and recompiling everything isn't cheap.
+_have-git-version-gen := \
+ $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes)
+ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL))
+ _is-dist-target ?= $(filter-out %clean, \
+ $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS)))
+ _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS)))
+ ifneq (,$(_is-dist-target)$(_is-install-target))
+ _curr-ver := $(shell cd $(srcdir) \
+ && $(_build-aux)/git-version-gen \
+ .tarball-version \
+ $(git-version-gen-tag-sed-script))
+ ifneq ($(_curr-ver),$(VERSION))
+ ifeq ($(_curr-ver),UNKNOWN)
+ $(info WARNING: unable to verify if $(VERSION) is the correct version)
+ else
+ ifneq (,$(_is-install-target))
+ # GNU Coding Standards state that 'make install' should not cause
+ # recompilation after 'make all'. But as long as changing the version
+ # string alters config.h, the cost of having 'make all' always have an
+ # up-to-date version is prohibitive. So, as a compromise, we merely
+ # warn when installing a version string that is out of date; the user
+ # should run 'autoreconf' (or something like 'make distcheck') to
+ # fix the version, 'make all' to propagate it, then 'make install'.
+ $(info WARNING: version string $(VERSION) is out of date;)
+ $(info run '$(MAKE) _version' to fix it)
+ else
+ $(info INFO: running autoreconf for new version string: $(_curr-ver))
+GNUmakefile: _version
+ touch GNUmakefile
+ endif
+ endif
+ endif
+ endif
+endif
+
+.PHONY: _version
+_version:
+ cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf)
+ $(MAKE) $(AM_MAKEFLAGS) Makefile
+
+else
+
+.DEFAULT_GOAL := abort-due-to-no-makefile
+srcdir = .
+
+# The package can override .DEFAULT_GOAL to run actions like autoreconf.
+-include ./cfg.mk
+include ./maint.mk
+
+ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
+$(MAKECMDGOALS): abort-due-to-no-makefile
+endif
+
+abort-due-to-no-makefile:
+ @echo There seems to be no Makefile in this directory. 1>&2
+ @echo "You must run ./configure before running \`make'." 1>&2
+ @exit 1
+
+endif
+
+# Tell version 3.79 and up of GNU make to not build goals in this
+# directory in parallel, in case someone tries to build multiple
+# targets, and one of them can cause a recursive target to be invoked.
+
+# Only set this if Automake doesn't provide it.
+AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) \
+ dist distcheck tags ctags
+
+ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS)
+
+ifneq ($(word 2, $(MAKECMDGOALS)), )
+ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), )
+.NOTPARALLEL:
+endif
+endif
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..a1e89e1
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,370 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..c35d129
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,51 @@
+## Makefile.am - template for generating Makefile via Automake
+##
+## Copyright (C) 2000-2001, 2003-2011 Free Software Foundation, Inc.
+##
+## This file is part of GNU M4.
+##
+## GNU M4 is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## GNU M4 is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program. If not, see <http://www.gnu.org/licenses/>.
+##
+## Written by Gary V. Vaughan <gary@gnu.org>
+
+SUBDIRS = . examples lib src doc checks tests
+
+syntax_check_exceptions = \
+ .x-sc_prohibit_tab_based_indentation \
+ .x-update-copyright
+
+EXTRA_DIST = bootstrap c-boxes.el cfg.mk maint.mk \
+ .prev-version .version m4/gnulib-cache.m4 $(syntax_check_exceptions)
+DISTCLEANFILES = stamp-h
+## maintainer-clean should remove as much as possible that ./bootstrap can
+## recreate. In the m4 directory, keep only gnulib-cache.m4.
+MAINTAINERCLEANFILES = INSTALL Makefile.in aclocal.m4 \
+ config-h.in configure depcomp doc/fdl.texi gendocs.sh install-sh \
+ lib/[a-z]* m4/[a-fh-z]* m4/g[a-mo-z]* m4/gnulib-comp.m4 \
+ m4/gnulib-tool.m4 missing stamp-h.in
+
+ACLOCAL_AMFLAGS = -I m4
+## Enough users install GNU M4 as gm4 that we make sure 'make installcheck'
+## will handle that, prior to making a release.
+DISTCHECK_CONFIGURE_FLAGS = --enable-changeword --program-prefix=g \
+ --enable-gcc-warnings --enable-silent-rules --enable-cxx
+
+BUILT_SOURCES = $(top_srcdir)/.version
+$(top_srcdir)/.version:
+ echo $(VERSION) > $@-t && mv $@-t $@
+
+# Arrange so that .tarball-version appears only in the distribution
+# tarball, and never in a checked-out repository.
+dist-hook:
+ echo $(VERSION) > $(distdir)/.tarball-version
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..4214f6f
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,1570 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/checks/Makefile.in \
+ $(top_srcdir)/configure AUTHORS BACKLOG COPYING ChangeLog \
+ INSTALL NEWS THANKS TODO build-aux/compile \
+ build-aux/config.guess build-aux/config.rpath \
+ build-aux/config.sub build-aux/depcomp build-aux/install-sh \
+ build-aux/mdate-sh build-aux/missing build-aux/texinfo.tex
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/ansi-c++.m4 \
+ $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/autobuild.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/c-stack.m4 \
+ $(top_srcdir)/m4/canonicalize.m4 $(top_srcdir)/m4/cloexec.m4 \
+ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+ $(top_srcdir)/m4/closein.m4 $(top_srcdir)/m4/closeout.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
+ $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
+ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
+ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
+ $(top_srcdir)/m4/execute.m4 $(top_srcdir)/m4/exponentd.m4 \
+ $(top_srcdir)/m4/exponentf.m4 $(top_srcdir)/m4/exponentl.m4 \
+ $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/fatal-signal.m4 $(top_srcdir)/m4/fclose.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
+ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fflush.m4 \
+ $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
+ $(top_srcdir)/m4/fopen.m4 $(top_srcdir)/m4/fpending.m4 \
+ $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fpurge.m4 \
+ $(top_srcdir)/m4/freading.m4 $(top_srcdir)/m4/frexp.m4 \
+ $(top_srcdir)/m4/frexpl.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/ftell.m4 $(top_srcdir)/m4/ftello.m4 \
+ $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 \
+ $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/gl_list.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/gnulib-comp.m4 \
+ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isnand.m4 \
+ $(top_srcdir)/m4/isnanf.m4 $(top_srcdir)/m4/isnanl.m4 \
+ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
+ $(top_srcdir)/m4/ldexp.m4 $(top_srcdir)/m4/ldexpl.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
+ $(top_srcdir)/m4/link.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
+ $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localename.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/math_h.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \
+ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nocrash.m4 \
+ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+ $(top_srcdir)/m4/pipe2.m4 $(top_srcdir)/m4/posix_spawn.m4 \
+ $(top_srcdir)/m4/printf-frexp.m4 \
+ $(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/sched_h.m4 \
+ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+ $(top_srcdir)/m4/sig_atomic_t.m4 $(top_srcdir)/m4/sigaction.m4 \
+ $(top_srcdir)/m4/signal_h.m4 \
+ $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/signbit.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/snprintf.m4 \
+ $(top_srcdir)/m4/spawn-pipe.m4 $(top_srcdir)/m4/spawn_h.m4 \
+ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio-safer.m4 \
+ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib-safer.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strchrnul.m4 \
+ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
+ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strsignal.m4 \
+ $(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \
+ $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/symlink.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
+ $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/tmpdir.m4 \
+ $(top_srcdir)/m4/ungetc.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/vasnprintf.m4 \
+ $(top_srcdir)/m4/vasprintf-posix.m4 \
+ $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+ $(top_srcdir)/m4/wait-process.m4 $(top_srcdir)/m4/waitpid.m4 \
+ $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \
+ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \
+ $(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctomb.m4 \
+ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \
+ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
+ $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/config.h
+CONFIG_CLEAN_FILES = checks/Makefile
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d "$(distdir)" \
+ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr "$(distdir)"; }; }
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+pkglibexecdir = @pkglibexecdir@
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CXX_CHOICE = @CXX_CHOICE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+EXEEXT = @EXEEXT@
+FLOAT_H = @FLOAT_H@
+GETOPT_H = @GETOPT_H@
+GLIBC21 = @GLIBC21@
+GNULIB_ACOSL = @GNULIB_ACOSL@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATANL = @GNULIB_ATANL@
+GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
+GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_COSL = @GNULIB_COSL@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
+GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
+GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPL = @GNULIB_FREXPL@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
+GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
+GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
+GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
+GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
+GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
+GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
+GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
+GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGL = @GNULIB_LOGL@
+GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
+GNULIB_MBRLEN = @GNULIB_MBRLEN@
+GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
+GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
+GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
+GNULIB_MBSCHR = @GNULIB_MBSCHR@
+GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
+GNULIB_MBSINIT = @GNULIB_MBSINIT@
+GNULIB_MBSLEN = @GNULIB_MBSLEN@
+GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
+GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
+GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
+GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
+GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
+GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
+GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
+GNULIB_MBSSEP = @GNULIB_MBSSEP@
+GNULIB_MBSSPN = @GNULIB_MBSSPN@
+GNULIB_MBSSTR = @GNULIB_MBSSTR@
+GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
+GNULIB_MEMMEM = @GNULIB_MEMMEM@
+GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
+GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_SPAWN = @GNULIB_POSIX_SPAWN@
+GNULIB_POSIX_SPAWNATTR_DESTROY = @GNULIB_POSIX_SPAWNATTR_DESTROY@
+GNULIB_POSIX_SPAWNATTR_GETFLAGS = @GNULIB_POSIX_SPAWNATTR_GETFLAGS@
+GNULIB_POSIX_SPAWNATTR_GETPGROUP = @GNULIB_POSIX_SPAWNATTR_GETPGROUP@
+GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM@
+GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY@
+GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT@
+GNULIB_POSIX_SPAWNATTR_GETSIGMASK = @GNULIB_POSIX_SPAWNATTR_GETSIGMASK@
+GNULIB_POSIX_SPAWNATTR_INIT = @GNULIB_POSIX_SPAWNATTR_INIT@
+GNULIB_POSIX_SPAWNATTR_SETFLAGS = @GNULIB_POSIX_SPAWNATTR_SETFLAGS@
+GNULIB_POSIX_SPAWNATTR_SETPGROUP = @GNULIB_POSIX_SPAWNATTR_SETPGROUP@
+GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM@
+GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY@
+GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT@
+GNULIB_POSIX_SPAWNATTR_SETSIGMASK = @GNULIB_POSIX_SPAWNATTR_SETSIGMASK@
+GNULIB_POSIX_SPAWNP = @GNULIB_POSIX_SPAWNP@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINL = @GNULIB_SINL@
+GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTL = @GNULIB_SQRTL@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
+GNULIB_STPCPY = @GNULIB_STPCPY@
+GNULIB_STPNCPY = @GNULIB_STPNCPY@
+GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
+GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
+GNULIB_STRDUP = @GNULIB_STRDUP@
+GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
+GNULIB_STRNDUP = @GNULIB_STRNDUP@
+GNULIB_STRNLEN = @GNULIB_STRNLEN@
+GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
+GNULIB_STRSEP = @GNULIB_STRSEP@
+GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
+GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANL = @GNULIB_TANL@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WAITPID = @GNULIB_WAITPID@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
+GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
+GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
+GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
+GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
+GNULIB_WCTRANS = @GNULIB_WCTRANS@
+GNULIB_WCTYPE = @GNULIB_WCTYPE@
+GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
+GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
+GREP = @GREP@
+HAVE_ACOSL = @HAVE_ACOSL@
+HAVE_ASINL = @HAVE_ASINL@
+HAVE_ATANL = @HAVE_ATANL@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COSL = @HAVE_COSL@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
+HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
+HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
+HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOGL = @HAVE_LOGL@
+HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
+HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
+HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
+HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SIGACTION = @HAVE_SIGACTION@
+HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
+HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
+HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
+HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINL = @HAVE_SINL@
+HAVE_SLEEP = @HAVE_SLEEP@
+HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTL = @HAVE_SQRTL@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANL = @HAVE_TANL@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WCTRANS_T = @HAVE_WCTRANS_T@
+HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
+HAVE_WCTYPE_T = @HAVE_WCTYPE_T@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
+HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LDFLAGS = @LDFLAGS@
+LIBCSTACK = @LIBCSTACK@
+LIBINTL = @LIBINTL@
+LIBM4_LIBDEPS = @LIBM4_LIBDEPS@
+LIBM4_LTLIBDEPS = @LIBM4_LTLIBDEPS@
+LIBMULTITHREAD = @LIBMULTITHREAD@
+LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
+LIBS = @LIBS@
+LIBSIGSEGV = @LIBSIGSEGV@
+LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
+LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
+LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
+LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LTLIBCSTACK = @LTLIBCSTACK@
+LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
+LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBSIGSEGV = @LTLIBSIGSEGV@
+LTLIBTHREAD = @LTLIBTHREAD@
+M4_LIBOBJS = @M4_LIBOBJS@
+M4_LTLIBOBJS = @M4_LTLIBOBJS@
+M4tests_LIBOBJS = @M4tests_LIBOBJS@
+M4tests_LTLIBOBJS = @M4tests_LTLIBOBJS@
+M4tests_WITNESS = @M4tests_WITNESS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
+NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
+NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
+NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
+NEXT_SPAWN_H = @NEXT_SPAWN_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPL = @REPLACE_FREXPL@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NAN = @REPLACE_NAN@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_SPAWN = @REPLACE_POSIX_SPAWN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
+SCHED_H = @SCHED_H@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+abs_aux_dir = @abs_aux_dir@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . examples lib src doc checks tests
+syntax_check_exceptions = \
+ .x-sc_prohibit_tab_based_indentation \
+ .x-update-copyright
+
+EXTRA_DIST = bootstrap c-boxes.el cfg.mk maint.mk \
+ .prev-version .version m4/gnulib-cache.m4 $(syntax_check_exceptions)
+
+DISTCLEANFILES = stamp-h
+MAINTAINERCLEANFILES = INSTALL Makefile.in aclocal.m4 \
+ config-h.in configure depcomp doc/fdl.texi gendocs.sh install-sh \
+ lib/[a-z]* m4/[a-fh-z]* m4/g[a-mo-z]* m4/gnulib-comp.m4 \
+ m4/gnulib-tool.m4 missing stamp-h.in
+
+ACLOCAL_AMFLAGS = -I m4
+DISTCHECK_CONFIGURE_FLAGS = --enable-changeword --program-prefix=g \
+ --enable-gcc-warnings --enable-silent-rules --enable-cxx
+
+BUILT_SOURCES = $(top_srcdir)/.version
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+checks/Makefile: $(top_builddir)/config.status $(top_srcdir)/checks/Makefile.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @$(am__cd) '$(distuninstallcheck_dir)' \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
+ ctags-recursive install install-am install-strip \
+ tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am am--refresh check check-am clean clean-generic \
+ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+ dist-hook dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
+ distcheck distclean distclean-generic distclean-tags \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+
+$(top_srcdir)/.version:
+ echo $(VERSION) > $@-t && mv $@-t $@
+
+# Arrange so that .tarball-version appears only in the distribution
+# tarball, and never in a checked-out repository.
+dist-hook:
+ echo $(VERSION) > $(distdir)/.tarball-version
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..ed2f114
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,712 @@
+GNU M4 NEWS - User visible changes.
+
+* Noteworthy changes in release 1.4.16 (2011-03-01) [stable]
+
+** Fix regressions in the `index' builtin. On glibc platforms, this
+ avoids false positives from a strstr bug in glibc 2.9 through 2.12;
+ on many other platforms, it fixes two separate regressions, a false
+ positive introduced in 1.4.11 and a false negative in 1.4.15.
+
+** A number of portability improvements inherited from gnulib.
+
+
+* Noteworthy changes in release 1.4.15 (2010-08-31) [stable]
+
+** Fix regression introduced in 1.4.9b where the `format' builtin could
+ crash on an invalid format string.
+
+** Fix compilation against newer glibc, and on AIX 7.1BETA.
+
+** A number of portability improvements inherited from gnulib.
+
+
+* Noteworthy changes in Version 1.4.14 (2010-02-24) [stable]
+ Released by Eric Blake, based on git version 1.4.13.*
+
+** Fix regression introduced in 1.4.12 where executing with stdout closed
+ could crash m4 on exit on some platforms.
+
+** Fix regressions introduced in 1.4.13 in the `esyscmd' builtin, where
+ closed file descriptors could interfere with child execution, and where
+ a child status of 127 made m4 print a spurious message to stderr.
+
+** Fix a security hole in 'make dist', present since at least M4 1.4, that
+ could affect anybody attempting to redistribute modified sources (see
+ Automake CVE-2009-4029).
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.13 (2009-04-01) [stable]
+ Released by Eric Blake, based on git version 1.4.12.*
+
+** The manual is now distributed under the terms of FDL 1.3.
+
+** The `divert' and `undivert' builtins have been made more efficient
+ when using temporary files for large diversions.
+
+** The `translit' builtin has been made more efficient when the second
+ argument is short.
+
+** The input engine has been optimized for faster processing.
+
+** The command line option `--debugfile', introduced in 1.4.7, now
+ treats its argument as optional, in order to allow setting the debug
+ output back to stderr when used without an argument; and order is now
+ significant with respect to command line files. You must therefore use
+ `m4 --debugfile=trace file', not `m4 file --debugfile trace'. This
+ change does not affect the deprecated `-o'/`--error-output' option.
+
+** The `syscmd' and `esyscmd' builtins can be configured to use an
+ alternate shell, via the new `configure' option `--with-syscmd-shell'.
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.12 (2008-10-10) [stable]
+ Released by Eric Blake, based on git version 1.4.11.*
+
+** Fix regression introduced in 1.4.4b where using `traceon' could delete
+ a macro. This was most noticeable with `traceon(`traceon')', but
+ would also happen in cases such as `foo(traceon(`foo'))'.
+
+** Fix regression introduced in 1.4.7 where `m4 -N9' died with an assertion
+ failure.
+
+** Fix regression introduced in 1.4.11 where `defn' died with an assertion
+ failure on a traced but undefined macro.
+
+** New `-g'/`--gnu' command-line option overrides `-G'/`--traditional'.
+ For now, the environment variable POSIXLY_CORRECT has no effect on M4
+ behavior; but a future release of M4 will behave as though --traditional
+ is implied if POSIXLY_CORRECT is set (this future change is necessary,
+ because in the current release, there is no way to disable GNU
+ extensions that conflict with POSIX without the use of a non-POSIX
+ command-line argument). Clients of M4 that want to use GNU extensions,
+ even when POSIXLY_CORRECT is set, should start using the -g command-line
+ argument, even though it is currently a no-op if -G did not appear
+ earlier in the command line, so that the client will not break in the
+ face of an upgraded m4 and a POSIXLY_CORRECT execution environment.
+
+** The `-L'/`--nesting-limit' command-line option now defaults to 0 for
+ unlimited on platforms that can detect and deal with stack overflow. On
+ systems that lack alternate stack support, such as Cygwin, and on
+ systems that do not obey the POSIX semantics for distinguishing stack
+ overflow from other exceptions, such as Linux, you can optionally
+ install the libsigsegv library (version 2.6 or newer recommended) to
+ enhance m4's ability to accurately report stack overflow:
+ http://www.gnu.org/software/libsigsegv/
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.11 (2008-04-02) [stable]
+ Released by Eric Blake, based on git version 1.4.10a
+
+** Security fixes for the -F option, for bugs present since -F was
+ introduced in 1.3: Avoid core dump with 'm4 -F file -t undefined', and
+ avoid arbitrary code execution with certain file names.
+
+** Fix regression introduced in 1.4.9b in the `divert' builtin when more
+ than 512 kibibytes are saved in diversions on platforms like NetBSD
+ or darwin where fopen(name,"a+") seeks to the end of the file.
+
+** The output of the `maketemp' and `mkstemp' builtins is now quoted if a
+ file was created. This is a minor security fix, because it was possible
+ (although rather unlikely) that an unquoted string could match an
+ existing macro name, such that use of the `mkstemp' output would trigger
+ inadvertent macro expansion and operate on the wrong file name.
+
+** Enhance the `defn' builtin to support concatenation of multiple text
+ arguments, as required by POSIX. However, at this time, it is not
+ possible to concatenate a builtin macro with anything else; a warning is
+ now issued if this is attempted, although a future version of M4 may
+ lift this restriction to match other implementations.
+
+** Enhance the `format' builtin to parse all C99 floating point numbers,
+ even on platforms where strtod(3) is buggy, although the replacement
+ function does have the known issue of rounding errors when parsing
+ some decimal floating point values. This fixes testsuite failures
+ introduced in 1.4.9b.
+
+** Enhance the `index' builtin to guarantee linear behavior, in spite of
+ the surprisingly large number of systems with a brain-dead quadratic
+ strstr(3).
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.10 (2007-07-09) [stable]
+ Released by Eric Blake, based on CVS version 1.4.9c
+
+** Upgrade from GPL version 2 to GPL version 3 or later.
+
+** A number of portability improvements inherited from gnulib.
+
+** Avoid undefined behavior introduced in 1.4.9b in the `format' builtin
+ when handling %c. However, this area of code has never been documented,
+ and currently does not match the POSIX behavior of printf(1), so it may
+ have further changes in the next version.
+
+* Noteworthy changes in Version 1.4.9b (2007-05-29) [beta]
+ Released by Eric Blake, based on CVS version 1.4.9a
+
+** Fix regression introduced in 1.4.9 in the `eval' builtin when performing
+ division.
+
+** Fix regression introduced in 1.4.8 in the `-F' option that made it
+ impossible to freeze more than 512 kibibytes of diverted text.
+
+** The synclines option `-s' no longer generates sync lines in the middle of
+ multiline comments or quoted strings.
+
+** Work around a number of corner-case POSIX compliance bugs in various
+ broken stdio libraries. In particular, the `syscmd' builtin behaves
+ more predictably when stdin is seekable.
+
+** The `format' builtin now understands formats such as %a, %A, and %'hhd,
+ and works around a number of platform printf bugs. Furthermore, the
+ sequence format(%*.*d,-1,-1,1) no longer outputs random data. However,
+ some non-compliant platforms such as mingw still have known bugs in
+ strtod that may cause testsuite failures.
+
+** The testsuite is improved to also run gnulib portability tests for the
+ features that M4 imports from gnulib.
+
+* Noteworthy changes in Version 1.4.9 (2007-03-23) [stable]
+ Released by Eric Blake, based on CVS version 1.4.8c
+
+** Minor documentation and portability cleanups.
+
+* Noteworthy changes in Version 1.4.8b (2007-02-24) [beta]
+ Released by Eric Blake, based on CVS version 1.4.8a
+
+** Fix a regression introduced in 1.4.8 that made m4 unable to process
+ files larger than 2GiB on some platforms.
+
+** Fix a regression introduced in 1.4.8 that made m4 dump core when
+ invoked as 'm4 -- file'.
+
+** The `eval' builtin now follows C precedence rules. Additionally, the
+ short-circuit operators correctly short-circuit division by zero. The
+ previously undocumented alias of '=' meaning '==' in eval now triggers a
+ deprecation warning, so that a future version of M4 can implement a form
+ of variable assignment as an extension.
+
+** The `include' builtin now affects exit status on failure, as required by
+ POSIX. Use `sinclude' if you need a successful exit status.
+
+** The `-E'/`--fatal-warnings' command-line option now has two levels. When
+ specified only once, warnings affect exit status, but execution
+ continues, so that you can see all warnings instead of fixing them one
+ at a time. To achieve 1.4.8 behavior, where the first warning
+ immediately exits, specify -E twice on the command line.
+
+** A new `--warn-macro-sequence' command-line option allows detection of
+ sequences in `define' and `pushdef' definitions that match an optional
+ regular expression. The default regular expression is
+ `\$\({[^}]*}\|[0-9][0-9]+\)', corresponding to the sequences that might
+ not behave correctly when upgrading to the eventual M4 2.0. By default,
+ M4 2.0 will follow the POSIX requirement that a macro definition
+ containing `$11' must expand to the first argument concatenated with 1,
+ rather than the eleventh argument; and will take advantage of the POSIX
+ wording that allows implementations to treat `${11}' as the eleventh
+ argument instead of literal text. Be aware that Autoconf 2.61 will not
+ work with this option enabled with the default regular expression; but
+ Autoconf 2.62 will be compatible with this option.
+
+** Improved portability to platforms such as BSD/OS and AIX.
+
+* Noteworthy changes in Version 1.4.8 (2006-11-20) [stable]
+ Released by Eric Blake, based on CVS version 1.4.7a
+
+** The `divert' macro and `-H'/`--hashsize' command line option no longer
+ cause a core dump when handed extra large values. Also, `divert' now
+ uses memory proportional to the number of diversions in use, rather than
+ to the maximum diversion number encountered, so that large diversion
+ numbers are less likely to exhaust system memory; and is no longer
+ limited by the maximum number of file descriptors.
+
+** The `--help' and `--version' command line options now consistently
+ override all earlier options. For example, `m4 --debugfile=trace
+ --help' now no longer accidentally creates an empty file `trace'.
+
+** The `-L'/`--nesting-limit' command line option can now be set to 0
+ to remove the default limit of 1024. However, it is still possible that
+ heavily nested input can cause abrupt program termination due to stack
+ overflow.
+
+** Problems encountered when writing to standard error, such as with the
+ `errprint' macro, now always cause a non-zero exit status.
+
+** Warnings and errors issued during macro expansion are now consistently
+ reported at the line where the macro name was detected, rather than
+ where the close parenthesis resides. Text wrapped by `m4wrap' now
+ remembers the location that was in effect when m4wrap was invoked,
+ rather than changing to line 0 and the empty string for a file. The
+ macros `__line__' and `__file__' now work correctly even as the last
+ token in an included file.
+
+** The `builtin' and `indir' macros now transparently handle builtin
+ tokens generated by `defn'.
+
+** When diversions created by the `divert' macro collect enough text that
+ M4 must use temporary files, the environment variable $TMPDIR is now
+ consulted, and a better effort is made to clean up those files in the
+ event of a fatal signal.
+
+** The `mkstemp' builtin is added with the same GNU semantics as `maketemp',
+ based on the recommendation of POSIX to deprecate the POSIX semantics of
+ `maketemp' as inherently insecure. In GNU mode (no -G supplied on the
+ command line), `maketemp' silently retains the secure GNU semantics, but
+ a future release of M4 will change this to emit a warning. In
+ traditional mode (m4 -G), `maketemp' now uses the POSIX-mandated
+ insecure semantics, and issues a warning that you should convert your
+ script to use `mkstemp' instead. Additionally, `mkstemp' and `maketemp'
+ are now well-defined even if the template argument does not end in six
+ `X' characters.
+
+** The manual has been improved, including a new section on a composite
+ macro `foreach'.
+
+** The `changecom' and `changequote' macros now treat an empty second
+ argument the same as if it were missing, rather than using the empty
+ string and making it impossible to end a comment or quote.
+
+** The `translit' macro now operates in linear instead of quadratic time,
+ and is now eight-bit clean.
+
+** The `-D', `-U', `-s', and `-t' command line options now take effect
+ after any files encountered earlier on the command line, rather than up
+ front, as is done in traditional implementations and required by POSIX.
+
+* Noteworthy changes in Version 1.4.7 (2006-09-25) [stable]
+ Released by Eric Blake, based on CVS version 1.4.6a
+
+** Fix regression from 1.4.5 in handling a file that ends in a macro
+ expansion without arguments instead of a newline.
+
+** The define and pushdef macros now warn when the first argument is not
+ a string, rather than silently doing nothing.
+
+** Standard input can now be read more than once, as in 'm4 - file -', and
+ is not closed until all wrapped text is handled. This makes a
+ difference when stdin is not a regular file, and also fixes bugs when
+ using the syscmd or esyscmd macros from wrapped text.
+
+** When standard input is a seekable file, the m4exit, syscmd, and esyscmd
+ macros now restore the current position to the next unread byte rather
+ than discarding an arbitrary amount of buffered data.
+
+** SysV command-line compatibility is no longer a goal of GNU M4; the
+ focus will be instead on POSIX compatibility. This release continues to
+ support previous usage, but adds warnings in areas which will allow a
+ future version of GNU M4 to use its own extensions without being tied to
+ the SysV command line interface.
+
+** The no-op compatibility command line options -B, -N, -S, -T, and
+ --diversions may be withdrawn or assigned new meanings in future
+ releases, so they now issue a warning if used.
+
+** A new command line option -i replaces the compatibility -e as the
+ short spelling of --interactive, for consistency with other GNU tools; a
+ warning is issued if the old spelling is used, and it may be assigned
+ new meaning in future releases.
+
+** A new command line option --debugfile replaces the options -o and
+ --error-output as the preferred spelling. The old options were
+ misleading in their names and inconsistent with other GNU tools; they
+ are still silently accepted, but no longer documented in --help, and may
+ be assigned new meanings in future releases.
+
+* Noteworthy changes in Version 1.4.6 (2006-08-25) [stable]
+ Released by Eric Blake, based on CVS version 1.4.5a
+
+** Fix buffer overruns in regexp and patsubst macros when handed a trailing
+ backslash in the replacement text, or when handling \n substitutions
+ beyond the number of \(\) groups.
+
+** Fix memory leak in regexp, patsubst, and changeword macros.
+
+** The format macro now understands %F, %g, and %G.
+
+** When loading frozen files, m4 now exits with status 63 if version
+ mismatch is detected.
+
+** Fix bugs that occurred when invoked with stdout or stderr closed,
+ and detect write failures to stdout or to the target of the debugfile
+ macro. In particular, the syscmd and esyscmd macros can no longer
+ interfere with the debug stream or diversions.
+
+** The m4exit macro now converts values outside the range 0-255 to 1.
+
+** It is now an error if a command-line input file ends in the middle of a
+ comment, matching the behavior of mid-string and mid-argument
+ collection.
+
+** The dnl macro now warns if end of file is encountered instead of a
+ newline.
+
+** The error message when end of file is encountered now uses the file and
+ line where the dangling construct started, rather than `NONE:0:'.
+
+** The debugmode and __file__ macros, and the -s/--synclines option, now
+ show what directory a file was found in when the -I/--include option or
+ M4PATH variable had an effect.
+
+** The changequote and changecom macros now work with 8-bit characters, and
+ quotes and comments that begin with `(' are properly recognized
+ following a word.
+
+** The new macro __program__ is added, which allows the input file to issue
+ an error message that resembles messages from m4. Warning and error
+ messages have been reformatted to comply with GNU Coding Standards.
+
+** The errprint, m4wrap, and shift macros are now recognized only with
+ arguments.
+
+** The index, substr, translit, regexp, and patsubst macros now produce
+ output when given only one argument, but still warn about a missing
+ second argument.
+
+** The patsubst macro now reliably finds zero-length matches at the end
+ of a string.
+
+* Noteworthy changes in Version 1.4.5 (2006-07-15) [stable]
+ Released by Eric Blake, based on CVS version 1.4.4c
+
+** Fix sysval on BeOS, OS/2, and other systems that store exit status
+ in the low-order byte. Additionally, on Unix platforms, if syscmd was
+ terminated by a signal, sysval now displays the signal number shifted
+ left by eight bits, to match traditional m4 implementations.
+
+** The maketemp macro is no longer subject to platform limitations (such as
+ 26 or 32 max files from a given template).
+
+** Frozen files now require that the first directive be V (version), to
+ better diagnose version mismatch. Additionally, if the F directive
+ (builtin function) names an unknown builtin that existed in the m4 that
+ froze the file but not in the current m4 (for example, changeword), the
+ warning is deferred until an attempt is made to actually use the
+ builtin. This allows downgrading from beta m4-1.4o to stable m4-1.4.5
+ without breaking autoconf.
+
+** The format and indir macros are now recognized only with arguments.
+
+** The eval macro no longer crashes on x86 architectures when dividing the
+ minimum integer by -1.
+
+** On systems with ecvt and fcvt, format no longer truncates trailing
+ zeroes on integers printed with %.0f. On systems without these
+ functions, format is no longer subject to a buffer overflow that
+ permitted arbitrary code execution.
+
+** On native Windows builds, the macro __windows__ is provided instead of
+ __unix__. Likewise, on OS/2 builds, the macro __os2__ is provided.
+ This allows input files to determine when syscmd might behave
+ differently.
+
+** Fix bug in 1.4.3 patch to use \n line-endings that did not work for
+ cygwin.
+
+** When given the empty string or 0, undivert is now documented as a no-op
+ rather than closing stdout, warning about a non-existent file, or trying
+ to read a directory as a file.
+
+** Many documentation improvements. Also, the manual is now distributed
+ under FDL 1.2, rather than a stricter verbatim-only license.
+
+** Raise the -L (--nesting-limit) command line option limit from 250 to
+ 1024.
+
+** The decr, incr, divert, m4exit, and substr macros treat an empty number
+ as 0, issue a warning, and expand as normal; rather than issuing an
+ error and expanding to the empty string.
+
+** The eval macro now treats an empty radix argument as 10, handles radix 1,
+ and treats the width argument as number of digits excluding the sign,
+ for compatibility with other m4 implementations.
+
+** The ifdef, divert, m4exit, substr, and translit macros now correctly
+ ignore extra arguments.
+
+** The popdef and undefine macros now correctly accept multiple arguments.
+
+** Although changeword is on its last leg, if enabled, it now reverts to the
+ default (faster) regexp when passed the empty string.
+
+** The regexp and substr macros now warn and ignore a trailing backslash in
+ the replacement, and warn on \n for n larger than the number of
+ sub-expressions in the regexp.
+
+* Noteworthy changes in Version 1.4.4b (2006-06-17) [beta]
+ Released by Eric Blake, based on CVS version 1.4.4a
+
+** Fix a recursive push_string crashing bug, which affected changequote of
+ three or more characters on some compilers.
+
+** Use automake to fix build portability issues.
+
+** Fix a recursive m4wrap crashing bug.
+
+** Fix a 1 in 2**32 hash crashing bug.
+
+** Tracing a macro by name is now persistent, even if the macro is
+ subsequently undefined or redefined. The traceon and traceoff macros no
+ longer warn about undefined symbols. This solves a crash when using
+ indir on an undefined macro traced with the -t option, as well as an
+ incorrect result of ifdef. Furthermore, tracing is no longer
+ transferred with builtins, solving the bug of "m4 -tm4_eval" failing to
+ give trace output on the input
+ "define(`m4_eval',defn(`eval'))m4_eval(1)".
+
+** Fix a crash when a macro is undefined while collecting its arguments, by
+ always using the definition that was in effect before argument
+ collection. This behavior matches the C pre-processor, and means that
+ the sequence "define(`f',`1')f(define(`f',`2'))f" is now documented to
+ result in "12", rather than the previously undocumented "22".
+
+** Update the regex engine to fix several bugs.
+
+** Fix a potential crash on machines where char is signed.
+
+* Noteworthy changes in Version 1.4.4 (Oct 2005) [stable]
+ Released by Gary V. Vaughan
+
+** ./configure --infodir=/usr/share/info now works correctly.
+
+** When any file named on the command line is missing exit with status 1.
+
+* Noteworthy changes in Version 1.4.3 (Mar 2005) [stable]
+ Released by Gary V. Vaughan
+
+** DESTDIR installs now work correctly.
+
+** Don't segfault with uncompilable regexps to changeword().
+
+** Always use \n line-endings for frozen files (fixes a Windows bug).
+
+** Portability fix for systems lacking mkstemp(3).
+
+** Approximately 20% speed up in the common case of usage with autoconf.
+
+** Supported on QNX 6.3.
+
+* Noteworthy changes in Version 1.4.2 (Aug 2004) [stable]
+ Released by Paul Eggert
+
+** No user visible changes; portability bug fixes only.
+
+* Noteworthy changes in Version 1.4.1 (Jun 2004) [stable]
+ Released by Paul Eggert
+
+** maketemp now creates an empty file with the given name, instead of merely
+ returning the name of a nonexistent file. This closes a security hole.
+
+* Noteworthy changes in Version 1.4 (Oct 1994) [stable]
+ Released by Franc,ois Pinard
+
+** (No user visible changes)
+
+
+Version 1.3 - September 1994, by Franc,ois Pinard
+
+* Diversions are created as needed. Option `-N' is still accepted, but
+otherwise ignored. Users should use only negative diversion numbers,
+instead of high positive numbers, for diverting to nowhere.
+
+* Diversions should also work faster. No temporary files will be needed
+at all if all diversions taken altogether do not use more than 512K.
+
+* Frozen state files may be produced with the `--freeze-state' (-F)
+option and later brought back through the `--reload-state' (-R) option.
+
+Version 1.2 - July 1994, by Franc,ois Pinard
+
+* In patsubst(STRING, REGEXP, REPLACEMENT), \& in REPLACEMENT has been
+changed to represent this part of STRING matched by the whole REGEXP,
+instead of the whole STRING as before. \0 does the same, but emits a
+diagnostic saying it will disappear in some subsequent release.
+
+* eval(EXPR) emits a diagnostic if EXPR has suffixed crumb. The same for
+other numeric conversions in incr(), decr(), divert(), etc.
+
+* `--fatal-warnings' (-E) stops execution at first warning.
+
+* `--nesting-limit=LEVEL' (-L LEVEL) sets a limit to macro nesting.
+It is initially fixed at 250.
+
+* `--word-regexp=REGEXP' (-W REGEXP) modifies macro name syntax, like
+does the new `changeword(REGEXP)' macro. This feature is experimental,
+tell me your opinions about it. You do need --enable-changeword at
+configure time to get these things. Do *not* depend on them yet.
+
+* Trace output format is scannable by GNU Emacs' next-error function.
+
+* Stack overflow is detected and diagnosed on some capable systems.
+
+* Various bugs have been corrected, m4 should be more portable. See the
+ChangeLog for details.
+
+Version 1.1 - November 1993, by Franc,ois Pinard
+
+Changes which might affect existing GNU m4 scripts:
+
+* Option `-V' has been removed, use `--version' instead. `--version'
+writes on standard output instead of standard error, and inhibits any
+script execution.
+
+* `--no-gnu-extensions' has been renamed `--traditional'.
+
+* In `eval', `^' used to indicate exponentiation, use `**' instead.
+
+* The automatic undiversion which takes place at end of all input is
+forced into the main output stream.
+
+Changes which are unlikely to affect existing scripts:
+
+* `--help' prints an usage summary on standard output. Script execution
+is then inhibited.
+
+* `--prefix-builtins' (-P) prefixes all builtin macros by `m4_'.
+
+* Most builtin macros for which arguments are mandatory, called without
+any arguments, are no more recognized as builtin macros: they are
+consequently copied verbatim to the output stream.
+
+* `define' and `pushdef' are usable with only one argument, they give
+this argument an empty definition.
+
+* `eval' new operators for binary representation handling: `^' for
+exclusive-or, `~' for the bitwise negation, `<<' and `>>' for shifts.
+
+* `eval' recognizes the notation 0bDIGITS for binary numbers and the
+notation 0rRADIX:DIGITS for numbers in any radix from 1 to 36.
+
+Version 1.0.3 - December 1992, by Franc,ois Pinard
+
+Changes for the user:
+
+* `dnl' outputs a diagnostic if immediately followed by `('. Usually,
+`dnl' is followed by newline or whitespace.
+
+* `ifelse' accepts without complaining the common idiom of having only
+one argument. This is useful for introducing long comments.
+
+* `eval' always expresses values as signed, whatever the radix.
+
+* M4OPTS environment variable is no longer obeyed.
+
+* `--no-warnings' option is renamed `--silent'.
+
+* Debug lines use a new format more compatible with GNU standards.
+
+* Various bugs have been corrected. See the ChangeLog for details.
+
+Changes for the installer:
+
+* GNU m4 now uses an Autoconf-generated configure script, and should be
+more easily portable in many ways. (Cray is not supported yet).
+
+* `make check' has been made more portable, expect no errors.
+
+Changes for the programmer:
+
+* Sources have been fully reindented to comply with GNU standards, and
+cleaned up in many ways.
+
+* Sources have been protoized. Non-ANSI compilers are automatically
+detected, then sources are unprotoized on the fly before compilation.
+
+* GNU m4 uses newer versions of obstack, regex, getopt, etc.
+
+Version 1.0 - October 1991, by Rene' Seindal
+
+* Uses GNU configure, taken from the gdb distribution.
+
+* Uses GNU getopt(), with long option names.
+
+* The -Q/+quiet option is added, which suppresses warnings about missing
+or superflous arguments to built-in macros.
+
+* Added default options via the M4OPTS environment variable.
+
+* Several minor bugs have been fixed.
+
+Version 0.99 - July 1991, by Rene' Seindal
+
+* The builtins `incr' and `decr' are now implemented without use of
+`eval'.
+
+* The builtin `indir' is added, to allow for indirect macro calls
+(allows use of "illegal" macro names).
+
+* The debugging and tracing facilities has been enhanced considerably.
+See the manual for details.
+
+* The -tMACRO option is added, marks MACRO for tracing as soon as it
+is defined.
+
+* Builtins are traced after renaming iff they were before.
+
+* Named files can now be undiverted.
+
+* The -Nnum option can be used to increase the number of divertions
+available.
+
+* Calling changecom without arguments now disables all comment handling.
+
+* A bug in `dnl' is fixed.
+
+* A bug in the multi-character quoting code is fixed.
+
+* Several typos in the manual has been corrected. More probably persist.
+
+Version 0.75 - November 1990, by Rene' Seindal
+
+* Implemented search path for include files (-I option and M4PATH
+environment variable).
+
+* Implemented builtin `format' for printf-like formatting.
+
+* Implemented builtin `regexp' for searching for regular expressions.
+
+* Implemented builtin `patsubst' for substitution with regular
+expressions.
+
+* Implemented builtin `esyscmd', which expands to a shell commands output.
+
+* Implemented `__file__' and `__line__' for use in error messages.
+
+* Implemented character ranges in `translit'.
+
+* Implemented control over debugging output.
+
+* Implemented multi-character quotes.
+
+* Implemented multi-character comment delimiters.
+
+* Changed predefined macro `gnu' to `__gnu__'.
+
+* Changed predefined macro `unix' to `__unix__', when the -G option is
+not used. With -G, `unix' is still defined.
+
+* Added program name to error messages.
+
+* Fixed two missing null bytes bugs.
+
+Version 0.50 - January 1990, by Rene' Seindal
+
+* Initial beta release.
+
+========================================================================
+
+Local Variables:
+mode: outline
+fill-column: 75
+End:
+
+Copyright (C) 1992-1994, 2004-2011 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/README b/README
new file mode 100644
index 0000000..e9e2804
--- /dev/null
+++ b/README
@@ -0,0 +1,76 @@
+GNU `m4' is an implementation of the traditional Unix macro
+processor. It is mostly SVR4 compatible, although it has some
+extensions (for example, handling more than 9 positional parameters
+to macros). `m4' also has built-in functions for including files,
+running shell commands, doing arithmetic, etc. Autoconf needs GNU
+`m4' for generating `configure' scripts, but not for running them.
+
+GNU `m4' was originally written by Rene' Seindal, from Denmark.
+This release is considered stable.
+
+If GNU `m4' is meant to serve GNU `autoconf', beware that `m4'
+should be fully installed *prior to* configuring `autoconf' itself.
+Likewise, if you intend on hacking GNU `m4' from git, the bootstrap
+process requires that you first install a released copy of GNU `m4'.
+
+If you are just trying to build `m4' from a released tarball, you
+should not normally need to run `./bootstrap' or `autoreconf'; just go
+ahead and start with `./configure'. If you are trying to build `m4'
+from git, more information can be found in the version-control-only
+file HACKING.
+
+M4 has an optional dependency on the libsigsegv library:
+ http://www.gnu.org/software/libsigsegv/
+If the library has not been installed in the standard location, you
+can use `./configure --with-libsigsegv-prefix=/path/to/dir', to make
+the build of `m4' use /path/to/dir/include/sigsegv.h as appropriate.
+The use of this library is optional; the only difference in having it
+available is that it increases the number of platforms where `m4' can
+correctly distinguish stack overflow from an internal bug. It is
+recommended that you use version 2.9 or newer.
+
+In the subdirectory `examples' you will find various m4 files, ranging
+from trivial test files to rather advanced macros. If you intend to
+use m4 seriously, you might find useful material down there.
+
+See file `BACKLOG' for a summary of pending mail and articles.
+See file `COPYING' for copying conditions. Note that M4 is distributed
+under the GNU Public License version 3 or later. Some files in the
+distribution are copied from the gnulib project, and hence bear the
+designation version 2 or later because they are unmodified from gnulib;
+however, if you modify these files using M4 rather than gnulib as the
+source, you must update the license to be GPLv3 or later.
+See file `INSTALL' for compilation and installation instructions.
+See file `NEWS' for a list of major changes in the current release.
+See file `THANKS' for a list of contributors.
+
+By default, the `syscmd' and `esyscmd' macros try to use the first
+instance of `sh' found by `command -p getconf PATH' at configure time,
+with a default of `/bin/sh'. If that default is inappropriate, you
+can use `./configure --with-syscmd-shell=location' to specify the
+shell to use.
+
+By using `./configure --enable-changeword', you get an experimental
+feature which allows for changing the syntax of what is a "word" in
+`m4'. This feature will not be present in m4 2.0, but will be
+replaced by other new features which provide similar capability, so
+do not count on it.
+
+Send bug reports to `bug-m4@gnu.org'. A bug report is an adequate
+description of the problem: your input, what you expected, what you got,
+and why this is wrong. Diffs are welcome, but they only describe a
+solution, from which the problem might be uneasy to infer.
+
+For any copyright year range specified as YYYY-ZZZZ in this package
+note that the range specifies every single year in that closed interval.
+
+========================================================================
+
+Copyright (C) 2000, 2005-2011 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/THANKS b/THANKS
new file mode 100644
index 0000000..082e7e8
--- /dev/null
+++ b/THANKS
@@ -0,0 +1,147 @@
+GNU M4 THANKS file
+
+GNU M4 was originally written by René Seindal. Many people
+further contributed to GNU M4 by reporting problems, suggesting
+various improvements or submitting actual code. Here is a list of
+these people. Help me keep it complete and exempt of errors.
+
+Akiko Matsushita matusita@sra.co.jp
+Akim Demaille demaille@inf.enst.fr
+Alan Magnuson awm@osc.edu
+Albert Chin m4-discuss@mlists.thewrittenword.com
+Alexander Lehmann alex@hal.rhein-main.de
+Amos Shapira amoss@cs.huji.ac.il
+Andreas Büning andreas.buening@nexgo.de
+Andreas Gustafsson gson@niksula.hut.fi
+Andreas Schultz aschultz@warp10.net
+Andreas Schwab schwab@ls5.informatik.uni-dortmund.de
+Assar Westerlund assar@nada.kth.se
+Ben A. Mesander ben@piglet.cr.usgs.gov
+Bengt Mertensson bengt@mathematik.uni-bremen.de
+Bernhard Daeubler daeb@physik.uni-ulm.de
+Bjorn R. Bjornsson brb@falcon.is
+Bob Badour bob@badour.net
+Bob Proulx bob@proulx.com
+Brendan Kehoe brendan@cygnus.com
+Bruno Haible bruno@clisp.org
+Carlo Teubner carlo.teubner@gmail.com
+Cesar Strauss cestrauss@gmail.com
+Chris McGuire chris@wso.net
+Chris Penev xpenev@gmail.com
+Damian Menscher menscher@uiuc.edu
+Dan Jacobson jidanni@jidanni.org
+David J. MacKenzie djm@uunet.uu.net
+David Perlin davep@nanosoft.com
+Elbert Pol elbert.pol@gmail.com
+Elias Benali elptr@users.sourceforge.net
+Erez Zadok ezk@cs.columbia.edu
+Eric Allman eric@cs.berkeley.edu
+Eric Backus ericb@lsid.hp.com
+Eric Blake ebb9@byu.net
+Fernando Carrijo fcarrijo1980@gmail.com
+François Pinard pinard@iro.umontreal.ca
+Frank Schwidom schwidom@impernet.de
+Gary V. Vaughan gary@gnu.org
+Geoff Russell grussell@guest.adelaide.edu.au
+Giovanni Toffetti toffettg@lu.unisi.ch
+Giuseppe Scrivano gscrivano@gnu.org
+Greg A. Woods woods@web.apc.org
+Hal Peterson hrp@pecan.cray.com
+Hoang Uong hoang@ornews.intel.com
+Ian Taylor ian@cygnus.com
+Ilya N. Golubev gin@mo.msk.ru
+Jason Merrill jason@jarthur.claremont.edu
+Jay Krell jay.krell@cornell.edu
+Jean-Charles Longuet jclonguet@free.fr
+Jens Rehsack rehsack@googlemail.com
+Jim Avera jima@netcom.com
+Jim Kingdom kingdon@cygnus.com
+Jim Meyering meyering@acm.org
+Joel E. Denny jdenny@ces.clemson.edu
+Joel Sherrill jsherril@uahcs2.cs.uah.edu
+John Brzustowski jbrzusto@fastmail.fm
+John David Anglin dave@hiauly1.hia.nrc.ca
+John Gatewood Ham zappaman@buraphalinux.org
+Josef T. Burger bolo@bolo.com
+Joseph E. Sacco jsacco@ssl.com
+Karl Berry karl@freefriends.org
+Karl Nelson nelson85@llnl.gov
+Karl Vogel vogelke@c-17igp.wpafb.af.mil
+Kaveh R. Ghazi ghazi@noc.rutgers.edu
+Konrad Schwarz konrad.schwarz@siemens.com
+Kristine Lund lund@lpnaxp.in2p3.fr
+Krste Asanovic krste@icsi.berkeley.edu
+Lawson Chan Lawson.Chan@tdsecurities.com
+Marion Hakanson hakanson@cse.ogi.edu
+Mark Seiden mis@seiden.com
+Martin Koeppe mkoeppe@gmx.de
+Matt Kraai kraai@debian.org
+Matthew Woehlke mw_triad@users.sourceforge.net
+Matthias Rabe rabe@mathematik.uni-bielefeld.de
+Michael Fetterman mafetter@ichips.intel.com
+Michael L. Welcome welcome@bigbird.llnl.gov
+Mike Dupont jamesmikedupont@googlemail.com
+Mike Frysinger vapier@gentoo.org
+Mike Lijewski lijewski@theory.tc.cornell.edu
+Mike R. mroberge@aol.com
+Mike Stump mikestump@comcast.net
+Mikhail Teterin Mikhail.Teterin@murex.com
+Nelson H. F. Beebe beebe@math.utah.edu
+Nick S. Kanakakorn skanan@otl.scu.edu
+Nicolas Lichtmaier nick@technisys.com.ar
+Nicolas Pioch pioch@inf.enst.fr
+Noah Friedman friedman@gnu.org
+Noah Misch noah@cs.caltech.edu
+Paolo Bonzini bonzini@gnu.org
+Paul Eggert eggert@cs.ucla.edu
+Pete Chown pete.chown@dale.dircon.co.uk
+Pierre Gaumond gaumondp@ere.umontreal.ca
+Pierre Mathieu mathieu@geod.emr.ca
+Rainer Tammer tammer@tammer.net
+Ralf Wildenhues Ralf.Wildenhues@gmx.de
+René Seindal seindal@diku.dk
+Richard A Nelson cowboy@vnet.ibm.com
+Richard Stallman rms@gnu.org
+Robert Bernstein rocky@panix.com
+Robert Bihlmeyer robbe@orcus.priv.at
+Roland H. Pesch roland@wrs.com
+Roland McGrath roland@gnu.org
+Ronny Peine RonnyPeine@gmx.de
+Sami Liedes sliedes@cc.hut.fi
+Santiago Vila sanvila@debian.org
+Scott Bartram deneb!scottb
+Scott McCreary scottmc2@gmail.com
+Sergey Poznyakoff gray@gnu.org.ua
+Simon Leinen simon@lia.di.epfl.ch
+Skip Montanaro skip@automatrix.com
+Stepan Kasal kasal@ucw.cz
+Stephen Perkins perkins@cps.msu.edu
+Steve Williamson willy@uinpla.npl.uiuc.edu
+Steven Augart saugart@yahoo.com
+Thomas Klausner tk@giga.or.at
+Thorsten Ohl ohl@physics.harvard.edu
+Todd Rinaldo toddr@cpanel.net
+Tom G. Christensen tgc@jupiterrise.com
+Tom McConnell tmcconne@sedona.intel.com
+Tom Quinn trq@dionysos.thphys.ox.ac.uk
+Tom Tromey tromey@cns.caltech.edu
+Ulrich Drepper drepper@gnu.org
+Vern Paxson vern@ee.lbl.gov
+Vincent Lonngren Vincent.lonngren.759@student.lu.se
+Vivek P. Singhal singhal@cs.utexas.edu
+Walter Wong wcw+@cmu.edu
+
+========================================================================
+
+Local Variables:
+coding: utf-8
+End:
+
+Copyright (C) 2000, 2006-2011 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..935fcdc
--- /dev/null
+++ b/TODO
@@ -0,0 +1,47 @@
+TODO file for GNU m4
+
+Tell <bug-m4@gnu.org> if you feel like volunteering for any
+of these ideas, listed more or less in decreasing order of priority.
+
+* Features or problems
+ - Fix format() builtin to handle %c more like printf(1) in the shell
+ http://lists.gnu.org/archive/html/bug-m4/2007-05/msg00047.html
+ Also, gnulib needs help to overcome mingw bugs related to format().
+ - Update documentation from accumulated mail about it
+ - Study synclines at the very beginning of each diverted sequence
+ - Make eval work on bignums - the 32 bits limit is artificial
+ From Krste Asanovic <krste@icsi.berkeley.edu>, 1993-03-20
+
+* Optimization and clean up
+ - Check for memory leaks and uninitialized reads
+ From Vern Paxson <vern@horse.ee.lbl.gov> on 1993-12-06
+ - Profile GNU m4 and speed it up
+ From David J. MacKenzie <djm@eng.umd.edu>, 1993-01-20
+
+ GNU m4 should be sped up by a factor of three for competing
+ with other versions (I think that the lexer is not agressive
+ enough and too often return single characters; obstacks might
+ be a little abused, too).
+ - Have NULs go really undisturbed through GNU m4
+ See `dumpdef' and debugging section, which abuses %s
+ From Thorsten Ohl <ohl@chico.harvard.edu>, 1992-12-21
+
+ path.c (add_include_directory): Why the '\0' terminator?
+
+ GNU m4 is lousy regarding NULs in streams (this would require
+ maintaining the string lengths, and avoiding strlen, strcpy,
+ etc.).
+
+Local Variables:
+mode: outline
+outline-regexp: " *[-+*.] \\| "
+End:
+
+Copyright (C) 2000, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..3d6d011
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,25 @@
+# Local additions to Autoconf macros.
+# Copyright (C) 1992, 1994, 2004, 2006, 2008-2011 Free Software
+# Foundation, Inc.
+# Francois Pinard <pinard@iro.umontreal.ca>, 1992.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check if --with-dmalloc was given.
+
+AC_DEFUN([M4_WITH_DMALLOC],
+[AC_MSG_CHECKING([if malloc debugging is wanted])
+AC_ARG_WITH([dmalloc],
+[AS_HELP_STRING([--with-dmalloc],
+ [use dmalloc, as in dmalloc.tar.gz from
+ @/ftp.antaire.com:antaire/src/dmalloc.])],
+[if test "$withval" = yes; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([WITH_DMALLOC], [1], [Define to 1 if malloc debugging is enabled])
+ LIBS="$LIBS -ldmalloc"
+ LDFLAGS="$LDFLAGS -g"
+else
+ AC_MSG_RESULT([no])
+fi], [AC_MSG_RESULT([no])])])
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..ebc7f97
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1640 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.66],,
+[m4_warning([this file was generated for autoconf 2.66.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# po.m4 serial 17 (gettext-0.18)
+dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.50])
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+ AC_REQUIRE([AM_NLS])dnl
+
+ dnl Release version of the gettext macros. This is used to ensure that
+ dnl the gettext macros and po/Makefile.in.in are in sync.
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
+
+ dnl Perform the following tests also if --disable-nls has been given,
+ dnl because they are needed for "make dist" to work.
+
+ dnl Search for GNU msgfmt in the PATH.
+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+ dnl The second test excludes FreeBSD msgfmt.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
+
+ dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([GMSGFMT_015])
+
+ dnl Search for GNU xgettext 0.12 or newer in the PATH.
+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+ dnl The second test excludes FreeBSD xgettext.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+
+ dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([XGETTEXT_015])
+
+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+ dnl Installation directories.
+ dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+ dnl have to define it here, so that it can be used in po/Makefile.
+ test -n "$localedir" || localedir='${datadir}/locale'
+ AC_SUBST([localedir])
+
+ dnl Support for AM_XGETTEXT_OPTION.
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+ AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
+ AC_CONFIG_COMMANDS([po-directories], [[
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done]],
+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake < 1.5.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+ ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+ # When this code is run, in config.status, two variables have already been
+ # set:
+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+ # - LINGUAS is the value of the environment variable LINGUAS at configure
+ # time.
+
+changequote(,)dnl
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ # Find a way to echo strings without interpreting backslash.
+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='echo'
+ else
+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='printf %s\n'
+ else
+ echo_func () {
+ cat <<EOT
+$*
+EOT
+ }
+ gt_echo='echo_func'
+ fi
+ fi
+
+ # A sed script that extracts the value of VARIABLE from a Makefile.
+ sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[ ]*VARIABLE[ ]*=/{
+ # Seen the first line of the variable definition.
+ s/^[ ]*VARIABLE[ ]*=//
+ ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+ # Set POTFILES to the value of the Makefile variable POTFILES.
+ sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+ # Compute POTFILES_DEPS as
+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+ POTFILES_DEPS=
+ for file in $POTFILES; do
+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+ done
+ POMAKEFILEDEPS=""
+
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+ sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+ fi
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ # Compute PROPERTIESFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+ # Compute CLASSFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+ # Compute QMFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+ # Compute MSGFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+ # Compute RESOURCESDLLFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ PROPERTIESFILES=
+ CLASSFILES=
+ QMFILES=
+ MSGFILES=
+ RESOURCESDLLFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+ QMFILES="$QMFILES $srcdirpre$lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ JAVACATALOGS=
+ QTCATALOGS=
+ TCLCATALOGS=
+ CSHARPCATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+ QTCATALOGS="$QTCATALOGS $lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ fi
+
+ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if test -n "$POMAKEFILEDEPS"; then
+ cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+ fi
+ mv "$ac_file.tmp" "$ac_file"
+])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+ XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+ AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/