Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Pass -std=c99 to cpp to remove crap like #define linux. | Kaz Kylheku | 2022-03-24 | 1 | -1/+6 |
| | |||||
* | New --dump-macros option. | Kaz Kylheku | 2022-03-24 | 1 | -0/+5 |
| | |||||
* | Run all test cases with and without --nobash option. | Kaz Kylheku | 2022-03-24 | 1 | -45/+46 |
| | |||||
* | If Bash is available, use process substitution. | Kaz Kylheku | 2022-03-24 | 1 | -3/+5 |
| | |||||
* | __FILE__ in main program resolves to original name. | Kaz Kylheku | 2022-03-24 | 1 | -0/+5 |
| | |||||
* | don't delete hash-bang line; replace with # | Kaz Kylheku | 2022-03-24 | 1 | -0/+9 |
| | | | | This preserves the line numbers. | ||||
* | bugfix: collapse: don't eat blank lines. | Kaz Kylheku | 2022-03-24 | 1 | -0/+13 |
| | |||||
* | 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 | 1 | -0/+5 |
| | |||||
* | get rid of <stdver.h> header. | Kaz Kylheku | 2022-03-23 | 1 | -5/+2 |
| | | | | cppawk internally defines __cppawk_ver now. | ||||
* | move mocks into testdir. | Kaz Kylheku | 2022-03-23 | 1 | -2/+2 |
| | |||||
* | hygiene: shell escape $awk and $prepro. | Kaz Kylheku | 2022-03-23 | 1 | -3/+3 |
| | | | | | | | | 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 | 1 | -0/+5 |
| | | | | | | | | 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 | 1 | -0/+20 |
| | |||||
* | bugfix: missing space breaks --prepro-only. | Kaz Kylheku | 2022-03-22 | 1 | -0/+8 |
| | | | | | Fix issue with interpolation of $prepro_opts in the case when the awk program is in the command line. | ||||
* | Handle situations when cpp breaks a line into pieces. | Kaz Kylheku | 2022-03-19 | 1 | -0/+9 |
| | | | | | | | | | | | | | | | | | | | 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 cppawk-include directory and <stdver.h> header. | Kaz Kylheku | 2022-03-18 | 1 | -0/+8 |
| | |||||
* | Simplify and revise quoting. | Kaz Kylheku | 2022-03-18 | 1 | -2/+19 |
| | |||||
* | Fix broken options quoting system. | Kaz Kylheku | 2022-03-18 | 1 | -0/+10 |
| | | | | | | Unquoting can't just be done with an interpolation into the command line; we have to construct an entire command as shell syntax and eval the whole thing. | ||||
* | Test -f option. | Kaz Kylheku | 2022-03-18 | 1 | -0/+5 |
| | | | | | | | | | Bugfix: because the preprocessed version of the file is in a temporary directory, #include "..." looks for files in that directory. We must tell the preprocessor to look for include files in the original directory. In the case when the awk script comes from the command line, we already took care of this by pointing the preprocessor to $(pwd). | ||||
* | Handle quoting properly. | Kaz Kylheku | 2022-03-18 | 1 | -0/+5 |
| | | | | | | | | The problem is that if $var holds escaped syntax, we cannot just use it as command $var; the quotes become part of the argument. We must get the shell to process the quoted syntax, which requires eval. For this we define a function which lets us do command $(syntax "$var"). | ||||
* | Add --prepro-only option. | Kaz Kylheku | 2022-03-18 | 1 | -0/+5 |
| | |||||
* | Define __posix__ if -P or --posix option used. | Kaz Kylheku | 2022-03-18 | 1 | -0/+9 |
| | |||||
* | Define __bignum__ if -M or --bignum option used. | Kaz Kylheku | 2022-03-18 | 1 | -0/+9 |
| | |||||
* | Add __gawk__ predefined preprocessor symbol. | Kaz Kylheku | 2022-03-18 | 1 | -0/+10 |
| | |||||
* | Fix missing: pass -I to preprocessor. | Kaz Kylheku | 2022-03-18 | 1 | -0/+14 |
| | |||||
* | Basic preprocessor test. | Kaz Kylheku | 2022-03-18 | 1 | -0/+12 |
| | |||||
* | More invocation error test cases. | Kaz Kylheku | 2022-03-18 | 1 | -0/+45 |
| | |||||
* | Check that -f without argument fails. | Kaz Kylheku | 2022-03-18 | 1 | -0/+5 |
| | |||||
* | Allow gawk -M option. | Kaz Kylheku | 2022-03-18 | 1 | -0/+4 |
| | |||||
* | Start test case implementation. | Kaz Kylheku | 2022-03-18 | 1 | -0/+5 |