summaryrefslogtreecommitdiff
path: root/usr.bin/m4
AgeCommit message (Collapse)Author
2023-05-24use strchrchristos
2023-05-24m4 -g: { and } aren't supported in patsubst() or regexp()lukem
When running in -g (GNU m4) emulation, patsubst() and regexp() use the GNU m4 emacs-like regexes as implemented by gnulib, which don't support {..} intervals. When converting a GNU m4 regex to a POSIX ERE, escape raw { and }. Autoconf relies on the GNU m4 regex behaviour. See: - https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Redefined-M4-Macros.html - https://www.gnu.org/software/gnulib/manual/html_node/emacs-regular-expression-syntax.html This fixes the tools/compat/configure regen. PR toolchain/57431
2022-05-24fix various typos in comment, documentation and log messages.andvar
2021-12-07m4 manual - bring over the rest of the tmac.sU bits.uwe
All tmac.sU does is sets wider text and defines the .MH abbreviation for "Murray Hill" (.MH was brought over in the previous commit).
2021-12-07m4 manual - adapt to current -msuwe
Comment out macros related to the Bell Labs memorandum style. Bring over .MH (abbreviation for "Murray Hill") from tmac.sU.
2021-12-07m4: fix typo in error messagerillig
To trigger the error message, compile m4 with -DREAL_FREEZE, then run './m4 -R /dev/null'.
2021-12-07m4 - bring back the m4 manual.uwe
This is the version from the csrg-final tree by way of OpenBSD. FreeBSD version is identical modulo slightly different license text formatting and a few macro fixes.
2021-12-07m4: remove PSD.docrillig
make: don't know how to make m4.ms. Stop
2020-06-27eval: Make radix optional even if minimum result width is specified.uwe
This is what GNU m4 does too.
2020-06-27Improve markup for better PostScript output.uwe
Make sure quotes are right and copy-pastable even in UTF-8 output.
2020-06-25Use a date that is actually a real date.uwe
2020-06-25Bump date for previous.uwe
2020-06-25Fix --error-output to be more like GNU m4. It's a long version of -o.uwe
2020-06-25Fix --error-output to be more like GNU m4.uwe
GNU m4 --error-output is the same as -o despite the name. It does NOT affect warnings, error messages, and 'errprint' output so drop the misguided bit of code that tried to freopen stderr without closing it on failure. Drop -e (which was our local invention) and make merge --error-output with -o so that both set traceout. Make trace_file() preserve the old traceout on error and return error status so that the caller can emit appropriate warning. Do not yet support disabling tracing with an empty name, the rest of the code is not ready, we don't do -o positionally and we don't have `debugfile'.
2020-06-24Try not to lose error output with --error-output.uwe
Try to avoid the trap we set up ourselves while avoiding freopen(3). When exit flushes and closes open streams it may close sfp first and when it comes about to flush and close stderr, the descriptor is already gone and we lose any buffered error output. This actually happens on some hosts, breaking --trace output used by autoconf.
2019-03-26Use correct printf format for (struct input_file *)->linenokre
SHould unbreak 32 bit host builds.
2019-03-26fix use-after-free issue.christos
2019-03-26print the source line and file where the error happened.christos
2019-03-26Behave like gnu m4; when the error output file cannot be opened, just warnchristos
and keep going.
2018-07-30Avoid an infinite loop caused by a line accidentally droppedkre
in 1.22 (almost 30 months ago!) [ Discovered by rhialto@ ]
2017-10-23remove the braces I accidentally added.christos
2017-10-22PR/52638: matthew green: missing argument check causes m4 to core in ifelse()christos
2016-01-23Explain what REDIRECT is for.christos
2016-01-17Fix some macros. Sort stuff some more.wiz
2016-01-16Update documentation.christos
2016-01-16fix the option string.christos
2016-01-16mention that nesting limit is unimplementedchristos
2016-01-16add most gnu m4 long optionschristos
2016-01-16add nesting_limitchristos
2016-01-16record all input for fake freezechristos
2016-01-16Use hex for masks.christos
2016-01-16Add disabled support for saving and restoring the symbol table.christos
2016-01-16- don't eat the rest of the string when no match in patsubstchristos
- include the pattern in the error printing of regex - handle 3 argument and empty patterns the gnu way - add support for freezing and thawing state (not working yet)
2016-01-16- declarations for real/fake freezechristos
- add new flags
2016-01-16More gnu compatibility:christos
- handle macros > $9 - handle character remapping the the gnu way. Add a shortcut for the "fake freeze" files to not expand include macros during thawing.
2015-01-29use strtoi instead of strtonum, since this is a tool.christos
2015-01-29latent strtonum removal.christos
2015-01-29delete externchristos
2015-01-04Don't depend on yacc skeleton to include sys/cdefs.h early.joerg
2014-07-05Rework /usr/share/doc.dholland
Update the <bsd.doc.mk> infrastructure, and update the docs to match the new infrastructure. - Build and install text, ps, pdf, and/or html, not roff sources. - Don't wire the chapter numbers into the build system, or use them in the installed pathnames. This didn't matter much when the docs were a museum, but now that we're theoretically going to start maintaining them again, we're going to add and remove documents periodically and having the chapter numbers baked in creates a lot of thrashing for no purpose. - Specify the document name explicitly, rather than implicitly in a path. Use this name (instead of other random strings) as the name of the installed files. - Specify the document section, which is the subdirectory of /usr/share/doc to install into. - Allow multiple subdocuments. (That is, multiple documents in one output directory.) - Enumerate the .png files groff emits along with html so they can be installed. - Remove assorted hand-rolled rules for running roff and roff widgetry and add enough variable settings to make these unnecessary. This includes support for - explicit use of soelim - refer - tbl - pic - eqn - Forcibly apply at least minimal amounts of sanity to certain autogenerated roff files. - Don't exclude USD.doc, SMM.doc, and PSD.doc directories from the build, as they now actually do stuff. Note: currently we can't generate pdf. This turns out to be a nontrivial problem with no immediate solution forthcoming. So for now, as a workaround, install compressed .ps as the printable form.
2014-01-07Better document eval, mentioning optional second and third arguments.wiz
Requested by martin. Bump date.
2013-10-18avoid redefinitionschristos
2013-07-20Use Mt for email addresses.wiz
2012-04-25Fix wrong loop index leading to infinite loopchristos
ifdef(`FOO', # FOO ) XXX: Pullup to 6.
2012-04-08Remove unnecessary Bk/Ek pairs from SYNOPSIS.wiz
No effective change except where I used the opportunity to sort options and/or option descriptions.
2012-03-20Use C89 function definitionsmatt
2012-03-15Add __printflike attribution to use vprintf and friends with an argumentjoerg
as format string.
2011-09-06Move usage and onintr to make them static. Add __dead as needed.joerg
2011-08-21Requires stdint.h.dholland
2011-08-14kill gcc-4.5 warningchristos