Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | __revargs: rename to __revarg to rhyme with narg. | Kaz Kylheku | 2022-03-28 | 1 | -1/+1 |
| | |||||
* | narg: 16 argument safety red zone. | Kaz Kylheku | 2022-03-28 | 1 | -8/+21 |
| | |||||
* | Settle on single, most general __varexpand. | Kaz Kylheku | 2022-03-28 | 2 | -130/+79 |
| | | | | | The nested form based on the reduce concept is more general; one macro does it all. | ||||
* | __varexpand_simple: get rid of __rep_ macros. | Kaz Kylheku | 2022-03-28 | 1 | -136/+1 |
| | | | | | | | There is no need for __varexpand_simple to carry its own set of 32 macros, because it's just a special case of __varexpand_infix, with the same helper macro duplicated as mac1 and mac2. | ||||
* | Test for features not awks. | Kaz Kylheku | 2022-03-28 | 2 | -1/+5 |
| | | | | | Let's start the practice of setting up some feature macros in base.h. Then test for features elsewhere. | ||||
* | Simplify definition of variadic macros. | Kaz Kylheku | 2022-03-28 | 2 | -8/+16 |
| | |||||
* | Remove stray character in macro expansion. | Kaz Kylheku | 2022-03-28 | 1 | -1/+1 |
| | | | | | This would affect 15 argument variadic macros, like case clauses with exactly 15 keys. | ||||
* | Fix some include guards lacking trailing _H. | Kaz Kylheku | 2022-03-28 | 2 | -3/+3 |
| | |||||
* | README: mention new case header. | Kaz Kylheku | 2022-03-28 | 1 | -2/+7 |
| | |||||
* | README: awkloop: test return value of geline right | Kaz Kylheku | 2022-03-28 | 1 | -1/+1 |
| | |||||
* | Document <case.h> with own man page; bump date. | Kaz Kylheku | 2022-03-28 | 3 | -4/+173 |
| | |||||
* | New <case.h> header and macro. | Kaz Kylheku | 2022-03-27 | 8 | -4/+553 |
| | | | | | | This provides a portable case statement implemented directly as switch on GNU Awk, and using other approaches on other Awks that do not have switch. | ||||
* | man page: redesign __gawk_ver semantics. | Kaz Kylheku | 2022-03-26 | 1 | -20/+16 |
| | |||||
* | man page: revise BUGS section. | Kaz Kylheku | 2022-03-26 | 1 | -34/+15 |
| | |||||
* | Document __gawk_ver symbol. | Kaz Kylheku | 2022-03-26 | 1 | -0/+34 |
| | | | | | In the future, some cppawk headers will react to this symbol's value, if it is defined. | ||||
* | runtests: remove script.sh and output. | Kaz Kylheku | 2022-03-26 | 1 | -0/+1 |
| | |||||
* | Alignment issue in license header. | Kaz Kylheku | 2022-03-25 | 1 | -1/+1 |
| | |||||
* | Use awk for testsuite rather than cppawk. | Kaz Kylheku | 2022-03-25 | 2 | -3/+3 |
| | | | | | | There are ways in which cppawk can be fundamentally broken which will cause the test suite to appear to succeed, but without actually running any tests. | ||||
* | Bump version to 20220325.20220325 | Kaz Kylheku | 2022-03-24 | 2 | -2/+2 |
| | |||||
* | Pass -std=c99 to cpp to remove crap like #define linux. | Kaz Kylheku | 2022-03-24 | 2 | -2/+8 |
| | |||||
* | New --dump-macros option. | Kaz Kylheku | 2022-03-24 | 3 | -0/+17 |
| | |||||
* | Run all test cases with and without --nobash option. | Kaz Kylheku | 2022-03-24 | 3 | -47/+49 |
| | |||||
* | If Bash is available, use process substitution. | Kaz Kylheku | 2022-03-24 | 3 | -3/+29 |
| | |||||
* | README: rearrangement; revise Gawk @include discussion. | Kaz Kylheku | 2022-03-24 | 1 | -17/+30 |
| | |||||
* | __FILE__ in main program resolves to original name. | Kaz Kylheku | 2022-03-24 | 3 | -5/+20 |
| | |||||
* | don't delete hash-bang line; replace with # | Kaz Kylheku | 2022-03-24 | 2 | -1/+10 |
| | | | | This preserves the line numbers. | ||||
* | bugfix: collapse: don't eat blank lines. | Kaz Kylheku | 2022-03-24 | 2 | -5/+21 |
| | |||||
* | don't create temp file when not needed. | Kaz Kylheku | 2022-03-24 | 1 | -14/+17 |
| | |||||
* | test case for --prepro-only with -f. | Kaz Kylheku | 2022-03-24 | 1 | -0/+5 |
| | |||||
* | bugfix: execing awk causes temp files to persist. | Kaz Kylheku | 2022-03-24 | 3 | -1/+9 |
| | |||||
* | Bump version; remove beta status from man page. | Kaz Kylheku | 2022-03-24 | 2 | -2/+2 |
| | |||||
* | Keep empty cppawk-include directory. | Kaz Kylheku | 2022-03-24 | 1 | -0/+1 |
| | |||||
* | README: Roadmap section. | Kaz Kylheku | 2022-03-23 | 1 | -2/+17 |
| | |||||
* | get rid of <stdver.h> header. | Kaz Kylheku | 2022-03-23 | 4 | -25/+25 |
| | | | | cppawk internally defines __cppawk_ver now. | ||||
* | Tail-call awk using exec. | Kaz Kylheku | 2022-03-23 | 1 | -1/+1 |
| | | | | | Why have cppawk in memory while awk is running; it's done its job. | ||||
* | clearer code around handling of awk file's directory. | Kaz Kylheku | 2022-03-23 | 1 | -1/+2 |
| | |||||
* | move mocks into testdir. | Kaz Kylheku | 2022-03-23 | 3 | -2/+2 |
| | |||||
* | hygiene: shell escape $awk and $prepro. | Kaz Kylheku | 2022-03-23 | 4 | -21/+14 |
| | | | | | | | | Since $awk and $prepro are now controlled via command line options, and are being fed to eval, we should shell escape them. Two of our test cases rely on the loose interpolation behavior; we fix those using proper external mock programs testawk and testcpp. | ||||
* | hygiene: what if $awk matches name of function? | Kaz Kylheku | 2022-03-23 | 2 | -0/+21 |
| | | | | | | | | We use the "command" command to make sure we are running an external awk and preprocessor. For instance if someone were to try "cppawk --awk=quote", that would be targetting the quote function inside cppawk and not that users Awk program that happens to be called "quote". | ||||
* | Add options --prepro and --awk. | Kaz Kylheku | 2022-03-23 | 3 | -5/+77 |
| | |||||
* | README: condense, improve focus. | Kaz Kylheku | 2022-03-23 | 1 | -72/+29 |
| | |||||
* | bugfix: missing space breaks --prepro-only. | Kaz Kylheku | 2022-03-22 | 2 | -1/+9 |
| | | | | | Fix issue with interpolation of $prepro_opts in the case when the awk program is in the command line. | ||||
* | README: add missing :::c. | Kaz Kylheku | 2022-03-22 | 1 | -0/+1 |
| | |||||
* | README: revise bullet 3. | Kaz Kylheku | 2022-03-22 | 1 | -6/+14 |
| | |||||
* | Continue README. | Kaz Kylheku | 2022-03-22 | 1 | -7/+27 |
| | |||||
* | Add markdown README. | Kaz Kylheku | 2022-03-22 | 1 | -0/+93 |
| | |||||
* | Handle situations when cpp breaks a line into pieces. | Kaz Kylheku | 2022-03-19 | 2 | -3/+38 |
| | | | | | | | | | | | | | | | | | | | There are situations in which GNU cpp breaks a single line of input into multiple lines. These are indicated by linemarkers that repeat the current line number, for instance: # 3 "file" this # 3 "file" is # 3 "file" all line three line four line five We now remove these repeat linemarkers and collapse the indicated lines back into one line, also eliminating the leading whitespace that tries to preserve the column. | ||||
* | Add INSTALL file. | Kaz Kylheku | 2022-03-18 | 1 | -0/+14 |
| | |||||
* | Add cppawk-include directory and <stdver.h> header. | Kaz Kylheku | 2022-03-18 | 4 | -0/+24 |
| | |||||
* | Add awkloop example to man page. | Kaz Kylheku | 2022-03-18 | 1 | -0/+25 |
| |