├── .prev-version ├── .tarball-version ├── .version ├── .x-sc_prohibit_tab_based_indentation ├── .x-update-copyright ├── AUTHORS ├── BACKLOG ├── COPYING ├── ChangeLog ├── ChangeLog-2014 ├── GNUmakefile ├── INSTALL ├── Makefile.am ├── Makefile.in ├── Makefile.maint ├── NEWS ├── README ├── THANKS ├── TODO ├── acconfig.h ├── acinclude.m4 ├── aclocal.m4 ├── bootstrap ├── build-aux ├── announce-gen ├── ar-lib ├── arg-nonnull.h ├── c++defs.h ├── compile ├── config.guess ├── config.rpath ├── config.sub ├── depcomp ├── do-release-commit-and-tag ├── gendocs.sh ├── git-version-gen ├── gitlog-to-changelog ├── gnu-web-doc-update ├── gnupload ├── install-sh ├── link-warning.h ├── mdate-sh ├── missing ├── snippet │ ├── _Noreturn.h │ ├── arg-nonnull.h │ ├── c++defs.h │ ├── unused-parameter.h │ └── warn-on-use.h ├── test-driver ├── texinfo.tex ├── update-copyright ├── useless-if-before-free ├── vc-list-files └── warn-on-use.h ├── c-boxes.el ├── cfg.mk ├── checks ├── 001.comments ├── 001.preprocess ├── 002.command_li ├── 002.debugging_ ├── 002.inhibiting ├── 002.inhibiting_ ├── 002.input_proc ├── 003.command_li ├── 003.comments ├── 003.inhibiting ├── 003.inhibiting_ ├── 003.input_proc ├── 004.command_li ├── 004.comments ├── 004.inhibiting ├── 004.inhibiting_ ├── 004.input_proc ├── 005.command_li ├── 005.comments ├── 005.inhibiting ├── 005.input_proc ├── 005.macro_argu ├── 005.macro_argum ├── 006.command_li ├── 006.comments ├── 006.define ├── 006.inhibiting ├── 006.input_proc ├── 006.macro_argu ├── 007.command_li ├── 007.define ├── 007.inhibiting ├── 007.input_proc ├── 007.macro_argu ├── 008.comments ├── 008.define ├── 008.inhibiting ├── 008.input_proc ├── 008.macro_argu ├── 009.arguments ├── 009.comments ├── 009.define ├── 009.inhibiting ├── 009.macro_argu ├── 01.define ├── 010.arguments ├── 010.define ├── 010.inhibiting ├── 010.input_proc ├── 010.macro_argu ├── 011.arguments ├── 011.define ├── 011.inhibiting ├── 011.input_proc ├── 011.macro_argu ├── 012.arguments ├── 012.define ├── 012.inhibiting ├── 012.macro_argu ├── 013.arguments ├── 013.inhibiting ├── 013.macro_argu ├── 013.pseudo_argu ├── 013.quoting_ar ├── 014.arguments ├── 014.define ├── 014.inhibiting ├── 014.macro_argu ├── 014.pseudo_arg ├── 014.pseudo_argu ├── 015.arguments ├── 015.define ├── 015.inhibiting ├── 015.macro_argu ├── 015.pseudo_arg ├── 015.pseudo_argu ├── 016.arguments ├── 016.define ├── 016.inhibiting ├── 016.macro_argu ├── 016.pseudo_arg ├── 016.pseudo_argu ├── 017.arguments ├── 017.inhibiting ├── 017.macro_argu ├── 017.pseudo_arg ├── 017.pseudo_argu ├── 018.arguments ├── 018.inhibiting ├── 018.macro_argu ├── 018.pseudo_arg ├── 018.pseudo_argu ├── 018.quoting_ar ├── 019.arguments ├── 019.inhibiting ├── 019.macro_argu ├── 019.macro_expa ├── 019.pseudo_arg ├── 019.quoting_ar ├── 019.undefine ├── 02.arguments ├── 020.arguments ├── 020.define ├── 020.macro_argu ├── 020.macro_expa ├── 020.pseudo_arg ├── 020.undefine ├── 021.arguments ├── 021.define ├── 021.defn ├── 021.macro_argu ├── 021.macro_expa ├── 021.pseudo_arg ├── 021.quoting_ar ├── 021.undefine ├── 022.define ├── 022.defn ├── 022.macro_argu ├── 022.macro_expa ├── 022.pseudo_arg ├── 022.quoting_ar ├── 023.arguments ├── 023.define ├── 023.defn ├── 023.macro_argu ├── 023.macro_expa ├── 023.pseudo_arg ├── 023.undefine ├── 024.arguments ├── 024.define ├── 024.defn ├── 024.macro_argu ├── 024.macro_expa ├── 024.pseudo_arg ├── 024.undefine ├── 025.arguments ├── 025.define ├── 025.defn ├── 025.pseudo_arg ├── 025.pushdef ├── 025.quoting_ar ├── 025.undefine ├── 026.arguments ├── 026.define ├── 026.defn ├── 026.macro_expa ├── 026.pseudo_arg ├── 026.pushdef ├── 027.arguments ├── 027.define ├── 027.defn ├── 027.indir ├── 027.macro_expa ├── 027.pseudo_arg ├── 027.pushdef ├── 028.arguments ├── 028.builtin ├── 028.define ├── 028.defn ├── 028.indir ├── 028.pseudo_arg ├── 029.arguments ├── 029.builtin ├── 029.define ├── 029.defn ├── 029.pseudo_arg ├── 03.arguments ├── 030.arguments ├── 030.builtin ├── 030.define ├── 030.defn ├── 030.pseudo_arg ├── 030.pushdef ├── 030.undefine ├── 031.arguments ├── 031.builtin ├── 031.ifdef ├── 031.pseudo_arg ├── 031.pushdef ├── 031.undefine ├── 032.arguments ├── 032.defn ├── 032.ifdef ├── 032.ifelse ├── 032.indir ├── 032.pseudo_arg ├── 032.pushdef ├── 033.arguments ├── 033.defn ├── 033.ifelse ├── 033.indir ├── 033.pseudo_arg ├── 034.arguments ├── 034.builtin ├── 034.defn ├── 034.ifelse ├── 034.indir ├── 034.pseudo_arg ├── 035.arguments ├── 035.builtin ├── 035.defn ├── 035.ifelse ├── 035.indir ├── 035.pseudo_arg ├── 036.arguments ├── 036.builtin ├── 036.defn ├── 036.ifdef ├── 036.ifelse ├── 036.loops ├── 036.pseudo_arg ├── 036.undefine ├── 037.builtin ├── 037.ifelse ├── 037.loops ├── 037.pseudo_arg ├── 037.pushdef ├── 037.undefine ├── 038.defn ├── 038.ifdef ├── 038.ifelse ├── 038.loops ├── 038.pseudo_arg ├── 038.pushdef ├── 039.defn ├── 039.ifelse ├── 039.indir ├── 039.loops ├── 039.pseudo_arg ├── 04.arguments ├── 040.defn ├── 040.ifelse ├── 040.indir ├── 040.loops ├── 040.pseudo_arg ├── 040.undefine ├── 041.defn ├── 041.dumpdef ├── 041.ifelse ├── 041.indir ├── 041.loops ├── 041.pseudo_arg ├── 041.undefine ├── 042.builtin ├── 042.defn ├── 042.dumpdef ├── 042.ifelse ├── 042.loops ├── 042.pseudo_arg ├── 042.undefine ├── 043.builtin ├── 043.defn ├── 043.dumpdef ├── 043.loops ├── 043.pseudo_arg ├── 043.pushdef ├── 043.shift ├── 043.trace ├── 043.undefine ├── 044.defn ├── 044.ifdef ├── 044.loops ├── 044.pseudo_arg ├── 044.pushdef ├── 044.shift ├── 044.trace ├── 044.undefine ├── 045.defn ├── 045.ifelse ├── 045.indir ├── 045.loops ├── 045.pseudo_arg ├── 045.shift ├── 045.trace ├── 046.debug_leve ├── 046.defn ├── 046.dumpdef ├── 046.ifelse ├── 046.indir ├── 046.shift ├── 046.trace ├── 046.undefine ├── 047.debug_level ├── 047.debug_outp ├── 047.defn ├── 047.dumpdef ├── 047.forloop ├── 047.ifelse ├── 047.indir ├── 047.undefine ├── 048.builtin ├── 048.debug_outpu ├── 048.defn ├── 048.dnl ├── 048.forloop ├── 048.ifelse ├── 048.trace ├── 049.builtin ├── 049.defn ├── 049.dnl ├── 049.forloop ├── 049.pushdef ├── 049.shift ├── 049.trace ├── 05.arguments ├── 050.builtin ├── 050.defn ├── 050.dnl ├── 050.foreach ├── 050.pushdef ├── 050.shift ├── 050.trace ├── 051.changequot ├── 051.changequote ├── 051.debug_leve ├── 051.defn ├── 051.foreach ├── 051.ifdef ├── 051.indir ├── 051.pushdef ├── 051.shift ├── 052.changequot ├── 052.changequote ├── 052.debug_outp ├── 052.defn ├── 052.foreach ├── 052.ifelse ├── 052.indir ├── 052.pushdef ├── 052.shift ├── 053.changequot ├── 053.changequote ├── 053.defn ├── 053.dnl ├── 053.foreach ├── 053.ifelse ├── 053.indir ├── 053.pushdef ├── 053.shift ├── 054.builtin ├── 054.changecom ├── 054.changequot ├── 054.defn ├── 054.dnl ├── 054.foreach ├── 054.forloop ├── 054.ifelse ├── 054.indir ├── 055.builtin ├── 055.changecom ├── 055.changequot ├── 055.dnl ├── 055.dumpdef ├── 055.forloop ├── 055.ifelse ├── 055.indir ├── 055.pushdef ├── 056.builtin ├── 056.changequot ├── 056.changeword ├── 056.dumpdef ├── 056.forloop ├── 056.indir ├── 056.pushdef ├── 056.shift ├── 057.builtin ├── 057.changequot ├── 057.changeword ├── 057.foreach ├── 057.indir ├── 057.shift ├── 057.trace ├── 058.builtin ├── 058.changequot ├── 058.changeword ├── 058.foreach ├── 058.indir ├── 058.shift ├── 058.trace ├── 059.builtin ├── 059.changecom ├── 059.changequot ├── 059.changeword ├── 059.foreach ├── 059.ifdef ├── 059.indir ├── 059.shift ├── 059.trace ├── 06.pseudo_argu ├── 060.builtin ├── 060.changecom ├── 060.changequot ├── 060.debug_leve ├── 060.foreach ├── 060.ifelse ├── 060.m4wrap ├── 060.shift ├── 061.builtin ├── 061.changecom ├── 061.changequot ├── 061.debug_outp ├── 061.foreach ├── 061.forloop ├── 061.ifdef ├── 061.ifelse ├── 061.m4wrap ├── 062.builtin ├── 062.changecom ├── 062.changequot ├── 062.dnl ├── 062.dumpdef ├── 062.forloop ├── 062.ifdef ├── 062.ifelse ├── 062.include ├── 063.builtin ├── 063.changecom ├── 063.changequot ├── 063.dnl ├── 063.dumpdef ├── 063.forloop ├── 063.ifelse ├── 063.include ├── 064.builtin ├── 064.changecom ├── 064.dnl ├── 064.foreach ├── 064.ifelse ├── 064.include ├── 064.trace ├── 065.changecom ├── 065.changequot ├── 065.changeword ├── 065.divert ├── 065.foreach ├── 065.ifdef ├── 065.ifelse ├── 065.shift ├── 065.trace ├── 066.changecom ├── 066.changequot ├── 066.changeword ├── 066.divert ├── 066.foreach ├── 066.ifelse ├── 066.shift ├── 066.trace ├── 067.changecom ├── 067.changequot ├── 067.changeword ├── 067.debug_leve ├── 067.divert ├── 067.foreach ├── 067.ifelse ├── 067.shift ├── 068.changecom ├── 068.changequot ├── 068.changeword ├── 068.debug_outp ├── 068.foreach ├── 068.ifelse ├── 068.shift ├── 068.undivert ├── 069.changecom ├── 069.changequot ├── 069.dnl ├── 069.dumpdef ├── 069.ifelse ├── 069.m4wrap ├── 069.shift ├── 069.undivert ├── 07.pseudo_argu ├── 070.changequot ├── 070.changeword ├── 070.dnl ├── 070.dumpdef ├── 070.ifelse ├── 070.m4wrap ├── 070.shift ├── 070.undivert ├── 071.changequot ├── 071.changeword ├── 071.dnl ├── 071.m4wrap ├── 071.shift ├── 071.trace ├── 071.undivert ├── 072.changequot ├── 072.changeword ├── 072.m4wrap ├── 072.shift ├── 072.trace ├── 072.undivert ├── 073.changecom ├── 073.changequot ├── 073.changeword ├── 073.divnum ├── 073.forloop ├── 073.include ├── 073.shift ├── 073.trace ├── 074.changecom ├── 074.changequot ├── 074.changeword ├── 074.cleardiv ├── 074.forloop ├── 074.include ├── 074.shift ├── 074.trace ├── 075.changecom ├── 075.changequot ├── 075.cleardiv ├── 075.debug_leve ├── 075.forloop ├── 075.include ├── 075.m4wrap ├── 075.shift ├── 076.changecom ├── 076.changequot ├── 076.debug_outp ├── 076.divert ├── 076.foreach ├── 076.forloop ├── 076.len ├── 076.m4wrap ├── 076.shift ├── 077.changecom ├── 077.changequot ├── 077.divert ├── 077.dnl ├── 077.foreach ├── 077.forloop ├── 077.index_macro ├── 077.m4wrap ├── 077.shift ├── 078.changecom ├── 078.changequot ├── 078.divert ├── 078.dnl ├── 078.foreach ├── 078.forloop ├── 078.m4wrap ├── 078.regexp ├── 078.shift ├── 079.changequot ├── 079.changeword ├── 079.divert ├── 079.dnl ├── 079.foreach ├── 079.forloop ├── 079.include ├── 079.regexp ├── 08.pseudo_argu ├── 080.changecom ├── 080.changequot ├── 080.changeword ├── 080.foreach ├── 080.forloop ├── 080.include ├── 080.substr ├── 080.undivert ├── 081.changecom ├── 081.changequot ├── 081.changeword ├── 081.foreach ├── 081.forloop ├── 081.include ├── 081.translit ├── 081.undivert ├── 082.changecom ├── 082.changequot ├── 082.changeword ├── 082.divert ├── 082.dumpdef ├── 082.foreach ├── 082.patsubst ├── 082.undivert ├── 083.changecom ├── 083.changequot ├── 083.changeword ├── 083.divert ├── 083.dumpdef ├── 083.foreach ├── 083.patsubst ├── 083.undivert ├── 084.changecom ├── 084.changequot ├── 084.changeword ├── 084.divert ├── 084.foreach ├── 084.patsubst ├── 084.trace ├── 084.undivert ├── 085.changecom ├── 085.changequot ├── 085.divert ├── 085.divnum ├── 085.dumpdef ├── 085.foreach ├── 085.format ├── 085.m4wrap ├── 085.stacks ├── 085.trace ├── 086.changequot ├── 086.changeword ├── 086.cleardiv ├── 086.dumpdef ├── 086.foreach ├── 086.format ├── 086.m4wrap ├── 086.stacks ├── 086.trace ├── 086.undivert ├── 087.changequot ├── 087.changeword ├── 087.cleardiv ├── 087.compositio ├── 087.foreach ├── 087.incr ├── 087.m4wrap ├── 087.trace ├── 087.undivert ├── 088.changecom ├── 088.changeword ├── 088.compositio ├── 088.debug_leve ├── 088.eval ├── 088.len ├── 088.m4wrap ├── 088.stacks ├── 088.trace ├── 088.undivert ├── 089.changecom ├── 089.changeword ├── 089.compositio ├── 089.debug_outp ├── 089.eval ├── 089.include ├── 089.index_macr ├── 089.stacks ├── 089.trace ├── 089.undivert ├── 09.pseudo_argu ├── 090.changecom ├── 090.changeword ├── 090.compositio ├── 090.dnl ├── 090.eval ├── 090.include ├── 090.index_macr ├── 090.trace ├── 090.undivert ├── 091.changecom ├── 091.changeword ├── 091.compositio ├── 091.divnum ├── 091.dnl ├── 091.dumpdef ├── 091.include ├── 091.platform_ma ├── 091.regexp ├── 091.trace ├── 092.changecom ├── 092.cleardiv ├── 092.compositio ├── 092.debug_leve ├── 092.diversions ├── 092.dnl ├── 092.dumpdef ├── 092.m4wrap ├── 092.platform_ma ├── 092.regexp ├── 093.changecom ├── 093.changequot ├── 093.cleardiv ├── 093.compositio ├── 093.debug_leve ├── 093.diversions ├── 093.m4wrap ├── 093.regexp ├── 093.syscmd ├── 093.trace ├── 094.changequot ├── 094.changeword ├── 094.debug_leve ├── 094.divert ├── 094.dumpdef ├── 094.esyscmd ├── 094.len ├── 094.m4wrap ├── 094.substr ├── 094.trace ├── 095.changequot ├── 095.changeword ├── 095.debug_outp ├── 095.divert ├── 095.dumpdef ├── 095.index_macr ├── 095.m4wrap ├── 095.substr ├── 095.sysval ├── 095.trace ├── 096.changequot ├── 096.changeword ├── 096.divert ├── 096.dnl ├── 096.include ├── 096.index_macr ├── 096.sysval ├── 096.trace ├── 096.translit ├── 097.changequot ├── 097.changeword ├── 097.divert ├── 097.dnl ├── 097.include ├── 097.maketemp ├── 097.regexp ├── 097.trace ├── 097.translit ├── 098.changequot ├── 098.changeword ├── 098.debug_leve ├── 098.divert ├── 098.dnl ├── 098.errprint ├── 098.include ├── 098.patsubst ├── 098.regexp ├── 098.trace ├── 099.changequot ├── 099.changeword ├── 099.debug_leve ├── 099.diversions ├── 099.errprint ├── 099.patsubst ├── 099.regexp ├── 099.trace ├── 099.undivert ├── 10.pseudo_argu ├── 100.changequot ├── 100.debug_leve ├── 100.diversions ├── 100.m4exit ├── 100.m4wrap ├── 100.patsubst ├── 100.substr ├── 100.trace ├── 100.undivert ├── 101.changequot ├── 101.debug_leve ├── 101.debug_outp ├── 101.divert ├── 101.m4exit ├── 101.m4wrap ├── 101.patsubst ├── 101.substr ├── 101.undivert ├── 102.changequot ├── 102.debug_leve ├── 102.divert ├── 102.dnl ├── 102.extensions ├── 102.format ├── 102.m4wrap ├── 102.translit ├── 102.undivert ├── 103.changecom ├── 103.changequot ├── 103.debug_leve ├── 103.divert ├── 103.dnl ├── 103.format ├── 103.incompatibi ├── 103.m4wrap ├── 103.translit ├── 103.undivert ├── 104.answers ├── 104.changecom ├── 104.changequot ├── 104.debug_outp ├── 104.divert ├── 104.divnum ├── 104.dnl ├── 104.include ├── 104.incr ├── 104.patsubst ├── 105.changecom ├── 105.changequot ├── 105.cleardiver ├── 105.divert ├── 105.dnl ├── 105.eval ├── 105.include ├── 105.patsubst ├── 106.changecom ├── 106.changequot ├── 106.cleardiver ├── 106.dnl ├── 106.eval ├── 106.include ├── 106.patsubst ├── 106.undivert ├── 107.changecom ├── 107.changequot ├── 107.diversions ├── 107.dnl ├── 107.eval ├── 107.len ├── 107.patsubst ├── 107.undivert ├── 108.changecom ├── 108.changequot ├── 108.diversions ├── 108.format ├── 108.index_macr ├── 108.platform_m ├── 108.undivert ├── 109.changequot ├── 109.changeword ├── 109.divert ├── 109.format ├── 109.index_macr ├── 109.platform_m ├── 109.undivert ├── 11.undefine ├── 110.changecom ├── 110.changequot ├── 110.changeword ├── 110.divert ├── 110.incr ├── 110.regexp ├── 110.syscmd ├── 110.undivert ├── 111.changecom ├── 111.changequot ├── 111.changeword ├── 111.divert ├── 111.divnum ├── 111.esyscmd ├── 111.eval ├── 111.regexp ├── 112.changecom ├── 112.changequot ├── 112.changeword ├── 112.cleardiver ├── 112.divert ├── 112.eval ├── 112.regexp ├── 112.sysval ├── 113.changecom ├── 113.changequot ├── 113.changeword ├── 113.cleardiver ├── 113.divert ├── 113.eval ├── 113.substr ├── 113.sysval ├── 114.changecom ├── 114.changequot ├── 114.changeword ├── 114.len ├── 114.maketemp ├── 114.platform_m ├── 114.substr ├── 114.undivert ├── 115.changecom ├── 115.changequot ├── 115.errprint ├── 115.index_macr ├── 115.m4wrap ├── 115.platform_m ├── 115.translit ├── 115.undivert ├── 116.changecom ├── 116.changequot ├── 116.changeword ├── 116.index_macr ├── 116.location ├── 116.m4wrap ├── 116.syscmd ├── 116.translit ├── 116.undivert ├── 117.changecom ├── 117.changequot ├── 117.changeword ├── 117.location ├── 117.m4wrap ├── 117.regexp ├── 117.syscmd ├── 117.translit ├── 117.undivert ├── 118.changecom ├── 118.changequot ├── 118.changeword ├── 118.esyscmd ├── 118.m4exit ├── 118.m4wrap ├── 118.patsubst ├── 118.regexp ├── 118.undivert ├── 119.changecom ├── 119.changeword ├── 119.m4exit ├── 119.m4wrap ├── 119.patsubst ├── 119.regexp ├── 119.sysval ├── 119.undivert ├── 12.defn ├── 120.changecom ├── 120.changeword ├── 120.divnum ├── 120.extensions ├── 120.m4wrap ├── 120.patsubst ├── 120.substr ├── 120.sysval ├── 121.changecom ├── 121.changeword ├── 121.cleardiver ├── 121.include ├── 121.incompatib ├── 121.maketemp ├── 121.patsubst ├── 121.substr ├── 122.answers ├── 122.changecom ├── 122.changeword ├── 122.cleardiver ├── 122.errprint ├── 122.format ├── 122.include ├── 122.m4wrap ├── 122.translit ├── 123.answers ├── 123.changecom ├── 123.changeword ├── 123.format ├── 123.include ├── 123.len ├── 123.location ├── 123.m4wrap ├── 123.translit ├── 124.answers ├── 124.changecom ├── 124.changeword ├── 124.diversions ├── 124.incr ├── 124.index_macr ├── 124.location ├── 124.m4wrap ├── 124.translit ├── 125.changeword ├── 125.diversions ├── 125.eval ├── 125.index_macr ├── 125.m4exit ├── 125.m4wrap ├── 125.patsubst ├── 126.changeword ├── 126.diversions ├── 126.eval ├── 126.m4exit ├── 126.m4wrap ├── 126.patsubst ├── 126.regexp ├── 127.changeword ├── 127.divert ├── 127.eval ├── 127.extensions ├── 127.m4wrap ├── 127.patsubst ├── 127.regexp ├── 128.changeword ├── 128.divert ├── 128.include ├── 128.incompatib ├── 128.m4wrap ├── 128.patsubst ├── 128.platform_m ├── 128.regexp ├── 129.answers ├── 129.changeword ├── 129.divert ├── 129.format ├── 129.include ├── 129.m4wrap ├── 129.platform_m ├── 129.substr ├── 13.pushdef ├── 130.answers ├── 130.changeword ├── 130.divert ├── 130.format ├── 130.include ├── 130.m4wrap ├── 130.substr ├── 130.syscmd ├── 131.answers ├── 131.divert ├── 131.include ├── 131.incr ├── 131.m4wrap ├── 131.syscmd ├── 131.translit ├── 132.esyscmd ├── 132.eval ├── 132.include ├── 132.m4wrap ├── 132.translit ├── 132.undivert ├── 133.eval ├── 133.include ├── 133.m4wrap ├── 133.sysval ├── 133.translit ├── 133.undivert ├── 134.diversions ├── 134.eval ├── 134.include ├── 134.m4wrap ├── 134.patsubst ├── 134.sysval ├── 134.undivert ├── 135.diversions ├── 135.eval ├── 135.include ├── 135.m4wrap ├── 135.mkstemp ├── 135.patsubst ├── 135.undivert ├── 136.diversions ├── 136.errprint ├── 136.eval ├── 136.include ├── 136.m4wrap ├── 136.patsubst ├── 136.undivert ├── 137.divert ├── 137.eval ├── 137.include ├── 137.location ├── 137.patsubst ├── 137.undivert ├── 138.divert ├── 138.divnum ├── 138.format ├── 138.include ├── 138.location ├── 138.platform_m ├── 139.cleardiver ├── 139.divert ├── 139.format ├── 139.include ├── 139.location ├── 139.platform_m ├── 14.pushdef ├── 140.cleardiver ├── 140.diversions ├── 140.divert ├── 140.format ├── 140.include ├── 140.m4exit ├── 140.syscmd ├── 141.diversions ├── 141.divert ├── 141.include ├── 141.incr ├── 141.len ├── 141.m4exit ├── 141.syscmd ├── 142.diversions ├── 142.esyscmd ├── 142.eval ├── 142.extensions ├── 142.include ├── 142.index_macr ├── 142.undivert ├── 143.diversions ├── 143.eval ├── 143.incompatib ├── 143.index_macr ├── 143.sysval ├── 143.undivert ├── 144.diversions ├── 144.divert ├── 144.eval ├── 144.improved_e ├── 144.regexp ├── 144.sysval ├── 144.undivert ├── 145.diversions ├── 145.divert ├── 145.eval ├── 145.improved_f ├── 145.mkstemp ├── 145.regexp ├── 145.undivert ├── 146.diversions ├── 146.divert ├── 146.errprint ├── 146.eval ├── 146.improved_f ├── 146.regexp ├── 146.undivert ├── 147.divert ├── 147.eval ├── 147.improved_f ├── 147.location ├── 147.substr ├── 147.undivert ├── 148.divert ├── 148.divnum ├── 148.improved_f ├── 148.location ├── 148.platform_m ├── 148.substr ├── 149.cleardiver ├── 149.divert ├── 149.improved_f ├── 149.location ├── 149.platform_m ├── 149.translit ├── 149.undivert ├── 15.indir ├── 150.cleardiver ├── 150.divert ├── 150.improved_c ├── 150.m4exit ├── 150.syscmd ├── 150.translit ├── 150.undivert ├── 151.divert ├── 151.improved_f ├── 151.len ├── 151.m4exit ├── 151.syscmd ├── 151.translit ├── 151.undivert ├── 152.esyscmd ├── 152.extensions ├── 152.index_macr ├── 152.patsubst ├── 152.undivert ├── 153.incompatib ├── 153.index_macr ├── 153.patsubst ├── 153.sysval ├── 153.undivert ├── 154.other_inco ├── 154.patsubst ├── 154.regexp ├── 154.sysval ├── 154.undivert ├── 155.divnum ├── 155.improved_e ├── 155.mkstemp ├── 155.patsubst ├── 155.regexp ├── 155.undivert ├── 156.cleardiver ├── 156.errprint ├── 156.improved_f ├── 156.patsubst ├── 156.regexp ├── 156.undivert ├── 157.cleardiver ├── 157.format ├── 157.improved_f ├── 157.location ├── 157.substr ├── 157.undivert ├── 158.divnum ├── 158.format ├── 158.improved_f ├── 158.len ├── 158.location ├── 158.substr ├── 159.cleardiver ├── 159.format ├── 159.improved_f ├── 159.index_macr ├── 159.location ├── 159.translit ├── 16.ifdef ├── 160.cleardiver ├── 160.improved_f ├── 160.incr ├── 160.index_macr ├── 160.m4exit ├── 160.translit ├── 161.eval ├── 161.improved_c ├── 161.len ├── 161.m4exit ├── 161.regexp ├── 161.translit ├── 162.eval ├── 162.extensions ├── 162.improved_f ├── 162.index_macr ├── 162.patsubst ├── 162.regexp ├── 163.eval ├── 163.incompatib ├── 163.index_macr ├── 163.patsubst ├── 163.regexp ├── 164.eval ├── 164.index_macr ├── 164.other_inco ├── 164.patsubst ├── 164.regexp ├── 164.substr ├── 165.eval ├── 165.index_macr ├── 165.other_inco ├── 165.patsubst ├── 165.regexp ├── 165.substr ├── 166.eval ├── 166.improved_e ├── 166.patsubst ├── 166.regexp ├── 166.translit ├── 167.format ├── 167.improved_f ├── 167.platform_m ├── 167.regexp ├── 167.substr ├── 167.translit ├── 168.format ├── 168.improved_f ├── 168.platform_m ├── 168.regexp ├── 168.substr ├── 168.translit ├── 169.format ├── 169.improved_f ├── 169.platform_m ├── 169.substr ├── 169.translit ├── 17.ifelse ├── 170.improved_f ├── 170.incr ├── 170.patsubst ├── 170.substr ├── 170.syscmd ├── 170.translit ├── 171.eval ├── 171.improved_f ├── 171.patsubst ├── 171.syscmd ├── 171.translit ├── 172.esyscmd ├── 172.eval ├── 172.improved_c ├── 172.patsubst ├── 172.translit ├── 173.eval ├── 173.improved_f ├── 173.patsubst ├── 173.sysval ├── 173.translit ├── 174.eval ├── 174.patsubst ├── 174.sysval ├── 174.translit ├── 175.eval ├── 175.format ├── 175.mkstemp ├── 175.patsubst ├── 176.eval ├── 176.format ├── 176.mkstemp ├── 176.patsubst ├── 177.format ├── 177.mkstemp ├── 177.patsubst ├── 177.platform_m ├── 178.errprint ├── 178.format ├── 178.incr ├── 178.patsubst ├── 178.platform_m ├── 179.eval ├── 179.format ├── 179.location ├── 179.patsubst ├── 179.platform_m ├── 18.ifelse ├── 180.eval ├── 180.format ├── 180.location ├── 180.syscmd ├── 181.eval ├── 181.format ├── 181.incr ├── 181.location ├── 181.syscmd ├── 182.esyscmd ├── 182.eval ├── 182.format ├── 182.incr ├── 182.m4exit ├── 183.eval ├── 183.format ├── 183.m4exit ├── 183.sysval ├── 184.eval ├── 184.incr ├── 184.sysval ├── 184.using_froz ├── 185.eval ├── 185.extensions ├── 185.mkstemp ├── 185.platform_m ├── 186.eval ├── 186.mkstemp ├── 186.other_inco ├── 186.platform_m ├── 187.eval ├── 187.mkstemp ├── 187.other_inco ├── 187.platform_m ├── 188.errprint ├── 188.eval ├── 188.improved_e ├── 188.platform_m ├── 188.syscmd ├── 189.eval ├── 189.improved_f ├── 189.location ├── 189.platform_m ├── 189.syscmd ├── 19.loops ├── 190.esyscmd ├── 190.eval ├── 190.improved_f ├── 190.location ├── 190.platform_m ├── 191.improved_f ├── 191.location ├── 191.platform_m ├── 191.syscmd ├── 191.sysval ├── 192.improved_f ├── 192.m4exit ├── 192.platform_m ├── 192.syscmd ├── 192.sysval ├── 193.esyscmd ├── 193.improved_f ├── 193.m4exit ├── 193.mkstemp ├── 193.platform_m ├── 193.syscmd ├── 194.esyscmd ├── 194.improved_f ├── 194.mkstemp ├── 194.syscmd ├── 194.sysval ├── 194.using_froz ├── 195.improved_f ├── 195.mkstemp ├── 195.syscmd ├── 195.sysval ├── 195.using_froz ├── 196.errprint ├── 196.esyscmd ├── 196.improved_m ├── 196.mkstemp ├── 196.sysval ├── 196.using_froz ├── 197.extensions ├── 197.improved_m ├── 197.location ├── 197.mkstemp ├── 197.sysval ├── 198.improved_c ├── 198.location ├── 198.mkstemp ├── 198.other_inco ├── 198.sysval ├── 199.errprint ├── 199.improved_c ├── 199.location ├── 199.mkstemp ├── 199.other_inco ├── 20.loops ├── 200.errprint ├── 200.improved_c ├── 200.improved_e ├── 200.location ├── 200.m4exit ├── 200.mkstemp ├── 201.improved_f ├── 201.location ├── 201.m4exit ├── 201.mkstemp ├── 202.errprint ├── 202.improved_f ├── 202.location ├── 202.using_froz ├── 203.improved_f ├── 203.location ├── 203.m4exit ├── 203.using_froz ├── 204.improved_f ├── 204.location ├── 204.m4exit ├── 204.using_froz ├── 205.extensions ├── 205.improved_f ├── 205.location ├── 205.m4exit ├── 205.using_froz ├── 206.improved_f ├── 206.m4exit ├── 206.other_inco ├── 206.using_froz ├── 207.improved_f ├── 207.m4exit ├── 207.other_inco ├── 207.using_froz ├── 208.extensions ├── 208.improved_e ├── 208.improved_f ├── 208.using_froz ├── 209.extensions ├── 209.improved_f ├── 209.other_inco ├── 209.using_froz ├── 21.dumpdef ├── 210.improved_f ├── 210.other_inco ├── 210.using_froz ├── 211.extensions ├── 211.improved_e ├── 211.improved_f ├── 211.other_inco ├── 212.improved_e ├── 212.improved_f ├── 212.other_inco ├── 213.improved_f ├── 213.other_inco ├── 214.improved_e ├── 214.improved_f ├── 214.improved_m ├── 215.improved_f ├── 215.improved_m ├── 216.improved_c ├── 216.improved_f ├── 217.improved_c ├── 217.improved_f ├── 218.improved_c ├── 218.improved_f ├── 219.improved_f ├── 22.trace ├── 220.improved_f ├── 221.improved_f ├── 222.improved_f ├── 223.improved_c ├── 223.improved_f ├── 224.improved_c ├── 224.improved_f ├── 225.improved_f ├── 225.improved_m ├── 226.improved_c ├── 226.improved_f ├── 226.improved_m ├── 227.improved_c ├── 227.improved_f ├── 228.improved_c ├── 228.improved_f ├── 228.improved_m ├── 229.improved_c ├── 229.improved_m ├── 23.dnl ├── 230.improved_c ├── 230.improved_f ├── 230.improved_m ├── 231.improved_c ├── 231.improved_m ├── 232.improved_c ├── 232.improved_m ├── 233.improved_c ├── 233.improved_f ├── 234.improved_c ├── 234.improved_f ├── 235.improved_c ├── 236.improved_f ├── 24.changequote ├── 25.changequote ├── 26.changequote ├── 27.changecom ├── 28.changecom ├── 29.m4wrap ├── 30.include ├── 31.include ├── 32.include ├── 33.divert ├── 34.divert ├── 35.undivert ├── 36.undivert ├── 37.undivert ├── 38.divnum ├── 39.cleardiv ├── 40.cleardiv ├── 41.len ├── 42.index ├── 42.index_macro ├── 43.regexp ├── 44.regexp ├── 45.substr ├── 46.translit ├── 47.patsubst ├── 48.patsubst ├── 49.format ├── 50.incr ├── 51.eval ├── 52.eval ├── 53.esyscmd ├── 54.sysval ├── 55.errprint ├── 56.errprint ├── 57.m4exit ├── Makefile.am ├── Makefile.in ├── check-them ├── foo ├── get-them ├── incl.m4 ├── stackovf.test └── stamp-checks ├── config-h.in ├── config.guess ├── config.h.in ├── config.sub ├── configure ├── configure.ac ├── configure.in ├── depcomp ├── doc ├── Makefile.am ├── Makefile.in ├── fdl-1.3.texi ├── fdl.texi ├── gendocs_template ├── gpl-3.0.texi ├── m4.1 ├── m4.info ├── m4.info-1 ├── m4.info-2 ├── m4.texi ├── m4.texinfo ├── mdate-sh ├── stamp-vti ├── texinfo.tex └── version.texi ├── examples ├── COPYING ├── Makefile.am ├── Makefile.in ├── capitalize.m4 ├── capitalize2.m4 ├── comments.m4 ├── curry.m4 ├── ddivert.m4 ├── debug.m4 ├── esyscmd.m4 ├── exp.m4 ├── file.m4 ├── foo ├── foreach.m4 ├── foreach2.m4 ├── foreachq.m4 ├── foreachq2.m4 ├── foreachq3.m4 ├── foreachq4.m4 ├── forloop.m4 ├── forloop2.m4 ├── forloop3.m4 ├── fstab.m4 ├── hanoi.m4 ├── incl-test.m4 ├── incl.m4 ├── include.m4 ├── indir.m4 ├── join.m4 ├── loop.m4 ├── misc.m4 ├── multiquotes.m4 ├── patsubst.m4 ├── pushpop.m4 ├── quote.m4 ├── regexp.m4 ├── reverse.m4 ├── stack.m4 ├── stack_sep.m4 ├── stackovf.sh ├── sync-lines.m4 ├── sysv-args.m4 ├── trace.m4 ├── translit.m4 ├── undivert.incl ├── undivert.m4 ├── wrap.m4 ├── wrapfifo.m4 ├── wraplifo.m4 └── wraplifo2.m4 ├── gendocs.sh ├── install-sh ├── lib ├── COPYING.LIB ├── Makefile.am ├── Makefile.in ├── TAGS ├── __fpending.c ├── __fpending.h ├── alignof.h ├── alloca.c ├── alloca.in.h ├── alloca_.h ├── allocsa.c ├── allocsa.h ├── allocsa.valgrind ├── asnprintf.c ├── asprintf.c ├── basename-lgpl.c ├── basename.c ├── binary-io.c ├── binary-io.h ├── btowc.c ├── c-ctype.c ├── c-ctype.h ├── c-stack.c ├── c-stack.h ├── c-strcase.h ├── c-strcasecmp.c ├── c-strcaseeq.h ├── c-strncasecmp.c ├── canonicalize-lgpl.c ├── clean-temp.c ├── clean-temp.h ├── cloexec.c ├── cloexec.h ├── close-hook.c ├── close-hook.h ├── close-stream.c ├── close-stream.h ├── close.c ├── closein.c ├── closein.h ├── closeout.c ├── closeout.h ├── config.charset ├── config.hin ├── dirname-lgpl.c ├── dirname.c ├── dirname.h ├── dosname.h ├── dup-safer-flag.c ├── dup-safer.c ├── dup2.c ├── errno.in.h ├── error.c ├── error.h ├── execute.c ├── execute.h ├── exit.h ├── exitfail.c ├── exitfail.h ├── fatal-signal.c ├── fatal-signal.h ├── fclose.c ├── fcntl.c ├── fcntl.in.h ├── fd-hook.c ├── fd-hook.h ├── fd-safer-flag.c ├── fd-safer.c ├── fflush.c ├── filenamecat-lgpl.c ├── filenamecat.c ├── filenamecat.h ├── float+.h ├── float.c ├── float.in.h ├── float_.h ├── fopen-safer.c ├── fopen.c ├── fpending.c ├── fpending.h ├── fpucw.h ├── fpurge.c ├── fpurge.h ├── freadahead.c ├── freadahead.h ├── freading.c ├── freading.h ├── free.c ├── frexp.c ├── frexpl.c ├── fseek.c ├── fseeko.c ├── fstat.c ├── ftell.c ├── ftello.c ├── getdtablesize.c ├── getopt.c ├── getopt.h ├── getopt.in.h ├── getopt1.c ├── getopt_.h ├── getopt_int.h ├── getprogname.c ├── getprogname.h ├── gettext.h ├── gettimeofday.c ├── gl_anyhash_list1.h ├── gl_anyhash_list2.h ├── gl_anylinked_list1.h ├── gl_anylinked_list2.h ├── gl_anytree_oset.h ├── gl_array_list.c ├── gl_array_list.h ├── gl_array_oset.c ├── gl_array_oset.h ├── gl_avltree_oset.c ├── gl_avltree_oset.h ├── gl_linkedhash_list.c ├── gl_linkedhash_list.h ├── gl_list.c ├── gl_list.h ├── gl_oset.c ├── gl_oset.h ├── gl_xlist.c ├── gl_xlist.h ├── gl_xoset.c ├── gl_xoset.h ├── glthread │ ├── lock.c │ ├── lock.h │ ├── threadlib.c │ ├── tls.c │ └── tls.h ├── gnulib.mk ├── hard-locale.c ├── hard-locale.h ├── ignore-value.h ├── intprops.h ├── isnan.c ├── isnan.h ├── isnand-nolibm.h ├── isnand.c ├── isnand.h ├── isnanf-nolibm.h ├── isnanf.c ├── isnanf.h ├── isnanl-nolibm.h ├── isnanl.c ├── itold.c ├── langinfo.in.h ├── limits.in.h ├── localcharset.c ├── localcharset.h ├── locale.in.h ├── localeconv.c ├── lseek.c ├── lstat.c ├── malloc.c ├── malloca.c ├── malloca.h ├── malloca.valgrind ├── math.c ├── math.in.h ├── math_.h ├── mbchar.c ├── mbchar.h ├── mbrtowc.c ├── mbsinit.c ├── mbtowc-impl.h ├── mbtowc.c ├── mbuiter.h ├── memchr.c ├── memchr.valgrind ├── memchr2.c ├── memchr2.h ├── memchr2.valgrind ├── memcmp.c ├── memset.c ├── minmax.h ├── mkdtemp.c ├── mkdtemp.h ├── mkstemp-safer.c ├── mkstemp.c ├── mkstemp.h ├── msvc-inval.c ├── msvc-inval.h ├── msvc-nothrow.c ├── msvc-nothrow.h ├── nl_langinfo.c ├── obstack.c ├── obstack.h ├── open.c ├── pathmax.h ├── pipe-safer.c ├── pipe.c ├── pipe.h ├── pipe2-safer.c ├── pipe2.c ├── printf-args.c ├── printf-args.h ├── printf-frexp.c ├── printf-frexp.h ├── printf-frexpl.c ├── printf-frexpl.h ├── printf-parse.c ├── printf-parse.h ├── progname.c ├── progname.h ├── quote.h ├── quotearg.c ├── quotearg.h ├── raise.c ├── rawmemchr.c ├── rawmemchr.valgrind ├── readlink.c ├── ref-add.sin ├── ref-del.sin ├── regcomp.c ├── regex.c ├── regex.h ├── regex_internal.c ├── regex_internal.h ├── regexec.c ├── rename.c ├── rmdir.c ├── same-inode.h ├── sched.in.h ├── secure_getenv.c ├── sig-handler.c ├── sig-handler.h ├── sigaction.c ├── siglist.h ├── signal.in.h ├── signal_.h ├── signbitd.c ├── signbitf.c ├── signbitl.c ├── sigprocmask.c ├── sigprocmask.h ├── size_max.h ├── snprintf.c ├── spawn-pipe.c ├── spawn-pipe.h ├── spawn.in.h ├── spawn_faction_addclose.c ├── spawn_faction_adddup2.c ├── spawn_faction_addopen.c ├── spawn_faction_destroy.c ├── spawn_faction_init.c ├── spawn_int.h ├── spawnattr_destroy.c ├── spawnattr_init.c ├── spawnattr_setflags.c ├── spawnattr_setsigmask.c ├── spawni.c ├── spawnp.c ├── stat-macros.h ├── stat.c ├── stat_.h ├── stdarg.in.h ├── stdbool.in.h ├── stdbool_.h ├── stddef.in.h ├── stdint.in.h ├── stdint_.h ├── stdio--.h ├── stdio-impl.h ├── stdio-safer.h ├── stdio-write.c ├── stdio.in.h ├── stdio_.h ├── stdlib--.h ├── stdlib-safer.h ├── stdlib.in.h ├── stdlib_.h ├── str-two-way.h ├── strcase.h ├── strcasecmp.c ├── strchrnul.c ├── strchrnul.valgrind ├── streq.h ├── strerror-override.c ├── strerror-override.h ├── strerror.c ├── string.in.h ├── stripslash.c ├── strncasecmp.c ├── strndup.c ├── strnlen.c ├── strnlen1.c ├── strnlen1.h ├── strsignal.c ├── strstr.c ├── strstr.h ├── strtod.c ├── strtol.c ├── sys_stat.in.h ├── sys_stat_.h ├── sys_time.in.h ├── sys_time_.h ├── sys_types.in.h ├── sys_wait.in.h ├── tempname.c ├── tempname.h ├── time.in.h ├── tmpdir.c ├── tmpdir.h ├── tmpfile-safer.c ├── unistd--.h ├── unistd-safer.h ├── unistd.c ├── unistd.in.h ├── unistd_.h ├── unlocked-io.h ├── vasnprintf.c ├── vasnprintf.h ├── vasprintf.c ├── vasprintf.h ├── verify.h ├── verror.c ├── verror.h ├── version-etc-fsf.c ├── version-etc.c ├── version-etc.h ├── w32spawn.h ├── wait-process.c ├── wait-process.h ├── waitpid.c ├── wchar.in.h ├── wchar_.h ├── wcrtomb.c ├── wctype-h.c ├── wctype.in.h ├── wctype_.h ├── wcwidth.h ├── xalloc-die.c ├── xalloc-oversized.h ├── xalloc.h ├── xallocsa.c ├── xallocsa.h ├── xasprintf.c ├── xmalloc.c ├── xmalloca.c ├── xmalloca.h ├── xprintf.c ├── xprintf.h ├── xsize.c ├── xsize.h ├── xstrdup.c ├── xstrndup.c ├── xstrndup.h ├── xvasprintf.c └── xvasprintf.h ├── local ├── doc │ └── gpl-3.0.texi.diff └── lib │ └── version-etc.c.diff ├── m4 ├── 00gnulib.m4 ├── absolute-header.m4 ├── alloca.m4 ├── allocsa.m4 ├── ansi-c++.m4 ├── asm-underscore.m4 ├── assert.m4 ├── autobuild.m4 ├── btowc.m4 ├── builtin-expect.m4 ├── c-stack.m4 ├── canonicalize.m4 ├── cloexec.m4 ├── close-stream.m4 ├── close.m4 ├── closedir.m4 ├── closein.m4 ├── closeout.m4 ├── codeset.m4 ├── config-h.m4 ├── configmake.m4 ├── ctype.m4 ├── dirent_h.m4 ├── dirfd.m4 ├── dirname.m4 ├── dos.m4 ├── double-slash-root.m4 ├── dup.m4 ├── dup2.m4 ├── eealloc.m4 ├── environ.m4 ├── eoverflow.m4 ├── errno_h.m4 ├── error.m4 ├── execute.m4 ├── exitfail.m4 ├── exponentd.m4 ├── exponentf.m4 ├── exponentl.m4 ├── extensions.m4 ├── extern-inline.m4 ├── fatal-signal.m4 ├── fclose.m4 ├── fcntl-o.m4 ├── fcntl.m4 ├── fcntl_h.m4 ├── fdopen.m4 ├── fflush.m4 ├── filenamecat.m4 ├── flexmember.m4 ├── float_h.m4 ├── fopen.m4 ├── fpending.m4 ├── fpieee.m4 ├── fpurge.m4 ├── freadahead.m4 ├── freading.m4 ├── free.m4 ├── frexp.m4 ├── frexpl.m4 ├── fseek.m4 ├── fseeko.m4 ├── fstat.m4 ├── ftell.m4 ├── ftello.m4 ├── getcwd.m4 ├── getdtablesize.m4 ├── getopt.m4 ├── getpagesize.m4 ├── getprogname.m4 ├── gettext.m4 ├── gettimeofday.m4 ├── gl_list.m4 ├── glibc21.m4 ├── gnulib-cache.m4 ├── gnulib-common.m4 ├── gnulib-comp.m4 ├── hard-locale.m4 ├── include_next.m4 ├── inline.m4 ├── intlmacosx.m4 ├── intmax_t.m4 ├── inttypes-pri.m4 ├── inttypes.m4 ├── inttypes_h.m4 ├── isblank.m4 ├── isnan.m4 ├── isnand.m4 ├── isnanf.m4 ├── isnanl.m4 ├── langinfo_h.m4 ├── largefile.m4 ├── lcmessage.m4 ├── ldexp.m4 ├── ldexpl.m4 ├── lib-ld.m4 ├── lib-link.m4 ├── lib-prefix.m4 ├── libsigsegv.m4 ├── limits-h.m4 ├── link.m4 ├── localcharset.m4 ├── locale-fr.m4 ├── locale-ja.m4 ├── locale-tr.m4 ├── locale-zh.m4 ├── locale_h.m4 ├── localeconv.m4 ├── localename.m4 ├── lock.m4 ├── longdouble.m4 ├── longlong.m4 ├── lseek.m4 ├── lstat.m4 ├── malloc.m4 ├── malloca.m4 ├── manywarnings.m4 ├── math_h.m4 ├── mbchar.m4 ├── mbiter.m4 ├── mbrtowc.m4 ├── mbsinit.m4 ├── mbstate_t.m4 ├── mbtowc.m4 ├── memchr.m4 ├── memcmp.m4 ├── memset.m4 ├── minmax.m4 ├── mkdtemp.m4 ├── mkstemp.m4 ├── mmap-anon.m4 ├── mode_t.m4 ├── msvc-inval.m4 ├── msvc-nothrow.m4 ├── multiarch.m4 ├── nl_langinfo.m4 ├── nocrash.m4 ├── obstack.m4 ├── off_t.m4 ├── open.m4 ├── opendir.m4 ├── pathmax.m4 ├── pipe.m4 ├── pipe2.m4 ├── po.m4 ├── posix_spawn.m4 ├── printf-frexp.m4 ├── printf-frexpl.m4 ├── printf.m4 ├── putenv.m4 ├── quotearg.m4 ├── raise.m4 ├── rawmemchr.m4 ├── readdir.m4 ├── readlink.m4 ├── regex.m4 ├── rename.m4 ├── restrict.m4 ├── rmdir.m4 ├── sched_h.m4 ├── secure_getenv.m4 ├── setenv.m4 ├── setlocale.m4 ├── sig_atomic_t.m4 ├── sigaction.m4 ├── signal_h.m4 ├── signalblocking.m4 ├── signbit.m4 ├── signed.m4 ├── sigpipe.m4 ├── size_max.m4 ├── sleep.m4 ├── snprintf.m4 ├── spawn-pipe.m4 ├── spawn_h.m4 ├── ssize_t.m4 ├── stat-macros.m4 ├── stat.m4 ├── stdalign.m4 ├── stdarg.m4 ├── stdbool.m4 ├── stddef_h.m4 ├── stdint.m4 ├── stdint_h.m4 ├── stdio-safer.m4 ├── stdio_h.m4 ├── stdlib-safer.m4 ├── stdlib_h.m4 ├── strcase.m4 ├── strchrnul.m4 ├── strdup.m4 ├── strerror.m4 ├── string_h.m4 ├── strndup.m4 ├── strnlen.m4 ├── strsignal.m4 ├── strstr.m4 ├── strtod.m4 ├── strtol.m4 ├── symlink.m4 ├── sys_socket_h.m4 ├── sys_stat_h.m4 ├── sys_time_h.m4 ├── sys_types_h.m4 ├── sys_wait_h.m4 ├── tempname.m4 ├── thread.m4 ├── threadlib.m4 ├── time_h.m4 ├── tls.m4 ├── tmpdir.m4 ├── uintmax_t.m4 ├── ulonglong.m4 ├── ungetc.m4 ├── unistd-safer.m4 ├── unistd_h.m4 ├── unlocked-io.m4 ├── vasnprintf.m4 ├── vasprintf-posix.m4 ├── vasprintf.m4 ├── version-etc.m4 ├── wait-process.m4 ├── waitpid.m4 ├── warn-on-use.m4 ├── warnings.m4 ├── wchar.m4 ├── wchar_h.m4 ├── wchar_t.m4 ├── wcrtomb.m4 ├── wctob.m4 ├── wctomb.m4 ├── wctype.m4 ├── wctype_h.m4 ├── wcwidth.m4 ├── wint_t.m4 ├── write.m4 ├── xalloc.m4 ├── xsize.m4 ├── xstrndup.m4 ├── xvasprintf.m4 └── yield.m4 ├── maint.mk ├── missing ├── mkinstalldirs ├── src ├── Makefile.am ├── Makefile.in ├── TAGS ├── ansi2knr.1 ├── ansi2knr.c ├── builtin.c ├── debug.c ├── eval.c ├── format.c ├── freeze.c ├── input.c ├── m4.c ├── m4.h ├── macro.c ├── output.c ├── path.c ├── stackovf.c └── symtab.c ├── stamp-h.in └── tests ├── Makefile.am ├── Makefile.in ├── c-strcase.h ├── c-strcasecmp.c ├── c-strncasecmp.c ├── closedir.c ├── ctype.in.h ├── dirent-private.h ├── dirent.in.h ├── dirfd.c ├── dup.c ├── fdopen.c ├── filename.h ├── flexmember.h ├── ftell.c ├── getcwd-lgpl.c ├── getpagesize.c ├── gl_array_list.c ├── gl_array_list.h ├── gl_array_oset.c ├── gl_array_oset.h ├── glthread ├── thread.c ├── thread.h └── yield.h ├── gnulib.mk ├── infinity.h ├── init.sh ├── inttypes.in.h ├── isblank.c ├── link.c ├── locale.in.h ├── locale └── fr │ └── LC_MESSAGES │ ├── test-quotearg.mo │ └── test-quotearg.po ├── localename.c ├── localename.h ├── macros.h ├── minus-zero.h ├── nan.h ├── opendir.c ├── progname.c ├── progname.h ├── putenv.c ├── randomd.c ├── randoml.c ├── readdir.c ├── same-inode.h ├── setenv.c ├── setlocale.c ├── signature.h ├── sleep.c ├── stdalign.in.h ├── strdup.c ├── symlink.c ├── test-EOVERFLOW.c ├── test-alignof.c ├── test-alloca-opt.c ├── test-array_list.c ├── test-array_oset.c ├── test-avltree_oset.c ├── test-binary-io.c ├── test-binary-io.sh ├── test-btowc.c ├── test-btowc1.sh ├── test-btowc2.sh ├── test-c-ctype.c ├── test-c-stack.c ├── test-c-stack.sh ├── test-c-stack2.sh ├── test-c-strcase.sh ├── test-c-strcasecmp.c ├── test-c-strncasecmp.c ├── test-canonicalize-lgpl.c ├── test-chdir.c ├── test-cloexec.c ├── test-close.c ├── test-closein.c ├── test-closein.sh ├── test-ctype.c ├── test-dirent-c++.cc ├── test-dirent.c ├── test-dirname.c ├── test-dup-safer.c ├── test-dup.c ├── test-dup2.c ├── test-environ.c ├── test-errno.c ├── test-fclose.c ├── test-fcntl-h-c++.cc ├── test-fcntl-h.c ├── test-fcntl.c ├── test-fdopen.c ├── test-fflush.c ├── test-fflush2.c ├── test-fflush2.sh ├── test-fgetc.c ├── test-filenamecat.c ├── test-float.c ├── test-fopen-safer.c ├── test-fopen.c ├── test-fopen.h ├── test-fpending.c ├── test-fpending.sh ├── test-fpurge.c ├── test-fputc.c ├── test-fread.c ├── test-freadahead.c ├── test-freadahead.sh ├── test-freading.c ├── test-frexp.c ├── test-frexp.h ├── test-frexpl.c ├── test-fseek.c ├── test-fseek.sh ├── test-fseek2.sh ├── test-fseeko.c ├── test-fseeko.sh ├── test-fseeko2.sh ├── test-fseeko3.c ├── test-fseeko3.sh ├── test-fseeko4.c ├── test-fseeko4.sh ├── test-fstat.c ├── test-ftell.c ├── test-ftell.sh ├── test-ftell2.sh ├── test-ftell3.c ├── test-ftello.c ├── test-ftello.sh ├── test-ftello2.sh ├── test-ftello3.c ├── test-ftello4.c ├── test-ftello4.sh ├── test-fwrite.c ├── test-getcwd-lgpl.c ├── test-getdtablesize.c ├── test-getopt-gnu.c ├── test-getopt-main.h ├── test-getopt-posix.c ├── test-getopt.c ├── test-getopt.h ├── test-getopt_long.h ├── test-getprogname.c ├── test-gettimeofday.c ├── test-ignore-value.c ├── test-init.sh ├── test-intprops.c ├── test-inttypes.c ├── test-isblank.c ├── test-isnan.c ├── test-isnand-nolibm.c ├── test-isnand.c ├── test-isnand.h ├── test-isnanf-nolibm.c ├── test-isnanf.c ├── test-isnanf.h ├── test-isnanl-nolibm.c ├── test-isnanl.h ├── test-langinfo-c++.cc ├── test-langinfo.c ├── test-limits-h.c ├── test-link.c ├── test-link.h ├── test-linkedhash_list.c ├── test-locale-c++.cc ├── test-locale-c++2.cc ├── test-locale.c ├── test-localeconv.c ├── test-localename.c ├── test-lock.c ├── test-lseek.c ├── test-lseek.sh ├── test-lstat.c ├── test-lstat.h ├── test-malloc-gnu.c ├── test-malloca.c ├── test-math-c++.cc ├── test-math-c++2.cc ├── test-math.c ├── test-mbrtowc-w32-1.sh ├── test-mbrtowc-w32-2.sh ├── test-mbrtowc-w32-3.sh ├── test-mbrtowc-w32-4.sh ├── test-mbrtowc-w32-5.sh ├── test-mbrtowc-w32.c ├── test-mbrtowc.c ├── test-mbrtowc1.sh ├── test-mbrtowc2.sh ├── test-mbrtowc3.sh ├── test-mbrtowc4.sh ├── test-mbrtowc5.sh ├── test-mbsinit.c ├── test-mbsinit.sh ├── test-memchr.c ├── test-memchr2.c ├── test-memcmp.c ├── test-nl_langinfo.c ├── test-nl_langinfo.sh ├── test-open.c ├── test-open.h ├── test-pathmax.c ├── test-pipe.c ├── test-pipe.sh ├── test-pipe2.c ├── test-posix_spawn1.c ├── test-posix_spawn1.in.sh ├── test-posix_spawn2.c ├── test-posix_spawn2.in.sh ├── test-posix_spawn_file_actions_addclose.c ├── test-posix_spawn_file_actions_adddup2.c ├── test-posix_spawn_file_actions_addopen.c ├── test-printf-frexp.c ├── test-printf-frexpl.c ├── test-quotearg-simple.c ├── test-quotearg.c ├── test-quotearg.h ├── test-quotearg.sh ├── test-raise.c ├── test-rawmemchr.c ├── test-readlink.c ├── test-readlink.h ├── test-regex.c ├── test-rename.c ├── test-rename.h ├── test-rmdir.c ├── test-rmdir.h ├── test-sched.c ├── test-setenv.c ├── test-setlocale1.c ├── test-setlocale1.sh ├── test-setlocale2.c ├── test-setlocale2.sh ├── test-sigaction.c ├── test-signal-c++.cc ├── test-signal-c++2.cc ├── test-signal-h-c++.cc ├── test-signal-h-c++2.cc ├── test-signal-h.c ├── test-signal.c ├── test-signbit.c ├── test-sigpipe.c ├── test-sigpipe.sh ├── test-sigprocmask.c ├── test-sleep.c ├── test-snprintf.c ├── test-spawn-c++.cc ├── test-spawn-pipe-child.c ├── test-spawn-pipe-main.c ├── test-spawn-pipe.c ├── test-spawn-pipe.sh ├── test-spawn.c ├── test-stat.c ├── test-stat.h ├── test-stdalign.c ├── test-stdbool.c ├── test-stddef.c ├── test-stdint.c ├── test-stdio-c++.cc ├── test-stdio-c++2.cc ├── test-stdio.c ├── test-stdlib-c++.cc ├── test-stdlib-c++2.cc ├── test-stdlib.c ├── test-strchrnul.c ├── test-strerror.c ├── test-string-c++.cc ├── test-string-c++2.cc ├── test-string.c ├── test-strnlen.c ├── test-strsignal.c ├── test-strstr.c ├── test-strtod.c ├── test-symlink.c ├── test-symlink.h ├── test-sys_stat-c++.cc ├── test-sys_stat.c ├── test-sys_time-c++.cc ├── test-sys_time.c ├── test-sys_types-c++.cc ├── test-sys_types.c ├── test-sys_wait-c++.cc ├── test-sys_wait.c ├── test-sys_wait.h ├── test-time-c++.cc ├── test-time-c++2.cc ├── test-time.c ├── test-tls.c ├── test-unistd-c++.cc ├── test-unistd.c ├── test-unsetenv.c ├── test-update-copyright.sh ├── test-vasnprintf.c ├── test-vasprintf-posix.c ├── test-vasprintf.c ├── test-vc-list-files-cvs.sh ├── test-vc-list-files-git.sh ├── test-verify.c ├── test-verify.sh ├── test-version-etc.c ├── test-version-etc.sh ├── test-wchar-c++.cc ├── test-wchar.c ├── test-wcrtomb-w32-1.sh ├── test-wcrtomb-w32-2.sh ├── test-wcrtomb-w32-3.sh ├── test-wcrtomb-w32-4.sh ├── test-wcrtomb-w32-5.sh ├── test-wcrtomb-w32.c ├── test-wcrtomb.c ├── test-wcrtomb.sh ├── test-wctype-c++.cc ├── test-wctype-h-c++.cc ├── test-wctype-h.c ├── test-wctype.c ├── test-write.c ├── test-xalloc-die.c ├── test-xalloc-die.sh ├── test-xvasprintf.c ├── unsetenv.c ├── verify.h ├── wctob.c ├── wctomb-impl.h ├── wctomb.c ├── write.c └── zerosize-ptr.h /.prev-version: -------------------------------------------------------------------------------- 1 | 1.4.17 2 | -------------------------------------------------------------------------------- /.tarball-version: -------------------------------------------------------------------------------- 1 | 1.4.18 2 | -------------------------------------------------------------------------------- /.version: -------------------------------------------------------------------------------- 1 | 1.4.18 2 | -------------------------------------------------------------------------------- /.x-sc_prohibit_tab_based_indentation: -------------------------------------------------------------------------------- 1 | ^GNUMakefile$ 2 | Makefile\.am$ 3 | \.mk$ 4 | ^HACKING$ 5 | ChangeLog.* 6 | -------------------------------------------------------------------------------- /.x-update-copyright: -------------------------------------------------------------------------------- 1 | m4/gnulib-cache.m4 2 | -------------------------------------------------------------------------------- /build-aux/snippet/_Noreturn.h: -------------------------------------------------------------------------------- 1 | #if !defined _Noreturn && __STDC_VERSION__ < 201112 2 | # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ 3 | || 0x5110 <= __SUNPRO_C) 4 | # define _Noreturn __attribute__ ((__noreturn__)) 5 | # elif 1200 <= _MSC_VER 6 | # define _Noreturn __declspec (noreturn) 7 | # else 8 | # define _Noreturn 9 | # endif 10 | #endif 11 | -------------------------------------------------------------------------------- /checks/002.command_li: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:913: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dbar=hello foo -Dbar=world foo 4 | dnl @ Copyright (C) 2006, 2007, 2008 Free Software Foundation, 5 | dnl @ Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | dnl @result{}hello 11 | dnl @result{}world 12 | -------------------------------------------------------------------------------- /checks/002.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1049: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | `divert' 8 | dnl @result{}divert 9 | `d'ivert 10 | dnl @result{}divert 11 | di`ver't 12 | dnl @result{}divert 13 | div`'ert 14 | dnl @result{}divert 15 | -------------------------------------------------------------------------------- /checks/002.inhibiting_: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:953: Origin of test 2 | define(`x', `substr(ab') 3 | dnl @result{} 4 | define(`y', `cde, `3', `2')') 5 | dnl @result{} 6 | x`'y 7 | dnl @result{}de 8 | -------------------------------------------------------------------------------- /checks/003.command_li: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:955: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dbar=hello foo -Dbar=world foo 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | dnl @result{}hello 11 | dnl @result{}world 12 | -------------------------------------------------------------------------------- /checks/003.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1063: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | `'divert 8 | dnl @result{} 9 | divert`' 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/003.inhibiting_: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:966: Origin of test 2 | define(`macro', `m') 3 | dnl @result{} 4 | macro(`m')macro 5 | dnl @result{}mmacro 6 | macro(`m')`'macro 7 | dnl @result{}mm 8 | -------------------------------------------------------------------------------- /checks/004.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1204: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | eval 9 | dnl @result{}eval 10 | eval(`1') 11 | dnl @result{}1 12 | -------------------------------------------------------------------------------- /checks/004.inhibiting_: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:978: Origin of test 2 | define(`macro', `di$1') 3 | dnl @result{} 4 | macro(`v')`ert' 5 | dnl @result{}divert 6 | macro(`v')ert 7 | dnl @result{} 8 | -------------------------------------------------------------------------------- /checks/005.macro_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1061: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`f', `1') 8 | dnl @result{} 9 | f(define(`f', `2')) 10 | dnl @result{}1 11 | f 12 | dnl @result{}2 13 | -------------------------------------------------------------------------------- /checks/005.macro_argum: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1031: Origin of test 2 | define(`f', `1') 3 | dnl @result{} 4 | f(define(`f', `2')) 5 | dnl @result{}1 6 | f 7 | dnl @result{}2 8 | -------------------------------------------------------------------------------- /checks/006.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1139: Origin of test 2 | define(`foo', `Hello world.') 3 | dnl @result{} 4 | foo 5 | dnl @result{}Hello world. 6 | -------------------------------------------------------------------------------- /checks/006.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1276: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | eval 10 | dnl @result{}eval 11 | eval(`1') 12 | dnl @result{}1 13 | -------------------------------------------------------------------------------- /checks/006.macro_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1072: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define( 8 | dnl @error{}m4:stdin:1: ERROR: end of file in argument list 9 | -------------------------------------------------------------------------------- /checks/007.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1177: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `Hello world.') 8 | dnl @result{} 9 | foo 10 | dnl @result{}Hello world. 11 | -------------------------------------------------------------------------------- /checks/008.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1194: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(foo, one) 8 | dnl @result{} 9 | define(foo, two) 10 | dnl @result{} 11 | one 12 | dnl @result{}two 13 | -------------------------------------------------------------------------------- /checks/008.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1329: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008 Free Software Foundation, 5 | dnl @ Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | eval 11 | dnl @result{}eval 12 | eval(`1') 13 | dnl @result{}1 14 | -------------------------------------------------------------------------------- /checks/008.macro_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1181: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`f', `1') 8 | dnl @result{} 9 | f(define(`f', `2')) 10 | dnl @result{}1 11 | f 12 | dnl @result{}2 13 | -------------------------------------------------------------------------------- /checks/009.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1204: Origin of test 2 | define(`exch', `$2, $1') 3 | dnl @result{} 4 | exch(`arg1', `arg2') 5 | dnl @result{}arg2, arg1 6 | -------------------------------------------------------------------------------- /checks/009.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1210: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `Hello world.') 8 | dnl @result{} 9 | foo 10 | dnl @result{}Hello world. 11 | -------------------------------------------------------------------------------- /checks/009.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1353: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | eval 11 | dnl @result{}eval 12 | eval(`1') 13 | dnl @result{}1 14 | -------------------------------------------------------------------------------- /checks/009.macro_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1192: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | hello world 8 | dnl @result{}hello world 9 | define( 10 | dnl @error{}m4:stdin:2: ERROR: end of file in argument list 11 | -------------------------------------------------------------------------------- /checks/01.define: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:942: Origin of test 2 | define(`foo', `Hello world.') 3 | dnl @result{} 4 | foo 5 | dnl @result{}Hello world. 6 | -------------------------------------------------------------------------------- /checks/010.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1242: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', `$2, $1') 8 | dnl @result{} 9 | exch(`arg1', `arg2') 10 | dnl @result{}arg2, arg1 11 | -------------------------------------------------------------------------------- /checks/010.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1300: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `Hello world.') 8 | dnl @result{} 9 | foo 10 | dnl @result{}Hello world. 11 | -------------------------------------------------------------------------------- /checks/011.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1252: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', `$2, $1') 8 | dnl @result{} 9 | define(exch(``expansion text'', ``macro'')) 10 | dnl @result{} 11 | macro 12 | dnl @result{}expansion text 13 | -------------------------------------------------------------------------------- /checks/011.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1317: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(foo, one) 8 | dnl @result{} 9 | define(foo, two) 10 | dnl @result{} 11 | one 12 | dnl @result{}two 13 | -------------------------------------------------------------------------------- /checks/011.macro_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1372: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`f', `1') 9 | dnl @result{} 10 | f(define(`f', `2')) 11 | dnl @result{}1 12 | f 13 | dnl @result{}2 14 | -------------------------------------------------------------------------------- /checks/012.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1282: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', `$2, $1') 8 | dnl @result{} 9 | exch(`arg1', `arg2') 10 | dnl @result{}arg2, arg1 11 | -------------------------------------------------------------------------------- /checks/012.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:1425: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | eval 11 | dnl @result{}eval 12 | eval(`1') 13 | dnl @result{}1 14 | -------------------------------------------------------------------------------- /checks/012.macro_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1384: Origin of test 2 | dnl @ expected status: 1 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | hello world 9 | dnl @result{}hello world 10 | define( 11 | dnl @error{}m4:stdin:2: ERROR: end of file in argument list 12 | -------------------------------------------------------------------------------- /checks/013.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1372: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', `$2, $1') 8 | dnl @result{} 9 | exch(`arg1', `arg2') 10 | dnl @result{}arg2, arg1 11 | -------------------------------------------------------------------------------- /checks/013.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1268: Origin of test 2 | define(`nargs', `$#') 3 | dnl @result{} 4 | nargs 5 | dnl @result{}0 6 | nargs() 7 | dnl @result{}1 8 | nargs(`arg1', `arg2', `arg3') 9 | dnl @result{}3 10 | nargs(`commas can be quoted, like this') 11 | dnl @result{}1 12 | nargs(arg1#inside comments, commas do not separate arguments 13 | still arg1) 14 | dnl @result{}1 15 | nargs((unquoted parentheses, like this, group arguments)) 16 | dnl @result{}1 17 | -------------------------------------------------------------------------------- /checks/014.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1382: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', `$2, $1') 8 | dnl @result{} 9 | define(exch(``expansion text'', ``macro'')) 10 | dnl @result{} 11 | macro 12 | dnl @result{}expansion text 13 | -------------------------------------------------------------------------------- /checks/014.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1517: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`foo', `Hello world.') 9 | dnl @result{} 10 | foo 11 | dnl @result{}Hello world. 12 | -------------------------------------------------------------------------------- /checks/014.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1289: Origin of test 2 | define(`echo', `$*') 3 | dnl @result{} 4 | echo(arg1, arg2, arg3 , arg4) 5 | dnl @result{}arg1,arg2,arg3 ,arg4 6 | -------------------------------------------------------------------------------- /checks/015.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1405: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`test', ``Macro name: $0'') 8 | dnl @result{} 9 | test 10 | dnl @result{}Macro name: test 11 | -------------------------------------------------------------------------------- /checks/015.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1534: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(foo, one) 9 | dnl @result{} 10 | define(foo, two) 11 | dnl @result{} 12 | one 13 | dnl @result{}two 14 | -------------------------------------------------------------------------------- /checks/015.inhibiting: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:1486: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | `'divert 11 | dnl @result{} 12 | divert`' 13 | dnl @result{} 14 | -------------------------------------------------------------------------------- /checks/015.pseudo_arg: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1330: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`echo', `$*') 8 | dnl @result{} 9 | echo(arg1, arg2, arg3 , arg4) 10 | dnl @result{}arg1,arg2,arg3 ,arg4 11 | -------------------------------------------------------------------------------- /checks/015.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1300: Origin of test 2 | define(`echo', `$@') 3 | dnl @result{} 4 | echo(arg1, arg2, arg3 , arg4) 5 | dnl @result{}arg1,arg2,arg3 ,arg4 6 | -------------------------------------------------------------------------------- /checks/016.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1415: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `This is macro `foo'.') 8 | dnl @result{} 9 | foo 10 | dnl @result{}This is macro foo. 11 | -------------------------------------------------------------------------------- /checks/016.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1310: Origin of test 2 | define(`echo1', `$*') 3 | dnl @result{} 4 | define(`echo2', `$@') 5 | dnl @result{} 6 | define(`foo', `This is macro `foo'.') 7 | dnl @result{} 8 | echo1(foo) 9 | dnl @result{}This is macro This is macro foo.. 10 | echo1(`foo') 11 | dnl @result{}This is macro foo. 12 | echo2(foo) 13 | dnl @result{}This is macro foo. 14 | echo2(`foo') 15 | dnl @result{}foo 16 | -------------------------------------------------------------------------------- /checks/017.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1602: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`exch', `$2, $1') 9 | dnl @result{} 10 | exch(`arg1', `arg2') 11 | dnl @result{}arg2, arg1 12 | -------------------------------------------------------------------------------- /checks/017.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1332: Origin of test 2 | define(`echo1', `$*') 3 | dnl @result{} 4 | define(`echo2', `$@') 5 | dnl @result{} 6 | define(`foo', `bar') 7 | dnl @result{} 8 | echo1(#foo'foo 9 | foo) 10 | dnl @result{}#foo'foo 11 | dnl @result{}bar 12 | echo2(#foo'foo 13 | foo) 14 | dnl @result{}#foobar 15 | dnl @result{}bar' 16 | -------------------------------------------------------------------------------- /checks/018.pseudo_arg: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1460: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`echo', `$*') 8 | dnl @result{} 9 | echo(arg1, arg2, arg3 , arg4) 10 | dnl @result{}arg1,arg2,arg3 ,arg4 11 | -------------------------------------------------------------------------------- /checks/018.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1353: Origin of test 2 | define(`foo', `$$$ hello $$$') 3 | dnl @result{} 4 | foo 5 | dnl @result{}$$$ hello $$$ 6 | -------------------------------------------------------------------------------- /checks/019.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1628: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`test', ``Macro name: $0'') 9 | dnl @result{} 10 | test 11 | dnl @result{}Macro name: test 12 | -------------------------------------------------------------------------------- /checks/019.macro_expa: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1574: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dbar=Hello -Dfoo=bar 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | foo 10 | dnl @result{}Hello 11 | -------------------------------------------------------------------------------- /checks/019.pseudo_arg: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1471: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`echo', `$@') 8 | dnl @result{} 9 | echo(arg1, arg2, arg3 , arg4) 10 | dnl @result{}arg1,arg2,arg3 ,arg4 11 | -------------------------------------------------------------------------------- /checks/019.undefine: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1380: Origin of test 2 | foo bar blah 3 | dnl @result{}foo bar blah 4 | define(`foo', `some')define(`bar', `other')define(`blah', `text') 5 | dnl @result{} 6 | foo bar blah 7 | dnl @result{}some other text 8 | undefine(`foo') 9 | dnl @result{} 10 | foo bar blah 11 | dnl @result{}foo other text 12 | undefine(`bar', `blah') 13 | dnl @result{} 14 | foo bar blah 15 | dnl @result{}foo bar blah 16 | -------------------------------------------------------------------------------- /checks/02.arguments: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:966: Origin of test 2 | define(`exch', `$2, $1') 3 | dnl @result{} 4 | exch(arg1, arg2) 5 | dnl @result{}arg2, arg1 6 | -------------------------------------------------------------------------------- /checks/020.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1638: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`foo', `This is macro `foo'.') 9 | dnl @result{} 10 | foo 11 | dnl @result{}This is macro foo. 12 | -------------------------------------------------------------------------------- /checks/020.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1622: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`foo', `Hello world.') 10 | dnl @result{} 11 | foo 12 | dnl @result{}Hello world. 13 | -------------------------------------------------------------------------------- /checks/020.macro_expa: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1596: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dbar=Hello -Dfoo=bar 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | foo 10 | dnl @result{}Hello 11 | -------------------------------------------------------------------------------- /checks/021.defn: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1436: Origin of test 2 | define(`zap', defn(`undefine')) 3 | dnl @result{} 4 | zap(`undefine') 5 | dnl @result{} 6 | undefine(`zap') 7 | dnl @result{}undefine(zap) 8 | -------------------------------------------------------------------------------- /checks/021.undefine: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1441: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`f', ``$0':$1') 8 | dnl @result{} 9 | f(f(f(undefine(`f')`hello world'))) 10 | dnl @result{}f:f:f:hello world 11 | f(`bye') 12 | dnl @result{}f(bye) 13 | -------------------------------------------------------------------------------- /checks/022.define: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1660: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`foo', `Hello world.') 10 | dnl @result{} 11 | foo 12 | dnl @result{}Hello world. 13 | -------------------------------------------------------------------------------- /checks/022.defn: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1477: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`zap', defn(`undefine')) 8 | dnl @result{} 9 | zap(`undefine') 10 | dnl @result{} 11 | undefine(`zap') 12 | dnl @result{}undefine(zap) 13 | -------------------------------------------------------------------------------- /checks/022.macro_expa: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1649: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dbar=Hello -Dfoo=bar 4 | dnl @ Copyright (C) 2006, 2007, 2008 Free Software Foundation, 5 | dnl @ Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | foo 11 | dnl @result{}Hello 12 | -------------------------------------------------------------------------------- /checks/023.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1707: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`exch', `$2, $1') 10 | dnl @result{} 11 | exch(`arg1', `arg2') 12 | dnl @result{}arg2, arg1 13 | -------------------------------------------------------------------------------- /checks/023.defn: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1494: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `This is `$0'') 8 | dnl @result{} 9 | define(`bar', defn(`foo')) 10 | dnl @result{} 11 | bar 12 | dnl @result{}This is bar 13 | -------------------------------------------------------------------------------- /checks/023.macro_expa: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1673: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dbar=Hello -Dfoo=bar 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | foo 11 | dnl @result{}Hello 12 | -------------------------------------------------------------------------------- /checks/024.pseudo_arg: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1756: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`echo', `$*') 9 | dnl @result{} 10 | echo(arg1, arg2, arg3 , arg4) 11 | dnl @result{}arg1,arg2,arg3 ,arg4 12 | -------------------------------------------------------------------------------- /checks/025.arguments: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1745: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`exch', `$2, $1') 10 | dnl @result{} 11 | exch(`arg1', `arg2') 12 | dnl @result{}arg2, arg1 13 | -------------------------------------------------------------------------------- /checks/025.defn: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1543: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`zap', defn(`undefine')) 8 | dnl @result{} 9 | zap(`undefine') 10 | dnl @result{} 11 | undefine(`zap') 12 | dnl @result{}undefine(zap) 13 | -------------------------------------------------------------------------------- /checks/025.pseudo_arg: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1767: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`echo', `$@') 9 | dnl @result{} 10 | echo(arg1, arg2, arg3 , arg4) 11 | dnl @result{}arg1,arg2,arg3 ,arg4 12 | -------------------------------------------------------------------------------- /checks/025.undefine: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1596: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`f', ``$0':$1') 8 | dnl @result{} 9 | f(f(f(undefine(`f')`hello world'))) 10 | dnl @result{}f:f:f:hello world 11 | f(`bye') 12 | dnl @result{}f(bye) 13 | -------------------------------------------------------------------------------- /checks/026.defn: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1633: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`zap', defn(`undefine')) 8 | dnl @result{} 9 | zap(`undefine') 10 | dnl @result{} 11 | undefine(`zap') 12 | dnl @result{}undefine(zap) 13 | -------------------------------------------------------------------------------- /checks/026.macro_expa: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:1745: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dbar=Hello -Dfoo=bar 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | foo 11 | dnl @result{}Hello 12 | -------------------------------------------------------------------------------- /checks/027.defn: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1650: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `This is `$0'') 8 | dnl @result{} 9 | define(`bar', defn(`foo')) 10 | dnl @result{} 11 | bar 12 | dnl @result{}This is bar 13 | -------------------------------------------------------------------------------- /checks/027.indir: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1608: Origin of test 2 | define(`$$internal$macro', `Internal macro (name `$0')') 3 | dnl @result{} 4 | $$internal$macro 5 | dnl @result{}$$internal$macro 6 | indir(`$$internal$macro') 7 | dnl @result{}Internal macro (name $$internal$macro) 8 | -------------------------------------------------------------------------------- /checks/028.builtin: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1642: Origin of test 2 | pushdef(`define', `hidden') 3 | dnl @result{} 4 | undefine(`undefine') 5 | dnl @result{} 6 | define(`foo', `bar') 7 | dnl @result{}hidden 8 | foo 9 | dnl @result{}foo 10 | builtin(`define', `foo', `BAR') 11 | dnl @result{} 12 | foo 13 | dnl @result{}BAR 14 | undefine(`foo') 15 | dnl @result{}undefine(foo) 16 | foo 17 | dnl @result{}BAR 18 | builtin(`undefine', `foo') 19 | dnl @result{} 20 | foo 21 | dnl @result{}foo 22 | -------------------------------------------------------------------------------- /checks/03.arguments: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:976: Origin of test 2 | define(`exch', `$2, $1') 3 | dnl @result{} 4 | define(exch(``expansion text'', ``macro'')) 5 | dnl @result{} 6 | macro 7 | dnl @result{}expansion text 8 | -------------------------------------------------------------------------------- /checks/031.builtin: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1714: Origin of test 2 | builtin 3 | dnl @result{}builtin 4 | builtin() 5 | dnl @error{}stdin:2: m4: undefined builtin `' 6 | dnl @result{} 7 | builtin(`builtin') 8 | dnl @error{}stdin:3: m4: Warning: too few arguments to builtin `builtin' 9 | dnl @result{} 10 | builtin(`builtin',) 11 | dnl @error{}stdin:4: m4: undefined builtin `' 12 | dnl @result{} 13 | -------------------------------------------------------------------------------- /checks/032.ifdef: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1759: Origin of test 2 | ifdef(`foo', ``foo' is defined', ``foo' is not defined') 3 | dnl @result{}foo is not defined 4 | define(`foo', `') 5 | dnl @result{} 6 | ifdef(`foo', ``foo' is defined', ``foo' is not defined') 7 | dnl @result{}foo is defined 8 | ifdef(`no_such_macro', `yes', `no', `extra argument') 9 | dnl @error{}stdin:4: m4: Warning: excess arguments to builtin `ifdef' ignored 10 | dnl @result{}no 11 | -------------------------------------------------------------------------------- /checks/032.ifelse: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1800: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | ifelse(`some comments') 8 | dnl @result{} 9 | ifelse(`foo', `bar') 10 | dnl @error{}m4:stdin:2: Warning: too few arguments to builtin `ifelse' 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/035.ifelse: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1847: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | ifelse(`foo', `bar', `third', `gnu', `gnats', `sixth', `seventh') 8 | dnl @result{}seventh 9 | -------------------------------------------------------------------------------- /checks/036.ifelse: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1851: Origin of test 2 | ifelse(`foo', `bar', `third', `gnu', `gnats', `sixth', `seventh') 3 | dnl @result{}seventh 4 | -------------------------------------------------------------------------------- /checks/036.loops: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1879: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | shift 8 | dnl @result{}shift 9 | shift(`bar') 10 | dnl @result{} 11 | shift(`foo', `bar', `baz') 12 | dnl @result{}bar,baz 13 | -------------------------------------------------------------------------------- /checks/037.ifelse: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1905: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | ifelse(`some comments') 8 | dnl @result{} 9 | ifelse(`foo', `bar') 10 | dnl @error{}m4:stdin:2: Warning: too few arguments to builtin `ifelse' 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/038.loops: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1927: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | include(`forloop.m4') 8 | dnl @result{} 9 | forloop(`i', `1', `8', `i ') 10 | dnl @result{}1 2 3 4 5 6 7 8 11 | -------------------------------------------------------------------------------- /checks/039.ifelse: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2022: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | ifelse(`some comments') 8 | dnl @result{} 9 | ifelse(`foo', `bar') 10 | dnl @error{}m4:stdin:2: Warning: too few arguments to builtin `ifelse' 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/04.arguments: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:996: Origin of test 2 | define(`test', ``Macro name: $0'') 3 | dnl @result{} 4 | test 5 | dnl @result{}Macro name: test 6 | -------------------------------------------------------------------------------- /checks/041.loops: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:1992: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | shift 8 | dnl @result{}shift 9 | shift(`bar') 10 | dnl @result{} 11 | shift(`foo', `bar', `baz') 12 | dnl @result{}bar,baz 13 | -------------------------------------------------------------------------------- /checks/043.dumpdef: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2036: Origin of test 2 | pushdef(`f', ``$0'1')pushdef(`f', ``$0'2') 3 | dnl @result{} 4 | f(popdef(`f')dumpdef(`f')) 5 | dnl @error{}f: ``$0'1' 6 | dnl @result{}f2 7 | f(popdef(`f')dumpdef(`f')) 8 | dnl @error{}stdin:3: m4: undefined macro `f' 9 | dnl @result{}f1 10 | -------------------------------------------------------------------------------- /checks/043.loops: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2041: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | include(`forloop.m4') 8 | dnl @result{} 9 | forloop(`i', `1', `8', `i ') 10 | dnl @result{}1 2 3 4 5 6 7 8 11 | -------------------------------------------------------------------------------- /checks/043.shift: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2109: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | shift 8 | dnl @result{}shift 9 | shift(`bar') 10 | dnl @result{} 11 | shift(`foo', `bar', `baz') 12 | dnl @result{}bar,baz 13 | -------------------------------------------------------------------------------- /checks/046.trace: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2132: Origin of test 2 | traceon(`eval', `m4_divnum') 3 | dnl @result{} 4 | define(`m4_eval', defn(`eval')) 5 | dnl @result{} 6 | define(`m4_divnum', defn(`divnum')) 7 | dnl @result{} 8 | eval(divnum) 9 | dnl @error{}m4trace: -1- eval(`0') -> `0' 10 | dnl @result{}0 11 | m4_eval(m4_divnum) 12 | dnl @error{}m4trace: -2- m4_divnum -> `0' 13 | dnl @result{}0 14 | -------------------------------------------------------------------------------- /checks/047.debug_level: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2226: Origin of test 2 | define(`foo', `FOO') 3 | dnl @result{} 4 | traceon(`foo') 5 | dnl @result{} 6 | debugmode() 7 | dnl @result{} 8 | foo 9 | dnl @error{}m4trace: -1- foo -> `FOO' 10 | dnl @result{}FOO 11 | debugmode 12 | dnl @result{} 13 | foo 14 | dnl @error{}m4trace: -1- foo 15 | dnl @result{}FOO 16 | debugmode(`+l') 17 | dnl @result{} 18 | foo 19 | dnl @error{}m4trace:8: -1- foo 20 | dnl @result{}FOO 21 | -------------------------------------------------------------------------------- /checks/047.forloop: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2221: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | include(`forloop.m4') 8 | dnl @result{} 9 | forloop(`i', `1', `8', `i ') 10 | dnl @result{}1 2 3 4 5 6 7 8 11 | -------------------------------------------------------------------------------- /checks/048.dnl: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2319: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. 8 | foo 9 | dnl @result{}Macro foo. 10 | -------------------------------------------------------------------------------- /checks/049.shift: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2426: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | shift 9 | dnl @result{}shift 10 | shift(`bar') 11 | dnl @result{} 12 | shift(`foo', `bar', `baz') 13 | dnl @result{}bar,baz 14 | -------------------------------------------------------------------------------- /checks/05.arguments: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1006: Origin of test 2 | define(`foo', `This is macro `foo'.') 3 | dnl @result{} 4 | foo 5 | dnl @result{}This is macro foo. 6 | -------------------------------------------------------------------------------- /checks/051.changequot: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2377: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changequote(`[', `]') 8 | dnl @result{} 9 | define([foo], [Macro [foo].]) 10 | dnl @result{} 11 | foo 12 | dnl @result{}Macro foo. 13 | -------------------------------------------------------------------------------- /checks/051.changequote: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2362: Origin of test 2 | changequote(`[', `]') 3 | dnl @result{} 4 | define([foo], [Macro [foo].]) 5 | dnl @result{} 6 | foo 7 | dnl @result{}Macro foo. 8 | -------------------------------------------------------------------------------- /checks/052.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/052.changequot -------------------------------------------------------------------------------- /checks/052.changequote: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2374: Origin of test 2 | changequote(`[[[', `]]]') 3 | dnl @result{} 4 | define([[[foo]]], [[[Macro [[[[[foo]]]]].]]]) 5 | dnl @result{} 6 | foo 7 | dnl @result{}Macro [[foo]]. 8 | -------------------------------------------------------------------------------- /checks/053.changequot: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2406: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changequote(`[[[', `]]]') 8 | dnl @result{} 9 | define([[[foo]]], [[[Macro [[[[[foo]]]]].]]]) 10 | dnl @result{} 11 | foo 12 | dnl @result{}Macro [[foo]]. 13 | -------------------------------------------------------------------------------- /checks/053.changequote: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2386: Origin of test 2 | define(`foo', `Macro `FOO'.') 3 | dnl @result{} 4 | changequote(, ) 5 | dnl @result{} 6 | foo 7 | dnl @result{}Macro `FOO'. 8 | `foo' 9 | dnl @result{}`Macro `FOO'.' 10 | -------------------------------------------------------------------------------- /checks/053.dnl: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2433: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. 8 | foo 9 | dnl @result{}Macro foo. 10 | -------------------------------------------------------------------------------- /checks/054.changecom: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2432: Origin of test 2 | define(`comment', `COMMENT') 3 | dnl @result{} 4 | # A normal comment 5 | dnl @result{}# A normal comment 6 | changecom(`/*', `*/') 7 | dnl @result{} 8 | # Not a comment anymore 9 | dnl @result{}# Not a COMMENT anymore 10 | But: /* this is a comment now */ while this is not a comment 11 | dnl @result{}But: /* this is a comment now */ while this is not a COMMENT 12 | -------------------------------------------------------------------------------- /checks/054.forloop: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2566: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | include(`forloop.m4') 9 | dnl @result{} 10 | forloop(`i', `1', `8', `i ') 11 | dnl @result{}1 2 3 4 5 6 7 8 12 | -------------------------------------------------------------------------------- /checks/055.changecom: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2455: Origin of test 2 | define(`comment', `COMMENT') 3 | dnl @result{} 4 | changecom 5 | dnl @result{} 6 | # Not a comment anymore 7 | dnl @result{}# Not a COMMENT anymore 8 | changecom(`#') 9 | dnl @result{} 10 | # comment again 11 | dnl @result{}# comment again 12 | -------------------------------------------------------------------------------- /checks/056.changequot: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2491: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changequote(`[', `]') 8 | dnl @result{} 9 | define([foo], [Macro [foo].]) 10 | dnl @result{} 11 | foo 12 | dnl @result{}Macro foo. 13 | -------------------------------------------------------------------------------- /checks/056.changeword: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2510: Origin of test 2 | ifdef(`changeword', `', `m4exit(`77')') 3 | dnl @result{} 4 | changeword(`[_a-zA-Z0-9]+') 5 | dnl @result{} 6 | define(`1', `0')1 7 | dnl @result{}0 8 | -------------------------------------------------------------------------------- /checks/057.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/057.changequot -------------------------------------------------------------------------------- /checks/057.changeword: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2523: Origin of test 2 | ifdef(`changeword', `', `m4exit(`77')') 3 | dnl @result{} 4 | define(`_indir', defn(`indir')) 5 | dnl @result{} 6 | changeword(`_[_a-zA-Z0-9]*') 7 | dnl @result{} 8 | esyscmd(`foo') 9 | dnl @result{}esyscmd(foo) 10 | _indir(`esyscmd', `echo hi') 11 | dnl @result{}hi 12 | dnl @result{} 13 | -------------------------------------------------------------------------------- /checks/058.changequot: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2520: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changequote(`[[[', `]]]') 8 | dnl @result{} 9 | define([[[foo]]], [[[Macro [[[[[foo]]]]].]]]) 10 | dnl @result{} 11 | foo 12 | dnl @result{}Macro [[foo]]. 13 | -------------------------------------------------------------------------------- /checks/058.changeword: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2546: Origin of test 2 | ifdef(`changeword', `', `m4exit(`77')') 3 | dnl @result{} 4 | changecom(`/*', `*/')dnl 5 | define(`foo', `bar')dnl 6 | changeword(`#\([_a-zA-Z0-9]*\)') 7 | dnl @result{} 8 | #esyscmd(`echo foo \#foo') 9 | dnl @result{}foo bar 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/059.changeword: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2581: Origin of test 2 | ifdef(`changeword', `', `m4exit(`77')') 3 | dnl @result{} 4 | define(`a', `errprint(`Hello')')dnl 5 | changeword(`@\([_a-zA-Z0-9]*\)') 6 | dnl @result{} 7 | @a 8 | dnl @result{}errprint(Hello) 9 | -------------------------------------------------------------------------------- /checks/06.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1030: Origin of test 2 | define(`nargs', `$#') 3 | dnl @result{} 4 | nargs 5 | dnl @result{}0 6 | nargs() 7 | dnl @result{}1 8 | nargs(arg1, arg2, arg3) 9 | dnl @result{}3 10 | -------------------------------------------------------------------------------- /checks/060.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2631: Origin of test 2 | define(`cleanup', `This is the `cleanup' action. 3 | ') 4 | dnl @result{} 5 | m4wrap(`cleanup') 6 | dnl @result{} 7 | This is the first and last normal input line. 8 | dnl @result{}This is the first and last normal input line. 9 | dnl @result{}This is the cleanup action. 10 | -------------------------------------------------------------------------------- /checks/061.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/061.changecom -------------------------------------------------------------------------------- /checks/061.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2660: Origin of test 2 | define(`f', `ifelse(`$1', `0', `Answer: 0!=1 3 | ', eval(`$1>1'), `0', `Answer: $2$1=eval(`$2$1') 4 | ', `m4wrap(`f(decr(`$1'), `$2$1*')')')') 5 | dnl @result{} 6 | f(`10') 7 | dnl @result{} 8 | dnl @result{}Answer: 10*9*8*7*6*5*4*3*2*1=3628800 9 | -------------------------------------------------------------------------------- /checks/062.changecom: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2605: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`hi', `HI') 8 | dnl @result{} 9 | changecom(`q', `Q') 10 | dnl @result{} 11 | q hi Q hi 12 | dnl @result{}q hi Q HI 13 | -------------------------------------------------------------------------------- /checks/062.dnl: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2761: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. 8 | foo 9 | dnl @result{}Macro foo. 10 | -------------------------------------------------------------------------------- /checks/062.include: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2706: Origin of test 2 | include(`none') 3 | dnl @result{} 4 | dnl @error{}stdin:1: m4: cannot open `none': No such file or directory 5 | include() 6 | dnl @result{} 7 | dnl @error{}stdin:2: m4: cannot open `': No such file or directory 8 | sinclude(`none') 9 | dnl @result{} 10 | sinclude() 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/063.builtin: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:2659: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | builtin(`include', `foo')dnl 11 | dnl @result{}bar 12 | -------------------------------------------------------------------------------- /checks/063.changequot: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2634: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | `dangling quote 8 | dnl @error{}m4:stdin:1: ERROR: end of file in string 9 | -------------------------------------------------------------------------------- /checks/063.include: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2734: Origin of test 2 | define(`foo', `FOO') 3 | dnl @result{} 4 | include(`incl.m4') 5 | dnl @result{}Include file start 6 | dnl @result{}FOO 7 | dnl @result{}Include file end 8 | dnl @result{} 9 | -------------------------------------------------------------------------------- /checks/064.include: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2749: Origin of test 2 | define(`bar', include(`incl.m4')) 3 | dnl @result{} 4 | This is `bar': >>bar<< 5 | dnl @result{}This is bar: >>Include file start 6 | dnl @result{}foo 7 | dnl @result{}Include file end 8 | dnl @result{}<< 9 | -------------------------------------------------------------------------------- /checks/065.changequot: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2820: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changequote(`[', `]') 8 | dnl @result{} 9 | define([foo], [Macro [foo].]) 10 | dnl @result{} 11 | foo 12 | dnl @result{}Macro foo. 13 | -------------------------------------------------------------------------------- /checks/065.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2830: Origin of test 2 | divert(`1') 3 | This text is diverted. 4 | divert 5 | dnl @result{} 6 | This text is not diverted. 7 | dnl @result{}This text is not diverted. 8 | dnl @result{} 9 | dnl @result{}This text is diverted. 10 | -------------------------------------------------------------------------------- /checks/066.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/066.changecom -------------------------------------------------------------------------------- /checks/066.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/066.changequot -------------------------------------------------------------------------------- /checks/066.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2846: Origin of test 2 | define(`text', `TEXT') 3 | dnl @result{} 4 | divert(`1')`diverted text.' 5 | divert 6 | dnl @result{} 7 | m4wrap(`Wrapped text preceeds ') 8 | dnl @result{} 9 | dnl @result{}Wrapped TEXT preceeds diverted text. 10 | -------------------------------------------------------------------------------- /checks/067.changecom: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2719: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`hi', `HI') 8 | dnl @result{} 9 | changecom(`q', `Q') 10 | dnl @result{} 11 | q hi Q hi 12 | dnl @result{}q hi Q HI 13 | -------------------------------------------------------------------------------- /checks/067.changequot: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2850: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changequote(`[[[', `]]]') 8 | dnl @result{} 9 | define([[[foo]]], [[[Macro [[[[[foo]]]]].]]]) 10 | dnl @result{} 11 | foo 12 | dnl @result{}Macro [[foo]]. 13 | -------------------------------------------------------------------------------- /checks/067.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2863: Origin of test 2 | divert(`-1') 3 | define(`foo', `Macro `foo'.') 4 | define(`bar', `Macro `bar'.') 5 | divert 6 | dnl @result{} 7 | -------------------------------------------------------------------------------- /checks/068.undivert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2888: Origin of test 2 | divert(`1') 3 | This text is diverted. 4 | divert 5 | dnl @result{} 6 | This text is not diverted. 7 | dnl @result{}This text is not diverted. 8 | undivert(`1') 9 | dnl @result{} 10 | dnl @result{}This text is diverted. 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/069.changecom: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2759: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changecom(`/*', `*/') 8 | dnl @result{} 9 | /*dangling comment 10 | dnl @error{}m4:stdin:1: ERROR: end of file in comment 11 | -------------------------------------------------------------------------------- /checks/069.dnl: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3125: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. 9 | foo 10 | dnl @result{}Macro foo. 11 | -------------------------------------------------------------------------------- /checks/069.undivert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2911: Origin of test 2 | divert(`1')diverted text 3 | divert 4 | dnl @result{} 5 | undivert() 6 | dnl @result{} 7 | undivert(`0') 8 | dnl @result{} 9 | undivert 10 | dnl @result{}diverted text 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/07.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1044: Origin of test 2 | define(`echo', `$*') 3 | dnl @result{} 4 | echo(arg1, arg2, arg3 , arg4) 5 | dnl @result{}arg1,arg2,arg3 ,arg4 6 | -------------------------------------------------------------------------------- /checks/070.undivert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2927: Origin of test 2 | divert(`1') 3 | This text is diverted first. 4 | divert(`0')undivert(`1')dnl 5 | dnl @result{} 6 | dnl @result{}This text is diverted first. 7 | undivert(`1') 8 | dnl @result{} 9 | divert(`1') 10 | This text is also diverted but not appended. 11 | divert(`0')undivert(`1')dnl 12 | dnl @result{} 13 | dnl @result{}This text is also diverted but not appended. 14 | -------------------------------------------------------------------------------- /checks/071.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2859: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`aa', `AA 8 | ') 9 | dnl @result{} 10 | m4wrap(`a')m4wrap(`a') 11 | dnl @result{} 12 | dnl @result{}AA 13 | -------------------------------------------------------------------------------- /checks/071.undivert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2946: Origin of test 2 | divert(`1')one 3 | divert(`2')two 4 | divert(`3')three 5 | divert(`2')undivert`'dnl 6 | divert`'undivert`'dnl 7 | dnl @result{}two 8 | dnl @result{}one 9 | dnl @result{}three 10 | -------------------------------------------------------------------------------- /checks/072.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2873: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | m4wrap(`m4wrap(`)')len(abc') 8 | dnl @result{} 9 | dnl @error{}m4: ERROR: end of file in argument list 10 | -------------------------------------------------------------------------------- /checks/072.undivert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2966: Origin of test 2 | define(`bar', `BAR') 3 | dnl @result{} 4 | undivert(`foo') 5 | dnl @result{}bar 6 | dnl @result{} 7 | include(`foo') 8 | dnl @result{}BAR 9 | dnl @result{} 10 | -------------------------------------------------------------------------------- /checks/073.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/073.changequot -------------------------------------------------------------------------------- /checks/073.divnum: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:2990: Origin of test 2 | Initial divnum 3 | dnl @result{}Initial 0 4 | divert(`1') 5 | Diversion one: divnum 6 | divert(`2') 7 | Diversion two: divnum 8 | dnl @result{} 9 | dnl @result{}Diversion one: 1 10 | dnl @result{} 11 | dnl @result{}Diversion two: 2 12 | -------------------------------------------------------------------------------- /checks/074.cleardiv: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3016: Origin of test 2 | divert(`1') 3 | Diversion one: divnum 4 | divert(`2') 5 | Diversion two: divnum 6 | divert(`-1') 7 | undivert 8 | -------------------------------------------------------------------------------- /checks/075.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/075.changecom -------------------------------------------------------------------------------- /checks/075.cleardiv: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3035: Origin of test 2 | define(`cleardivert', 3 | `pushdef(`_n', divnum)divert(`-1')undivert($@)divert(_n)popdef(`_n')') 4 | dnl @result{} 5 | -------------------------------------------------------------------------------- /checks/076.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3074: Origin of test 2 | len() 3 | dnl @result{}0 4 | len(`abcdef') 5 | dnl @result{}6 6 | -------------------------------------------------------------------------------- /checks/077.dnl: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3284: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. 10 | foo 11 | dnl @result{}Macro foo. 12 | -------------------------------------------------------------------------------- /checks/077.index_macro: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3095: Origin of test 2 | index(`gnus, gnats, and armadillos', `nat') 3 | dnl @result{}7 4 | index(`gnus, gnats, and armadillos', `dag') 5 | dnl @result{}-1 6 | -------------------------------------------------------------------------------- /checks/077.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3011: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`aa', `AA 8 | ') 9 | dnl @result{} 10 | m4wrap(`a')m4wrap(`a') 11 | dnl @result{} 12 | dnl @result{}AA 13 | -------------------------------------------------------------------------------- /checks/078.changecom: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3136: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | changecom(`/*', `*/') 8 | dnl @result{} 9 | /*dangling comment 10 | dnl @error{}m4:stdin:2: ERROR: end of file in comment 11 | -------------------------------------------------------------------------------- /checks/078.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3078: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | divert(`-1') 8 | define(`foo', `Macro `foo'.') 9 | define(`bar', `Macro `bar'.') 10 | divert 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/078.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3025: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | m4wrap(`m4wrap(`)')len(abc') 8 | dnl @result{} 9 | dnl @error{}m4: ERROR: end of file in argument list 10 | -------------------------------------------------------------------------------- /checks/078.regexp: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3140: Origin of test 2 | regexp(`GNUs not Unix', `\<[a-z]\w+') 3 | dnl @result{}5 4 | regexp(`GNUs not Unix', `\> 33) 11 | dnl @result{}-2 12 | -------------------------------------------------------------------------------- /checks/089.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3331: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | index(`gnus, gnats, and armadillos', `nat') 8 | dnl @result{}7 9 | index(`gnus, gnats, and armadillos', `dag') 10 | dnl @result{}-1 11 | -------------------------------------------------------------------------------- /checks/09.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1065: Origin of test 2 | define(`echo1', `$*') 3 | dnl @result{} 4 | define(`echo2', `$@') 5 | dnl @result{} 6 | define(`foo', `This is macro `foo'.') 7 | dnl @result{} 8 | echo1(foo) 9 | dnl @result{}This is macro This is macro foo.. 10 | echo2(foo) 11 | dnl @result{}This is macro foo. 12 | -------------------------------------------------------------------------------- /checks/090.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/090.changecom -------------------------------------------------------------------------------- /checks/090.dnl: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3687: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. 10 | foo 11 | dnl @result{}Macro foo. 12 | -------------------------------------------------------------------------------- /checks/090.eval: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3567: Origin of test 2 | eval(`666', `10') 3 | dnl @result{}666 4 | eval(`666', `11') 5 | dnl @result{}556 6 | eval(`666', `6') 7 | dnl @result{}3030 8 | eval(`666', `6', `10') 9 | dnl @result{}0000003030 10 | eval(`-666', `6', `10') 11 | dnl @result{}-0000003030 12 | eval(`10', `', `0') 13 | dnl @result{}10 14 | `0r1:'eval(`10', `1', `11') 15 | dnl @result{}0r1:01111111111 16 | eval(`10', `16') 17 | dnl @result{}a 18 | -------------------------------------------------------------------------------- /checks/090.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3340: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | index(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `index' 9 | dnl @result{}0 10 | -------------------------------------------------------------------------------- /checks/090.undivert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3354: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`bar', `BAR') 8 | dnl @result{} 9 | undivert(`foo') 10 | dnl @result{}bar 11 | dnl @result{} 12 | include(`foo') 13 | dnl @result{}BAR 14 | dnl @result{} 15 | -------------------------------------------------------------------------------- /checks/091.platform_ma: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3640: Origin of test 2 | __gnu__ 3 | dnl @result{} 4 | ifdef(`__gnu__', `Extensions are active') 5 | dnl @result{}Extensions are active 6 | -------------------------------------------------------------------------------- /checks/092.cleardiv: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3404: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | divert(`1') 8 | Diversion one: divnum 9 | divert(`2') 10 | Diversion two: divnum 11 | divert(`-1') 12 | undivert 13 | -------------------------------------------------------------------------------- /checks/092.platform_ma: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3660: Origin of test 2 | define(`provided', `0') 3 | dnl @result{} 4 | ifdef(`__unix__', `define(`provided', incr(provided))') 5 | dnl @result{} 6 | ifdef(`__windows__', `define(`provided', incr(provided))') 7 | dnl @result{} 8 | ifdef(`__os2__', `define(`provided', incr(provided))') 9 | dnl @result{} 10 | provided 11 | dnl @result{}1 12 | -------------------------------------------------------------------------------- /checks/093.cleardiv: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3423: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`cleardivert', 8 | `pushdef(`_n', divnum)divert(`-1')undivert($@)divert(_n)popdef(`_n')') 9 | dnl @result{} 10 | -------------------------------------------------------------------------------- /checks/093.regexp: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3413: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | regexp(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `regexp' 9 | dnl @result{}0 10 | -------------------------------------------------------------------------------- /checks/093.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3693: Origin of test 2 | define(`foo', `FOO') 3 | dnl @result{} 4 | syscmd(`echo foo') 5 | dnl @result{}foo 6 | dnl @result{} 7 | -------------------------------------------------------------------------------- /checks/094.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/094.changequot -------------------------------------------------------------------------------- /checks/094.esyscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3724: Origin of test 2 | define(`foo', `FOO') 3 | dnl @result{} 4 | esyscmd(`echo foo') 5 | dnl @result{}FOO 6 | dnl @result{} 7 | -------------------------------------------------------------------------------- /checks/094.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3462: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | len() 8 | dnl @result{}0 9 | len(`abcdef') 10 | dnl @result{}6 11 | -------------------------------------------------------------------------------- /checks/094.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3802: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`aa', `AA 9 | ') 10 | dnl @result{} 11 | m4wrap(`a')m4wrap(`a') 12 | dnl @result{} 13 | dnl @result{}AA 14 | -------------------------------------------------------------------------------- /checks/094.substr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3437: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | substr(`gnus, gnats, and armadillos', `6') 8 | dnl @result{}gnats, and armadillos 9 | substr(`gnus, gnats, and armadillos', `6', `5') 10 | dnl @result{}gnats 11 | -------------------------------------------------------------------------------- /checks/095.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3483: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | index(`gnus, gnats, and armadillos', `nat') 8 | dnl @result{}7 9 | index(`gnus, gnats, and armadillos', `dag') 10 | dnl @result{}-1 11 | -------------------------------------------------------------------------------- /checks/095.m4wrap: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3817: Origin of test 2 | dnl @ expected status: 1 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | m4wrap(`m4wrap(`)')len(abc') 9 | dnl @result{} 10 | dnl @error{}m4:stdin:1: ERROR: end of file in argument list 11 | -------------------------------------------------------------------------------- /checks/096.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3729: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | divert(`-1') 8 | define(`foo', `Macro `foo'.') 9 | define(`bar', `Macro `bar'.') 10 | divert 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/096.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3492: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | index(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `index' 9 | dnl @result{}0 10 | -------------------------------------------------------------------------------- /checks/096.sysval: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3788: Origin of test 2 | dnl This test assumes kill is a shell builtin, and that signals are 3 | dnl recognizable. 4 | ifdef(`__unix__', , `m4exit(`77')')dnl 5 | syscmd(`kill -1 $$') 6 | dnl @result{} 7 | sysval 8 | dnl @result{}256 9 | esyscmd(`kill -9 $$') 10 | dnl @result{} 11 | sysval 12 | dnl @result{}2304 13 | -------------------------------------------------------------------------------- /checks/097.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3743: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | divert(eval(`1<<28'))world 8 | divert(`2')hello 9 | dnl @result{}hello 10 | dnl @result{}world 11 | -------------------------------------------------------------------------------- /checks/097.maketemp: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3835: Origin of test 2 | dnl This test assumes /tmp is a valid directory name, which is not true 3 | dnl for native Windows. 4 | ifdef(`__unix__', , `m4exit(`77')')dnl 5 | define(`file1', maketemp(`/tmp/fooXXXXXX'))dnl 6 | define(`file2', maketemp(`/tmp/fooXXXXXX'))dnl 7 | ifelse(file1, file2, `same', `different') 8 | dnl @result{}different 9 | syscmd(`rm 'file1 file2) 10 | dnl @result{} 11 | sysval 12 | dnl @result{}0 13 | -------------------------------------------------------------------------------- /checks/097.translit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3501: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | translit(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `translit' 9 | dnl @result{}abc 10 | -------------------------------------------------------------------------------- /checks/098.errprint: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3876: Origin of test 2 | errprint(`Invalid arguments to forloop 3 | ') 4 | dnl @error{}Invalid arguments to forloop 5 | dnl @result{} 6 | -------------------------------------------------------------------------------- /checks/099.errprint: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3898: Origin of test 2 | errprint(`m4:'__file__:__line__: `input error 3 | ') 4 | dnl @error{}m4:stdin:1: input error 5 | dnl @result{} 6 | -------------------------------------------------------------------------------- /checks/099.regexp: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3565: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | regexp(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `regexp' 9 | dnl @result{}0 10 | -------------------------------------------------------------------------------- /checks/10.pseudo_argu: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1085: Origin of test 2 | define(`foo', `$$$ hello $$$') 3 | dnl @result{} 4 | foo 5 | dnl @result{}$$$ hello $$$ 6 | -------------------------------------------------------------------------------- /checks/100.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/100.changequot -------------------------------------------------------------------------------- /checks/100.m4exit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3927: Origin of test 2 | define(`fatal_error', 3 | `errprint(`m4:'__file__:__line__`: fatal error: $* 4 | ')m4exit(`1')') 5 | dnl @result{} 6 | fatal_error(`this is a BAD one, buster') 7 | dnl @error{}m4:stdin:4: fatal error: this is a BAD one, buster 8 | -------------------------------------------------------------------------------- /checks/100.substr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3589: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | substr(`gnus, gnats, and armadillos', `6') 8 | dnl @result{}gnats, and armadillos 9 | substr(`gnus, gnats, and armadillos', `6', `5') 10 | dnl @result{}gnats 11 | -------------------------------------------------------------------------------- /checks/101.m4exit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3941: Origin of test 2 | m4wrap(`This text is lost to `m4exit'.') 3 | dnl @result{} 4 | divert(`1') And so is this. 5 | divert 6 | dnl @result{} 7 | m4exit 8 | -------------------------------------------------------------------------------- /checks/101.patsubst: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3602: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | patsubst(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `patsubst' 9 | dnl @result{}abc 10 | -------------------------------------------------------------------------------- /checks/103.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4108: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | divert(`-1') 9 | define(`foo', `Macro `foo'.') 10 | define(`bar', `Macro `bar'.') 11 | divert 12 | dnl @result{} 13 | -------------------------------------------------------------------------------- /checks/103.translit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3653: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | translit(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `translit' 9 | dnl @result{}abc 10 | -------------------------------------------------------------------------------- /checks/103.undivert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3868: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`bar', `BAR') 8 | dnl @result{} 9 | undivert(`foo') 10 | dnl @result{}bar 11 | dnl @result{} 12 | include(`foo') 13 | dnl @result{}BAR 14 | dnl @result{} 15 | -------------------------------------------------------------------------------- /checks/104.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4122: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | divert(eval(`1<<28'))world 9 | divert(`2')hello 10 | dnl @result{}hello 11 | dnl @result{}world 12 | -------------------------------------------------------------------------------- /checks/105.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/105.changecom -------------------------------------------------------------------------------- /checks/105.cleardiver: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3918: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | divert(`1') 8 | Diversion one: divnum 9 | divert(`2') 10 | Diversion two: divnum 11 | divert(`-1') 12 | undivert 13 | -------------------------------------------------------------------------------- /checks/106.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/106.changequot -------------------------------------------------------------------------------- /checks/106.cleardiver: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3937: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`cleardivert', 8 | `pushdef(`_n', divnum)divert(`-1')undivert($@)divert(_n)popdef(`_n')') 9 | dnl @result{} 10 | -------------------------------------------------------------------------------- /checks/107.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3977: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | len() 8 | dnl @result{}0 9 | len(`abcdef') 10 | dnl @result{}6 11 | -------------------------------------------------------------------------------- /checks/107.patsubst: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3754: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | patsubst(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `patsubst' 9 | dnl @result{}abc 10 | -------------------------------------------------------------------------------- /checks/108.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3998: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | index(`gnus, gnats, and armadillos', `nat') 8 | dnl @result{}7 9 | index(`gnus, gnats, and armadillos', `dag') 10 | dnl @result{}-1 11 | -------------------------------------------------------------------------------- /checks/108.platform_m: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3927: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | __gnu__ 8 | dnl @result{} 9 | ifdef(`__gnu__', `Extensions are active') 10 | dnl @result{}Extensions are active 11 | -------------------------------------------------------------------------------- /checks/109.changequot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/109.changequot -------------------------------------------------------------------------------- /checks/109.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4007: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | index(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `index' 9 | dnl @result{}0 10 | -------------------------------------------------------------------------------- /checks/11.undefine: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1116: Origin of test 2 | foo 3 | dnl @result{}foo 4 | define(`foo', `expansion text') 5 | dnl @result{} 6 | foo 7 | dnl @result{}expansion text 8 | undefine(`foo') 9 | dnl @result{} 10 | foo 11 | dnl @result{}foo 12 | -------------------------------------------------------------------------------- /checks/110.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:3981: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `FOO') 8 | dnl @result{} 9 | syscmd(`echo foo') 10 | dnl @result{}foo 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/111.esyscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4012: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `FOO') 8 | dnl @result{} 9 | esyscmd(`echo foo') 10 | dnl @result{}FOO 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/112.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/112.changecom -------------------------------------------------------------------------------- /checks/112.cleardiver: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4300: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | divert(`1') 9 | Diversion one: divnum 10 | divert(`2') 11 | Diversion two: divnum 12 | divert(`-1') 13 | undivert 14 | -------------------------------------------------------------------------------- /checks/112.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4284: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | divert(eval(`1<<28'))world 10 | divert(`2')hello 11 | dnl @result{}hello 12 | dnl @result{}world 13 | -------------------------------------------------------------------------------- /checks/112.regexp: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4080: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | regexp(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `regexp' 9 | dnl @result{}0 10 | -------------------------------------------------------------------------------- /checks/113.cleardiver: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4319: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`cleardivert', 9 | `pushdef(`_n', divnum)divert(`-1')undivert($@)divert(_n)popdef(`_n')') 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/113.substr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4104: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | substr(`gnus, gnats, and armadillos', `6') 8 | dnl @result{}gnats, and armadillos 9 | substr(`gnus, gnats, and armadillos', `6', `5') 10 | dnl @result{}gnats 11 | -------------------------------------------------------------------------------- /checks/114.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4359: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | len() 9 | dnl @result{}0 10 | len(`abcdef') 11 | dnl @result{}6 12 | -------------------------------------------------------------------------------- /checks/114.platform_m: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4079: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | __gnu__ 8 | dnl @result{} 9 | ifdef(`__gnu__', `Extensions are active') 10 | dnl @result{}Extensions are active 11 | -------------------------------------------------------------------------------- /checks/115.errprint: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4178: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | errprint(`Invalid arguments to forloop 8 | ') 9 | dnl @error{}Invalid arguments to forloop 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/116.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4390: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | index(`abc') 9 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `index' 10 | dnl @result{}0 11 | -------------------------------------------------------------------------------- /checks/116.location: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4205: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | errprint(__program__:__file__:__line__: `input error 8 | ') 9 | dnl @error{}m4:stdin:1: input error 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/116.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4133: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `FOO') 8 | dnl @result{} 9 | syscmd(`echo foo') 10 | dnl @result{}foo 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/116.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/116.translit -------------------------------------------------------------------------------- /checks/117.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4167: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | m4wrap(`syscmd(`cat')') 8 | dnl @result{} 9 | -------------------------------------------------------------------------------- /checks/117.translit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4193: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | translit(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `translit' 9 | dnl @result{}abc 10 | -------------------------------------------------------------------------------- /checks/118.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/118.changecom -------------------------------------------------------------------------------- /checks/118.esyscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4194: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `FOO') 8 | dnl @result{} 9 | esyscmd(`echo foo') 10 | dnl @result{}FOO 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/119.m4exit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4290: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | m4wrap(`This text is lost to `m4exit'.') 8 | dnl @result{} 9 | divert(`1') And so is this. 10 | divert 11 | dnl @result{} 12 | m4exit 13 | -------------------------------------------------------------------------------- /checks/119.regexp: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4468: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | regexp(`abc') 9 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `regexp' 10 | dnl @result{}0 11 | -------------------------------------------------------------------------------- /checks/12.defn: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1161: Origin of test 2 | define(`zap', defn(`undefine')) 3 | dnl @result{} 4 | zap(`undefine') 5 | dnl @result{} 6 | undefine(`zap') 7 | dnl @result{}undefine(zap) 8 | -------------------------------------------------------------------------------- /checks/121.changecom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/121.changecom -------------------------------------------------------------------------------- /checks/121.patsubst: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4294: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | patsubst(`abc') 8 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `patsubst' 9 | dnl @result{}abc 10 | -------------------------------------------------------------------------------- /checks/122.answers: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4825: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', ``$2', `$1'') 8 | dnl @result{} 9 | define(exch(`expansion text', `macro')) 10 | dnl @result{} 11 | macro 12 | dnl @result{}expansion text 13 | -------------------------------------------------------------------------------- /checks/122.errprint: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4366: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | errprint(`Invalid arguments to forloop 8 | ') 9 | dnl @error{}Invalid arguments to forloop 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/123.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4542: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | len() 10 | dnl @result{}0 11 | len(`abcdef') 12 | dnl @result{}6 13 | -------------------------------------------------------------------------------- /checks/123.location: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4393: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | errprint(__program__:__file__:__line__: `input error 8 | ') 9 | dnl @error{}m4:stdin:1: input error 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/123.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/123.translit -------------------------------------------------------------------------------- /checks/124.translit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4581: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | translit(`abc') 9 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `translit' 10 | dnl @result{}abc 11 | -------------------------------------------------------------------------------- /checks/126.m4exit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4478: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | m4wrap(`This text is lost to `m4exit'.') 8 | dnl @result{} 9 | divert(`1') And so is this. 10 | divert 11 | dnl @result{} 12 | m4exit 13 | -------------------------------------------------------------------------------- /checks/128.patsubst: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4684: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | patsubst(`abc') 9 | dnl @error{}m4:stdin:1: Warning: too few arguments to builtin `patsubst' 10 | dnl @result{}abc 11 | -------------------------------------------------------------------------------- /checks/128.platform_m: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4620: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | __gnu__ 8 | dnl @result{} 9 | ifdef(`__gnu__', `Extensions are active') 10 | dnl @result{}Extensions are active 11 | -------------------------------------------------------------------------------- /checks/129.answers: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5023: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', ``$2', `$1'') 8 | dnl @result{} 9 | define(exch(`expansion text', `macro')) 10 | dnl @result{} 11 | macro 12 | dnl @result{}expansion text 13 | -------------------------------------------------------------------------------- /checks/13.pushdef: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1207: Origin of test 2 | define(`foo', `Expansion one.') 3 | dnl @result{} 4 | foo 5 | dnl @result{}Expansion one. 6 | pushdef(`foo', `Expansion two.') 7 | dnl @result{} 8 | foo 9 | dnl @result{}Expansion two. 10 | popdef(`foo') 11 | dnl @result{} 12 | foo 13 | dnl @result{}Expansion one. 14 | popdef(`foo') 15 | dnl @result{} 16 | foo 17 | dnl @result{}foo 18 | -------------------------------------------------------------------------------- /checks/130.divert: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4807: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | divert(eval(`1<<28'))world 10 | divert(`2')hello 11 | dnl @result{}hello 12 | dnl @result{}world 13 | -------------------------------------------------------------------------------- /checks/130.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4674: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `FOO') 8 | dnl @result{} 9 | syscmd(`echo foo') 10 | dnl @result{}foo 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/131.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4709: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | m4wrap(`syscmd(`cat')') 8 | dnl @result{} 9 | -------------------------------------------------------------------------------- /checks/132.esyscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4736: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`foo', `FOO') 8 | dnl @result{} 9 | esyscmd(`echo foo') 10 | dnl @result{}FOO 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/132.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/132.translit -------------------------------------------------------------------------------- /checks/137.location: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:4975: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | errprint(__program__:__file__:__line__: `input error 8 | ') 9 | dnl @error{}m4:stdin:1: input error 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/138.platform_m: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5112: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | __gnu__ 9 | dnl @result{} 10 | ifdef(`__gnu__', `Extensions are active') 11 | dnl @result{}Extensions are active 12 | -------------------------------------------------------------------------------- /checks/14.pushdef: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1231: Origin of test 2 | define(`foo', `Expansion one.') 3 | dnl @result{} 4 | foo 5 | dnl @result{}Expansion one. 6 | pushdef(`foo', `Expansion two.') 7 | dnl @result{} 8 | foo 9 | dnl @result{}Expansion two. 10 | define(`foo', `Second expansion two.') 11 | dnl @result{} 12 | foo 13 | dnl @result{}Second expansion two. 14 | undefine(`foo') 15 | dnl @result{} 16 | foo 17 | dnl @result{}foo 18 | -------------------------------------------------------------------------------- /checks/140.m4exit: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5067: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | m4wrap(`This text is lost due to `m4exit'.') 8 | dnl @result{} 9 | divert(`1') So is this. 10 | divert 11 | dnl @result{} 12 | m4exit And this is never read. 13 | -------------------------------------------------------------------------------- /checks/140.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5165: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`foo', `FOO') 9 | dnl @result{} 10 | syscmd(`echo foo') 11 | dnl @result{}foo 12 | dnl @result{} 13 | -------------------------------------------------------------------------------- /checks/141.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5065: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | len() 10 | dnl @result{}0 11 | len(`abcdef') 12 | dnl @result{}6 13 | -------------------------------------------------------------------------------- /checks/141.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5200: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | m4wrap(`syscmd(`cat')') 9 | dnl @result{} 10 | -------------------------------------------------------------------------------- /checks/142.esyscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5227: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`foo', `FOO') 9 | dnl @result{} 10 | esyscmd(`echo foo') 11 | dnl @result{}FOO 12 | dnl @result{} 13 | -------------------------------------------------------------------------------- /checks/144.improved_e: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5670: Origin of test 2 | dnl @ Copyright (C) 2006 Free Software Foundation 3 | dnl @ This file is free software; the Free Software Foundation 4 | dnl @ gives unlimited permission to copy and/or distribute it 5 | dnl @ with or without modifications, as long as this notice 6 | dnl @ is preserved. 7 | define(`exch', ``$2', `$1'') 8 | dnl @result{} 9 | define(exch(`expansion text', `macro')) 10 | dnl @result{} 11 | macro 12 | dnl @result{}expansion text 13 | -------------------------------------------------------------------------------- /checks/147.location: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5480: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | errprint(__program__:__file__:__line__: `input error 9 | ') 10 | dnl @error{}m4:stdin:1: input error 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/15.indir: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1275: Origin of test 2 | define(`$$internal$macro', `Internal macro (name `$0')') 3 | dnl @result{} 4 | $$internal$macro 5 | dnl @result{}$$internal$macro 6 | indir(`$$internal$macro') 7 | dnl @result{}Internal macro (name $$internal$macro) 8 | -------------------------------------------------------------------------------- /checks/150.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/150.translit -------------------------------------------------------------------------------- /checks/151.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5295: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008 Free Software Foundation, 5 | dnl @ Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | len() 11 | dnl @result{}0 12 | len(`abcdef') 13 | dnl @result{}6 14 | -------------------------------------------------------------------------------- /checks/151.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5410: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | m4wrap(`syscmd(`cat')') 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/154.other_inco: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:6136: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 4 | dnl @ This file is free software; the Free Software Foundation 5 | dnl @ gives unlimited permission to copy and/or distribute it 6 | dnl @ with or without modifications, as long as this notice 7 | dnl @ is preserved. 8 | define(`x', `x') 9 | dnl @result{} 10 | define(`x', `x ') 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/158.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5556: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | len() 11 | dnl @result{}0 12 | len(`abcdef') 13 | dnl @result{}6 14 | -------------------------------------------------------------------------------- /checks/16.ifdef: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1346: Origin of test 2 | ifdef(`foo', ``foo' is defined', ``foo' is not defined') 3 | dnl @result{}foo is not defined 4 | define(`foo', `') 5 | dnl @result{} 6 | ifdef(`foo', ``foo' is defined', ``foo' is not defined') 7 | dnl @result{}foo is defined 8 | -------------------------------------------------------------------------------- /checks/160.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/160.translit -------------------------------------------------------------------------------- /checks/161.len: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:5627: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | len() 11 | dnl @result{}0 12 | len(`abcdef') 13 | dnl @result{}6 14 | -------------------------------------------------------------------------------- /checks/165.index_macr: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:5682: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | index(`..wi.d.', `.d.') 11 | dnl @result{}4 12 | -------------------------------------------------------------------------------- /checks/165.other_inco: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:6383: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`x', `x') 10 | dnl @result{} 11 | define(`x', `x ') 12 | dnl @result{} 13 | -------------------------------------------------------------------------------- /checks/167.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/167.translit -------------------------------------------------------------------------------- /checks/17.ifelse: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1384: Origin of test 2 | ifelse(foo, bar, `true') 3 | dnl @result{} 4 | ifelse(foo, foo, `true') 5 | dnl @result{}true 6 | ifelse(foo, bar, `true', `false') 7 | dnl @result{}false 8 | ifelse(foo, foo, `true', `false') 9 | dnl @result{}true 10 | -------------------------------------------------------------------------------- /checks/170.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/170.translit -------------------------------------------------------------------------------- /checks/171.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:5995: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | m4wrap(`syscmd(`cat')') 10 | dnl @result{} 11 | -------------------------------------------------------------------------------- /checks/172.translit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/checks/172.translit -------------------------------------------------------------------------------- /checks/18.ifelse: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1403: Origin of test 2 | ifelse(foo, bar, `third', gnu, gnats, `sixth', `seventh') 3 | dnl @result{}seventh 4 | -------------------------------------------------------------------------------- /checks/181.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:6225: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008 Free Software Foundation, 5 | dnl @ Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | m4wrap(`syscmd(`cat')') 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/187.other_inco: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:7020: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007 Free Software Foundation 5 | dnl @ This file is free software; the Free Software Foundation 6 | dnl @ gives unlimited permission to copy and/or distribute it 7 | dnl @ with or without modifications, as long as this notice 8 | dnl @ is preserved. 9 | define(`x', `x') 10 | dnl @result{} 11 | define(`x', `x ') 12 | dnl @result{} 13 | -------------------------------------------------------------------------------- /checks/189.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:6522: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | m4wrap(`syscmd(`cat')') 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/19.loops: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1440: Origin of test 2 | shift(bar) 3 | dnl @result{} 4 | shift(foo, bar, baz) 5 | dnl @result{}bar,baz 6 | -------------------------------------------------------------------------------- /checks/193.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:6581: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | m4wrap(`syscmd(`cat')') 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/194.using_froz: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:6819: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -F /dev/null 4 | dnl @ Copyright (C) 2006, 2007, 2008 Free Software Foundation, 5 | dnl @ Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | traceon(`undefined')dnl 11 | -------------------------------------------------------------------------------- /checks/195.syscmd: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:6624: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | m4wrap(`syscmd(`cat')') 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/20.loops: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1450: Origin of test 2 | define(`reverse', `ifelse($#, 0, , $#, 1, ``$1'', 3 | `reverse(shift($@)), `$1'')') 4 | dnl @result{} 5 | reverse 6 | dnl @result{} 7 | reverse(foo) 8 | dnl @result{}foo 9 | reverse(foo, bar, gnats, and gnus) 10 | dnl @result{}and gnus, gnats, bar, foo 11 | -------------------------------------------------------------------------------- /checks/202.using_froz: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:7125: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -F /dev/null 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | traceon(`undefined')dnl 11 | -------------------------------------------------------------------------------- /checks/205.using_froz: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:7172: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -F /dev/null 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | traceon(`undefined')dnl 11 | -------------------------------------------------------------------------------- /checks/206.using_froz: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texinfo:7184: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -F /dev/null 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | traceon(`undefined')dnl 11 | -------------------------------------------------------------------------------- /checks/208.using_froz: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:7227: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -F /dev/null 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | traceon(`undefined')dnl 11 | -------------------------------------------------------------------------------- /checks/21.dumpdef: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1564: Origin of test 2 | define(`foo', `Hello world.') 3 | dnl @result{} 4 | dumpdef(`foo') 5 | dnl @error{}foo: `Hello world.' 6 | dnl @result{} 7 | dumpdef(`define') 8 | dnl @error{}define: 9 | dnl @result{} 10 | -------------------------------------------------------------------------------- /checks/22.trace: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1609: Origin of test 2 | define(`foo', `Hello World.') 3 | dnl @result{} 4 | define(`echo', `$@') 5 | dnl @result{} 6 | traceon(`foo', `echo') 7 | dnl @result{} 8 | foo 9 | dnl @error{}m4trace: -1- foo -> `Hello World.' 10 | dnl @result{}Hello World. 11 | echo(gnus, and gnats) 12 | dnl @error{}m4trace: -1- echo(`gnus', `and gnats') -> ``gnus',`and gnats'' 13 | dnl @result{}gnus,and gnats 14 | -------------------------------------------------------------------------------- /checks/227.improved_f: -------------------------------------------------------------------------------- 1 | dnl @ ../doc/m4.texi:8300: Origin of test 2 | dnl @ expected status: 0 3 | dnl @ extra options: -Dlimit=2500 -Dalt=4 4 | dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software 5 | dnl @ Foundation, Inc. 6 | dnl @ This file is free software; the Free Software Foundation 7 | dnl @ gives unlimited permission to copy and/or distribute it 8 | dnl @ with or without modifications, as long as this notice 9 | dnl @ is preserved. 10 | include(`loop.m4')dnl 11 | -------------------------------------------------------------------------------- /checks/23.dnl: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1760: Origin of test 2 | define(`foo', `Macro `foo'.')dnl A very simple macro, indeed. 3 | foo 4 | dnl @result{}Macro foo. 5 | -------------------------------------------------------------------------------- /checks/24.changequote: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1798: Origin of test 2 | changequote([, ]) 3 | dnl @result{} 4 | define([foo], [Macro [foo].]) 5 | dnl @result{} 6 | foo 7 | dnl @result{}Macro foo. 8 | -------------------------------------------------------------------------------- /checks/25.changequote: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1810: Origin of test 2 | changequote([[, ]]) 3 | dnl @result{} 4 | define([[foo]], [[Macro [[[foo]]].]]) 5 | dnl @result{} 6 | foo 7 | dnl @result{}Macro [foo]. 8 | -------------------------------------------------------------------------------- /checks/26.changequote: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1822: Origin of test 2 | define(`foo', `Macro `FOO'.') 3 | dnl @result{} 4 | changequote(, ) 5 | dnl @result{} 6 | foo 7 | dnl @result{}Macro `FOO'. 8 | `foo' 9 | dnl @result{}`Macro `FOO'.' 10 | -------------------------------------------------------------------------------- /checks/27.changecom: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1862: Origin of test 2 | define(`comment', `COMMENT') 3 | dnl @result{} 4 | # A normal comment 5 | dnl @result{}# A normal comment 6 | changecom(`/*', `*/') 7 | dnl @result{} 8 | # Not a comment anymore 9 | dnl @result{}# Not a COMMENT anymore 10 | But: /* this is a comment now */ while this is not a comment 11 | dnl @result{}But: /* this is a comment now */ while this is not a COMMENT 12 | -------------------------------------------------------------------------------- /checks/28.changecom: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:1883: Origin of test 2 | define(`comment', `COMMENT') 3 | dnl @result{} 4 | changecom 5 | dnl @result{} 6 | # Not a comment anymore 7 | dnl @result{}# Not a COMMENT anymore 8 | -------------------------------------------------------------------------------- /checks/29.m4wrap: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2022: Origin of test 2 | define(`cleanup', `This is the `cleanup' actions. 3 | ') 4 | dnl @result{} 5 | m4wrap(`cleanup') 6 | dnl @result{} 7 | This is the first and last normal input line. 8 | dnl @result{}This is the first and last normal input line. 9 | dnl @result{}This is the cleanup actions. 10 | -------------------------------------------------------------------------------- /checks/30.include: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2081: Origin of test 2 | include(`no-such-file') 3 | dnl @result{} 4 | dnl @error{}30.include:2: m4: Cannot open no-such-file: No such file or directory 5 | sinclude(`no-such-file') 6 | dnl @result{} 7 | -------------------------------------------------------------------------------- /checks/31.include: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2101: Origin of test 2 | define(`foo', `FOO') 3 | dnl @result{} 4 | include(`incl.m4') 5 | dnl @result{}Include file start 6 | dnl @result{}FOO 7 | dnl @result{}Include file end 8 | dnl @result{} 9 | -------------------------------------------------------------------------------- /checks/32.include: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2116: Origin of test 2 | define(`bar', include(`incl.m4')) 3 | dnl @result{} 4 | This is `bar': >>>bar<<< 5 | dnl @result{}This is bar: >>>Include file start 6 | dnl @result{}foo 7 | dnl @result{}Include file end 8 | dnl @result{}<<< 9 | -------------------------------------------------------------------------------- /checks/33.divert: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2204: Origin of test 2 | divert(1) 3 | This text is diverted. 4 | divert 5 | dnl @result{} 6 | This text is not diverted. 7 | dnl @result{}This text is not diverted. 8 | dnl @result{} 9 | dnl @result{}This text is diverted. 10 | -------------------------------------------------------------------------------- /checks/34.divert: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2224: Origin of test 2 | divert(-1) 3 | define(`foo', `Macro `foo'.') 4 | define(`bar', `Macro `bar'.') 5 | divert 6 | dnl @result{} 7 | -------------------------------------------------------------------------------- /checks/35.undivert: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2255: Origin of test 2 | divert(1) 3 | This text is diverted. 4 | divert 5 | dnl @result{} 6 | This text is not diverted. 7 | dnl @result{}This text is not diverted. 8 | undivert(1) 9 | dnl @result{} 10 | dnl @result{}This text is diverted. 11 | dnl @result{} 12 | -------------------------------------------------------------------------------- /checks/36.undivert: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2279: Origin of test 2 | divert(1) 3 | This text is diverted first. 4 | divert(0)undivert(1)dnl 5 | dnl @result{} 6 | dnl @result{}This text is diverted first. 7 | undivert(1) 8 | dnl @result{} 9 | divert(1) 10 | This text is also diverted but not appended. 11 | divert(0)undivert(1)dnl 12 | dnl @result{} 13 | dnl @result{}This text is also diverted but not appended. 14 | -------------------------------------------------------------------------------- /checks/37.undivert: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2305: Origin of test 2 | define(`bar', `BAR') 3 | dnl @result{} 4 | undivert(`foo') 5 | dnl @result{}bar 6 | dnl @result{} 7 | include(`foo') 8 | dnl @result{}BAR 9 | dnl @result{} 10 | -------------------------------------------------------------------------------- /checks/38.divnum: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2331: Origin of test 2 | Initial divnum 3 | dnl @result{}Initial 0 4 | divert(1) 5 | Diversion one: divnum 6 | divert(2) 7 | Diversion two: divnum 8 | divert 9 | dnl @result{} 10 | dnl @result{} 11 | dnl @result{}Diversion one: 1 12 | dnl @result{} 13 | dnl @result{}Diversion two: 2 14 | -------------------------------------------------------------------------------- /checks/39.cleardiv: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2362: Origin of test 2 | divert(1) 3 | Diversion one: divnum 4 | divert(2) 5 | Diversion two: divnum 6 | divert(-1) 7 | undivert 8 | -------------------------------------------------------------------------------- /checks/40.cleardiv: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2377: Origin of test 2 | define(`cleardivert', 3 | `pushdef(`_num', divnum)divert(-1)undivert($@)divert(_num)popdef(`_num')') 4 | dnl @result{} 5 | -------------------------------------------------------------------------------- /checks/41.len: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2419: Origin of test 2 | len() 3 | dnl @result{}0 4 | len(`abcdef') 5 | dnl @result{}6 6 | -------------------------------------------------------------------------------- /checks/42.index: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2445: Origin of test 2 | index(`gnus, gnats, and armadillos', `nat') 3 | dnl @result{}7 4 | index(`gnus, gnats, and armadillos', `dag') 5 | dnl @result{}-1 6 | -------------------------------------------------------------------------------- /checks/42.index_macro: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2445: Origin of test 2 | index(`gnus, gnats, and armadillos', `nat') 3 | dnl @result{}7 4 | index(`gnus, gnats, and armadillos', `dag') 5 | dnl @result{}-1 6 | -------------------------------------------------------------------------------- /checks/43.regexp: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2477: Origin of test 2 | regexp(`GNUs not Unix', `\<[a-z]\w+') 3 | dnl @result{}5 4 | regexp(`GNUs not Unix', `\= 0) 5 | dnl @result{}1 6 | define(`square', `eval(($1)**2)') 7 | dnl @result{} 8 | square(9) 9 | dnl @result{}81 10 | square(square(5)+1) 11 | dnl @result{}676 12 | define(`foo', `666') 13 | dnl @result{} 14 | eval(`foo'/6) 15 | dnl @error{}51.eval:14: m4: Bad expression in eval: foo/6 16 | dnl @result{} 17 | eval(foo/6) 18 | dnl @result{}111 19 | -------------------------------------------------------------------------------- /checks/52.eval: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2842: Origin of test 2 | eval(666, 10) 3 | dnl @result{}666 4 | eval(666, 11) 5 | dnl @result{}556 6 | eval(666, 6) 7 | dnl @result{}3030 8 | eval(666, 6, 10) 9 | dnl @result{}0000003030 10 | eval(-666, 6, 10) 11 | dnl @result{}-000003030 12 | -------------------------------------------------------------------------------- /checks/53.esyscmd: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2927: Origin of test 2 | define(`vice', `esyscmd(grep Vice ../COPYING)') 3 | dnl @result{} 4 | vice 5 | dnl @result{} Ty Coon, President of Vice 6 | dnl @result{} 7 | -------------------------------------------------------------------------------- /checks/54.sysval: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:2958: Origin of test 2 | syscmd(`false') 3 | dnl @result{} 4 | ifelse(sysval, 0, zero, non-zero) 5 | dnl @result{}non-zero 6 | syscmd(`true') 7 | dnl @result{} 8 | sysval 9 | dnl @result{}0 10 | -------------------------------------------------------------------------------- /checks/55.errprint: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:3030: Origin of test 2 | errprint(`Illegal arguments to forloop 3 | ') 4 | dnl @error{}Illegal arguments to forloop 5 | dnl @result{} 6 | -------------------------------------------------------------------------------- /checks/56.errprint: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:3055: Origin of test 2 | errprint(`m4:'__file__:__line__: `Input error 3 | ') 4 | dnl @error{}m4:56.errprint:2: Input error 5 | dnl @result{} 6 | -------------------------------------------------------------------------------- /checks/57.m4exit: -------------------------------------------------------------------------------- 1 | dnl ../doc/m4.texinfo:3078: Origin of test 2 | define(`fatal_error', `errprint(`m4: '__file__: __line__`: fatal error: $* 3 | ')m4exit(1)') 4 | dnl @result{} 5 | fatal_error(`This is a BAD one, buster') 6 | dnl @error{}m4: 57.m4exit: 5: fatal error: This is a BAD one, buster 7 | -------------------------------------------------------------------------------- /checks/foo: -------------------------------------------------------------------------------- 1 | bar 2 | -------------------------------------------------------------------------------- /checks/incl.m4: -------------------------------------------------------------------------------- 1 | Include file start 2 | foo 3 | Include file end 4 | -------------------------------------------------------------------------------- /checks/stamp-checks: -------------------------------------------------------------------------------- 1 | stamp 2 | -------------------------------------------------------------------------------- /doc/m4.texi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/doc/m4.texi -------------------------------------------------------------------------------- /doc/m4.texinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/doc/m4.texinfo -------------------------------------------------------------------------------- /doc/stamp-vti: -------------------------------------------------------------------------------- 1 | @set UPDATED 31 December 2016 2 | @set UPDATED-MONTH December 2016 3 | @set EDITION 1.4.18 4 | @set VERSION 1.4.18 5 | -------------------------------------------------------------------------------- /doc/version.texi: -------------------------------------------------------------------------------- 1 | @set UPDATED 31 December 2016 2 | @set UPDATED-MONTH December 2016 3 | @set EDITION 1.4.18 4 | @set VERSION 1.4.18 5 | -------------------------------------------------------------------------------- /examples/COPYING: -------------------------------------------------------------------------------- 1 | The files in this directory provide example uses of GNU M4. 2 | The following copyright notice applies to each of these 3 | description files. 4 | 5 | Copyright (C) 2006, 2010-2012 Free Software Foundation, Inc. 6 | This file is free software; the Free Software Foundation 7 | gives unlimited permission to copy and/or distribute it, 8 | with or without modifications, as long as this notice is preserved. 9 | -------------------------------------------------------------------------------- /examples/capitalize.m4: -------------------------------------------------------------------------------- 1 | divert(`-1') 2 | # upcase(text) 3 | # downcase(text) 4 | # capitalize(text) 5 | # change case of text, simple version 6 | define(`upcase', `translit(`$*', `a-z', `A-Z')') 7 | define(`downcase', `translit(`$*', `A-Z', `a-z')') 8 | define(`_capitalize', 9 | `regexp(`$1', `^\(\w\)\(\w*\)', 10 | `upcase(`\1')`'downcase(`\2')')') 11 | define(`capitalize', `patsubst(`$1', `\w+', `_$0(`\&')')') 12 | divert`'dnl 13 | -------------------------------------------------------------------------------- /examples/comments.m4: -------------------------------------------------------------------------------- 1 | # An ordinary comment 2 | define(`foo', # A comment in a macro 3 | `Macro `foo' expansion') 4 | foo 5 | define(`comment', `*** Macro `comment' expansion ***') 6 | changecom(`@', `@') 7 | foo 8 | -------------------------------------------------------------------------------- /examples/curry.m4: -------------------------------------------------------------------------------- 1 | divert(`-1') 2 | # curry(macro, args) 3 | # Expand to a macro call that takes one argument, then invoke 4 | # macro(args, extra). 5 | define(`curry', `$1(shift($@,)_$0') 6 | define(`_curry', ``$1')') 7 | divert`'dnl 8 | -------------------------------------------------------------------------------- /examples/ddivert.m4: -------------------------------------------------------------------------------- 1 | divert(1)Text diverted a first time. 2 | divert(0)undivert(1)dnl 3 | divert(1)Text diverted a second time. 4 | divert(0)undivert(1)dnl 5 | -------------------------------------------------------------------------------- /examples/debug.m4: -------------------------------------------------------------------------------- 1 | define(`countdown', `$1 ifelse(eval($1 > 0), 1, `countdown(decr($1))', `Liftoff')') 2 | debugmode(`aeqc') 3 | traceon(`countdown') 4 | countdown(2) 5 | -------------------------------------------------------------------------------- /examples/esyscmd.m4: -------------------------------------------------------------------------------- 1 | define(`hostname', esyscmd(`hostname'))dnl 2 | `hostname = >>'hostname`<<' 3 | define(`hostname', 4 | pushdef(`_tmp', `$1')_tmp(translit(esyscmd(`hostname'), `.', `,'))`'popdef(`_tmp'))dnl 5 | `hostname = >>'hostname`<<' 6 | -------------------------------------------------------------------------------- /examples/exp.m4: -------------------------------------------------------------------------------- 1 | define(`countdown', `$1 ifelse(eval($1 > 0), 1, `countdown(decr($1))', `Done')') 2 | -------------------------------------------------------------------------------- /examples/file.m4: -------------------------------------------------------------------------------- 1 | changequote([[,]])dnl 2 | define([[quoteall]], [[patsubst([[[[$*]]]], [[,[ ]+]], [[,]])]])dnl 3 | define([[group]], quoteall(include([[/etc/group]])))dnl 4 | dnl 5 | group()dnl 6 | -------------------------------------------------------------------------------- /examples/foo: -------------------------------------------------------------------------------- 1 | bar 2 | -------------------------------------------------------------------------------- /examples/foreach.m4: -------------------------------------------------------------------------------- 1 | divert(`-1') 2 | # foreach(x, (item_1, item_2, ..., item_n), stmt) 3 | # parenthesized list, simple version 4 | define(`foreach', `pushdef(`$1')_foreach($@)popdef(`$1')') 5 | define(`_arg1', `$1') 6 | define(`_foreach', `ifelse(`$2', `()', `', 7 | `define(`$1', _arg1$2)$3`'$0(`$1', (shift$2), `$3')')') 8 | divert`'dnl 9 | -------------------------------------------------------------------------------- /examples/foreach2.m4: -------------------------------------------------------------------------------- 1 | include(`quote.m4')dnl 2 | divert(`-1') 3 | # foreach(x, (item_1, item_2, ..., item_n), stmt) 4 | # parenthesized list, improved version 5 | define(`foreach', `pushdef(`$1')_$0(`$1', 6 | (dquote(dquote_elt$2)), `$3')popdef(`$1')') 7 | define(`_arg1', `$1') 8 | define(`_foreach', `ifelse(`$2', `(`')', `', 9 | `define(`$1', _arg1$2)$3`'$0(`$1', (dquote(shift$2)), `$3')')') 10 | divert`'dnl 11 | -------------------------------------------------------------------------------- /examples/foreachq.m4: -------------------------------------------------------------------------------- 1 | include(`quote.m4')dnl 2 | divert(`-1') 3 | # foreachq(x, `item_1, item_2, ..., item_n', stmt) 4 | # quoted list, simple version 5 | define(`foreachq', `pushdef(`$1')_foreachq($@)popdef(`$1')') 6 | define(`_arg1', `$1') 7 | define(`_foreachq', `ifelse(quote($2), `', `', 8 | `define(`$1', `_arg1($2)')$3`'$0(`$1', `shift($2)', `$3')')') 9 | divert`'dnl 10 | -------------------------------------------------------------------------------- /examples/foreachq2.m4: -------------------------------------------------------------------------------- 1 | include(`quote.m4')dnl 2 | divert(`-1') 3 | # foreachq(x, `item_1, item_2, ..., item_n', stmt) 4 | # quoted list, improved version 5 | define(`foreachq', `pushdef(`$1')_$0($@)popdef(`$1')') 6 | define(`_arg1q', ``$1'') 7 | define(`_rest', `ifelse(`$#', `1', `', `dquote(shift($@))')') 8 | define(`_foreachq', `ifelse(`$2', `', `', 9 | `define(`$1', _arg1q($2))$3`'$0(`$1', _rest($2), `$3')')') 10 | divert`'dnl 11 | -------------------------------------------------------------------------------- /examples/foreachq3.m4: -------------------------------------------------------------------------------- 1 | divert(`-1') 2 | # foreachq(x, `item_1, item_2, ..., item_n', stmt) 3 | # quoted list, alternate improved version 4 | define(`foreachq', `ifelse(`$2', `', `', 5 | `pushdef(`$1')_$0(`$1', `$3', `', $2)popdef(`$1')')') 6 | define(`_foreachq', `ifelse(`$#', `3', `', 7 | `define(`$1', `$4')$2`'$0(`$1', `$2', 8 | shift(shift(shift($@))))')') 9 | divert`'dnl 10 | -------------------------------------------------------------------------------- /examples/foreachq4.m4: -------------------------------------------------------------------------------- 1 | include(`forloop2.m4')dnl 2 | divert(`-1') 3 | # foreachq(x, `item_1, item_2, ..., item_n', stmt) 4 | # quoted list, version based on forloop 5 | define(`foreachq', 6 | `ifelse(`$2', `', `', `_$0(`$1', `$3', $2)')') 7 | define(`_foreachq', 8 | `pushdef(`$1', forloop(`$1', `3', `$#', 9 | `$0_(`1', `2', indir(`$1'))')`popdef( 10 | `$1')')indir(`$1', $@)') 11 | define(`_foreachq_', 12 | ``define(`$$1', `$$3')$$2`''') 13 | divert`'dnl 14 | -------------------------------------------------------------------------------- /examples/forloop.m4: -------------------------------------------------------------------------------- 1 | divert(`-1') 2 | # forloop(var, from, to, stmt) - simple version 3 | define(`forloop', `pushdef(`$1', `$2')_forloop($@)popdef(`$1')') 4 | define(`_forloop', 5 | `$4`'ifelse($1, `$3', `', `define(`$1', incr($1))$0($@)')') 6 | divert`'dnl 7 | -------------------------------------------------------------------------------- /examples/fstab.m4: -------------------------------------------------------------------------------- 1 | define(`concat', `translit(``$*'', ` ')') 2 | define(`fsent', `format(`%-25s %-16s nfs %-16s 0 0', `$1:$2', `$3', concat$4)') 3 | 4 | fsent(freja, /home/gevn, /home/gevn, (rw, soft, bg, grpid)) 5 | fsent(freja, /home/freja, /home/freja, (rw, soft, grpid)) 6 | fsent(rimfaxe, /home/rimfaxe, /home/rimfaxe, (rw, soft, bg)) 7 | -------------------------------------------------------------------------------- /examples/hanoi.m4: -------------------------------------------------------------------------------- 1 | divert(-1) 2 | 3 | # move(from, to) 4 | define(`move', `Move one disk from `$1' to `$2'. 5 | ') 6 | 7 | # _hanoi (cnt, from, to, aux) 8 | define(`_hanoi', `ifelse(eval(`$1'<=1), 1, `move($2, $3)', 9 | `$0(decr($1), $2, $4, $3)move($2, $3)$0(decr($1), $4, $3, $2)')') 10 | 11 | # hanoi (cnt) 12 | define(`hanoi', `_$0(`$1', source, destination, auxilliary)') 13 | 14 | # traceon(`move', `_hanoi', `decr') 15 | divert`'dnl 16 | -------------------------------------------------------------------------------- /examples/incl-test.m4: -------------------------------------------------------------------------------- 1 | `include test file.' 2 | define() 3 | -------------------------------------------------------------------------------- /examples/incl.m4: -------------------------------------------------------------------------------- 1 | Include file start 2 | foo 3 | Include file end 4 | -------------------------------------------------------------------------------- /examples/include.m4: -------------------------------------------------------------------------------- 1 | Beginning. 2 | include(`NOFILE') 3 | Intermidiate 4 | include(`test/incl-test.m4') 5 | After 6 | include(`NOFILE') 7 | very late 8 | -------------------------------------------------------------------------------- /examples/indir.m4: -------------------------------------------------------------------------------- 1 | define(`%%$$##', `>>>$0<<< cnt $#') 2 | 3 | # indir(`%%$$##', nonsens, nonsens) 4 | indir(`%%$$##', nonsens, nonsens) 5 | 6 | # indir(`indir', `%%$$##', nonsens) 7 | indir(`indir', `%%$$##', nonsens) 8 | 9 | # indir(`indir', `indir', `indir', `indir', `%%$$##') 10 | indir(`indir', `indir', `indir', `indir', `%%$$##') 11 | -------------------------------------------------------------------------------- /examples/misc.m4: -------------------------------------------------------------------------------- 1 | divert(-1) 2 | define(`HOST', `vale') 3 | define(`TMP', maketemp(`/tmp/hejXXXXXX')) 4 | syscmd(`ypmatch' HOST `hosts | awk "{print \$1}"' > TMP) 5 | define(`IP', include(TMP)) 6 | syscmd(`rm -f' TMP) 7 | divert 8 | 9 | IP 10 | -------------------------------------------------------------------------------- /examples/multiquotes.m4: -------------------------------------------------------------------------------- 1 | traceon 2 | changequote([,])dnl 3 | changequote([``], [''])dnl 4 | ````traceon'''' 5 | define(``foo'', ````FOO'''')dnl 6 | dumpdef(``foo'')dnl 7 | changequote(``!'', ``!'')dnl 8 | !foo! 9 | foo 10 | dumpdef(!foo!)dnl 11 | define(!bar!, !BAR!) 12 | bar 13 | changequote(!>*>*>*>*>!, !<*<*<*<**>*>*>*>foo bar<*<*<*<*< 15 | foo bar 16 | >*>*>*>*>*>*><*<*<*<*<*<*< 17 | dumpdef(>*>*>*>*>foo<*<*<*<*<, >*>*>*>*>bar<*<*<*<*<)dnl 18 | -------------------------------------------------------------------------------- /examples/patsubst.m4: -------------------------------------------------------------------------------- 1 | # traceon(`patsubst') 2 | patsubst(`GNUs not Unix', `^', `OBS: ') 3 | patsubst(`GNUs not Unix', `\<', `OBS: ') 4 | patsubst(`GNUs not Unix', `\<\w', `\0=') 5 | patsubst(`GNUs not Unix', `\w*', `(\0)') 6 | patsubst(`GNUs not Unix', `\w+', `(\0)') 7 | patsubst(`GNUs not Unix', `\w+') 8 | patsubst(`GNUs not '` Unix', `[ ]+', ` ') 9 | -------------------------------------------------------------------------------- /examples/quote.m4: -------------------------------------------------------------------------------- 1 | divert(`-1') 2 | # quote(args) - convert args to single-quoted string 3 | define(`quote', `ifelse(`$#', `0', `', ``$*'')') 4 | # dquote(args) - convert args to quoted list of quoted strings 5 | define(`dquote', ``$@'') 6 | # dquote_elt(args) - convert args to list of double-quoted strings 7 | define(`dquote_elt', `ifelse(`$#', `0', `', `$#', `1', ```$1''', 8 | ```$1'',$0(shift($@))')') 9 | divert`'dnl 10 | -------------------------------------------------------------------------------- /examples/regexp.m4: -------------------------------------------------------------------------------- 1 | traceon(`regexp')dnl 2 | regexp(`hej med dig', `.*', `>>\0<<') 3 | regexp(`hej med dig', `\w*', `>>\0<<') 4 | regexp(`hej med dig', `.+', `>>\0<<') 5 | regexp(`hej med dig', `m\w+', `>>\0<<') 6 | regexp(`hej med dig', `m\(.*\)', `>>\0<< >>\1<<') 7 | 8 | regexp(`hej med dig', `.*') 9 | regexp(`hej med dig', `\w*') 10 | regexp(`hej med dig', `.+') 11 | regexp(`hej med dig', `m\w+') 12 | regexp(`hej med dig', `m\(.*\)') 13 | -------------------------------------------------------------------------------- /examples/reverse.m4: -------------------------------------------------------------------------------- 1 | define(`reverse', `ifelse(eval($# > 1), 1, `reverse(shift($@)), `$1'', ``$1'')') 2 | ``'' => reverse 3 | ``hej'' => reverse(hej) 4 | ``hej, med, dig'' => reverse(hej, med, dig) 5 | -------------------------------------------------------------------------------- /examples/sync-lines.m4: -------------------------------------------------------------------------------- 1 | # Several input lines, expanding to one 2 | define(`foo', ``foo' line one. 3 | `foo' line two. 4 | `foo' line three.') xyz 5 | foo 6 | # Several input lines, expanding to none 7 | define(`foo', ``foo' line one. 8 | `foo' line two. 9 | `foo' line three.')dnl 10 | # one input line, expanding to several output lines 11 | foo foo 12 | -------------------------------------------------------------------------------- /examples/sysv-args.m4: -------------------------------------------------------------------------------- 1 | divert(-1) 2 | define(`nargs', `$#') 3 | define(`concat', `ifelse(1, $#, `$1', `$1` 'concat(shift($@))')') 4 | traceon(`concat', `nargs') 5 | divert 6 | 7 | nargs 8 | nargs() 9 | nargs(1,2,3,4,5,6) 10 | 11 | concat() 12 | concat(`hej', `med', `dig') 13 | concat(`hej', `med', `dig', `en gang igen') 14 | concat(an, awful, lot, of, argument, at, least, more, that, ten, silly, arguments) 15 | -------------------------------------------------------------------------------- /examples/translit.m4: -------------------------------------------------------------------------------- 1 | # traceon(`translit')dnl 2 | translit(`GNUs not Unix', `a-z') 3 | translit(`GNUs not Unix', `a-z', `A-Z') 4 | translit(`GNUs not Unix', `A-Z', `a-z') 5 | translit(`GNUs not Unix', `A-Z') 6 | translit(`a-z', `a-') 7 | translit(`A-Z', `A-Z-', `-A-Z') 8 | translit(`GNUs not Unix', `Z-A', `a-z') 9 | -------------------------------------------------------------------------------- /examples/undivert.incl: -------------------------------------------------------------------------------- 1 | This is to be undiverted soon. 2 | -------------------------------------------------------------------------------- /examples/undivert.m4: -------------------------------------------------------------------------------- 1 | define(`undiverted', `UNDIVERTED') 2 | # undiverted file. 3 | undivert(`undivert.incl') 4 | # included file. 5 | include(`undivert.incl') 6 | -------------------------------------------------------------------------------- /examples/wrap.m4: -------------------------------------------------------------------------------- 1 | divert(-1) 2 | m4wrap(`Wrapper no. 1 3 | ') 4 | 5 | m4wrap(`Wrapper no. 2 6 | m4wrap(`Wrapper no. 3 7 | m4wrap(`Wrapper no. 4 8 | ')')') 9 | divert 10 | No. 33: The End. 11 | -------------------------------------------------------------------------------- /examples/wrapfifo.m4: -------------------------------------------------------------------------------- 1 | dnl Redefine m4wrap to have FIFO semantics. 2 | define(`_m4wrap_level', `0')dnl 3 | define(`m4wrap', 4 | `ifdef(`m4wrap'_m4wrap_level, 5 | `define(`m4wrap'_m4wrap_level, 6 | defn(`m4wrap'_m4wrap_level)`$1')', 7 | `builtin(`m4wrap', `define(`_m4wrap_level', 8 | incr(_m4wrap_level))dnl 9 | m4wrap'_m4wrap_level)dnl 10 | define(`m4wrap'_m4wrap_level, `$1')')')dnl 11 | -------------------------------------------------------------------------------- /examples/wraplifo.m4: -------------------------------------------------------------------------------- 1 | dnl Redefine m4wrap to have LIFO semantics. 2 | define(`_m4wrap_level', `0')dnl 3 | define(`_m4wrap', defn(`m4wrap'))dnl 4 | define(`m4wrap', 5 | `ifdef(`m4wrap'_m4wrap_level, 6 | `define(`m4wrap'_m4wrap_level, 7 | `$1'defn(`m4wrap'_m4wrap_level))', 8 | `_m4wrap(`define(`_m4wrap_level', incr(_m4wrap_level))dnl 9 | m4wrap'_m4wrap_level)dnl 10 | define(`m4wrap'_m4wrap_level, `$1')')')dnl 11 | -------------------------------------------------------------------------------- /examples/wraplifo2.m4: -------------------------------------------------------------------------------- 1 | dnl Redefine m4wrap to have LIFO semantics, improved example. 2 | include(`join.m4')dnl 3 | define(`_m4wrap', defn(`m4wrap'))dnl 4 | define(`_arg1', `$1')dnl 5 | define(`m4wrap', 6 | `ifdef(`_$0_text', 7 | `define(`_$0_text', joinall(` ', $@)defn(`_$0_text'))', 8 | `_$0(`_arg1(defn(`_$0_text')undefine(`_$0_text'))')dnl 9 | define(`_$0_text', joinall(` ', $@))')')dnl 10 | -------------------------------------------------------------------------------- /lib/allocsa.valgrind: -------------------------------------------------------------------------------- 1 | # Suppress a valgrind message about use of uninitialized memory in freesa(). 2 | # This use is OK because it provides only a speedup. 3 | { 4 | freesa 5 | Memcheck:Cond 6 | fun:freesa 7 | } 8 | -------------------------------------------------------------------------------- /lib/binary-io.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define BINARY_IO_INLINE _GL_EXTERN_INLINE 3 | #include "binary-io.h" 4 | typedef int dummy; 5 | -------------------------------------------------------------------------------- /lib/c-ctype.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define C_CTYPE_INLINE _GL_EXTERN_INLINE 3 | #include "c-ctype.h" 4 | -------------------------------------------------------------------------------- /lib/close-stream.h: -------------------------------------------------------------------------------- 1 | #include 2 | int close_stream (FILE *stream); 3 | -------------------------------------------------------------------------------- /lib/gl_list.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define GL_LIST_INLINE _GL_EXTERN_INLINE 3 | #include "gl_list.h" 4 | -------------------------------------------------------------------------------- /lib/gl_oset.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define GL_OSET_INLINE _GL_EXTERN_INLINE 3 | #include "gl_oset.h" 4 | -------------------------------------------------------------------------------- /lib/gl_xlist.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define GL_XLIST_INLINE _GL_EXTERN_INLINE 3 | #include "gl_xlist.h" 4 | -------------------------------------------------------------------------------- /lib/gl_xoset.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define GL_XOSET_INLINE _GL_EXTERN_INLINE 3 | #include "gl_xoset.h" 4 | -------------------------------------------------------------------------------- /lib/malloca.valgrind: -------------------------------------------------------------------------------- 1 | # Suppress a valgrind message about use of uninitialized memory in freea(). 2 | # This use is OK because it provides only a speedup. 3 | { 4 | freea 5 | Memcheck:Cond 6 | fun:freea 7 | } 8 | -------------------------------------------------------------------------------- /lib/math.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define _GL_MATH_INLINE _GL_EXTERN_INLINE 3 | #include "math.h" 4 | typedef int dummy; 5 | -------------------------------------------------------------------------------- /lib/memchr.valgrind: -------------------------------------------------------------------------------- 1 | # Suppress a valgrind message about use of uninitialized memory in memchr(). 2 | # POSIX states that when the character is found, memchr must not read extra 3 | # bytes in an overestimated length (for example, where memchr is used to 4 | # implement strnlen). However, we use a safe word read to provide a speedup. 5 | { 6 | memchr-value4 7 | Memcheck:Value4 8 | fun:rpl_memchr 9 | } 10 | { 11 | memchr-value8 12 | Memcheck:Value8 13 | fun:rpl_memchr 14 | } 15 | -------------------------------------------------------------------------------- /lib/memchr2.valgrind: -------------------------------------------------------------------------------- 1 | # Suppress a valgrind message about use of uninitialized memory in memchr2(). 2 | # Like memchr, it is safe to overestimate the length when the terminator 3 | # is guaranteed to be found. In this case, we may end up reading a word 4 | # that is partially uninitialized, but this use is OK for a speedup. 5 | { 6 | memchr2-value4 7 | Memcheck:Value4 8 | fun:memchr2 9 | } 10 | { 11 | memchr2-value8 12 | Memcheck:Value8 13 | fun:memchr2 14 | } 15 | -------------------------------------------------------------------------------- /lib/rawmemchr.valgrind: -------------------------------------------------------------------------------- 1 | # Suppress a valgrind message about use of uninitialized memory in rawmemchr(). 2 | # This use is OK because it provides only a speedup. 3 | { 4 | rawmemchr-value4 5 | Memcheck:Value4 6 | fun:rawmemchr 7 | } 8 | { 9 | rawmemchr-value8 10 | Memcheck:Value8 11 | fun:rawmemchr 12 | } 13 | -------------------------------------------------------------------------------- /lib/sig-handler.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define SIG_HANDLER_INLINE _GL_EXTERN_INLINE 3 | #include "sig-handler.h" 4 | -------------------------------------------------------------------------------- /lib/strchrnul.valgrind: -------------------------------------------------------------------------------- 1 | # Suppress a valgrind message about use of uninitialized memory in strchrnul(). 2 | # This use is OK because it provides only a speedup. 3 | { 4 | strchrnul-value4 5 | Memcheck:Value4 6 | fun:strchrnul 7 | } 8 | { 9 | strchrnul-value8 10 | Memcheck:Value8 11 | fun:strchrnul 12 | } 13 | -------------------------------------------------------------------------------- /lib/unistd.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE 3 | #include "unistd.h" 4 | typedef int dummy; 5 | -------------------------------------------------------------------------------- /lib/wctype-h.c: -------------------------------------------------------------------------------- 1 | /* Normally this would be wctype.c, but that name's already taken. */ 2 | #include 3 | #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE 4 | #include "wctype.h" 5 | -------------------------------------------------------------------------------- /lib/xsize.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define XSIZE_INLINE _GL_EXTERN_INLINE 3 | #include "xsize.h" 4 | -------------------------------------------------------------------------------- /m4/cloexec.m4: -------------------------------------------------------------------------------- 1 | #serial 6 2 | dnl Copyright (C) 2004-2006, 2009-2011 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_CLOEXEC], 8 | [ 9 | AC_LIBOBJ([cloexec]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/close-stream.m4: -------------------------------------------------------------------------------- 1 | #serial 4 2 | dnl Copyright (C) 2006-2007, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl Prerequisites of lib/close-stream.c. 8 | AC_DEFUN([gl_CLOSE_STREAM], 9 | [ 10 | : 11 | ]) 12 | -------------------------------------------------------------------------------- /m4/closein.m4: -------------------------------------------------------------------------------- 1 | # closein.m4 serial 2 2 | dnl Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl Prerequisites of lib/closein.c. 8 | AC_DEFUN([gl_CLOSEIN], 9 | [ 10 | : 11 | ]) 12 | -------------------------------------------------------------------------------- /m4/closeout.m4: -------------------------------------------------------------------------------- 1 | # closeout.m4 serial 6 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2016 Free Software Foundation, 3 | dnl Inc. 4 | dnl This file is free software; the Free Software Foundation 5 | dnl gives unlimited permission to copy and/or distribute it, 6 | dnl with or without modifications, as long as this notice is preserved. 7 | 8 | dnl Prerequisites of lib/closeout.c. 9 | AC_DEFUN([gl_CLOSEOUT], 10 | [ 11 | : 12 | ]) 13 | -------------------------------------------------------------------------------- /m4/execute.m4: -------------------------------------------------------------------------------- 1 | # execute.m4 serial 5 2 | dnl Copyright (C) 2003, 2008-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_EXECUTE], 8 | [ 9 | dnl Prerequisites of lib/execute.c. 10 | AC_REQUIRE([AC_TYPE_MODE_T]) 11 | ]) 12 | -------------------------------------------------------------------------------- /m4/exitfail.m4: -------------------------------------------------------------------------------- 1 | # exitfail.m4 serial 6 2 | dnl Copyright (C) 2002, 2003, 2005, 2006, 2009, 2010 Free Software Foundation, 3 | dnl Inc. 4 | dnl This file is free software; the Free Software Foundation 5 | dnl gives unlimited permission to copy and/or distribute it, 6 | dnl with or without modifications, as long as this notice is preserved. 7 | 8 | AC_DEFUN([gl_EXITFAIL], 9 | [ 10 | AC_LIBOBJ([exitfail]) 11 | 12 | dnl No prerequisites of lib/exitfail.c. 13 | : 14 | ]) 15 | -------------------------------------------------------------------------------- /m4/fatal-signal.m4: -------------------------------------------------------------------------------- 1 | # fatal-signal.m4 serial 9 2 | dnl Copyright (C) 2003-2004, 2006, 2008-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_FATAL_SIGNAL], 8 | [ 9 | AC_REQUIRE([gt_TYPE_SIG_ATOMIC_T]) 10 | AC_CHECK_HEADERS_ONCE([unistd.h]) 11 | gl_PREREQ_SIG_HANDLER_H 12 | ]) 13 | -------------------------------------------------------------------------------- /m4/freadahead.m4: -------------------------------------------------------------------------------- 1 | # freadahead.m4 serial 1 2 | dnl Copyright (C) 2012-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_FUNC_FREADAHEAD], 8 | [ 9 | AC_CHECK_FUNCS_ONCE([__freadahead]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/freading.m4: -------------------------------------------------------------------------------- 1 | # freading.m4 serial 1 2 | dnl Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_FUNC_FREADING], 8 | [ 9 | AC_CHECK_FUNCS_ONCE([__freading]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/gl_list.m4: -------------------------------------------------------------------------------- 1 | # gl_list.m4 serial 2 2 | dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_LIST], 8 | [ 9 | AC_REQUIRE([gl_INLINE]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/hard-locale.m4: -------------------------------------------------------------------------------- 1 | # hard-locale.m4 serial 8 2 | dnl Copyright (C) 2002-2006, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl No prerequisites of lib/hard-locale.c. 8 | AC_DEFUN([gl_HARD_LOCALE], 9 | [ 10 | : 11 | ]) 12 | -------------------------------------------------------------------------------- /m4/msvc-nothrow.m4: -------------------------------------------------------------------------------- 1 | # msvc-nothrow.m4 serial 1 2 | dnl Copyright (C) 2011-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_MSVC_NOTHROW], 8 | [ 9 | AC_REQUIRE([gl_MSVC_INVAL]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/pipe.m4: -------------------------------------------------------------------------------- 1 | # pipe.m4 serial 4 2 | dnl Copyright (C) 2004, 2008, 2009, 2010 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_PIPE], 8 | [ 9 | dnl Prerequisites of lib/pipe.c. 10 | AC_REQUIRE([AC_C_INLINE]) 11 | AC_REQUIRE([AC_TYPE_MODE_T]) 12 | ]) 13 | -------------------------------------------------------------------------------- /m4/quotearg.m4: -------------------------------------------------------------------------------- 1 | # quotearg.m4 serial 9 2 | dnl Copyright (C) 2002, 2004-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_QUOTEARG], 8 | [ 9 | : 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/spawn-pipe.m4: -------------------------------------------------------------------------------- 1 | # spawn-pipe.m4 serial 2 2 | dnl Copyright (C) 2004, 2008-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_SPAWN_PIPE], 8 | [ 9 | dnl Prerequisites of lib/spawn-pipe.c. 10 | AC_REQUIRE([AC_TYPE_MODE_T]) 11 | ]) 12 | -------------------------------------------------------------------------------- /m4/stat-macros.m4: -------------------------------------------------------------------------------- 1 | #serial 3 2 | 3 | # Copyright (C) 2005, 2006 Free Software Foundation, Inc. 4 | # 5 | # This file is free software; the Free Software Foundation 6 | # gives unlimited permission to copy and/or distribute it, 7 | # with or without modifications, as long as this notice is preserved. 8 | 9 | AC_DEFUN([gl_STAT_MACROS], 10 | [ 11 | AC_REQUIRE([AC_HEADER_STAT]) 12 | ]) 13 | -------------------------------------------------------------------------------- /m4/stdlib-safer.m4: -------------------------------------------------------------------------------- 1 | # stdlib-safer.m4 serial 2 2 | dnl Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_STDLIB_SAFER], 8 | [ 9 | AC_LIBOBJ([mkstemp-safer]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/strtol.m4: -------------------------------------------------------------------------------- 1 | # strtol.m4 serial 5 2 | dnl Copyright (C) 2002-2003, 2006, 2009-2011 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_FUNC_STRTOL], 8 | [ 9 | AC_REPLACE_FUNCS([strtol]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/tls.m4: -------------------------------------------------------------------------------- 1 | # tls.m4 serial 2 (gettext-0.18) 2 | dnl Copyright (C) 2005, 2008-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | 9 | AC_DEFUN([gl_TLS], 10 | [ 11 | AC_REQUIRE([gl_THREADLIB]) 12 | ]) 13 | -------------------------------------------------------------------------------- /m4/tmpdir.m4: -------------------------------------------------------------------------------- 1 | # tmpdir.m4 serial 4 2 | dnl Copyright (C) 2001-2002, 2006, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | # Prerequisites for lib/tmpdir.c 8 | 9 | AC_DEFUN([gt_TMPDIR], [:]) 10 | -------------------------------------------------------------------------------- /m4/unistd-safer.m4: -------------------------------------------------------------------------------- 1 | #serial 9 2 | dnl Copyright (C) 2002, 2005-2006, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_UNISTD_SAFER], 8 | [ 9 | AC_CHECK_FUNCS_ONCE([pipe]) 10 | ]) 11 | -------------------------------------------------------------------------------- /m4/wait-process.m4: -------------------------------------------------------------------------------- 1 | # wait-process.m4 serial 6 2 | dnl Copyright (C) 2003, 2008-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_WAIT_PROCESS], 8 | [ 9 | dnl Prerequisites of lib/wait-process.c. 10 | AC_REQUIRE([gt_TYPE_SIG_ATOMIC_T]) 11 | AC_CHECK_FUNCS([waitid]) 12 | ]) 13 | -------------------------------------------------------------------------------- /m4/waitpid.m4: -------------------------------------------------------------------------------- 1 | # waitpid.m4 serial 2 2 | dnl Copyright (C) 2010-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_FUNC_WAITPID], 8 | [ 9 | AC_REQUIRE([AC_CANONICAL_HOST]) 10 | HAVE_WAITPID=1 11 | case $host_os in 12 | mingw*) HAVE_WAITPID=0 ;; 13 | esac 14 | ]) 15 | -------------------------------------------------------------------------------- /m4/xalloc.m4: -------------------------------------------------------------------------------- 1 | # xalloc.m4 serial 18 2 | dnl Copyright (C) 2002-2006, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_XALLOC], [:]) 8 | -------------------------------------------------------------------------------- /m4/xsize.m4: -------------------------------------------------------------------------------- 1 | # xsize.m4 serial 5 2 | dnl Copyright (C) 2003-2004, 2008-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_XSIZE], 8 | [ 9 | dnl Prerequisites of lib/xsize.h. 10 | AC_REQUIRE([gl_SIZE_MAX]) 11 | AC_CHECK_HEADERS([stdint.h]) 12 | ]) 13 | -------------------------------------------------------------------------------- /m4/xstrndup.m4: -------------------------------------------------------------------------------- 1 | # xstrndup.m4 serial 2 2 | dnl Copyright (C) 2003, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_XSTRNDUP], 8 | [ 9 | gl_PREREQ_XSTRNDUP 10 | ]) 11 | 12 | # Prerequisites of lib/xstrndup.c. 13 | AC_DEFUN([gl_PREREQ_XSTRNDUP], [ 14 | : 15 | ]) 16 | -------------------------------------------------------------------------------- /m4/xvasprintf.m4: -------------------------------------------------------------------------------- 1 | # xvasprintf.m4 serial 2 2 | dnl Copyright (C) 2006, 2009-2016 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl Prerequisites of lib/xvasprintf.c. 8 | AC_DEFUN([gl_XVASPRINTF], [:]) 9 | -------------------------------------------------------------------------------- /stamp-h.in: -------------------------------------------------------------------------------- 1 | Thu Oct 20 10:55:12 BST 2005 2 | -------------------------------------------------------------------------------- /tests/locale/fr/LC_MESSAGES/test-quotearg.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tar-mirror/gnu-m4/c8f51e6cbd0f5f75d9014222ce87caea626359ac/tests/locale/fr/LC_MESSAGES/test-quotearg.mo -------------------------------------------------------------------------------- /tests/test-binary-io.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | tmpfiles="" 4 | trap 'rm -fr $tmpfiles' 1 2 3 15 5 | 6 | tmpfiles="$tmpfiles t-bin-out0.tmp t-bin-out1.tmp t-bin-out2.tmp" 7 | ./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1 8 | cmp t-bin-out0.tmp t-bin-out1.tmp > /dev/null || exit 1 9 | ./test-binary-io${EXEEXT} 2 > t-bin-out2.tmp || exit 1 10 | cmp t-bin-out0.tmp t-bin-out2.tmp > /dev/null || exit 1 11 | 12 | rm -fr $tmpfiles 13 | 14 | exit 0 15 | -------------------------------------------------------------------------------- /tests/test-btowc1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test in an ISO-8859-1 or ISO-8859-15 locale. 4 | : ${LOCALE_FR=fr_FR} 5 | if test $LOCALE_FR = none; then 6 | if test -f /usr/bin/localedef; then 7 | echo "Skipping test: no traditional french locale is installed" 8 | else 9 | echo "Skipping test: no traditional french locale is supported" 10 | fi 11 | exit 77 12 | fi 13 | 14 | LC_ALL=$LOCALE_FR \ 15 | ./test-btowc${EXEEXT} 1 16 | -------------------------------------------------------------------------------- /tests/test-btowc2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test whether a specific UTF-8 locale is installed. 4 | : ${LOCALE_FR_UTF8=fr_FR.UTF-8} 5 | if test $LOCALE_FR_UTF8 = none; then 6 | if test -f /usr/bin/localedef; then 7 | echo "Skipping test: no french Unicode locale is installed" 8 | else 9 | echo "Skipping test: no french Unicode locale is supported" 10 | fi 11 | exit 77 12 | fi 13 | 14 | LC_ALL=$LOCALE_FR_UTF8 \ 15 | ./test-btowc${EXEEXT} 2 16 | -------------------------------------------------------------------------------- /tests/test-c-stack.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | tmpfiles="" 4 | trap 'rm -fr $tmpfiles' 1 2 3 15 5 | 6 | tmpfiles="t-c-stack.tmp" 7 | ./test-c-stack${EXEEXT} 2> t-c-stack.tmp 8 | case $? in 9 | 77) cat t-c-stack.tmp >&2; (exit 77); exit 77 ;; 10 | 1) ;; 11 | *) (exit 1); exit 1 ;; 12 | esac 13 | if grep 'stack overflow' t-c-stack.tmp >/dev/null ; then 14 | : 15 | else 16 | (exit 1); exit 1 17 | fi 18 | 19 | rm -fr $tmpfiles 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /tests/test-fflush2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Execute the test only with seekable input stream. 4 | # The behaviour of fflush() on a non-seekable input stream is undefined. 5 | ./test-fflush2${EXEEXT} 1 < "$srcdir/test-fflush2.sh" || exit $? 6 | ./test-fflush2${EXEEXT} 2 < "$srcdir/test-fflush2.sh" || exit $? 7 | #cat "$srcdir/test-fflush2.sh" | ./test-fflush2${EXEEXT} || exit $? 8 | 9 | exit 0 10 | -------------------------------------------------------------------------------- /tests/test-fpending.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | tmpfile= 4 | trap 'rm -fr $tmpfile' 1 2 3 15 5 | 6 | tmpfile=test-fpending.t 7 | 8 | ./test-fpending${EXEEXT} > $tmpfile || exit 1 9 | 10 | rm -fr $tmpfile 11 | 12 | exit 0 13 | -------------------------------------------------------------------------------- /tests/test-freadahead.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-freadahead${EXEEXT} 0 < "$srcdir/test-freadahead.sh" || exit 1 4 | ./test-freadahead${EXEEXT} 5 < "$srcdir/test-freadahead.sh" || exit 1 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/test-fseek.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-fseek${EXEEXT} 1 < "$srcdir/test-fseek.sh" || exit 1 4 | echo hi | ./test-fseek${EXEEXT} || exit 1 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/test-fseek2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec ./test-fseek${EXEEXT} 1 2 < "$srcdir/test-fseek2.sh" 4 | -------------------------------------------------------------------------------- /tests/test-fseeko.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-fseeko${EXEEXT} 1 < "$srcdir/test-fseeko.sh" || exit 1 4 | echo hi | ./test-fseeko${EXEEXT} || exit 1 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/test-fseeko2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec ./test-fseeko${EXEEXT} 1 2 < "$srcdir/test-fseeko2.sh" 4 | -------------------------------------------------------------------------------- /tests/test-fseeko3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-fseeko3${EXEEXT} 0 "$srcdir/test-fseeko3.sh" || exit 1 4 | 5 | ./test-fseeko3${EXEEXT} 1 "$srcdir/test-fseeko3.sh" || exit 1 6 | 7 | exit 0 8 | -------------------------------------------------------------------------------- /tests/test-fseeko4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-fseeko4${EXEEXT} "$srcdir/test-fseeko4.sh" || exit 1 4 | 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/test-ftell.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-ftell${EXEEXT} 1 < "$srcdir/test-ftell.sh" || exit 1 4 | echo hi | ./test-ftell${EXEEXT} || exit 1 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/test-ftell2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec ./test-ftell${EXEEXT} 1 2 < "$srcdir/test-ftell2.sh" 4 | -------------------------------------------------------------------------------- /tests/test-ftello.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-ftello${EXEEXT} 1 < "$srcdir/test-ftello.sh" || exit 1 4 | echo hi | ./test-ftello${EXEEXT} || exit 1 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/test-ftello2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec ./test-ftello${EXEEXT} 1 2 < "$srcdir/test-ftello2.sh" 4 | -------------------------------------------------------------------------------- /tests/test-ftello4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ./test-ftello4${EXEEXT} "$srcdir/test-ftello4.sh" || exit 1 4 | 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/test-lseek.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | tmpfiles= 4 | trap 'rm -fr $tmpfiles' 1 2 3 15 5 | 6 | tmpfiles=t-lseek.tmp 7 | # seekable files 8 | ./test-lseek${EXEEXT} 0 < "$srcdir/test-lseek.sh" > t-lseek.tmp || exit 1 9 | 10 | # pipes 11 | echo hi | { ./test-lseek${EXEEXT} 1; echo $? > t-lseek.tmp; cat > /dev/null; } | cat 12 | test "`cat t-lseek.tmp`" = "0" || exit 1 13 | 14 | # closed descriptors 15 | ./test-lseek${EXEEXT} 2 <&- >&- || exit 1 16 | 17 | rm -rf $tmpfiles 18 | exit 0 19 | -------------------------------------------------------------------------------- /tests/test-mbrtowc-w32-1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP1252 locale. 4 | ./test-mbrtowc-w32${EXEEXT} French_France 1252 5 | -------------------------------------------------------------------------------- /tests/test-mbrtowc-w32-2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP1256 locale. 4 | ./test-mbrtowc-w32${EXEEXT} "Arabic_Saudi Arabia" 1256 5 | -------------------------------------------------------------------------------- /tests/test-mbrtowc-w32-3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP932 locale. 4 | ./test-mbrtowc-w32${EXEEXT} Japanese_Japan 932 5 | -------------------------------------------------------------------------------- /tests/test-mbrtowc-w32-4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP950 locale. 4 | ./test-mbrtowc-w32${EXEEXT} Chinese_Taiwan 950 5 | -------------------------------------------------------------------------------- /tests/test-mbrtowc-w32-5.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP936 locale. 4 | ./test-mbrtowc-w32${EXEEXT} Chinese_China 936 5 | -------------------------------------------------------------------------------- /tests/test-mbrtowc1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test in an ISO-8859-1 or ISO-8859-15 locale. 4 | : ${LOCALE_FR=fr_FR} 5 | if test $LOCALE_FR = none; then 6 | if test -f /usr/bin/localedef; then 7 | echo "Skipping test: no traditional french locale is installed" 8 | else 9 | echo "Skipping test: no traditional french locale is supported" 10 | fi 11 | exit 77 12 | fi 13 | 14 | LC_ALL=$LOCALE_FR \ 15 | ./test-mbrtowc${EXEEXT} 1 16 | -------------------------------------------------------------------------------- /tests/test-mbrtowc2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test whether a specific UTF-8 locale is installed. 4 | : ${LOCALE_FR_UTF8=fr_FR.UTF-8} 5 | if test $LOCALE_FR_UTF8 = none; then 6 | if test -f /usr/bin/localedef; then 7 | echo "Skipping test: no french Unicode locale is installed" 8 | else 9 | echo "Skipping test: no french Unicode locale is supported" 10 | fi 11 | exit 77 12 | fi 13 | 14 | LC_ALL=$LOCALE_FR_UTF8 \ 15 | ./test-mbrtowc${EXEEXT} 2 16 | -------------------------------------------------------------------------------- /tests/test-mbrtowc3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test whether a specific EUC-JP locale is installed. 4 | : ${LOCALE_JA=ja_JP} 5 | if test $LOCALE_JA = none; then 6 | if test -f /usr/bin/localedef; then 7 | echo "Skipping test: no traditional japanese locale is installed" 8 | else 9 | echo "Skipping test: no traditional japanese locale is supported" 10 | fi 11 | exit 77 12 | fi 13 | 14 | LC_ALL=$LOCALE_JA \ 15 | ./test-mbrtowc${EXEEXT} 3 16 | -------------------------------------------------------------------------------- /tests/test-mbrtowc4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test whether a specific GB18030 locale is installed. 4 | : ${LOCALE_ZH_CN=zh_CN.GB18030} 5 | if test $LOCALE_ZH_CN = none; then 6 | if test -f /usr/bin/localedef; then 7 | echo "Skipping test: no transitional chinese locale is installed" 8 | else 9 | echo "Skipping test: no transitional chinese locale is supported" 10 | fi 11 | exit 77 12 | fi 13 | 14 | LC_ALL=$LOCALE_ZH_CN \ 15 | ./test-mbrtowc${EXEEXT} 4 16 | -------------------------------------------------------------------------------- /tests/test-mbrtowc5.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Test whether the POSIX locale has encoding errors. 3 | LC_ALL=C \ 4 | ./test-mbrtowc${EXEEXT} 5 || exit 5 | LC_ALL=POSIX \ 6 | ./test-mbrtowc${EXEEXT} 5 7 | -------------------------------------------------------------------------------- /tests/test-mbsinit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test whether a specific UTF-8 locale is installed. 4 | : ${LOCALE_FR_UTF8=fr_FR.UTF-8} 5 | if test $LOCALE_FR_UTF8 = none; then 6 | if test -f /usr/bin/localedef; then 7 | echo "Skipping test: no french Unicode locale is installed" 8 | else 9 | echo "Skipping test: no french Unicode locale is supported" 10 | fi 11 | exit 77 12 | fi 13 | 14 | LC_ALL=$LOCALE_FR_UTF8 \ 15 | ./test-mbsinit${EXEEXT} 16 | -------------------------------------------------------------------------------- /tests/test-pipe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | st=0 4 | for i in 0 1 2 3 4 5 6 7 ; do 5 | ./test-pipe${EXEEXT} $i \ 6 | || { echo test-pipe.sh: iteration $i failed >&2; st=1; } 7 | done 8 | exit $st 9 | -------------------------------------------------------------------------------- /tests/test-posix_spawn1.in.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Halle Potta" 3 | -------------------------------------------------------------------------------- /tests/test-posix_spawn2.in.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | read line 3 | test "$line" = "Halle Potta" 4 | -------------------------------------------------------------------------------- /tests/test-quotearg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Choose an existing locale. The locale encoding does not matter; see the 4 | # comment in test-quotearg.po. 5 | if test $LOCALE_FR_UTF8 != none; then 6 | locale=$LOCALE_FR_UTF8 7 | else 8 | if test $LOCALE_FR != none; then 9 | locale=$LOCALE_FR 10 | else 11 | locale=none 12 | fi 13 | fi 14 | 15 | LOCALE=$locale LOCALEDIR="$srcdir/locale" \ 16 | ./test-quotearg${EXEEXT} 17 | -------------------------------------------------------------------------------- /tests/test-spawn-pipe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | st=0 4 | for i in 0 1 2 3 4 5 6 7 ; do 5 | ./test-spawn-pipe-main${EXEEXT} ./test-spawn-pipe-child${EXEEXT} $i \ 6 | || { echo test-spawn-pipe.sh: iteration $i failed >&2; st=1; } 7 | done 8 | exit $st 9 | -------------------------------------------------------------------------------- /tests/test-wcrtomb-w32-1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP1252 locale. 4 | ./test-wcrtomb-w32${EXEEXT} French_France 1252 5 | -------------------------------------------------------------------------------- /tests/test-wcrtomb-w32-2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP1256 locale. 4 | ./test-wcrtomb-w32${EXEEXT} "Arabic_Saudi Arabia" 1256 5 | -------------------------------------------------------------------------------- /tests/test-wcrtomb-w32-3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP932 locale. 4 | ./test-wcrtomb-w32${EXEEXT} Japanese_Japan 932 5 | -------------------------------------------------------------------------------- /tests/test-wcrtomb-w32-4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP950 locale. 4 | ./test-wcrtomb-w32${EXEEXT} Chinese_Taiwan 950 5 | -------------------------------------------------------------------------------- /tests/test-wcrtomb-w32-5.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test a CP936 locale. 4 | ./test-wcrtomb-w32${EXEEXT} Chinese_China 936 5 | --------------------------------------------------------------------------------