---------------------------------------------------
2013-06-07 11:53:51 +0100 Tony Finch <dot@dotat.at> (HEAD, unifdef-2.9, 
github/master, master)

INSTALL: more portability notes.

 INSTALL |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-06-06 12:24:30 +0100 Tony Finch <dot@dotat.at>

Makefile: correct dependencies and portability to GNU make.

My aim was previously to rely on make's built-in rules to
build unifdef, on the assumption that this would be the
easiest way to do the right thing on unknown systems.

The right way to specify the dependencies for unifdef is:

unifdef: unifdef.c unifdef.h version.h

However GNU make has an incorrect implicit rule:

.c:
        $(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@

This puts all of the prerequisites on the command line, which
causes things to break. POSIX specifies the implicit rule as

.c:
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<

And POSIX says "In an inference rule, the $< macro shall evaluate
to the filename whose existence allowed the inference rule to be
chosen for the target". In our case $< expands to just unifdef.c
which is what we want.

Putting .POSIX in the Makefile does not cause GNU make to use the
posixly-correct implicit rule definition.

The previous version of the Makefile had incorrect dependencies
which meant that GNU make (and probably other versions of make)
would not rebuild unifdef if the header files were touched. So
to fix that bug, and to work around the buggy implicit rule in
GNU make, the Makefile now has an expanded version of the
standard POSIX build rule for unifdef.

 Makefile |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-06-06 11:50:19 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-06-06 11:48:43 +0100 Tony Finch <dot@dotat.at>

unifdef: Avoid ssize_t for portability

 unifdef.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-05-10 00:16:01 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

travis-ci: fix release traget by git cloning with infinite depth

git describe needs at least the last tag available. This is never sure
when using git clone --depth=50 which is done by travis per default.

 .travis.yml |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-09 21:42:31 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

scripts: avoid gzip option --keep for compatibility

"-k|--keeps" is not available yet in officially released gzip.

 scripts/release.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-15 13:22:56 +0100 Tony Finch <dot@dotat.at>

scripts: fetch Github pull requests

 scripts/git.config |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-09 20:44:29 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-09 20:38:24 +0100 Tony Finch <dot@dotat.at>

unifdef: avoid strndup() for non-standard C implementations

 unifdef.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-09 20:08:26 +0100 Tony Finch <dot@dotat.at>

scripts: copycheck fixes

! must go at the start of a pipeline in portable sh
Use a default author if git doesn't know who you are.

 scripts/copycheck.sh |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-05-09 20:00:19 +0100 Tony Finch <dot@dotat.at>

tests: avoid non-portable error message in multimissing

 tests/multi-generic-sh    |    2 +-
 tests/multimissing.experr |    1 -
 2 files changed, 1 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-09 19:55:37 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-09 19:54:28 +0100 Tony Finch <dot@dotat.at>

tests: shell . command needs path in argument

 tests/multi.sh        |    2 +-
 tests/multilnnum.sh   |    2 +-
 tests/multimissing.sh |    2 +-
 tests/multinewline.sh |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-05-09 19:47:56 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-09 19:44:58 +0100 Tony Finch <dot@dotat.at>

tests: leave the source files alone in the multi-file tests

 tests/multi-generic-sh    |   15 +++++++++++++++
 tests/multi.expout        |    8 ++++----
 tests/multi.sh            |   10 +++-------
 tests/multilnnum.expout   |   20 ++++++++++----------
 tests/multilnnum.sh       |   10 +++-------
 tests/multimissing.experr |    7 +++++--
 tests/multimissing.expout |    4 ++--
 tests/multimissing.sh     |   15 +++------------
 tests/multinewline.expout |    8 ++++----
 tests/multinewline.sh     |   10 +++-------
 10 files changed, 52 insertions(+), 55 deletions(-)

---------------------------------------------------
2013-05-09 14:41:53 +0100 Tony Finch <dot@dotat.at>

Makefile: release fixes

Must include version.h for non-unix builds.  Re-jig the version
dependencies to avoid running reversion.sh twice.

 Makefile |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-08 16:51:11 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-08 16:48:49 +0100 Tony Finch <dot@dotat.at>

tests: clean away more xterm gubbins

 Makefile           |    3 +-
 tests/xterm.experr |    2 +-
 tests/xterm.expout | 2671 ----------------------------------------------------
 tests/xterm.sh     |    7 +-
 4 files changed, 6 insertions(+), 2677 deletions(-)

---------------------------------------------------
2013-05-08 16:30:35 +0100 Tony Finch <dot@dotat.at>

tests: do not ship vast chunks of XTerm

By default the xterm test does nothing; if required it will download
and upack xterm in order to run the full test. It is likely to break
when a new version of xterm is released since the download URL is
not versioned.

 COPYING                |    8 -
 tests/xterm-292-main.c | 5239 ---------------------------------------
 tests/xterm-defs.h     | 6423 ------------------------------------------------
 tests/xterm.sh         |   38 +-
 4 files changed, 33 insertions(+), 11675 deletions(-)

---------------------------------------------------
2013-05-08 16:08:49 +0100 Tony Finch <dot@dotat.at>

scripts: fold long lines in the Changelog

 scripts/gitlog2changelog.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-05-08 15:58:15 +0100 Tony Finch <dot@dotat.at>

scripts: compress releases with xz as well as gzip

 scripts/release.sh |    6 ++++--
 web/index.html     |    2 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-08 15:02:06 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-05-08 15:01:17 +0100 Tony Finch <dot@dotat.at>

COPYING: note part of XTerm is used in the tests

 COPYING |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-08 14:56:23 +0100 Tony Finch <dot@dotat.at>

tests: check recursive definitions, and unifdefall xterm

The xterm test is my original motivation for unifdef.
The OPT_PTY_HANDSHAKE definition relies on indirection
and without that feature unifdefall cannot remove all
preprocessor conditional directives.

 tests/recursive.experr |  102 +
 tests/recursive.expout |   26 +
 tests/recursive.exprc  |    1 +
 tests/recursive.sh     |    1 +
 tests/xterm-292-main.c | 5239 +++++++++++++++++++++++++++++++++++++++
 tests/xterm-defs.h     | 6423 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/xterm.experr     |    3 +
 tests/xterm.expout     | 2754 +++++++++++++++++++++
 tests/xterm.exprc      |    1 +
 tests/xterm.sh         |    8 +
 10 files changed, 14558 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-08 14:46:53 +0100 Tony Finch <dot@dotat.at>

unifdef: further debugging improvements

 unifdef.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-05-08 13:47:07 +0100 Tony Finch <dot@dotat.at>

unifdef: improve indirect macro definitions

Note in the debug output when a macro value is updated.

Do not change a macro from defined to undefined.

Recursive definitions no longer cause a loop.

 unifdef.c |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

---------------------------------------------------
2013-05-08 13:30:37 +0100 Tony Finch <dot@dotat.at>

web: pre-release

 web/index.html |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-08 13:19:31 +0100 Tony Finch <dot@dotat.at>

scripts: include release tags and renames in Changelog

 Makefile                    |    2 +-
 scripts/gitlog2changelog.sh |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-08 13:10:11 +0100 Tony Finch <dot@dotat.at>

web: improve example uses, and add UIT

 web/index.html |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-08 12:56:45 +0100 Tony Finch <dot@dotat.at>

unifdef.1: document indirection, and refer to macros not symbols

Trying to be more consistent with terminology from the C standard.

 unifdef.1 |   76 ++++++++++++++++++++++++++++++------------------------------
 1 files changed, 38 insertions(+), 38 deletions(-)

---------------------------------------------------
2013-05-08 12:39:53 +0100 Tony Finch <dot@dotat.at>

tests: test indirect macro definitions

 tests/indirect.expout |   16 ++++++++++++++++
 tests/indirect.exprc  |    1 +
 tests/indirect.sh     |    1 +
 3 files changed, 18 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-08 12:39:03 +0100 Tony Finch <dot@dotat.at>

scripts: add missing release script

 scripts/release.sh |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-08 12:31:39 +0100 Tony Finch <dot@dotat.at>

unifdef: support for simple macro value indirection

 unifdef.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-08 11:45:53 +0100 Tony Finch <dot@dotat.at>

Makefile: delete control characters from manual with col instead of sed

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-05-08 11:21:31 +0100 Tony Finch <dot@dotat.at>

scripts: move support gubbins into a subdirectory

 Makefile                             |   26 +++++++-------------------
 authors.svn => scripts/authors.svn   |    0
 copycheck.sh => scripts/copycheck.sh |    0
 fixtests.sh => scripts/fixtests.sh   |    0
 git.config => scripts/git.config     |    3 ---
 scripts/gitlog2changelog.sh          |    8 ++++++++
 reversion.sh => scripts/reversion.sh |    0
 runtests.sh => scripts/runtests.sh   |    0
 svnup => scripts/svnup.sh            |    4 +---
 upload => scripts/upload.sh          |    0
 10 files changed, 16 insertions(+), 25 deletions(-)

---------------------------------------------------
2013-05-08 11:03:38 +0100 Tony Finch <dot@dotat.at>

Bump copyright dates.

 COPYING         |    4 ++--
 unifdef.h       |    2 +-
 win32/unifdef.h |    2 +-
 win32/win32.c   |    2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-05-08 10:49:28 +0100 Tony Finch <dot@dotat.at>

copyckeck: ensure copyright dates are correct on release

 copycheck.sh |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-05-06 18:08:08 +0100 Tony Finch <dot@dotat.at>

web: update for 2.8 release; clearer links to COPYRIGHT and INSTALL

 web/index.html |   16 +++++-----------
 1 files changed, 5 insertions(+), 11 deletions(-)

---------------------------------------------------
2013-05-06 18:07:21 +0100 Tony Finch <dot@dotat.at> (unifdef-2.8)

INSTALL: be clearer about dependencies up front

 INSTALL |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-05-06 17:47:58 +0100 Tony Finch <dot@dotat.at>

unifdef: fix #undef parser

Previously the parser state was incorrect following a #undef
which caused the following line to be ignored. Found when
testing unifdefall on xterm/main.c.

 unifdef.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-05-06 17:40:16 +0100 Tony Finch <dot@dotat.at>

unifdef: remove spurious \n in debug output

 unifdef.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-05-06 17:36:34 +0100 Tony Finch <dot@dotat.at>

unifdef: increase max number of symbols to 16K

This is so that it can cope with the output of
	cc -E -dM xterm/main.c

 unifdef.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-05-06 17:35:08 +0100 Tony Finch <dot@dotat.at>

unifdefall: use unifdef -f and delete lots of arcane shell hackery

 unifdefall.sh |   34 ++++++++--------------------------
 1 files changed, 8 insertions(+), 26 deletions(-)

---------------------------------------------------
2013-04-29 21:10:55 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release version

 web/index.html |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-04-29 21:02:53 +0100 Tony Finch <dot@dotat.at>

unifdef: support function-like macro definitions

This is a fairly half-arsed implementation that treats function-like
macros the same as object-like macros that have been set to 1. It
is reasonably consistent with the existing half-arsed treatment
of function-like macro invocations in #if and #elif control expressions.

The manual now explains this half-arsedness more clearly.

 tests/broken1.h                                    |    1 -
 tests/defundef-broken1.experr                      |    2 -
 tests/defundef-broken1.exprc                       |    1 -
 tests/defundef-broken1.sh                          |    1 -
 ...ndef-broken1.expout => defundef-funlike.experr} |    0
 tests/defundef-funlike.expout                      |   13 +++++
 tests/defundef-funlike.exprc                       |    1 +
 tests/defundef-funlike.sh                          |    1 +
 tests/funlike.h                                    |    1 +
 unifdef.1                                          |   51 +++++++++++++------
 unifdef.c                                          |   14 +++---
 11 files changed, 58 insertions(+), 28 deletions(-)

---------------------------------------------------
2013-04-29 20:37:08 +0100 Tony Finch <dot@dotat.at>

unifdef.1: typo: function-like arguments -> macros

 unifdef.1 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-27 17:28:18 +0100 Tony Finch <dot@dotat.at>

web: advertise pre-release

 web/index.html |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-27 17:22:50 +0100 Tony Finch <dot@dotat.at>

tests: broken #define/#undef files

 tests/broken1.h               |    1 +
 tests/broken2.h               |    1 +
 tests/broken3.h               |    1 +
 tests/broken4.h               |    2 ++
 tests/defundef-broken1.experr |    2 ++
 tests/defundef-broken1.exprc  |    1 +
 tests/defundef-broken1.sh     |    1 +
 tests/defundef-broken2.experr |    2 ++
 tests/defundef-broken2.exprc  |    1 +
 tests/defundef-broken2.sh     |    1 +
 tests/defundef-broken3.experr |    2 ++
 tests/defundef-broken3.exprc  |    1 +
 tests/defundef-broken3.sh     |    1 +
 tests/defundef-broken4.experr |    2 ++
 tests/defundef-broken4.exprc  |    1 +
 tests/defundef-broken4.sh     |    1 +
 16 files changed, 21 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-27 17:21:15 +0100 Tony Finch <dot@dotat.at>

unifdef: correct check for multi-line #define/#undef directives

 unifdef.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-27 16:57:50 +0100 Tony Finch <dot@dotat.at>

unifdef.1: explain #define restrictions

 unifdef.1 |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-27 16:52:26 +0100 Tony Finch <dot@dotat.at>

unifdef: no need to edit keywords in defundef()

 unifdef.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

---------------------------------------------------
2013-04-27 16:44:58 +0100 Tony Finch <dot@dotat.at>

unifdef: rewrite the #define/#undef file parser

 unifdef.c |  158 ++++++++++++++++++++-----------------------------------------
 1 files changed, 52 insertions(+), 106 deletions(-)

---------------------------------------------------
2013-04-27 16:41:31 +0100 Tony Finch <dot@dotat.at>

unifdef: 64 bit evaluator, and quell type conversion warnings

 unifdef.c |   66 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 43 insertions(+), 23 deletions(-)

---------------------------------------------------
2013-04-27 16:38:00 +0100 Tony Finch <dot@dotat.at>

tests: display progress

 runtests.sh |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-26 17:48:14 +0100 Tony Finch <dot@dotat.at>

unifdef: more refactoring in -f mode

Moving towards sharing more of the parsing code between -f header
files and normal source files.

 unifdef.c |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

---------------------------------------------------
2013-04-26 17:43:54 +0100 Tony Finch <dot@dotat.at>

unifdef: Fix the behaviour of #define without a value

On the command line, `-DFOO` is a short-hand for `-DFOO=1`
whereas `#define FOO` is like `-DFOO=`.

 tests/if1.h |    2 +-
 unifdef.c   |   30 ++++++++++++------------------
 2 files changed, 13 insertions(+), 19 deletions(-)

---------------------------------------------------
2013-04-26 16:13:48 +0100 Tony Finch <dot@dotat.at>

reversion: avoid spurious rebuilds in a dirty tree

 reversion.sh |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-26 16:13:22 +0100 Tony Finch <dot@dotat.at>

Makefile: need a dependency on unifdef.h

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-26 15:51:56 +0100 Tony Finch <dot@dotat.at>

unifdef: count lines correctly when processing multiple files

 tests/multilnnum.expout |   42 ++++++++++++++++++++++++++++++++++++++++++
 tests/multilnnum.exprc  |    1 +
 tests/multilnnum.sh     |    7 +++++++
 unifdef.c               |    1 +
 4 files changed, 51 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-17 21:44:38 +0100 Tony Finch <dot@dotat.at>

tests: check handling of weird whitespace

 tests/whitespace-1.experr |    2 ++
 tests/whitespace-1.expout |    1 +
 tests/whitespace-1.exprc  |    1 +
 tests/whitespace-1.sh     |    1 +
 tests/whitespace-2.expout |    5 +++++
 tests/whitespace-2.exprc  |    1 +
 tests/whitespace-2.sh     |    1 +
 tests/whitespace.c        |    7 +++++++
 8 files changed, 19 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-17 21:44:02 +0100 Tony Finch <dot@dotat.at>

tests: add missing if1.h

 tests/if1.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-17 21:39:15 +0100 Tony Finch <dot@dotat.at>

unifdef: improve handling of weird whitespace

This fixes the handling of lots of whitespace on a line,
and restores proper handling of final lines without newlines.

 unifdef.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-04-17 20:51:25 +0100 Tony Finch <dot@dotat.at>

unifdef: refactor parseline()

Create functions for finding preprocessor directives and for skipping
trailing junk and non-preprocessor text. This simplifies parseline()
and it will also be useful in defundef().

 unifdef.c |  182 +++++++++++++++++++++++++++++++++----------------------------
 1 files changed, 98 insertions(+), 84 deletions(-)

---------------------------------------------------
2013-04-16 22:43:24 +0100 Tony Finch <dot@dotat.at>

unifdef: trace -f activity only in debug mode

 tests/if1-f.experr |    3 ---
 unifdef.c          |    4 ++--
 2 files changed, 2 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-04-16 22:40:16 +0100 Tony Finch <dot@dotat.at>

tests: check basics of -f

 tests/if1-f.experr |    3 +++
 tests/if1-f.expout |   16 ++++++++++++++++
 tests/if1-f.exprc  |    1 +
 tests/if1-f.sh     |    1 +
 4 files changed, 21 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-16 22:34:11 +0100 Tony Finch <dot@dotat.at>

unifdef: better error handling and style for defundef()

 unifdef.c |   24 +++++++++++-------------
 1 files changed, 11 insertions(+), 13 deletions(-)

---------------------------------------------------
2013-04-16 22:17:49 +0100 Tony Finch <dot@dotat.at>

unifdef: correctly handle multiple input files with differing newline styles

 tests/multinewline.expout |   39 +++++++++++++++++++++++++++++++++++++++
 tests/multinewline.exprc  |    1 +
 tests/multinewline.sh     |    7 +++++++
 unifdef.c                 |    1 +
 4 files changed, 48 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-16 22:09:16 +0100 Tony Finch <dot@dotat.at>

unifdef: stylish undefile()

 unifdef.c |  133 +++++++++++++++++++++++++++++++------------------------------
 1 files changed, 67 insertions(+), 66 deletions(-)

---------------------------------------------------
2013-04-16 21:52:41 +0100 Tony Finch <dot@dotat.at>

README: credit Steve Underwood

 README |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-16 21:50:45 +0100 Tony Finch <dot@dotat.at>

unifdef: cleanup addsym() code duplication and name undefile()

 unifdef.c |   70 +++++++++++++++++++++++++++----------------------------------
 1 files changed, 31 insertions(+), 39 deletions(-)

---------------------------------------------------
2013-04-16 21:28:53 +0100 Tony Finch <dot@dotat.at>

unifdef: use -f option for definitions files, and add documentation

 unifdef.1 |   22 ++++++++++++++++++++++
 unifdef.c |   14 +++++++-------
 2 files changed, 29 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-04-16 20:51:34 +0100 Tony Finch <dot@dotat.at>

unifdef: read definitions an undefinitions from a file

Submitted-by: Steve Underwood <steveu@coppice.org>

 unifdef.c |  167 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 165 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-04-07 11:07:46 +0100 Tony Finch <dot@dotat.at>

win32: report intermediate errors in replace()

 win32/win32.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-07 11:04:10 +0100 Tony Finch <dot@dotat.at>

unifdef: slightly cleaner backup filename handling

 unifdef.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-07 10:57:48 +0100 Tony Finch <dot@dotat.at>

unifdef: close input when processing is complete

This avoids leaking input file handles when processing multiple
files, and it should help with the temporary file handling
problems on Windows.

 unifdef.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

---------------------------------------------------
2013-04-07 10:55:13 +0100 Tony Finch <dot@dotat.at>

unifdef: add a comment to explain the newline handling

 unifdef.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-06 13:51:10 +0100 Tony Finch <dot@dotat.at>

win32: ReplaceFile() is not the right thing either.

Sometimes unifdef calls replace() when the target filename does not
exist, in which situation ReplaceFile() fails. So it is easier to
call remove() and rename() and not worry about atomic replacement.

 win32/win32.c |   29 ++++-------------------------
 1 files changed, 4 insertions(+), 25 deletions(-)

---------------------------------------------------
2013-04-04 12:46:09 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

travis-ci: import travis yaml controller

.travis.yml is used for automatic builds on travis build farm
(https://travis-ci.org/) if the travis service hook is enabled for the
repo on github.

This inital yaml controller will run 3 different compilers (gcc, clang,
mingw). Mingw builds will use wine for running the test suite, which
currently fails for some tests to be fixed (or skipped) later.

Builds are enabled for two branches "master" and "tmp" where the tmp
branch may be used to try something out whithout polluting the master
history (specially when changing/testing .travis.yml itself).

 .travis.yml |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-06 13:24:03 +0100 Tony Finch <dot@dotat.at>

win32: use ReplaceFile() instead of rename()

The Windows implementation of rename() fails if the new filename
already exists. When processing the input file in place, unifdef
uses ReplaceFile() instead.

 unifdef.c       |    2 +-
 unifdef.h       |    2 ++
 win32/unifdef.h |    1 +
 win32/win32.c   |   33 +++++++++++++++++++++++++++++++++
 4 files changed, 37 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-04 13:28:31 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

Makefile: specify path to version.sh in release target.

Some shells only source from $PATH not the current directory.

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-04 13:11:20 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

Tell git to ignore .exe target.

 .gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2013-04-04 12:45:05 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

INSTALL: fix typo

 INSTALL |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-02 21:51:39 +0100 Tony Finch <dot@dotat.at>

tests/multimissing: avoid platform-dependent error message

Reported-by: Ruediger Meier <ruediger.meier@ga-group.nl>

 tests/multimissing.experr |    3 +--
 tests/multimissing.sh     |    9 +++++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-04-02 14:07:20 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

tests: locale-independent diffs in multi-file tests

We want to sed away file mtimes from the diff output but date/time
format may depend on platform and locale.
(Noticed on OpenBSD 5.1)

 tests/multi.sh        |    4 ++--
 tests/multimissing.sh |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-04-02 21:27:17 +0100 Tony Finch <dot@dotat.at>

unifdefall: use cc -E -dM instead of cpp -dM

This is a workaround for Mac OS X, in which ccp invokes gcc
with the -traditional-cpp option which disables C99 variadic
macros. Unfortunately stdio.h requires variadic macro support
so real programs, as well as the tests, are likely to break.

I am not sure if this is the right fix. It is marginally closer to
POSIX, since it has c99 -E but not cpp. But POSIX also lacks cc and
the -dM option.

 unifdefall.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-04-02 21:25:14 +0100 Tony Finch <dot@dotat.at>

tests: fix a typo in a type name, caught by clang

 tests/if5-a.expout |    2 +-
 tests/if5.c        |    2 +-
 tests/if5.expout   |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-03-31 16:00:36 +0100 Tony Finch <dot@dotat.at>

reversion: deal with a git regression when the tree is clean

Some time between git-1.7.3 and git-1.7.10 `git show --quiet`
stopped working. Apparently the official way to suppress
the diff output is now with the -s option. Neither of these
options is documented in the `git show` man page; `git diff`
documents the --quiet option for this purpose and `git log`
documents the -s option.

See also http://thread.gmane.org/gmane.comp.version-control.git/174665

Reported-by: Bruce Korb <bruce.korb@gmail.com>

 reversion.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-03-28 19:05:30 +0000 Tony Finch <dot@dotat.at> (unifdef-2.7)

bump copyright dates

 unifdef.1     |    2 +-
 unifdef.c     |    2 +-
 unifdefall.sh |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-03-28 19:04:50 +0000 Tony Finch <dot@dotat.at>

web: freshmeat iis now freecode

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-03-28 18:50:12 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.7

 web/index.html |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-03-28 18:43:36 +0000 Tony Finch <dot@dotat.at>

web: bump prerelease version again

 web/index.html |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-03-28 18:37:41 +0000 Tony Finch <dot@dotat.at>

unifdef.1: Remove superfluous paragraph macro.

Obtained-from: Joel Dahl <joel@FreeBSD.org>

 unifdef.1 |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-03-28 18:35:10 +0000 Tony Finch <dot@dotat.at>

unifdefall: No need to use `basename`.

Obtained-from: David O'Brien <obrien@FreeBSD.org>

 unifdefall.sh |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-03-28 18:18:48 +0000 Tony Finch <dot@dotat.at>

unifdef: fix type mismatch in debug() calls.

Adapted from a similar fix by Jörg Sonnenberger <joerg@NetBSD.org>

 unifdef.c |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

---------------------------------------------------
2013-03-28 17:36:25 +0000 Tony Finch <dot@dotat.at>

win32: Makefile for MinGW.

Suggested by: Mateusz Czaplinski <czapkofan@gmail.com>

 INSTALL              |    8 +++++---
 win32/Makefile.mingw |    7 +++++++
 2 files changed, 12 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-03-28 17:24:37 +0000 Tony Finch <dot@dotat.at>

unifdef.c: quell warnings

 unifdef.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-03-28 16:47:06 +0000 Tony Finch <dot@dotat.at>

web: bump prerelease version

 web/index.html |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2013-03-28 16:38:34 +0000 Tony Finch <dot@dotat.at>

Include the input file name on #line directives.

Suggested by: Bob Lewis <bobl@tricity.wsu.edu>

 tests/overlnnum.expout |    8 ++++----
 unifdef.c              |   26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-03-28 16:08:00 +0000 Tony Finch <dot@dotat.at>

Configurable exit mode, to be more friendly to make files.

Suggested by: Bob Lewis <bobl@tricity.wsu.edu>

 tests/exitmode0a.expout |   16 ++++++++++++++++
 tests/exitmode0a.exprc  |    1 +
 tests/exitmode0a.sh     |    1 +
 tests/exitmode0b.expout |   26 ++++++++++++++++++++++++++
 tests/exitmode0b.exprc  |    1 +
 tests/exitmode0b.sh     |    1 +
 tests/exitmode1a.expout |   16 ++++++++++++++++
 tests/exitmode1a.exprc  |    1 +
 tests/exitmode1a.sh     |    1 +
 tests/exitmode1b.expout |   26 ++++++++++++++++++++++++++
 tests/exitmode1b.exprc  |    1 +
 tests/exitmode1b.sh     |    1 +
 tests/exitmode2a.expout |   16 ++++++++++++++++
 tests/exitmode2a.exprc  |    1 +
 tests/exitmode2a.sh     |    1 +
 tests/exitmode2b.expout |   26 ++++++++++++++++++++++++++
 tests/exitmode2b.exprc  |    1 +
 tests/exitmode2b.sh     |    1 +
 unifdef.1               |   40 ++++++++++++++++++++++++++++++++++++----
 unifdef.c               |   23 ++++++++++++++++-------
 20 files changed, 190 insertions(+), 11 deletions(-)

---------------------------------------------------
2012-09-06 17:58:59 +0100 Tony Finch <dot@dotat.at>

web: fix the anchor text too!

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2012-09-06 17:57:07 +0100 Tony Finch <dot@dotat.at>

web: correct link to Windows .zip file

Reported by: Mateusz Czaplinski <czapkofan@gmail.com>

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2012-02-22 14:04:31 +0000 Tony Finch <dot@dotat.at>

web: bump pre-release version

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2012-02-22 13:52:47 +0000 Tony Finch <dot@dotat.at>

win32: build fixes

Submitted by: 김이선 <veblush@neople.co.kr>

 win32/unifdef.h       |    2 ++
 win32/unifdef.vcxproj |   19 ++++++++++++-------
 2 files changed, 14 insertions(+), 7 deletions(-)

---------------------------------------------------
2012-02-21 18:45:52 +0000 Tony Finch <dot@dotat.at>

web: advertise pre-release with Windows support

 web/index.html |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

---------------------------------------------------
2012-02-21 18:42:22 +0000 Tony Finch <dot@dotat.at>

reversion: more verbose when updating. Changelog depends on version.h.

 Makefile     |    2 +-
 reversion.sh |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2012-02-21 18:08:23 +0000 Tony Finch <dot@dotat.at>

release: build zip file as well as tarball.

 Makefile |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

---------------------------------------------------
2012-02-21 18:00:44 +0000 Tony Finch <dot@dotat.at>

release: include the portability stuff in release tarballs.

We now also include version.h so the Windows build doesn't
need to run version.sh.

 INSTALL               |   10 ++++++----
 Makefile              |   24 +++++++-----------------
 win32/unifdef.vcxproj |    1 +
 3 files changed, 14 insertions(+), 21 deletions(-)

---------------------------------------------------
2012-02-21 17:21:29 +0000 Tony Finch <dot@dotat.at>

win32: Visual Studio 2010 build files.

Submitted by: 김이선 <veblush@neople.co.kr>

 win32/unifdef.sln     |   20 +++++++++++
 win32/unifdef.vcxproj |   90 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+), 0 deletions(-)

---------------------------------------------------
2012-02-21 16:45:19 +0000 Tony Finch <dot@dotat.at>

port: Windows support.

I have already committed copies of the err.c and getopt.c library
code from FreeBSD.

Another trouble spot is the temporary file used when modifying in
place. I have pulled this out into a support function with different
implementations on Unix and Windows. Windows lacks mkstemp(), so
there we just use mktemp() and for simplicity leave the permissions
as the default set by fopen() rather than copying from another file.

Unifdef does its own newline handling in order to work correctly
with files that use CRLF or bare LF regardless of the system's
native preference. It therefore opens streams in binary mode. On
Windows we also need to put stdin and stdout into binary mode for
consistency.

More trivially, there is no stdbool support and a couple of library
functions have gratuitous underscores appended to their names.

This is based on submissions from the following people, to whom
I am grateful since I lack Windows development experience.

Submitted by: 김이선 <veblush@neople.co.kr>
Submitted by: Alexander Mohr <thehesiod@gmail.com>

 COPYING         |   18 ++++++++------
 unifdef.c       |   21 +++-------------
 unifdef.h       |   48 ++++++++++++++++++++++++++++++++++++++
 win32/unifdef.h |   69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 win32/win32.c   |   40 +++++++++++++++++++++++++++++++
 5 files changed, 171 insertions(+), 25 deletions(-)

---------------------------------------------------
2012-02-21 16:02:48 +0000 Tony Finch <dot@dotat.at>

unifdef: Update copyright dates.

 COPYING   |    4 ++--
 unifdef.1 |    4 ++--
 unifdef.c |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2012-02-21 15:41:46 +0000 Tony Finch <dot@dotat.at>

port: clean up err.c and getopt.c

Move headers out to shared unifdef.h
Make getopt use prototypes and const correctly.
Remove err_set_file and err_set_exit support.

 FreeBSD/err.c    |   93 ++++++++++-------------------------------------------
 FreeBSD/getopt.c |   27 +++-------------
 2 files changed, 23 insertions(+), 97 deletions(-)

---------------------------------------------------
2012-02-21 13:27:28 +0000 Tony Finch <dot@dotat.at>

unifdef.c: use memcpy() instead of the dodgy strncpy().

This makes it clearer that I do not want a '\0' terminator.

Submitted by: Carsten Hey <carsten@debian.org>

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2012-02-21 12:34:35 +0000 Tony Finch <dot@dotat.at>

unifdef.c: prefer remove() to unlink() for portability.

Submitted by: Carsten Hey <carsten@debian.org>

 unifdef.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2012-02-21 12:27:55 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Fix memory leaks in temporary and backup file handling.

 unifdef.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

---------------------------------------------------
2012-02-20 18:58:01 +0000 Tony Finch <dot@dotat.at>

port: Copy err.c and getopt.c from FreeBSD.

 FreeBSD/err.c    |  195 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 FreeBSD/getopt.c |  135 +++++++++++++++++++++++++++++++++++++
 2 files changed, 330 insertions(+), 0 deletions(-)

---------------------------------------------------
2012-02-20 17:09:55 +0000 Tony Finch <dot@dotat.at>

tests: multi-file, error handling, output permissions.

Also: the fixtests script updates the test suite after it has
been changed and passed a manual check.

The runtests script now runs each test in a subshell so that
tests have greater control over their exit status.

 fixtests.sh               |    9 +++++++++
 runtests.sh               |    2 +-
 tests/multi.expout        |   36 ++++++++++++++++++++++++++++++++++++
 tests/multi.exprc         |    1 +
 tests/multi.sh            |    7 +++++++
 tests/multimissing.experr |    3 +++
 tests/multimissing.expout |   22 ++++++++++++++++++++++
 tests/multimissing.exprc  |    1 +
 tests/multimissing.sh     |    7 +++++++
 tests/outdir.exprc        |    2 +-
 tests/outdir.sh           |    2 ++
 tests/outeperm.experr     |    1 +
 tests/outeperm.exprc      |    1 +
 tests/outeperm.sh         |    6 ++++++
 tests/outfile.exprc       |    2 +-
 tests/outfile.sh          |    2 ++
 tests/outperms.experr     |    1 +
 tests/outperms.expout     |   16 ++++++++++++++++
 tests/outperms.exprc      |    1 +
 tests/outperms.sh         |    7 +++++++
 tests/overdir.exprc       |    2 +-
 tests/overdir.sh          |    2 ++
 tests/overenoent.experr   |    1 +
 tests/overenoent.exprc    |    1 +
 tests/overenoent.sh       |    5 +++++
 tests/overin.exprc        |    2 +-
 tests/overin.sh           |    2 ++
 tests/overlnnum.exprc     |    2 +-
 tests/overlnnum.sh        |    2 ++
 tests/overperms.experr    |    2 ++
 tests/overperms.expout    |   16 ++++++++++++++++
 tests/overperms.exprc     |    1 +
 tests/overperms.sh        |    9 +++++++++
 tests/overwrite.exprc     |    2 +-
 tests/overwrite.sh        |    2 ++
 35 files changed, 173 insertions(+), 7 deletions(-)

---------------------------------------------------
2012-02-20 15:54:17 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Sensible permissions on output files.

This fixes a regression in the multiple files support.

 unifdef.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

---------------------------------------------------
2012-02-19 19:42:11 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Some C89 and C++ compatibility.

Suggested by: Carsten Hey <carsten@debian.org>

 unifdef.c |   27 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

---------------------------------------------------
2012-02-18 20:15:27 +0000 Tony Finch <dot@dotat.at>

Add a -h (print help) option.

 unifdef.1 |    5 ++++-
 unifdef.c |   54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 53 insertions(+), 6 deletions(-)

---------------------------------------------------
2012-02-17 22:47:24 +0000 Tony Finch <dot@dotat.at>

unifdef.c: trim unnecessary header includes

We now avoid using errno.h, because on some glibc systems it is the
only header that depends on the kernel headers. This makes it
possible to install the Linux kernel headers from source to fix a
broken system with incomplete headers.

Suggested by: Mike Frysinger <vapier@gentoo.org>

 unifdef.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2012-02-17 22:31:19 +0000 Tony Finch <dot@dotat.at>

Support for processing multiple files in place, with or without backups.

Suggested by: Joergen Edelbo <joergen.edelbo@nokia.com>

 unifdef.1 |   46 +++++++------
 unifdef.c |  219 ++++++++++++++++++++++++++++++++++++-------------------------
 2 files changed, 155 insertions(+), 110 deletions(-)

---------------------------------------------------
2012-02-17 18:18:26 +0000 Tony Finch <dot@dotat.at>

unifdef.1: alphabetize options; better phrasing and concision.

 unifdef.1 |   98 ++++++++++++++++++++++++------------------------------------
 1 files changed, 39 insertions(+), 59 deletions(-)

---------------------------------------------------
2011-11-07 17:14:54 +0000 Tony Finch <dot@dotat.at>

unifdef.1: Split some macros with many arguments.

Improves compatibility with non-GNU troff.

Obtained from: Jason McIntyre <jmc@OpenBSD.org>

 unifdef.1 |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

---------------------------------------------------
2011-11-07 17:00:13 +0000 Tony Finch <dot@dotat.at>

Make copyright string static to please static analysers.

Obtained-from: Ed Schouten <ed@FreeBSD.org>

 unifdef.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2011-05-23 10:53:20 +0100 Tony Finch <dot@dotat.at>

reversion.sh: Less verbose in normal cases, more verbose on error.

 reversion.sh |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2011-05-23 10:45:47 +0100 Tony Finch <dot@dotat.at>

test: Use the PATH to find unifdef.

 runtests.sh            |    1 +
 tests/NetBSD-42628.sh  |    2 +-
 tests/args1.sh         |    2 +-
 tests/args2.sh         |    2 +-
 tests/blank0d.sh       |    2 +-
 tests/blank0u.sh       |    2 +-
 tests/blank1d.sh       |    2 +-
 tests/blank1u.sh       |    2 +-
 tests/blank2d.sh       |    2 +-
 tests/blank2u.sh       |    2 +-
 tests/blank3d.sh       |    2 +-
 tests/blank3u.sh       |    2 +-
 tests/blank4d.sh       |    2 +-
 tests/blank4u.sh       |    2 +-
 tests/crlf-a.sh        |    2 +-
 tests/crlf-b.sh        |    2 +-
 tests/crlf-c.sh        |    2 +-
 tests/crlf-d.sh        |    2 +-
 tests/debian-603860.sh |    2 +-
 tests/empty.sh         |    2 +-
 tests/if1-a.sh         |    2 +-
 tests/if1-k.sh         |    2 +-
 tests/if1-kDU.sh       |    2 +-
 tests/if1.sh           |    2 +-
 tests/if1a.sh          |    2 +-
 tests/if2-a.sh         |    2 +-
 tests/if2-k.sh         |    2 +-
 tests/if2-kDU.sh       |    2 +-
 tests/if2.sh           |    2 +-
 tests/if3-a.sh         |    2 +-
 tests/if3-k.sh         |    2 +-
 tests/if3-kDU.sh       |    2 +-
 tests/if3.sh           |    2 +-
 tests/if4-a.sh         |    2 +-
 tests/if4-k.sh         |    2 +-
 tests/if4-kDU.sh       |    2 +-
 tests/if4.sh           |    2 +-
 tests/if5-a.sh         |    2 +-
 tests/if5-k.sh         |    2 +-
 tests/if5-kDU.sh       |    2 +-
 tests/if5.sh           |    2 +-
 tests/if6a.sh          |    2 +-
 tests/if6b.sh          |    2 +-
 tests/if6c.sh          |    2 +-
 tests/if6d.sh          |    2 +-
 tests/none.sh          |    2 +-
 tests/outdir.sh        |    2 +-
 tests/outfile.sh       |    2 +-
 tests/overdir.sh       |    2 +-
 tests/overin.sh        |    2 +-
 tests/overlnnum.sh     |    2 +-
 tests/overwrite.sh     |    2 +-
 tests/small1.sh        |    2 +-
 tests/small2.sh        |    2 +-
 tests/spaces1.sh       |    2 +-
 tests/spaces2.sh       |    2 +-
 tests/spaces3.sh       |    2 +-
 tests/spaces4.sh       |    2 +-
 58 files changed, 58 insertions(+), 57 deletions(-)

---------------------------------------------------
2011-05-23 10:18:59 +0100 Tony Finch <dot@dotat.at>

tests: Add a test case from NetBSD PR 42628.

This is adapted from the NetBSD automated testing framework, to
which the test case was added by Jukka Ruohonen <jruoho@NetBSD.org>.

Obtained-from: http://cvsweb.netbsd.org/bsdweb.cgi/src/tests/usr.bin/unifdef/

 tests/NetBSD-42628.c      |   25 +++++++++++++++++++++++++
 tests/NetBSD-42628.expout |    6 ++++++
 tests/NetBSD-42628.exprc  |    1 +
 tests/NetBSD-42628.sh     |    1 +
 4 files changed, 33 insertions(+), 0 deletions(-)

---------------------------------------------------
2011-04-20 12:14:46 +0100 Tony Finch <dot@dotat.at>

.htaccess: remove gzip encoding

This should discourage HTTP clients from auto-decompressing
.tar.gz files and causing higher-level tools to get checksum
mismatches.

 web/.htaccess |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

---------------------------------------------------
2011-02-22 16:53:10 +0000 Tony Finch <dot@dotat.at> (unifdef-2.6)

Release unifdef-2.6

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2011-02-21 17:20:13 +0000 Tony Finch <dot@dotat.at>

unifdef: -s and -o are mutually exclusive

 unifdef.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

---------------------------------------------------
2011-01-21 17:45:45 +0000 Tony Finch <dot@dotat.at>

unifdef.c: detect output errors promptly

This ensures that errno has a meaningful value when we come to
print the error message.

 unifdef.c |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

---------------------------------------------------
2011-01-21 17:27:39 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Use ferror() to detect IO errors better.

 unifdef.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

---------------------------------------------------
2011-01-20 17:31:28 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Write line numbers to -o output file.

I must have missed this because NetBSD doesn't have the -n feature.

 tests/overlnnum.expout |   20 ++++++++++++++++++++
 tests/overlnnum.exprc  |    1 +
 tests/overlnnum.sh     |    4 ++++
 unifdef.c              |    2 +-
 4 files changed, 26 insertions(+), 1 deletions(-)

---------------------------------------------------
2011-01-20 17:20:57 +0000 Tony Finch <dot@dotat.at>

unifdef.c: further error message improvements

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2011-01-20 16:27:06 +0000 Tony Finch <dot@dotat.at>

unifdef.c: more output filename correctness.

Submitted-by: Brian Ginsbach <ginsbach@netbsd.org>

 unifdef.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2011-01-18 19:51:40 +0000 Tony Finch <dot@dotat.at>

Update copyright date.

 COPYING   |    4 ++--
 unifdef.1 |    4 ++--
 unifdef.c |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2011-01-18 18:48:45 +0000 Tony Finch <dot@dotat.at> (unifdef-2.5)

Release unifdef-2.5

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2011-01-18 18:39:52 +0000 Tony Finch <dot@dotat.at>

admin: no need to keep old import script visible

 authors.cvs   |    2 -
 import-script |   76 ---------------------------------------------------------
 2 files changed, 0 insertions(+), 78 deletions(-)

---------------------------------------------------
2011-01-18 18:11:24 +0000 Tony Finch <dot@dotat.at>

authors.svn: add joel

 authors.svn |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2011-01-18 17:50:58 +0000 Tony Finch <dot@dotat.at>

unifdef.c: correct output filename when overwriting stdin

The bug occurs in cases like `unifdef -o file < file`

 tests/overin.expout |   16 ++++++++++++++++
 tests/overin.exprc  |    1 +
 tests/overin.sh     |    4 ++++
 unifdef.c           |    4 ++--
 4 files changed, 23 insertions(+), 2 deletions(-)

---------------------------------------------------
2011-01-18 17:37:58 +0000 Tony Finch <dot@dotat.at>

unifdef.c: neater overwrite check, inspired by ginsbach@NetBSD.org

 unifdef.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

---------------------------------------------------
2011-01-17 11:16:21 +0000 Tony Finch <dot@dotat.at>

unifdef.c: explain in comments that strncpy() is used correctly.

 unifdef.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-11-18 16:51:40 +0000 Tony Finch <dot@dotat.at>

tests: add one taken from Debian bug #603860

 tests/debian-603860.c      |    8 ++++++++
 tests/debian-603860.expout |    2 ++
 tests/debian-603860.exprc  |    1 +
 tests/debian-603860.sh     |    1 +
 4 files changed, 12 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-11-09 11:28:11 +0000 Tony Finch <dot@dotat.at>

web/index.html: Add a link to my homepage in the header.

 web/index.html |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-09-13 12:14:15 +0000 Tony Finch <dot@dotat.at> (unifdef-2.4)

Re-roll release of unifdef-2.4

---------------------------------------------------
2010-09-13 12:00:04 +0000 Tony Finch <dot@dotat.at>

Makefile: omit merge commits from the Changelog

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-09-13 12:03:10 +0000 Tony Finch <dot@dotat.at>

svnup: switch to admin branch so git svn fetch can read authors file.

 svnup |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-09-13 11:52:48 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.4

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-09-13 11:13:43 +0000 Tony Finch <dot@dotat.at>

reversion.sh: do not search $PATH for version.sh

The "." keyword for sourcing files searches $PATH when its argument
does not contain a slash. If you want to load a file from $PWD, you
have to prefix the filename with "./".

Signed-off-by: Mike Frysinger <vapier@gentoo.org>

 reversion.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-08-03 15:58:22 +0100 Tony Finch <dot@dotat.at>

unifdef.1: fix typo (degugging -> debugging)

Obtained from: Joel Dahl <joel@NetBSD.org>

 unifdef.1 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-05-01 20:49:47 +0000 Tony Finch <dot@dotat.at>

upload: seems we need separate pushes for heads and tags.

 upload |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-05-01 20:47:08 +0000 Tony Finch <dot@dotat.at>

upload tags to github

 upload |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-04-12 16:38:19 +0000 Tony Finch <dot@dotat.at>

COPYING: explain the deleted advertising clause more clearly.

 COPYING |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-04-05 03:00:24 +0100 Tony Finch <dot@dotat.at>

reversion.sh: put hyphen in unifdef-N.N

 reversion.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-04-04 21:22:05 +0000 Tony Finch <dot@dotat.at>

upload: git gc --aggressively

 upload |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-31 13:57:08 +0000 Tony Finch <dot@dotat.at>

web: Advertise repository using native git protocol

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-18 16:28:14 +0000 Tony Finch <dot@dotat.at>

Makefile: reinstate realclean's double negative logic

The positive logic causes make to bomb out when there is no .git
directory.

Reported-by: Colin Watson <cjwatson@chiark.greenend.org.uk>

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-16 10:14:31 +0000 Tony Finch <dot@dotat.at>

web/.htaccess: fix the redirects for the old test URLs.

This requires a disgusting double redirect hack because Apache-1.3
percent-encodes ? and ; in URLs generated by RedirectMatch, but
not with plain Redirect.

 web/.htaccess |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-15 19:05:10 +0000 Tony Finch <dot@dotat.at>

upload: Changelog file not needed for website

 upload |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-15 19:00:06 +0000 Tony Finch <dot@dotat.at>

Makefile: remove double negative logic in realclean target

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-15 18:56:36 +0000 Tony Finch <dot@dotat.at>

upload: Ensure all generated web site files are in the right place

 upload |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-15 18:54:03 +0000 Tony Finch <dot@dotat.at>

Makefile: do not remove any ${DISTFILES} in the clean target.

 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-15 14:53:30 +0000 Tony Finch <dot@dotat.at>

Makefile: add missing blank line at end of Changelog

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 21:50:14 +0000 Tony Finch <dot@dotat.at>

upload: Add a README.html for gitweb.

 upload |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 19:42:53 +0000 Tony Finch <dot@dotat.at>

Save a copy of my main .git/config

 git.config |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-12 19:37:19 +0000 Tony Finch <dot@dotat.at>

upload: ensure unifdef.txt exists

 upload |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-12 19:36:26 +0000 Tony Finch <dot@dotat.at>

Remove the upload script to the admin branch.

 Makefile |    9 ---------
 1 files changed, 0 insertions(+), 9 deletions(-)

---------------------------------------------------
2010-03-12 19:34:06 +0000 Tony Finch <dot@dotat.at>

Move the upload script into the admin area.

 upload |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-12 19:06:39 +0000 Tony Finch <dot@dotat.at>

README: include an introductory paragraph

 README |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-12 18:57:52 +0000 Tony Finch <dot@dotat.at>

Make import-script un-runnable but keep it for reference

 import-script |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-12 18:55:34 +0000 Tony Finch <dot@dotat.at>

Add a little script for re-syncing with FreeBSD's svn repo.

 svnup |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-12 18:50:35 +0000 Tony Finch <dot@dotat.at>

git-svn turns out not to work very well with non-default names.

 import-script |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

---------------------------------------------------
2010-03-12 17:34:56 +0000 Tony Finch <dot@dotat.at>

reversion.sh: tidier version numbers for modified sources

 reversion.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 16:27:30 +0000 Tony Finch <dot@dotat.at> (unifdef-2.3)

Release unifdef-2.3

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 16:23:35 +0000 Tony Finch <dot@dotat.at>

Makefile: upload to github before chiark

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 16:21:27 +0000 Tony Finch <dot@dotat.at>

Tweak the home page.

Add the .htaccess file which keeps old URLs working.

 web/.htaccess  |   11 +++++++++++
 web/index.html |   11 ++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-03-12 15:43:19 +0000 Tony Finch <dot@dotat.at>

Make the home page and gitweb titles consistent.

 Makefile       |    2 +-
 web/index.html |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-12 15:29:12 +0000 Tony Finch <dot@dotat.at>

Rename get-version.sh to reversion.sh for fun.

 Makefile                       |    4 ++--
 get-version.sh => reversion.sh |    0
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 15:23:40 +0000 Tony Finch <dot@dotat.at>

Makefile: do not try to build unifdef.txt by default.

DISTFILES shouldn't be in non-release targets.

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 12:22:51 +0000 Tony Finch <dot@dotat.at>

Add -V and -S flags to synopses

 unifdef.1 |    2 +-
 unifdef.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 11:07:35 +0000 Tony Finch <dot@dotat.at>

web/index.html: link to github

 web/index.html |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 11:07:35 +0000 Tony Finch <dot@dotat.at>

web/index.html: link to github

 web/index.html |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 11:03:03 +0000 Tony Finch <dot@dotat.at>

README: add information about obtaining unifdef using git.

 README |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-12 11:01:15 +0000 Tony Finch <dot@dotat.at>

Makefile: tweak upload target

Remove unsafe `git prune`. Push a copy to github.

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 11:00:26 +0000 Tony Finch <dot@dotat.at>

web/index.html: Fix git clone URL.

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 10:15:18 +0000 Tony Finch <dot@dotat.at> (unifdef-2.2)

Release unifdef-2.2

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 10:08:04 +0000 Tony Finch <dot@dotat.at>

unifdefall: print debugging output to stderr

 unifdefall.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-12 10:04:14 +0000 Tony Finch <dot@dotat.at>

unifdefall: correct exit status if the clean-up rm fails

Reported-by: Bob Proulx <bob@proulx.com>

 unifdefall.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-12 09:52:46 +0000 Tony Finch <dot@dotat.at>

get-version.sh: fix build in clean git working tree

`git show` exited non-zero which aborted the build.

 get-version.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 09:34:18 +0000 Tony Finch <dot@dotat.at>

Makefile: fix version.h -> unifdef.c -> unifdef dependencies.

 Makefile |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-03-12 09:28:02 +0000 Tony Finch <dot@dotat.at>

get-version.sh fixes

Test for the existence of version.sh (not version.h> before sourcing it.
Cat the version files after re-writing them.
Use printf(1) to create version.h for portability.

 get-version.sh |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-11 21:41:45 +0000 Tony Finch <dot@dotat.at>

Makefile: safer "realclean" target

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-11 21:17:58 +0000 Tony Finch <dot@dotat.at> (unifdef-2.1)

Release unifdef-2.1

 web/index.html |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-11 21:12:03 +0000 Tony Finch <dot@dotat.at>

Add a -V option to print the embedded version details.

 unifdef.1 |    5 ++++-
 unifdef.c |   19 ++++++++++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-11 21:01:23 +0000 Tony Finch <dot@dotat.at>

Makefile: remove release.sh from DISTFILES

 Makefile |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-11 20:59:11 +0000 Tony Finch <dot@dotat.at>

Makefile: prune .git before uploading

 Makefile |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-11 20:56:29 +0000 Tony Finch <dot@dotat.at>

index.html: mention the git glone command

 web/index.html |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-11 20:52:26 +0000 Tony Finch <dot@dotat.at>

Re-do the website handling and add an upload target.

 Makefile                        |   15 +++++++++++----
 index.html.in => web/index.html |   17 ++---------------
 2 files changed, 13 insertions(+), 19 deletions(-)

---------------------------------------------------
2010-03-11 20:28:13 +0000 Tony Finch <dot@dotat.at>

Tell git to ignore release files.

 .gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-11 20:27:04 +0000 Tony Finch <dot@dotat.at>

Move release script into Makefile.

 Makefile   |   45 ++++++++++++++++++++++++++++++++++++---------
 release.sh |   37 -------------------------------------
 2 files changed, 36 insertions(+), 46 deletions(-)

---------------------------------------------------
2010-03-11 20:08:03 +0000 Tony Finch <dot@dotat.at>

Tell git to ignore output files.

 .gitignore |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-11 20:04:35 +0000 Tony Finch <dot@dotat.at>

Makefile: do not clean inside .git directory.

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-11 18:57:37 +0000 Tony Finch <dot@dotat.at>

Embed version information from git into the unifdef binary.

 Makefile       |    9 ++++++---
 get-version.sh |   32 ++++++++++++++++++++++++++++++++
 unifdef.c      |    9 +++++----
 3 files changed, 43 insertions(+), 7 deletions(-)

---------------------------------------------------
2010-03-11 18:57:15 +0000 Tony Finch <dot@dotat.at>

Makefile: clean trailing whitespace.

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-11 18:56:58 +0000 Tony Finch <dot@dotat.at>

INSTALL: Note the CFLAGS and LDFLAGS make variables.

 INSTALL |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-11 18:56:34 +0000 Tony Finch <dot@dotat.at>

Remove sccs, cvs, and svn revision tags.

 INSTALL       |    2 +-
 Makefile      |    2 +-
 README        |    3 +--
 index.html.in |    1 -
 release.sh    |    2 --
 runtests.sh   |    2 --
 unifdef.1     |    4 ----
 unifdef.c     |    5 ++---
 unifdefall.sh |    2 --
 9 files changed, 5 insertions(+), 18 deletions(-)

---------------------------------------------------
2010-03-11 18:52:37 +0000 Tony Finch <dot@dotat.at>

combine admin repo too

 import-script |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-11 18:43:15 +0000 Tony Finch <dot@dotat.at>

A reminder of how this repository was created.

 authors.cvs   |    2 +
 authors.svn   |   14 +++++++++++
 import-script |   72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 88 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-03-10 17:42:54 +0000 Tony Finch <dot@dotat.at> (unifdef-2.0, dotat-cvs)

Improved debugging support.

Add line numbers to unifdef's debugging output. Flush the output stream
on each line when debugging to ensure stdout and stderr are properly
interleaved. Add a debugging mode to unifdefall.sh which outputs its
intermediate working files.

 unifdef.c     |   12 ++++++++----
 unifdefall.sh |   20 +++++++++++++++-----
 2 files changed, 23 insertions(+), 9 deletions(-)

---------------------------------------------------
2010-03-07 18:11:07 +0000 Tony Finch <dot@dotat.at>

Forced commit to note change to test suite.

 runtests.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-07 17:56:06 +0000 Tony Finch <dot@dotat.at>

Adjust tests for change in license header.

The extra line at the beginning of if1.c caused the line numbers
in 'diff' output to change.  Rather than playing catch-up, simplify
the relevant tests to keep working if if1.c changes in other ways
in the future.

Submitted by: Jonathan Nieder <jrnieder@gmail.com>

 tests/outdir.expout    |   30 ++++++++++++++++--------------
 tests/outdir.sh        |    2 +-
 tests/outfile.expout   |   30 ++++++++++++++++--------------
 tests/outfile.sh       |    2 +-
 tests/overdir.expout   |   30 ++++++++++++++++--------------
 tests/overdir.sh       |    2 +-
 tests/overwrite.expout |   30 ++++++++++++++++--------------
 tests/overwrite.sh     |    2 +-
 8 files changed, 68 insertions(+), 60 deletions(-)

---------------------------------------------------
2010-03-06 14:40:15 +0000 Tony Finch <dot@dotat.at>

Add the COPYING file to the release.

 release.sh |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-03-06 14:38:50 +0000 Tony Finch <dot@dotat.at>

Fix HTML markup snafu.

 index.html.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-06 14:37:14 +0000 Tony Finch <dot@dotat.at>

Put the tests under the two-clause BSD copyright licence for consistency.

 tests/crlf-a.expout  |    2 +-
 tests/crlf-b.expout  |    2 +-
 tests/crlf-c.expout  |    2 +-
 tests/crlf-d.expout  |    2 +-
 tests/crlf.c         |    2 +-
 tests/if1-a.expout   |    3 ++-
 tests/if1-k.c        |    3 ++-
 tests/if1-k.expout   |    3 ++-
 tests/if1-kDU.c      |    3 ++-
 tests/if1-kDU.expout |    3 ++-
 tests/if1.c          |    3 ++-
 tests/if1.expout     |    3 ++-
 tests/if1a.expout    |    3 ++-
 tests/if2-a.expout   |    3 ++-
 tests/if2-k.c        |    3 ++-
 tests/if2-k.expout   |    3 ++-
 tests/if2-kDU.c      |    3 ++-
 tests/if2-kDU.expout |    3 ++-
 tests/if2.c          |    3 ++-
 tests/if2.expout     |    3 ++-
 tests/if3-a.expout   |    3 ++-
 tests/if3-k.c        |    3 ++-
 tests/if3-k.expout   |    3 ++-
 tests/if3-kDU.c      |    3 ++-
 tests/if3-kDU.expout |    3 ++-
 tests/if3.c          |    3 ++-
 tests/if3.expout     |    3 ++-
 tests/if4-a.expout   |    3 ++-
 tests/if4-k.c        |    3 ++-
 tests/if4-k.expout   |    3 ++-
 tests/if4-kDU.c      |    3 ++-
 tests/if4-kDU.expout |    3 ++-
 tests/if4.c          |    3 ++-
 tests/if4.expout     |    3 ++-
 tests/if5-a.expout   |    3 ++-
 tests/if5-k.c        |    3 ++-
 tests/if5-k.expout   |    3 ++-
 tests/if5-kDU.c      |    3 ++-
 tests/if5-kDU.expout |    3 ++-
 tests/if5.c          |    3 ++-
 tests/if5.expout     |    3 ++-
 tests/none.c         |    3 ++-
 tests/none.expout    |    3 ++-
 tests/small1.c       |    3 ++-
 tests/small1.expout  |    3 ++-
 tests/small2.c       |    3 ++-
 tests/small2.expout  |    3 ++-
 tests/spaces1.c      |    3 ++-
 tests/spaces1.expout |    3 ++-
 tests/spaces2.c      |    3 ++-
 tests/spaces2.expout |    3 ++-
 tests/spaces3.c      |    3 ++-
 tests/spaces3.expout |    3 ++-
 tests/spaces4.c      |    3 ++-
 tests/spaces4.expout |    3 ++-
 55 files changed, 105 insertions(+), 55 deletions(-)

---------------------------------------------------
2010-03-06 14:30:26 +0000 Tony Finch <dot@dotat.at>

Add a COPYING file to consolidate licence terms in one place.

Remove the public domain declaration from runtests.sh so it is under the
same licence as the other files.

Improve the wording about the licensing of contributions.

 COPYING       |   83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 README        |    8 +++---
 index.html.in |    9 +++---
 runtests.sh   |    6 +---
 4 files changed, 93 insertions(+), 13 deletions(-)

---------------------------------------------------
2010-03-05 13:05:38 +0000 Tony Finch <dot@dotat.at>

Adjust man page document title for backwards compatibility.

Reported by: Bob Proulx <bob@proulx.com>

 unifdef.1 |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-02-23 12:27:11 +0000 Tony Finch <dot@dotat.at>

Actually, don't drop the 1. from the version number.

Keeping it gives us more flexibility to change the numbering scheme
while ensuring it continues to go up.

 release.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-22 18:58:50 +0000 Tony Finch <dot@dotat.at>

Drop 1. from the version number

 release.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-22 18:58:30 +0000 Tony Finch <dot@dotat.at>

Improve output of -S mode (list symbols with depths) Symbols tested in the same 
#if are listed on the same line.

 unifdef.c |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-21 16:55:04 +0000 Tony Finch <dot@dotat.at>

We don't need to compile unifdef when preparing the release.

 release.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-21 16:53:20 +0000 Tony Finch <dot@dotat.at>

Fix the release build to ensure that junk files are not included.

We were failing to properly clean the tests directory.

Reported-by: Jonathan Nieder <jrnieder@gmail.com>

 Makefile   |   14 +++++++-------
 release.sh |    7 +++++--
 2 files changed, 12 insertions(+), 9 deletions(-)

---------------------------------------------------
2010-02-19 20:43:13 +0000 Tony Finch <dot@dotat.at>

Use -mdoc macro package when invoking nroff.

 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-19 20:25:50 +0000 Tony Finch <dot@dotat.at>

Add a -S option for listing the nesting depth of symbols.

Suggested by http://stackoverflow.com/questions/2012496

 unifdef.1 |   23 +++++++++++++++--------
 unifdef.c |   19 ++++++++++++-------
 2 files changed, 27 insertions(+), 15 deletions(-)

---------------------------------------------------
2010-02-19 20:08:37 +0000 Tony Finch <dot@dotat.at>

A small tidy-up in process()

 unifdef.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-02-19 19:46:41 +0000 Tony Finch <dot@dotat.at>

Expand ACCESSPERMS rather than conditionally #defining it.

 unifdef.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2010-02-19 18:35:26 +0000 Tony Finch <dot@dotat.at>

Define ACCESSPERMS on systems (like Cygwin) that lack it.

Suggested by Mark Rushakoff.

 unifdef.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-02-19 17:30:50 +0000 Tony Finch <dot@dotat.at>

Link to freshmeat.net for release announcements.

 README        |    5 ++++-
 index.html.in |    9 ++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-19 17:15:44 +0000 Tony Finch <dot@dotat.at>

Improve portability to systems with native CRLF newlines.

 unifdef.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-19 17:11:39 +0000 Tony Finch <dot@dotat.at>

Remove FreeBSD from manual page rubric, and update its date.

 unifdef.1 |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-02-19 16:44:02 +0000 Tony Finch <dot@dotat.at>

List INSTALL file on homepage

 index.html.in |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-02-19 16:37:05 +0000 Tony Finch <dot@dotat.at>

Fix a long-standing cpp compatibility bug.

The -DFOO argument (without an explicit value) should define FOO to 1
not to the empty string.

 tests/crlf-a.sh |    2 +-
 tests/crlf-b.sh |    2 +-
 tests/crlf-c.sh |    2 +-
 tests/crlf-d.sh |    2 +-
 tests/if6a.sh   |    2 +-
 tests/if6b.sh   |    2 +-
 tests/if6c.sh   |    2 +-
 tests/if6d.sh   |    2 +-
 unifdef.1       |   14 ++++++++------
 unifdef.c       |    4 ++--
 10 files changed, 18 insertions(+), 16 deletions(-)

---------------------------------------------------
2010-02-19 16:31:08 +0000 Tony Finch <dot@dotat.at>

Add support for CRLF newlines.

As a side-effect, remove the dependency on strlcpy().

Based on a suggestion from Mark Rushakoff.

 INSTALL             |    5 +--
 tests/crlf-a.expout |   10 +++++++++
 tests/crlf-a.exprc  |    1 +
 tests/crlf-a.sh     |    1 +
 tests/crlf-b.expout |   14 +++++++++++++
 tests/crlf-b.exprc  |    1 +
 tests/crlf-b.sh     |    1 +
 tests/crlf-c.expout |   16 +++++++++++++++
 tests/crlf-c.exprc  |    1 +
 tests/crlf-c.sh     |    1 +
 tests/crlf-d.expout |   18 +++++++++++++++++
 tests/crlf-d.exprc  |    1 +
 tests/crlf-d.sh     |    1 +
 tests/crlf.c        |   20 ++++++++++++++++++
 unifdef.c           |   54 ++++++++++++++++++++++++++++++++++----------------
 15 files changed, 125 insertions(+), 20 deletions(-)

---------------------------------------------------
2010-02-19 16:29:59 +0000 Tony Finch <dot@dotat.at>

Fix tests to not rely on an uncommitted change.

 tests/if6a.sh |    2 +-
 tests/if6b.sh |    2 +-
 tests/if6c.sh |    2 +-
 tests/if6d.sh |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-19 16:03:44 +0000 Tony Finch <dot@dotat.at>

More tests of keyword edits

 tests/if6.c       |   11 +++++++++++
 tests/if6a.expout |    1 +
 tests/if6a.exprc  |    1 +
 tests/if6a.sh     |    1 +
 tests/if6b.expout |    5 +++++
 tests/if6b.exprc  |    1 +
 tests/if6b.sh     |    1 +
 tests/if6c.expout |    7 +++++++
 tests/if6c.exprc  |    1 +
 tests/if6c.sh     |    1 +
 tests/if6d.expout |    9 +++++++++
 tests/if6d.exprc  |    1 +
 tests/if6d.sh     |    1 +
 13 files changed, 41 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-02-19 15:50:26 +0000 Tony Finch <dot@dotat.at>

Test #elif -> #if edit

 tests/if1a.expout |   23 +++++++++++++++++++++++
 tests/if1a.exprc  |    1 +
 tests/if1a.sh     |    1 +
 3 files changed, 25 insertions(+), 0 deletions(-)

---------------------------------------------------
2010-01-20 00:48:26 +0000 Tony Finch <dot@dotat.at>

unifdef.c: better diagnostics on write failure

 unifdef.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-01-19 20:33:00 +0000 Tony Finch <dot@dotat.at>

unifdef.c: fix portability to 64 bit platforms.

printf("%.*s",i,s) expects an int not a ptrdiff_t

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-01-19 18:22:53 +0000 Tony Finch <dot@dotat.at>

Fix English usage in wishlist comment

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-01-19 18:03:02 +0000 Tony Finch <dot@dotat.at>

unifdef.c: re-arrange the introductory comment, #include lines, and embedded 
copyright strings so that the FreeBSD version of the code is tidier.

 unifdef.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

---------------------------------------------------
2010-01-19 17:33:53 +0000 Tony Finch <dot@dotat.at>

Update manual date and copyright.

 unifdef.1 |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-01-19 16:23:35 +0000 Tony Finch <dot@dotat.at>

Add -o outfile option, which can be used to specify an output file.  The file 
can even be the same as the input file.  Idea from IRIX unifdef(1). This 
version also fixes a bug in the NetBSD unifdef which refuses to write to a -o 
outfile which does not exist.

Obtained from: Brian Ginsbach <ginsbach@NetBSD.org> via NetBSD

 tests/outdir.expout    |   14 ++++++
 tests/outdir.exprc     |    1 +
 tests/outdir.sh        |    4 ++
 tests/outfile.expout   |   14 ++++++
 tests/outfile.exprc    |    1 +
 tests/outfile.sh       |    3 +
 tests/overdir.expout   |   14 ++++++
 tests/overdir.exprc    |    1 +
 tests/overdir.sh       |    5 ++
 tests/overwrite.expout |   14 ++++++
 tests/overwrite.exprc  |    1 +
 tests/overwrite.sh     |    4 ++
 unifdef.1              |   17 +++++++-
 unifdef.c              |  106 ++++++++++++++++++++++++++++++++++++++++++-----
 14 files changed, 185 insertions(+), 14 deletions(-)

---------------------------------------------------
2010-01-19 16:09:50 +0000 Tony Finch <dot@dotat.at>

unifdefall: tidy copyright notice to match unifdef.c

 unifdefall.sh |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-01-19 13:37:00 +0000 Tony Finch <dot@dotat.at>

release.sh: Add INSTALL to list of tarball contents.

 release.sh |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2010-01-19 13:36:22 +0000 Tony Finch <dot@dotat.at>

Add Jonathan Nieder to unifdefall's copyright declaration.

 unifdefall.sh |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-01-15 18:37:39 +0000 Tony Finch <dot@dotat.at>

Clean up the Makefile.

 Makefile |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 deletions(-)

---------------------------------------------------
2010-01-15 18:33:05 +0000 Tony Finch <dot@dotat.at>

Automatic install support.

Add an install target to the Makefile. Using separate ${prefix} and
${DESTDIR} variables opens the door to hardcoding the path to unifdef
in unifdefall if we ever need to.

Move the installation instructions from the README to a new INSTALL
file to make it easier for packagers to omit irrelevant compilation
instructions from the binary package's documentation.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 INSTALL  |   18 ++++++++++++++++++
 Makefile |   20 +++++++++++++++++++-
 README   |   13 ++-----------
 3 files changed, 39 insertions(+), 12 deletions(-)

---------------------------------------------------
2010-01-15 17:43:17 +0000 Tony Finch <dot@dotat.at>

Makefile: do not remove Changelog on clean

Regenerating the Changelog requires access to the unifdef CVS
repository.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 Makefile |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-01-15 17:41:21 +0000 Tony Finch <dot@dotat.at>

unifdefall: look for unifdef in $(dirname $0)

For debugging and for the test suite it is convenient is
unifdefall can be run in place without relying on unifdef being
installed elsewhere.  So change unifdefall to look for unifdef in
the containing directory.

For compatibility, if unifdef is not present in the directory
containing unifdefall, fall back to searching the $PATH for it.
Some one might have installed unifdef and unifdefall to
different directories.

With this change, 'make test' no longer fails in if1-a.sh when
unifdef is not present on the $PATH.  Also, the test suite will
be a little better at catching new regressions if an old version
of unifdef is installed, since the unifdefall tests will no
longer be testing the installed unifdef.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-12-02 15:21:22 +0000 Tony Finch <dot@dotat.at>

Fix ident string -- gcc optimised it away.

 unifdef.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

---------------------------------------------------
2009-11-27 17:30:39 +0000 Tony Finch <dot@dotat.at>

Include full CVS log in the Changelog.

 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 17:24:25 +0000 Tony Finch <dot@dotat.at>

release.sh: remove tests/CVS from tarball, and upload files faster.

 release.sh |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 17:21:26 +0000 Tony Finch <dot@dotat.at>

fix invalid array access when nesting limit exceeded

If the number of nested #if blocks exceeds 64, nest() increments
the nesting depth and then reports an error.  The message includes
the line number for the start of the current #if block, which is
read from past the end of the relevant array.

Avoid the out-of-bounds read by reporting the error and exiting
before the nesting depth has a chance to increase.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdef.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 17:14:32 +0000 Tony Finch <dot@dotat.at>

runtests.sh: portability: . does not search current directory

POSIX.1-2008 dot searches only the $PATH and not the current
directory for pathnames with no / in them.  Accordingly, since
version 4.0-alpha, bash does not search the current directory
when in posix (sh) mode.  The fix is to specify ./ explicitly.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 runtests.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 15:40:10 +0000 Tony Finch <dot@dotat.at>

Include a link to the web page in a comment in unifdef.c

This is mainly for the benefit of the Linux kernel's stand-alone version.

 unifdef.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 14:35:51 +0000 Tony Finch <dot@dotat.at>

Consistent ordering of ${got} and ${exp} in the test script

 runtests.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 14:34:09 +0000 Tony Finch <dot@dotat.at>

Include the tests in the web page

 index.html.in |    4 +++-
 release.sh    |    4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 14:32:49 +0000 Tony Finch <dot@dotat.at>

Improve phrasing on web page

 index.html.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 14:30:02 +0000 Tony Finch <dot@dotat.at>

Run the tests in the correct directory

 Makefile    |    4 ++--
 runtests.sh |    3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 14:21:36 +0000 Tony Finch <dot@dotat.at>

Add some unifdefall test cases.

 tests/if1-a.exprc  |    1 +
 tests/if1-a.sh     |    1 +
 tests/if2-a.exprc  |    1 +
 tests/if2-a.sh     |    1 +
 tests/if3-a.exprc  |    1 +
 tests/if3-a.sh     |    1 +
 tests/if4-a.exprc  |    1 +
 tests/if4-a.sh     |    1 +
 tests/if5-a.exprc  |    1 +
 tests/if5-a.sh     |    1 +
 10 files changed, 10 insertions(+), 0 deletions(-)

---------------------------------------------------
2009-11-27 14:20:59 +0000 Tony Finch <dot@dotat.at>

Ensure we clean up after a successful test.

 runtests.sh |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2009-11-27 14:08:08 +0000 Tony Finch <dot@dotat.at>

Simplify the test suite so that runtests.sh is not specific to unifdef.

 Makefile           |    5 +--
 runtests.sh        |   65 ++++++++++++++++++---------------------------------
 tests/args1.sh     |    1 +
 tests/args2.sh     |    1 +
 tests/blank0d.args |    1 -
 tests/blank0d.sh   |    1 +
 tests/blank0u.args |    1 -
 tests/blank0u.sh   |    1 +
 tests/blank1d.args |    1 -
 tests/blank1d.sh   |    1 +
 tests/blank1u.args |    1 -
 tests/blank1u.sh   |    1 +
 tests/blank2d.args |    1 -
 tests/blank2d.sh   |    1 +
 tests/blank2u.args |    1 -
 tests/blank2u.sh   |    1 +
 tests/blank3d.args |    1 -
 tests/blank3d.sh   |    1 +
 tests/blank3u.args |    1 -
 tests/blank3u.sh   |    1 +
 tests/blank4d.args |    1 -
 tests/blank4d.sh   |    1 +
 tests/blank4u.args |    1 -
 tests/blank4u.sh   |    1 +
 tests/empty.sh     |    1 +
 tests/if1-k.args   |    1 -
 tests/if1-k.sh     |    1 +
 tests/if1-kDU.args |    1 -
 tests/if1-kDU.sh   |    1 +
 tests/if1.sh       |    1 +
 tests/if2-k.args   |    1 -
 tests/if2-k.sh     |    1 +
 tests/if2-kDU.args |    1 -
 tests/if2-kDU.sh   |    1 +
 tests/if2.sh       |    1 +
 tests/if3-k.args   |    1 -
 tests/if3-k.sh     |    1 +
 tests/if3-kDU.args |    1 -
 tests/if3-kDU.sh   |    1 +
 tests/if3.sh       |    1 +
 tests/if4-k.args   |    1 -
 tests/if4-k.sh     |    1 +
 tests/if4-kDU.args |    1 -
 tests/if4-kDU.sh   |    1 +
 tests/if4.sh       |    1 +
 tests/if5-k.args   |    1 -
 tests/if5-k.sh     |    1 +
 tests/if5-kDU.args |    1 -
 tests/if5-kDU.sh   |    1 +
 tests/if5.sh       |    1 +
 tests/none.sh      |    1 +
 tests/small1.sh    |    1 +
 tests/small2.sh    |    1 +
 tests/spaces1.sh   |    1 +
 tests/spaces2.sh   |    1 +
 tests/spaces3.sh   |    1 +
 tests/spaces4.sh   |    1 +
 57 files changed, 60 insertions(+), 65 deletions(-)

---------------------------------------------------
2009-11-27 13:36:39 +0000 Tony Finch <dot@dotat.at>

Test suite tweaks.

Move the runtests script into the main source directory.
Remove the redundant .c. from the expected output filenames.
Run the tests in a separate working directory.
Include the tests in the release.

 Makefile               |    8 ++++--
 release.sh             |    7 +++--
 runtests.sh            |   17 +++++++-------
 tests/args1.c.expout   |    1 -
 tests/args1.c.exprc    |    1 -
 tests/args2.c.expout   |    3 --
 tests/args2.c.exprc    |    1 -
 tests/blank0d.c.expout |   23 --------------------
 tests/blank0d.c.exprc  |    1 -
 tests/blank0u.c.expout |   22 -------------------
 tests/blank0u.c.exprc  |    1 -
 tests/blank1d.c.expout |   23 --------------------
 tests/blank1d.c.exprc  |    1 -
 tests/blank1u.c.expout |   21 ------------------
 tests/blank1u.c.exprc  |    1 -
 tests/blank2d.c.expout |   23 --------------------
 tests/blank2d.c.exprc  |    1 -
 tests/blank2u.c.expout |   20 -----------------
 tests/blank2u.c.exprc  |    1 -
 tests/blank3d.c.expout |   23 --------------------
 tests/blank3d.c.exprc  |    1 -
 tests/blank3u.c.expout |   19 ----------------
 tests/blank3u.c.exprc  |    1 -
 tests/blank4d.c.expout |   23 --------------------
 tests/blank4d.c.exprc  |    1 -
 tests/blank4u.c.expout |   18 ---------------
 tests/blank4u.c.exprc  |    1 -
 tests/empty.c.exprc    |    1 -
 tests/if1-a.c.expout   |   15 -------------
 tests/if1-k.c.expout   |   29 -------------------------
 tests/if1-k.c.exprc    |    1 -
 tests/if1-kDU.c.expout |   19 ----------------
 tests/if1-kDU.c.exprc  |    1 -
 tests/if1.c.expout     |   15 -------------
 tests/if1.c.exprc      |    1 -
 tests/if2-a.c.expout   |   12 ----------
 tests/if2-k.c.expout   |   20 -----------------
 tests/if2-k.c.exprc    |    1 -
 tests/if2-kDU.c.expout |   16 --------------
 tests/if2-kDU.c.exprc  |    1 -
 tests/if2.c.expout     |   12 ----------
 tests/if2.c.exprc      |    1 -
 tests/if3-a.c.expout   |   12 ----------
 tests/if3-k.c.expout   |   20 -----------------
 tests/if3-k.c.exprc    |    1 -
 tests/if3-kDU.c.expout |   16 --------------
 tests/if3-kDU.c.exprc  |    1 -
 tests/if3.c.expout     |   12 ----------
 tests/if3.c.exprc      |    1 -
 tests/if4-a.c.expout   |   21 ------------------
 tests/if4-k.c.expout   |   41 -----------------------------------
 tests/if4-k.c.exprc    |    1 -
 tests/if4-kDU.c.expout |   25 ---------------------
 tests/if4-kDU.c.exprc  |    1 -
 tests/if4.c.expout     |   21 ------------------
 tests/if4.c.exprc      |    1 -
 tests/if5-a.c.expout   |   27 -----------------------
 tests/if5-k.c.expout   |   55 ------------------------------------------------
 tests/if5-k.c.exprc    |    1 -
 tests/if5-kDU.c.expout |   31 ---------------------------
 tests/if5-kDU.c.exprc  |    1 -
 tests/if5.c.expout     |   27 -----------------------
 tests/if5.c.exprc      |    1 -
 tests/none.c.expout    |    4 ---
 tests/none.c.exprc     |    1 -
 tests/runtests         |   51 --------------------------------------------
 tests/small1.c.expout  |   12 ----------
 tests/small1.c.exprc   |    1 -
 tests/small2.c.expout  |   12 ----------
 tests/small2.c.exprc   |    1 -
 tests/spaces1.c.expout |   12 ----------
 tests/spaces1.c.exprc  |    1 -
 tests/spaces2.c.expout |   12 ----------
 tests/spaces2.c.exprc  |    1 -
 tests/spaces3.c.expout |   12 ----------
 tests/spaces3.c.exprc  |    1 -
 tests/spaces4.c.expout |   12 ----------
 tests/spaces4.c.exprc  |    1 -
 78 files changed, 18 insertions(+), 841 deletions(-)

---------------------------------------------------
2009-11-27 13:08:58 +0000 Tony Finch <dot@dotat.at>

Additional tests from Bob Proulx <bob@proulx.com> Add his copyright notice to 
all the old tests.

 runtests.sh            |    6 ++++-
 tests/if1-a.c.expout   |   15 +++++++++++
 tests/if1-a.expout     |   15 +++++++++++
 tests/if1-k.args       |    1 +
 tests/if1-k.c          |   37 ++++++++++++++++++++++++++++
 tests/if1-k.c.expout   |   29 ++++++++++++++++++++++
 tests/if1-k.c.exprc    |    1 +
 tests/if1-k.expout     |   29 ++++++++++++++++++++++
 tests/if1-k.exprc      |    1 +
 tests/if1-kDU.args     |    1 +
 tests/if1-kDU.c        |   37 ++++++++++++++++++++++++++++
 tests/if1-kDU.c.expout |   19 ++++++++++++++
 tests/if1-kDU.c.exprc  |    1 +
 tests/if1-kDU.expout   |   19 ++++++++++++++
 tests/if1-kDU.exprc    |    1 +
 tests/if1.c            |    3 ++
 tests/if1.c.expout     |    3 ++
 tests/if1.expout       |    3 ++
 tests/if2-a.c.expout   |   12 +++++++++
 tests/if2-a.expout     |   12 +++++++++
 tests/if2-k.args       |    1 +
 tests/if2-k.c          |   28 +++++++++++++++++++++
 tests/if2-k.c.expout   |   20 +++++++++++++++
 tests/if2-k.c.exprc    |    1 +
 tests/if2-k.expout     |   20 +++++++++++++++
 tests/if2-k.exprc      |    1 +
 tests/if2-kDU.args     |    1 +
 tests/if2-kDU.c        |   28 +++++++++++++++++++++
 tests/if2-kDU.c.expout |   16 ++++++++++++
 tests/if2-kDU.c.exprc  |    1 +
 tests/if2-kDU.expout   |   16 ++++++++++++
 tests/if2-kDU.exprc    |    1 +
 tests/if2.c            |    3 ++
 tests/if2.c.expout     |    3 ++
 tests/if2.expout       |    3 ++
 tests/if3-a.c.expout   |   12 +++++++++
 tests/if3-a.expout     |   12 +++++++++
 tests/if3-k.args       |    1 +
 tests/if3-k.c          |   28 +++++++++++++++++++++
 tests/if3-k.c.expout   |   20 +++++++++++++++
 tests/if3-k.c.exprc    |    1 +
 tests/if3-k.expout     |   20 +++++++++++++++
 tests/if3-k.exprc      |    1 +
 tests/if3-kDU.args     |    1 +
 tests/if3-kDU.c        |   28 +++++++++++++++++++++
 tests/if3-kDU.c.expout |   16 ++++++++++++
 tests/if3-kDU.c.exprc  |    1 +
 tests/if3-kDU.expout   |   16 ++++++++++++
 tests/if3-kDU.exprc    |    1 +
 tests/if3.c            |    3 ++
 tests/if3.c.expout     |    3 ++
 tests/if3.expout       |    3 ++
 tests/if4-a.c.expout   |   21 ++++++++++++++++
 tests/if4-a.expout     |   21 ++++++++++++++++
 tests/if4-k.args       |    1 +
 tests/if4-k.c          |   49 +++++++++++++++++++++++++++++++++++++
 tests/if4-k.c.expout   |   41 +++++++++++++++++++++++++++++++
 tests/if4-k.c.exprc    |    1 +
 tests/if4-k.expout     |   41 +++++++++++++++++++++++++++++++
 tests/if4-k.exprc      |    1 +
 tests/if4-kDU.args     |    1 +
 tests/if4-kDU.c        |   49 +++++++++++++++++++++++++++++++++++++
 tests/if4-kDU.c.expout |   25 +++++++++++++++++++
 tests/if4-kDU.c.exprc  |    1 +
 tests/if4-kDU.expout   |   25 +++++++++++++++++++
 tests/if4-kDU.exprc    |    1 +
 tests/if4.c            |    3 ++
 tests/if4.c.expout     |    3 ++
 tests/if4.expout       |    3 ++
 tests/if5-a.c.expout   |   27 ++++++++++++++++++++
 tests/if5-a.expout     |   27 ++++++++++++++++++++
 tests/if5-k.args       |    1 +
 tests/if5-k.c          |   63 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/if5-k.c.expout   |   55 +++++++++++++++++++++++++++++++++++++++++
 tests/if5-k.c.exprc    |    1 +
 tests/if5-k.expout     |   55 +++++++++++++++++++++++++++++++++++++++++
 tests/if5-k.exprc      |    1 +
 tests/if5-kDU.args     |    1 +
 tests/if5-kDU.c        |   63 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/if5-kDU.c.expout |   31 +++++++++++++++++++++++
 tests/if5-kDU.c.exprc  |    1 +
 tests/if5-kDU.expout   |   31 +++++++++++++++++++++++
 tests/if5-kDU.exprc    |    1 +
 tests/if5.c            |    3 ++
 tests/if5.c.expout     |    3 ++
 tests/if5.expout       |    3 ++
 tests/none.c           |    3 ++
 tests/none.c.expout    |    3 ++
 tests/none.expout      |    3 ++
 tests/runtests         |    6 ++++-
 tests/small1.c         |    3 ++
 tests/small1.c.expout  |    3 ++
 tests/small1.expout    |    3 ++
 tests/small2.c         |    3 ++
 tests/small2.c.expout  |    3 ++
 tests/small2.expout    |    3 ++
 tests/spaces1.c        |    3 ++
 tests/spaces1.c.expout |    3 ++
 tests/spaces1.expout   |    3 ++
 tests/spaces2.c        |    3 ++
 tests/spaces2.c.expout |    3 ++
 tests/spaces2.expout   |    3 ++
 tests/spaces3.c        |    3 ++
 tests/spaces3.c.expout |    3 ++
 tests/spaces3.expout   |    3 ++
 tests/spaces4.c        |    3 ++
 tests/spaces4.c.expout |    3 ++
 tests/spaces4.expout   |    3 ++
 108 files changed, 1276 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 12:48:13 +0000 Tony Finch <dot@dotat.at>

List significant contributions in the README

 README |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

---------------------------------------------------
2009-11-27 12:36:54 +0000 Tony Finch <dot@dotat.at>

Improve the blurb on the web page, based on the Debian package's description by 
Jonathan Nieder <jrnieder@gmail.com>.

 index.html.in |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-26 14:12:30 +0000 Tony Finch <dot@dotat.at>

Fix web page markup

 index.html.in |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

---------------------------------------------------
2009-11-26 14:01:26 +0000 Tony Finch <dot@dotat.at>

Makefile: clean index.html generated by release.sh

 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 13:56:22 +0000 Tony Finch <dot@dotat.at>

Do not edit index.html in place

 index.html.in |    4 ++--
 release.sh    |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-26 13:54:10 +0000 Tony Finch <dot@dotat.at>

Try again to prevent CVS keyword expansion  in the wrong part of release.sh

 release.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 13:52:09 +0000 Tony Finch <dot@dotat.at>

Do not expand CVS keywords in the wrong part of release.sh

 release.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 13:50:10 +0000 Tony Finch <dot@dotat.at>

Improved release process.

Calculate the version number from the sum of the CVS idents.
Adjust the version number in the web page.

 release.sh |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2009-11-26 13:48:45 +0000 Tony Finch <dot@dotat.at>

Add a web page. Use the same title in the README and index.html.

 README        |    4 ++--
 index.html.in |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 12:54:39 +0000 Tony Finch <dot@dotat.at>

unifdefall: optimise the loop that builds the unifdef command.

The old code used a shell loop to convert each controlling macro
definition into a command-line argument, reading the macro definitions
file each time. The new code converts the list of controlling macros
into a sed script which can run through the list of macro definitions
in one go.

Add some explanatory comments, since the code is quite meta.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

---------------------------------------------------
2009-11-26 02:22:24 +0000 Tony Finch <dot@dotat.at>

unifdefall: Use {} instead of () for redirecting a group of commands.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-26 02:14:47 +0000 Tony Finch <dot@dotat.at>

unifdefall: remove debugging remnants.

 unifdefall.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-25 19:54:34 +0000 Tony Finch <dot@dotat.at>

unifdefall: update copyright dates.

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 19:33:51 +0000 Tony Finch <dot@dotat.at>

Makefile: really clean more.

 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 19:32:40 +0000 Tony Finch <dot@dotat.at>

unifdefall: portability: do not try to use EREs with sed

BSD sed uses -E and GNU sed uses -r to specify that extended
regular expressions should be used instead of BREs.

Some of the sed scripts have been simplified by relying on 'cpp -dM'
to produce lines of the form '#define MACRO value', with a single
space as delimiting whitespace.

While we're modifying the sed scripts, also change the shell
quoting script to correctly capture more characters when they
appear in the right-hand sides of macro definitions (e.g., $).

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

---------------------------------------------------
2009-11-25 19:24:59 +0000 Tony Finch <dot@dotat.at>

unifdefall: fix mktemp invocation

Actually remove the -t that should have gone in rev. 1.14

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 19:23:12 +0000 Tony Finch <dot@dotat.at>

unifdefall: simplify redirections to the temporary script

 unifdefall.sh |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

---------------------------------------------------
2009-11-25 18:05:11 +0000 Tony Finch <dot@dotat.at>

unifdefall: force the "C" locale to avoid braindamage

Reported-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2009-11-25 18:02:41 +0000 Tony Finch <dot@dotat.at>

unifdefall: clean up temporary files on failure

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-25 18:00:54 +0000 Tony Finch <dot@dotat.at>

unifdefall: allow spaces in $TMPDIR

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

---------------------------------------------------
2009-11-25 17:56:10 +0000 Tony Finch <dot@dotat.at>

unifdefall: portability: avoid mktemp -t

GNU mktemp interprets the argument after -t as the entire template
and errors out if it contains no XXXX substring. BSD systems, on
the other hand, treat the argument as a prefix for the mktemp
template and use it verbatim, resulting in long, ugly filenames
like foo.XXXXX.e30GuhHVzU if the string contains embedded Xs.

So avoid -t and use TMPDIR explicitly.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 17:54:13 +0000 Tony Finch <dot@dotat.at>

Use $() instead of `` in unifdefall.

 unifdefall.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-25 00:11:02 +0000 Tony Finch <dot@dotat.at>

Improve the behaviour of the -B option.

Submitted-by: Anders H Kaseorg <andersk@mit.edu>

 tests/blank1d.c.expout |    1 +
 tests/blank1d.expout   |    1 +
 tests/blank2d.c.expout |    2 ++
 tests/blank2d.expout   |    2 ++
 tests/blank3d.c.expout |    3 +++
 tests/blank3d.expout   |    3 +++
 tests/blank4d.c.expout |    4 ++++
 tests/blank4d.expout   |    4 ++++
 unifdef.1              |    4 ++--
 unifdef.c              |   17 +++++++++++------
 10 files changed, 33 insertions(+), 8 deletions(-)

---------------------------------------------------
2009-11-25 00:03:44 +0000 Tony Finch <dot@dotat.at>

Add some test cases for blank line squashing.

 tests/blank0d.args     |    1 +
 tests/blank0d.c        |   25 +++++++++++++++++++++++++
 tests/blank0d.c.expout |   23 +++++++++++++++++++++++
 tests/blank0d.c.exprc  |    1 +
 tests/blank0d.expout   |   23 +++++++++++++++++++++++
 tests/blank0d.exprc    |    1 +
 tests/blank0u.args     |    1 +
 tests/blank0u.c        |   25 +++++++++++++++++++++++++
 tests/blank0u.c.expout |   22 ++++++++++++++++++++++
 tests/blank0u.c.exprc  |    1 +
 tests/blank0u.expout   |   22 ++++++++++++++++++++++
 tests/blank0u.exprc    |    1 +
 tests/blank1d.args     |    1 +
 tests/blank1d.c        |   25 +++++++++++++++++++++++++
 tests/blank1d.c.expout |   22 ++++++++++++++++++++++
 tests/blank1d.c.exprc  |    1 +
 tests/blank1d.expout   |   22 ++++++++++++++++++++++
 tests/blank1d.exprc    |    1 +
 tests/blank1u.args     |    1 +
 tests/blank1u.c        |   25 +++++++++++++++++++++++++
 tests/blank1u.c.expout |   21 +++++++++++++++++++++
 tests/blank1u.c.exprc  |    1 +
 tests/blank1u.expout   |   21 +++++++++++++++++++++
 tests/blank1u.exprc    |    1 +
 tests/blank2d.args     |    1 +
 tests/blank2d.c        |   25 +++++++++++++++++++++++++
 tests/blank2d.c.expout |   21 +++++++++++++++++++++
 tests/blank2d.c.exprc  |    1 +
 tests/blank2d.expout   |   21 +++++++++++++++++++++
 tests/blank2d.exprc    |    1 +
 tests/blank2u.args     |    1 +
 tests/blank2u.c        |   25 +++++++++++++++++++++++++
 tests/blank2u.c.expout |   20 ++++++++++++++++++++
 tests/blank2u.c.exprc  |    1 +
 tests/blank2u.expout   |   20 ++++++++++++++++++++
 tests/blank2u.exprc    |    1 +
 tests/blank3d.args     |    1 +
 tests/blank3d.c        |   25 +++++++++++++++++++++++++
 tests/blank3d.c.expout |   20 ++++++++++++++++++++
 tests/blank3d.c.exprc  |    1 +
 tests/blank3d.expout   |   20 ++++++++++++++++++++
 tests/blank3d.exprc    |    1 +
 tests/blank3u.args     |    1 +
 tests/blank3u.c        |   25 +++++++++++++++++++++++++
 tests/blank3u.c.expout |   19 +++++++++++++++++++
 tests/blank3u.c.exprc  |    1 +
 tests/blank3u.expout   |   19 +++++++++++++++++++
 tests/blank3u.exprc    |    1 +
 tests/blank4d.args     |    1 +
 tests/blank4d.c        |   25 +++++++++++++++++++++++++
 tests/blank4d.c.expout |   19 +++++++++++++++++++
 tests/blank4d.c.exprc  |    1 +
 tests/blank4d.expout   |   19 +++++++++++++++++++
 tests/blank4d.exprc    |    1 +
 tests/blank4u.args     |    1 +
 tests/blank4u.c        |   25 +++++++++++++++++++++++++
 tests/blank4u.c.expout |   18 ++++++++++++++++++
 tests/blank4u.c.exprc  |    1 +
 tests/blank4u.expout   |   18 ++++++++++++++++++
 tests/blank4u.exprc    |    1 +
 60 files changed, 690 insertions(+), 0 deletions(-)

---------------------------------------------------
2009-11-24 23:46:36 +0000 Tony Finch <dot@dotat.at>

Further test script clean-ups.

 runtests.sh    |   27 ++++++++++++---------------
 tests/runtests |   27 ++++++++++++---------------
 2 files changed, 24 insertions(+), 30 deletions(-)

---------------------------------------------------
2009-11-24 22:40:01 +0000 Tony Finch <dot@dotat.at>

Add a couple of tests for macro argument handling

 tests/args1.c        |    3 +++
 tests/args1.c.expout |    1 +
 tests/args1.c.exprc  |    1 +
 tests/args1.expout   |    1 +
 tests/args1.exprc    |    1 +
 tests/args2.c        |    3 +++
 tests/args2.c.expout |    3 +++
 tests/args2.c.exprc  |    1 +
 tests/args2.expout   |    3 +++
 tests/args2.exprc    |    1 +
 10 files changed, 18 insertions(+), 0 deletions(-)

---------------------------------------------------
2009-11-24 22:39:36 +0000 Tony Finch <dot@dotat.at>

Automatically run newly-added tests.

 runtests.sh    |    7 +++----
 tests/runtests |    7 +++----
 2 files changed, 6 insertions(+), 8 deletions(-)

---------------------------------------------------
2009-11-24 22:32:35 +0000 Tony Finch <dot@dotat.at>

Fix detection of missing test output files.

 runtests.sh    |    3 +--
 tests/runtests |    3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-24 22:25:55 +0000 Tony Finch <dot@dotat.at>

Move tests/Makefile into the main Makefile.

 Makefile       |    6 +++++-
 tests/Makefile |    5 -----
 2 files changed, 5 insertions(+), 6 deletions(-)

---------------------------------------------------
2009-11-24 22:20:26 +0000 Tony Finch <dot@dotat.at>

Support non-standard test command arguments.

 runtests.sh    |    7 ++++++-
 tests/runtests |    7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 22:13:15 +0000 Tony Finch <dot@dotat.at>

Remove redundancy from the test scripts.

 runtests.sh           |   47 ++++++++++++++++++++++++++++++++++++++
 tests/Makefile        |   11 +-------
 tests/empty.c.exprc   |    1 +
 tests/empty.exprc     |    1 +
 tests/if1.c.exprc     |    1 +
 tests/if1.exprc       |    1 +
 tests/if2.c.exprc     |    1 +
 tests/if2.exprc       |    1 +
 tests/if3.c.exprc     |    1 +
 tests/if3.exprc       |    1 +
 tests/if4.c.exprc     |    1 +
 tests/if4.exprc       |    1 +
 tests/if5.c.exprc     |    1 +
 tests/if5.exprc       |    1 +
 tests/none.c.exprc    |    1 +
 tests/none.exprc      |    1 +
 tests/runtests        |   47 ++++++++++++++++++++++++++++++++++++++
 tests/simple1         |   58 -----------------------------------------------
 tests/simple2         |   60 -------------------------------------------------
 tests/small1.c.exprc  |    1 +
 tests/small1.exprc    |    1 +
 tests/small2.c.exprc  |    1 +
 tests/small2.exprc    |    1 +
 tests/spaces1.c.exprc |    1 +
 tests/spaces1.exprc   |    1 +
 tests/spaces2.c.exprc |    1 +
 tests/spaces2.exprc   |    1 +
 tests/spaces3.c.exprc |    1 +
 tests/spaces3.exprc   |    1 +
 tests/spaces4.c.exprc |    1 +
 tests/spaces4.exprc   |    1 +
 31 files changed, 122 insertions(+), 127 deletions(-)

---------------------------------------------------
2009-11-24 21:32:53 +0000 Tony Finch <dot@dotat.at>

Make the simple3 test script redundant.

 tests/Makefile |    2 +-
 tests/simple2  |    6 +++-
 tests/simple3  |   58 --------------------------------------------------------
 3 files changed, 5 insertions(+), 61 deletions(-)

---------------------------------------------------
2009-11-24 21:27:29 +0000 Tony Finch <dot@dotat.at>

Reduce repetition of the test command in the scripts.

 tests/simple1 |   14 ++++++++------
 tests/simple2 |   14 ++++++++------
 tests/simple3 |   14 ++++++++------
 3 files changed, 24 insertions(+), 18 deletions(-)

---------------------------------------------------
2009-11-24 21:23:30 +0000 Tony Finch <dot@dotat.at>

Fix relative path from tests to unifdef executable.

 tests/simple1 |    2 +-
 tests/simple2 |    2 +-
 tests/simple3 |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-24 21:21:47 +0000 Tony Finch <dot@dotat.at>

Import Bob Proulx's test suite from the Debian package.

 tests/Makefile         |   12 ++++++++++
 tests/if1.c            |   22 ++++++++++++++++++
 tests/if1.c.expout     |   12 ++++++++++
 tests/if1.expout       |   12 ++++++++++
 tests/if2.c            |   13 +++++++++++
 tests/if2.c.expout     |    9 +++++++
 tests/if2.expout       |    9 +++++++
 tests/if3.c            |   13 +++++++++++
 tests/if3.c.expout     |    9 +++++++
 tests/if3.expout       |    9 +++++++
 tests/if4.c            |   34 +++++++++++++++++++++++++++++
 tests/if4.c.expout     |   18 +++++++++++++++
 tests/if4.expout       |   18 +++++++++++++++
 tests/if5.c            |   48 +++++++++++++++++++++++++++++++++++++++++
 tests/if5.c.expout     |   24 ++++++++++++++++++++
 tests/if5.expout       |   24 ++++++++++++++++++++
 tests/none.c           |    1 +
 tests/none.c.expout    |    1 +
 tests/none.expout      |    1 +
 tests/simple1          |   56 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/simple2          |   56 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/simple3          |   56 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/small1.c         |   13 +++++++++++
 tests/small1.c.expout  |    9 +++++++
 tests/small1.expout    |    9 +++++++
 tests/small2.c         |   13 +++++++++++
 tests/small2.c.expout  |    9 +++++++
 tests/small2.expout    |    9 +++++++
 tests/spaces1.c        |   13 +++++++++++
 tests/spaces1.c.expout |    9 +++++++
 tests/spaces1.expout   |    9 +++++++
 tests/spaces2.c        |   13 +++++++++++
 tests/spaces2.c.expout |    9 +++++++
 tests/spaces2.expout   |    9 +++++++
 tests/spaces3.c        |   13 +++++++++++
 tests/spaces3.c.expout |    9 +++++++
 tests/spaces3.expout   |    9 +++++++
 tests/spaces4.c        |   13 +++++++++++
 tests/spaces4.c.expout |    9 +++++++
 tests/spaces4.expout   |    9 +++++++
 40 files changed, 643 insertions(+), 0 deletions(-)

---------------------------------------------------
2009-11-24 17:50:35 +0000 Tony Finch <dot@dotat.at>

Less stilted English in the man page.

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 17:49:13 +0000 Tony Finch <dot@dotat.at>

Handle macros with arguments.

Submitted-by: Anders H Kaseorg <andersk@mit.edu>

 unifdef.1 |   13 ++++++++++++-
 unifdef.c |   32 ++++++++++++++++++++++++++++++--
 2 files changed, 42 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-24 16:51:38 +0000 Tony Finch <dot@dotat.at>

Use isalnum() instead of isalpha() + isdigit().

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 12:14:37 +0000 Tony Finch <dot@dotat.at>

Run the release script verbosely.

 release.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 12:12:31 +0000 Tony Finch <dot@dotat.at>

Add a non-portability note to the README.

 README |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

---------------------------------------------------
2009-11-24 11:58:41 +0000 Tony Finch <dot@dotat.at>

Rename getline() to parseline() to avoid clashing with a glibc function.

 unifdef.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-23 19:15:42 +0000 Tony Finch <dot@dotat.at>

Add a realclean target

 Makefile |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

---------------------------------------------------
2009-11-23 19:14:02 +0000 Tony Finch <dot@dotat.at>

Add a README file

 Makefile   |    4 ++--
 README     |   21 +++++++++++++++++++++
 release.sh |    3 ++-
 3 files changed, 25 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-23 19:07:17 +0000 Tony Finch <dot@dotat.at>

Further improvements to the release scripts.

Make the generated filenames more standard.

 Makefile   |   16 ++++++++--------
 release.sh |   16 +++++++++++-----
 2 files changed, 19 insertions(+), 13 deletions(-)

---------------------------------------------------
2009-11-23 18:54:52 +0000 Tony Finch <dot@dotat.at>

Include the Release script in the release.

 release.sh |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2009-11-23 18:53:35 +0000 Tony Finch <dot@dotat.at>

Revamp Makefile and add a separate Release script.

 Makefile   |   20 +++++++-------------
 release.sh |   22 ++++++++++++++++++++++
 2 files changed, 29 insertions(+), 13 deletions(-)

---------------------------------------------------
2009-11-23 18:37:17 +0000 Tony Finch <dot@dotat.at>

Document -d flag and update copyright notices.

 unifdef.1 |   11 +++++++----
 unifdef.c |    6 +++---
 2 files changed, 10 insertions(+), 7 deletions(-)

---------------------------------------------------
2009-11-23 18:24:55 +0000 Tony Finch <dot@dotat.at>

Fix regression in ! operator.

Since revision 1.180, unifdef is ignoring negations in the
outermost expression of an #if conditional.  Fix the regression,
and add a debug statement to help if any similar problems ever
need to be tracked down.

Submitted by: Jonathan Nieder <jrnieder@gmail.com>

 unifdef.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-23 17:59:33 +0000 Tony Finch <dot@dotat.at>

Correct the HISTORY section and add an AUTHORS section.

Obtained from FreeBSD.

 unifdef.1 |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-23 17:58:27 +0000 Tony Finch <dot@dotat.at>

Add a "release" target

 Makefile |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

---------------------------------------------------
2008-03-10 16:15:52 +0000 Tony Finch <dot@dotat.at>

update synopsis

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-03-10 16:08:47 +0000 Tony Finch <dot@dotat.at>

backwards compatibility option

 unifdef.1 |   12 +++++++++++-
 unifdef.c |   14 +++++++++-----
 2 files changed, 20 insertions(+), 6 deletions(-)

---------------------------------------------------
2008-03-10 15:56:15 +0000 Tony Finch <dot@dotat.at>

Fix the state transition table.

 unifdef.c |   37 ++++++++++++++++++-------------------
 1 files changed, 18 insertions(+), 19 deletions(-)

---------------------------------------------------
2008-03-10 15:24:29 +0000 Tony Finch <dot@dotat.at>

Lenient evaluation of && and || based on an idea from Ben Hutchings at 
Solarflare Communications.

 unifdef.1 |   74 +++++++++++++++++++++++----------
 unifdef.c |  136 +++++++++++++++++++++++++++++++++++++++---------------------
 2 files changed, 139 insertions(+), 71 deletions(-)

---------------------------------------------------
2008-03-10 13:01:40 +0000 Tony Finch <dot@dotat.at>

Compress blank lines, based on an idea from Ben Hutchings at Solarflare 
Communications.

 unifdef.1 |   28 ++++++++++++++++++----------
 unifdef.c |   37 ++++++++++++++++++++++++++-----------
 2 files changed, 44 insertions(+), 21 deletions(-)

---------------------------------------------------
2008-03-02 22:23:32 +0000 Tony Finch <dot@dotat.at>

Typo in comment spotted by Hasso Tepper at DragonFlyBSD.

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-02-29 13:17:37 +0000 Tony Finch <dot@dotat.at>

Ah, I have worked out another way of triggering the abort. I think this fix 
covers all the cases.

 unifdef.c |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

---------------------------------------------------
2008-02-29 12:44:25 +0000 Tony Finch <dot@dotat.at>

Remove a bit of copyright crap.

 unifdef.c |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

---------------------------------------------------
2008-02-29 12:30:36 +0000 Tony Finch <dot@dotat.at>

Sync usage with synopsis in man page

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-02-29 12:29:34 +0000 Tony Finch <dot@dotat.at>

Ensure man page is ASCII.

 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-02-29 12:26:04 +0000 Tony Finch <dot@dotat.at>

Fix an abort caused by files that have #endif and no newline on the last line 
(reported by Joe Karthauser). Also fix a benign uninitialized variable bug.

 unifdef.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

---------------------------------------------------
2007-04-30 07:37:17 +0000 Tony Finch <dot@dotat.at>

Fix explanation of copyright history.

 unifdef.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

---------------------------------------------------
2005-08-12 10:59:21 +0000 Tony Finch <dot@dotat.at>

Allow #if defined SYM as well as #if defined(SYM)

 unifdef.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

---------------------------------------------------
2005-03-08 12:39:01 +0000 Tony Finch <dot@dotat.at>

sync with upstream

 unifdef.1 |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

---------------------------------------------------
2005-03-08 12:38:48 +0000 Tony Finch <dot@dotat.at>

copyright dates

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2005-03-08 12:07:27 +0000 Tony Finch <dot@dotat.at>

Update the copyright notice to the FreeBSD standard. Do not recognize comment 
markers inside string and character literals.

 unifdef.c |   59 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 44 insertions(+), 15 deletions(-)

---------------------------------------------------
2003-08-12 20:51:30 +0000 Tony Finch <dot@dotat.at>

simpler declaration of copyright[]

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-08-12 20:33:59 +0000 Tony Finch <dot@dotat.at>

Make the embedded copyright and version information more portable. Remove 
NetBSD cvs id because it is no longer relevant. Remove FreeBSD cvs id because 
it isn't relevant upstream. Keep Berkeley runes because they go with the 
original licence.

 unifdef.c |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

---------------------------------------------------
2003-08-12 20:32:39 +0000 Tony Finch <dot@dotat.at>

FreeBSD cvs id isn't relevant in this file in the upstream version.

 unifdefall.sh |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-08-12 20:32:12 +0000 Tony Finch <dot@dotat.at>

Current FreeBSD cvs id

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-08-12 20:12:24 +0000 Tony Finch <dot@dotat.at>

optionally add #line directives to the output

 unifdef.1 |   11 +++++++++--
 unifdef.c |   20 ++++++++++++++------
 2 files changed, 23 insertions(+), 8 deletions(-)

---------------------------------------------------
2003-08-12 19:39:53 +0000 Tony Finch <dot@dotat.at>

Add a little sanity checking to the state transition table code.

 unifdef.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-08-12 19:35:31 +0000 Tony Finch <dot@dotat.at>

a minor style improvement

 unifdef.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-08-12 19:23:12 +0000 Tony Finch <dot@dotat.at>

Allow the user to run unifdef without defining any symbols. This is useful in 
conjunction with the -k flag. Fix a bug in the -s handling code that would have 
caused out-of-bounds array accesses.

 unifdef.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

---------------------------------------------------
2003-08-07 16:01:10 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD

 unifdef.1 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2003-07-31 08:21:00 +0000 Tony Finch <dot@dotat.at>

All rights reserved

 unifdef.1 |    4 ++--
 unifdef.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-07-31 08:20:47 +0000 Tony Finch <dot@dotat.at>

add FreeBSD-style copyright & licence

 unifdefall.sh |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-07-31 08:10:39 +0000 Tony Finch <dot@dotat.at>

Sync copyright and licence with the code. I've put my copyright line below 
Berkeley's since a lot of the old man page still remains.

 unifdef.1 |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

---------------------------------------------------
2003-07-31 07:59:15 +0000 Tony Finch <dot@dotat.at>

Remove clause three of the licence, as permitted by Berkeley. OpenBSD have done 
this globally, but Net- and Free- haven't. I've had two questions about this 
recently, and since I don't distribute Berkeley's licence change statement this 
is a good way to be clear.

 unifdef.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2003-07-01 15:32:48 +0000 Tony Finch <dot@dotat.at>

FreeBSD ident string

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-07-01 15:21:25 +0000 Tony Finch <dot@dotat.at>

style tweak

 unifdef.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-07-01 15:13:49 +0000 Tony Finch <dot@dotat.at>

Make the handling of EOF a little more elegant.

 unifdef.c |   36 ++++++++++++++++--------------------
 1 files changed, 16 insertions(+), 20 deletions(-)

---------------------------------------------------
2003-07-01 14:53:50 +0000 Tony Finch <dot@dotat.at>

clean

 Makefile |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-07-01 08:34:43 +0000 Tony Finch <dot@dotat.at>

a comment about line continuations

 unifdef.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2003-07-01 08:19:58 +0000 Tony Finch <dot@dotat.at>

Improve the expression evaluator's debugging output.

 unifdef.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-06-30 14:30:54 +0000 Tony Finch <dot@dotat.at>

More improvements to comments regarding global variables.

 unifdef.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2003-06-30 14:26:48 +0000 Tony Finch <dot@dotat.at>

Make a note in a comment about the relationship between getline() and 
skipcomment() w.r.t. the linestate.

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-06-30 14:22:40 +0000 Tony Finch <dot@dotat.at>

When in text mode, or when ignoring a symbol, skipcomment needs to adjust the 
linestate when it hits a newline.

 unifdef.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-06-30 14:03:56 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD.

 unifdef.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2003-01-20 14:43:55 +0000 Tony Finch <dot@dotat.at>

makefile for unifdef

 Makefile |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

---------------------------------------------------
2003-01-20 14:37:08 +0000 Tony Finch <dot@dotat.at>

Slightly more correct SYNOPSIS

 unifdef.1 |   14 ++++++--------
 unifdef.c |    4 ++--
 2 files changed, 8 insertions(+), 10 deletions(-)

---------------------------------------------------
2003-01-20 14:01:47 +0000 Tony Finch <dot@dotat.at>

add a note about probalems caused by division

 unifdef.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 13:48:06 +0000 Tony Finch <dot@dotat.at>

typo

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 12:46:08 +0000 Tony Finch <dot@dotat.at>

Sync $FreeBSD$ after downstream commit

 unifdef.1 |    4 ++--
 unifdef.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-01-20 12:05:41 +0000 Tony Finch <dot@dotat.at>

clean up some -o remnants

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-01-20 12:03:48 +0000 Tony Finch <dot@dotat.at>

terminological consistency: s/modify/edit/

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 12:03:10 +0000 Tony Finch <dot@dotat.at>

Compactify the Mfoo functions.

 unifdef.c |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

---------------------------------------------------
2003-01-20 11:46:53 +0000 Tony Finch <dot@dotat.at>

more idiomatic strlcpy usage

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 11:45:32 +0000 Tony Finch <dot@dotat.at>

Correct dodgy handling -- line continuations in keywords are always an error.

 unifdef.c |   22 ++++++++++------------
 1 files changed, 10 insertions(+), 12 deletions(-)

---------------------------------------------------
2003-01-20 11:36:12 +0000 Tony Finch <dot@dotat.at>

Rename -o to -e, i.e. "less errors" instead of "allow obfuscation".

 unifdef.1 |   40 ++++++++++++++++++++--------------------
 unifdef.c |   12 ++++++------
 2 files changed, 26 insertions(+), 26 deletions(-)

---------------------------------------------------
2003-01-20 11:22:44 +0000 Tony Finch <dot@dotat.at>

remove another spurious space

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 02:58:11 +0000 Tony Finch <dot@dotat.at>

Improve the handling of multiline preprocessor directives. Don't complain when 
they don't affect the output. Add a switch that causes us to fudge it instead 
of complaining when it is possible to do so.

Prompted by an error report from Poul-Henning Kamp <phk@FreeBSD.org>

 unifdef.1 |   24 +++++++++-
 unifdef.c |  142 +++++++++++++++++++++++++++++++++++++++++++-----------------
 2 files changed, 123 insertions(+), 43 deletions(-)

---------------------------------------------------
2003-01-20 02:53:27 +0000 Tony Finch <dot@dotat.at>

replace accidentally zapped #endif

 unifdef.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2003-01-20 02:50:36 +0000 Tony Finch <dot@dotat.at>

Sync $FreeBSD$

 unifdef.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-01-20 01:51:11 +0000 Tony Finch <dot@dotat.at>

Deconfuse ingnore[] (which is a per-symbol flag) and ignoring[] (which is the 
stack of ignore states).

 unifdef.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2003-01-20 01:32:23 +0000 Tony Finch <dot@dotat.at>

Whitespace fixes from OpenBSD.

 unifdef.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-01-20 00:59:36 +0000 Tony Finch <dot@dotat.at>

Be more explicit about the failure mode.

Reported by: Poul-Henning Kamp <phk@FreeBSD.org>

 unifdef.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-01-20 00:50:06 +0000 Tony Finch <dot@dotat.at>

typo: maintin -> maintain

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 00:01:49 +0000 Tony Finch <dot@dotat.at>

Purge strcpy() to appease OpenBSD. Consistently use the term "edit" when 
talking about changing preprocessor keywords in the output.

Suggested by: Ted Unangst <tedu@stanford.edu>

 unifdef.c |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

---------------------------------------------------
2003-01-17 19:19:13 +0000 Tony Finch <dot@dotat.at>

mdoc pedantry from FreeBSD

 unifdef.1 |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-01-17 19:04:36 +0000 Tony Finch <dot@dotat.at>

Style fix: brackets around the argument to return. From OpenBSD.

 unifdef.c |   68 ++++++++++++++++++++++++++++++------------------------------
 1 files changed, 34 insertions(+), 34 deletions(-)

---------------------------------------------------
2003-01-17 19:03:02 +0000 Tony Finch <dot@dotat.at>

Add a necessary cast to an argument of printf. From OpenBSD.

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-17 19:01:59 +0000 Tony Finch <dot@dotat.at>

Whitespace fixes from OpenBSD.

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 15:26:41 +0000 Tony Finch <dot@dotat.at>

Damnit, it makes sense for flushline() to be near the #if machine, and the diff 
is doomed to be vast anyway.

 unifdef.c |   37 ++++++++++++++++++-------------------
 1 files changed, 18 insertions(+), 19 deletions(-)

---------------------------------------------------
2002-12-13 15:20:05 +0000 Tony Finch <dot@dotat.at>

make warns-clean in an evil manner

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 13:58:00 +0000 Tony Finch <dot@dotat.at>

factor out an error message

 unifdef.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 11:44:25 +0000 Tony Finch <dot@dotat.at>

remove an XXX that has been addressed

 unifdef.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 11:42:37 +0000 Tony Finch <dot@dotat.at>

sort getopt cases

 unifdef.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-13 11:40:08 +0000 Tony Finch <dot@dotat.at>

Use ISO/IEC 9899:1999 minimum translation limits

 unifdef.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-12-13 11:33:34 +0000 Tony Finch <dot@dotat.at>

expand on unifdef's understanding of C

 unifdef.1 |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-13 11:24:26 +0000 Tony Finch <dot@dotat.at>

note the appearance of ANSI support

 unifdef.1 |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-13 11:24:08 +0000 Tony Finch <dot@dotat.at>

describe the limitation on preprocessor lines better

 unifdef.1 |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-13 11:15:20 +0000 Tony Finch <dot@dotat.at>

spot backslash-newline in a preprocessor keyword

 unifdef.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-13 11:13:02 +0000 Tony Finch <dot@dotat.at>

fix an error message

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-13 11:11:11 +0000 Tony Finch <dot@dotat.at>

less obfuscated ifdef/ifndef handling

 unifdef.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-12-13 11:04:43 +0000 Tony Finch <dot@dotat.at>

comment the state enums

 unifdef.c |   50 +++++++++++++++++++++++++-------------------------
 1 files changed, 25 insertions(+), 25 deletions(-)

---------------------------------------------------
2002-12-12 19:53:53 +0000 Tony Finch <dot@dotat.at>

move the forward declaration of struct ops to a better place

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 19:52:26 +0000 Tony Finch <dot@dotat.at>

move flushline() back where it used to be

 unifdef.c |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

---------------------------------------------------
2002-12-12 19:50:15 +0000 Tony Finch <dot@dotat.at>

more commentary on strlcmp()

 unifdef.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-12 19:46:44 +0000 Tony Finch <dot@dotat.at>

comment all globals

 unifdef.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-12 19:45:29 +0000 Tony Finch <dot@dotat.at>

terminological consistency for pass states

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 19:43:04 +0000 Tony Finch <dot@dotat.at>

fix some comments

 unifdef.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 19:42:23 +0000 Tony Finch <dot@dotat.at>

re-order enums to reduce diffs with FreeBSD

 unifdef.c |   50 +++++++++++++++++++++++++-------------------------
 1 files changed, 25 insertions(+), 25 deletions(-)

---------------------------------------------------
2002-12-12 19:38:45 +0000 Tony Finch <dot@dotat.at>

remove some c&p garbage

 unifdef.c |   24 +-----------------------
 1 files changed, 1 insertions(+), 23 deletions(-)

---------------------------------------------------
2002-12-12 19:36:23 +0000 Tony Finch <dot@dotat.at>

move flushline closer to its usage point

 unifdef.c |   60 +++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 19 deletions(-)

---------------------------------------------------
2002-12-12 19:35:17 +0000 Tony Finch <dot@dotat.at>

rename a variable in process() to reduce diffs with FreeBSD

 unifdef.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-12-12 19:29:02 +0000 Tony Finch <dot@dotat.at>

move the tables closer to their interpreters

 unifdef.c |  317 +++++++++++++++++++++++++++++++------------------------------
 1 files changed, 160 insertions(+), 157 deletions(-)

---------------------------------------------------
2002-12-12 19:15:24 +0000 Tony Finch <dot@dotat.at>

reduce the space used by the state transition functions

 unifdef.c |  146 ++++++++++++++++++++++++-------------------------------------
 1 files changed, 57 insertions(+), 89 deletions(-)

---------------------------------------------------
2002-12-12 19:04:56 +0000 Tony Finch <dot@dotat.at>

note another diagnostic

 unifdef.1 |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-12 19:04:56 +0000 Tony Finch <dot@dotat.at>

make everything static, and improve the order of declarations

 unifdef.c |  328 ++++++++++++++++++++++++++++++++----------------------------
 1 files changed, 175 insertions(+), 153 deletions(-)

---------------------------------------------------
2002-12-12 17:59:51 +0000 Tony Finch <dot@dotat.at>

Improve the state table commentary.

 unifdef.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-12 17:41:39 +0000 Tony Finch <dot@dotat.at>

reduce state transition table line lengths below 80

 unifdef.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-12 17:30:55 +0000 Tony Finch <dot@dotat.at>

reduce state function line lengths below 80

 unifdef.c |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-12 17:24:26 +0000 Tony Finch <dot@dotat.at>

Exit 1 if the output differs from the input.

 unifdef.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:21:22 +0000 Tony Finch <dot@dotat.at>

Exit 2 on error.

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:21:04 +0000 Tony Finch <dot@dotat.at>

Bring the DIAGNOSTICS in line with reality.

 unifdef.1 |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-12 17:17:52 +0000 Tony Finch <dot@dotat.at>

restore the complaint about EOF in comments

 unifdef.1 |    5 ++++-
 unifdef.c |    6 ++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:12:57 +0000 Tony Finch <dot@dotat.at>

skipsym doesn't need a separate test for '\0'

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 17:11:28 +0000 Tony Finch <dot@dotat.at>

rename constexpr back to keepthis to reduce diffs

 unifdef.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-12 17:06:15 +0000 Tony Finch <dot@dotat.at>

stcomline isn't used any more

 unifdef.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 17:05:00 +0000 Tony Finch <dot@dotat.at>

Note that NO_COMMMENT is false, as before.

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 17:03:37 +0000 Tony Finch <dot@dotat.at>

Move the error function back to the end

 unifdef.c |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-12-12 17:02:08 +0000 Tony Finch <dot@dotat.at>

Better error messages outside #if groups

 unifdef.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:01:50 +0000 Tony Finch <dot@dotat.at>

Note a new diagnostic for preprocessor lines we can't handle.

 unifdef.1 |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-12 17:00:04 +0000 Tony Finch <dot@dotat.at>

Instead of quietly ballsing up the output, bitch if we encounter a preprocessor 
line we can't handle.

 unifdef.c |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

---------------------------------------------------
2002-12-12 16:04:04 +0000 Tony Finch <dot@dotat.at>

Rename checkline() to getline() and move the fgets() inside it.

 unifdef.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-11 20:46:06 +0000 Tony Finch <dot@dotat.at>

Add a missing unignore()

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-11 20:42:47 +0000 Tony Finch <dot@dotat.at>

Handle #ifs nested inside a false block correctly.

 unifdef.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-11 20:15:57 +0000 Tony Finch <dot@dotat.at>

remove nul character comment

 unifdef.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-11 20:05:52 +0000 Tony Finch <dot@dotat.at>

Overhaul the #if state machine. It's now table-driven rather than hand- coded, 
and it doesn't have the old version's bugs. The debugging messages have also 
been improved.

 unifdef.c |  452 ++++++++++++++++++++++++++++---------------------------------
 1 files changed, 205 insertions(+), 247 deletions(-)

---------------------------------------------------
2002-12-11 20:04:40 +0000 Tony Finch <dot@dotat.at>

some more bugs

 unifdef.1 |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-11 02:28:22 +0000 Tony Finch <dot@dotat.at>

Rename keepthis to constexpr which is easier to think about. Re-comment and 
re-arrange some globals.

 unifdef.c |   24 +++++++++++-------------
 1 files changed, 11 insertions(+), 13 deletions(-)

---------------------------------------------------
2002-12-11 02:22:44 +0000 Tony Finch <dot@dotat.at>

Add a note about trigraphs.

 unifdef.1 |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-11 02:13:04 +0000 Tony Finch <dot@dotat.at>

Use fgets instead of getline() because the latter gets EOF wrong.

 unifdef.c |   77 +-----------------------------------------------------------
 1 files changed, 2 insertions(+), 75 deletions(-)

---------------------------------------------------
2002-12-11 02:07:02 +0000 Tony Finch <dot@dotat.at>

Overhaul the comment and preprocessor line parsers.

 unifdef.1 |    4 +-
 unifdef.c |  232 +++++++++++++++++++++++++++++++++++-------------------------
 2 files changed, 137 insertions(+), 99 deletions(-)

---------------------------------------------------
2002-12-11 01:44:04 +0000 Tony Finch <dot@dotat.at>

Add an asymmetric variant of strncmp() called strlcmp().

 unifdef.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-11 00:00:47 +0000 Tony Finch <dot@dotat.at>

handle end-of-string in skipsym()

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-10 23:20:14 +0000 Tony Finch <dot@dotat.at>

A neater way of handling #elif

 unifdef.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-12-10 23:02:11 +0000 Tony Finch <dot@dotat.at>

Fix findsym()'s comment.

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-10 23:01:04 +0000 Tony Finch <dot@dotat.at>

Improve findsym().

 unifdef.c |   19 +++++++------------
 1 files changed, 7 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-10 21:11:58 +0000 Tony Finch <dot@dotat.at>

Remove quote handling.

 unifdef.c |   70 +++++++-----------------------------------------------------
 1 files changed, 9 insertions(+), 61 deletions(-)

---------------------------------------------------
2002-12-10 21:11:19 +0000 Tony Finch <dot@dotat.at>

Update the spec to relate better to ANSI C. Strings no longer affect the 
preprocessor, but line continuations do.

 unifdef.1 |   19 +++++++------------
 1 files changed, 7 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-10 17:28:09 +0000 Tony Finch <dot@dotat.at>

Note that string parsing needs to be fixed. Actually it just needs to be ripped 
out and replaced with backslash line continuation handling since strings can't 
contain newlines any more.

 unifdef.1 |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-12-10 17:23:54 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD

 unifdef.1 |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-10 17:12:58 +0000 Tony Finch <dot@dotat.at>

Handle inquote more elegantly

 unifdef.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-12-10 17:00:39 +0000 Tony Finch <dot@dotat.at>

Make the symbol table zero-based, and remove an incorrect comment.

 unifdef.c |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

---------------------------------------------------
2002-12-10 16:22:12 +0000 Tony Finch <dot@dotat.at>

Terminological consistency: only use the word "ignore" to mean non-C parsing.

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-10 16:10:51 +0000 Tony Finch <dot@dotat.at>

Ensure that cursym is always set by checkline().

 unifdef.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-09-24 19:52:11 +0000 Tony Finch <dot@dotat.at>

update FreeBSD IDs

 unifdef.1     |    4 ++--
 unifdef.c     |    4 ++--
 unifdefall.sh |    4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-09-24 19:44:12 +0000 Tony Finch <dot@dotat.at>

improve language

 unifdef.1 |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-09-24 19:43:57 +0000 Tony Finch <dot@dotat.at>

conform to the spec -- the -k option to unifdef is now needed

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-09-24 19:16:29 +0000 Tony Finch <dot@dotat.at>

Pass through constant #ifs unless invoked with -k.

 unifdef.1 |   26 +++++++++++++++++++++++---
 unifdef.c |   24 +++++++++++++++++-------
 2 files changed, 40 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-05-30 11:50:13 +0000 Tony Finch <dot@dotat.at>

add freebsd version string

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-30 11:47:26 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD's mdoc markup fixes.

 unifdef.1 |   84 ++++++++++++++++++++++++++++--------------------------------
 1 files changed, 39 insertions(+), 45 deletions(-)

---------------------------------------------------
2002-05-21 17:33:41 +0000 Tony Finch <dot@dotat.at>

style(9) whitespace

 unifdef.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-05-15 19:37:50 +0000 Tony Finch <dot@dotat.at>

consistent spacing in the function declarations

 unifdef.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

---------------------------------------------------
2002-05-15 19:36:10 +0000 Tony Finch <dot@dotat.at>

cast away qualifiers less evilly

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-15 19:34:40 +0000 Tony Finch <dot@dotat.at>

Replace h0h0opt with getopt.

 unifdef.c |  135 +++++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 78 insertions(+), 57 deletions(-)

---------------------------------------------------
2002-05-15 18:55:14 +0000 Tony Finch <dot@dotat.at>

Don't run off the end of command-line options inside findsym().

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-05-15 15:43:14 +0000 Tony Finch <dot@dotat.at>

a typo and a formatting fix from dwmalone

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-05-15 10:31:20 +0000 Tony Finch <dot@dotat.at>

FreeBSD CVS ID correctness

 unifdefall.sh |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-05-14 22:15:03 +0000 Tony Finch <dot@dotat.at>

be more optimistic about the level of expression support

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-14 22:13:21 +0000 Tony Finch <dot@dotat.at>

the #ifdef and #if on the .Nd line should be .Li but this doesn't seem to be 
possible, so write "preprocessor conditionals" instead.

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-14 21:14:30 +0000 Tony Finch <dot@dotat.at>

Correct the ordering and indentation of the CVS IDs according to FreeBSD style.

 unifdef.1 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-05-14 21:11:50 +0000 Tony Finch <dot@dotat.at>

add a missing comma to the SEE ALSO list

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-14 21:11:14 +0000 Tony Finch <dot@dotat.at>

Document unifdefall and the -I option.

 unifdef.1 |   40 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-05-02 12:38:29 +0000 Tony Finch <dot@dotat.at>

Better function names -- doif() -> process() and doif_1() -> doif()

 unifdef.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

---------------------------------------------------
2002-05-02 12:36:22 +0000 Tony Finch <dot@dotat.at>

consistent commenting

 unifdef.c |   69 ++++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 48 insertions(+), 21 deletions(-)

---------------------------------------------------
2002-05-02 12:17:31 +0000 Tony Finch <dot@dotat.at>

Consistent spacing in declaration of local variables, and simplified 
flushline().

 unifdef.c |   41 ++++++++++++++++++-----------------------
 1 files changed, 18 insertions(+), 23 deletions(-)

---------------------------------------------------
2002-05-02 00:03:41 +0000 Tony Finch <dot@dotat.at>

note #line wish

 unifdef.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-29 16:41:08 +0000 Tony Finch <dot@dotat.at>

Handle symbols that are defined without a value correctly, again.

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 16:17:39 +0000 Tony Finch <dot@dotat.at>

output of cpp needs to be sorted

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 03:08:10 +0000 Tony Finch <dot@dotat.at>

clean up tmp dir

 unifdefall.sh |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-29 03:07:20 +0000 Tony Finch <dot@dotat.at>

tidy up

 unifdefall.sh |   32 ++++++++------------------------
 1 files changed, 8 insertions(+), 24 deletions(-)

---------------------------------------------------
2002-04-29 03:00:58 +0000 Tony Finch <dot@dotat.at>

Don't get confused by symbols that are the prefix of other symbols.

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 02:55:15 +0000 Tony Finch <dot@dotat.at>

mention support for the comparison operators

 unifdef.1 |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-29 02:53:58 +0000 Tony Finch <dot@dotat.at>

Overhaul the expression evaluator. The integer value of an expression is now 
calculated, rather than just the boolen value, and the evaluation of binary 
operators is now table-driven. These two things combine to make it easier to 
add support for new operators, such as comparisions.

 unifdef.c |  215 +++++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 123 insertions(+), 92 deletions(-)

---------------------------------------------------
2002-04-29 00:20:42 +0000 Tony Finch <dot@dotat.at>

Handle symbols that are defined without a value correctly.

 unifdefall.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 00:18:06 +0000 Tony Finch <dot@dotat.at>

-d -> --debug

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-29 00:17:11 +0000 Tony Finch <dot@dotat.at>

Fix handling of bracketed expressions -- we didn't pass over the )

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-28 23:42:36 +0000 Tony Finch <dot@dotat.at>

A script for stripping out as many #if's from a file as possible.

 unifdefall.sh |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

---------------------------------------------------
2002-04-28 22:32:30 +0000 Tony Finch <dot@dotat.at>

Ignore -Ifoo options so that the same options can be used with cpp -dM

 unifdef.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-28 22:15:26 +0000 Tony Finch <dot@dotat.at>

allow a - on the command line to mean "input from stdin"

 unifdef.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-28 22:14:07 +0000 Tony Finch <dot@dotat.at>

say explicitly that at least one -D or -U is needed

 unifdef.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-27 17:27:14 +0000 Tony Finch <dot@dotat.at>

allow longer lines in the input

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-27 17:26:53 +0000 Tony Finch <dot@dotat.at>

avoid a potential buffer overflow

 unifdef.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-27 17:23:47 +0000 Tony Finch <dot@dotat.at>

spell getlin() with an e

 unifdef.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 20:44:33 +0000 Tony Finch <dot@dotat.at>

remove redundant function

 unifdef.c |   15 +++------------
 1 files changed, 3 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-26 20:32:23 +0000 Tony Finch <dot@dotat.at>

Multiple __RCSID()s is not portable, so use __IDSTRING() instead.

 unifdef.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-26 20:23:09 +0000 Tony Finch <dot@dotat.at>

move a #define to a better place

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 20:18:07 +0000 Tony Finch <dot@dotat.at>

add a couple of missing [=val] phrases

 unifdef.1 |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 20:17:35 +0000 Tony Finch <dot@dotat.at>

use .Li for #if directives

 unifdef.1 |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-04-26 20:09:37 +0000 Tony Finch <dot@dotat.at>

change the #if bug into an expression handling bug

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 20:08:45 +0000 Tony Finch <dot@dotat.at>

mention the elif diagnostic

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 20:07:49 +0000 Tony Finch <dot@dotat.at>

see also cpp(1)

 unifdef.1 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-26 20:07:29 +0000 Tony Finch <dot@dotat.at>

remove spurious historical note

 unifdef.1 |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-26 20:05:12 +0000 Tony Finch <dot@dotat.at>

explain the -s option

 unifdef.1 |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-26 20:01:06 +0000 Tony Finch <dot@dotat.at>

Improve the explanation of the -D and -U options.

 unifdef.1 |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)

---------------------------------------------------
2002-04-26 19:54:54 +0000 Tony Finch <dot@dotat.at>

better introductory paragraph

 unifdef.1 |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-26 19:51:20 +0000 Tony Finch <dot@dotat.at>

remove -compact from the flag list

 unifdef.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 19:50:54 +0000 Tony Finch <dot@dotat.at>

expand the introduction to explain the new functionality

 unifdef.1 |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 19:26:10 +0000 Tony Finch <dot@dotat.at>

add a paragraph gap between -l and -t

 unifdef.1 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-26 19:24:47 +0000 Tony Finch <dot@dotat.at>

Add the optional symbol value to the various places -Dsym is mentioned, and add 
the -s flag to the synopsis.

 unifdef.1 |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-04-26 19:20:34 +0000 Tony Finch <dot@dotat.at>

update document date and one-line description

 unifdef.1 |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 19:15:55 +0000 Tony Finch <dot@dotat.at>

add $dotat$

 unifdef.1 |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

---------------------------------------------------
2002-04-26 19:15:14 +0000 Tony Finch <dot@dotat.at>

add my name to the copyright section

 unifdef.1 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-26 19:14:35 +0000 Tony Finch <dot@dotat.at>

add unifdef manual page from FreeBSD

 unifdef.1 |  173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 173 insertions(+), 0 deletions(-)

---------------------------------------------------
2002-04-26 19:12:22 +0000 Tony Finch <dot@dotat.at>

Add a new option for printing a list of the symbols found in #if expressions.

 unifdef.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 19:03:48 +0000 Tony Finch <dot@dotat.at>

option variables in alphabetical order

 unifdef.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 19:02:45 +0000 Tony Finch <dot@dotat.at>

parse options in alphabetical order

 unifdef.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 18:56:55 +0000 Tony Finch <dot@dotat.at>

fix some h0h0 formatting

 unifdef.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-04-26 18:51:19 +0000 Tony Finch <dot@dotat.at>

Fix the handling of #elif.

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 18:13:43 +0000 Tony Finch <dot@dotat.at>

put my name in the copyright section

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 17:42:31 +0000 Tony Finch <dot@dotat.at>

Move all the global stuff to the start of the program in the order types, 
variables, function declarations, and ensure that all functions are declared. 
The program now compiles cleanly with $FANFCFLAGS.

 unifdef.c |  141 +++++++++++++++++++++++++++++++------------------------------
 1 files changed, 72 insertions(+), 69 deletions(-)

---------------------------------------------------
2002-04-26 17:33:47 +0000 Tony Finch <dot@dotat.at>

use enums where appropriate

 unifdef.c |   64 ++++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 36 insertions(+), 28 deletions(-)

---------------------------------------------------
2002-04-26 17:25:50 +0000 Tony Finch <dot@dotat.at>

blank lines after functions

 unifdef.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-26 17:23:57 +0000 Tony Finch <dot@dotat.at>

const correctness

 unifdef.c |  110 +++++++++++++++++++++++++++++-------------------------------
 1 files changed, 53 insertions(+), 57 deletions(-)

---------------------------------------------------
2002-04-26 17:05:23 +0000 Tony Finch <dot@dotat.at>

more bool correctness

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 17:02:17 +0000 Tony Finch <dot@dotat.at>

Since MAXSYMS is bigger than CHAR_MAX, nsyms has to be an int.

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 17:01:38 +0000 Tony Finch <dot@dotat.at>

ANSI function definitions

 unifdef.c |   62 ++++++++++++++++++------------------------------------------
 1 files changed, 19 insertions(+), 43 deletions(-)

---------------------------------------------------
2002-04-26 16:56:34 +0000 Tony Finch <dot@dotat.at>

Replace the homegrown Bool/YES/NO with stdbool.h things, and ensure that 
boolean variables are declared consistently.

 unifdef.c |  110 +++++++++++++++++++++++++++++-------------------------------
 1 files changed, 53 insertions(+), 57 deletions(-)

---------------------------------------------------
2002-04-26 16:49:11 +0000 Tony Finch <dot@dotat.at>

Add __FBSDID and conditionalize the __RCSIDs

 unifdef.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

---------------------------------------------------
2002-04-26 16:47:53 +0000 Tony Finch <dot@dotat.at>

add some debugging code

 unifdef.c |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 15:47:04 +0000 Tony Finch <dot@dotat.at>

fix the line number reporting in the last change

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 15:38:59 +0000 Tony Finch <dot@dotat.at>

Improve error reporting -- include the start line of the current #if.

 unifdef.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 15:34:44 +0000 Tony Finch <dot@dotat.at>

Remove some slight punning between comment types and booleans.

 unifdef.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 15:06:30 +0000 Tony Finch <dot@dotat.at>

Avoid reparsing the line that causes doif() to return to doif_1().

 unifdef.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

---------------------------------------------------
2002-04-26 13:54:16 +0000 Tony Finch <dot@dotat.at>

put the newline on the #endif that replaces #elif lines

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 13:51:41 +0000 Tony Finch <dot@dotat.at>

Finish implementation of #elif and nesting. This version passes some initial 
tests.

 unifdef.c |  133 +++++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 94 insertions(+), 39 deletions(-)

---------------------------------------------------
2002-04-25 23:46:55 +0000 Tony Finch <dot@dotat.at>

partial implementation of #elif and properly nesting #ifs.

 unifdef.c |  216 +++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 130 insertions(+), 86 deletions(-)

---------------------------------------------------
2002-04-25 23:27:40 +0000 Tony Finch <dot@dotat.at>

remove redundant stline variable

 unifdef.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-25 23:25:31 +0000 Tony Finch <dot@dotat.at>

simplify error line number handling

 unifdef.c |   21 ++++++++++-----------
 1 files changed, 10 insertions(+), 11 deletions(-)

---------------------------------------------------
2002-04-25 23:02:51 +0000 Tony Finch <dot@dotat.at>

simplify error handling

 unifdef.c |   59 +++++++++++++++++++++--------------------------------------
 1 files changed, 21 insertions(+), 38 deletions(-)

---------------------------------------------------
2002-04-25 21:44:51 +0000 Tony Finch <dot@dotat.at>

fix a comment to reflect the previous change

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 21:43:07 +0000 Tony Finch <dot@dotat.at>

Change the "unknown symbol" return value from findsym() from -1 to 0.

 unifdef.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-25 21:19:55 +0000 Tony Finch <dot@dotat.at>

remove an unnecessary variable inside doif()

 unifdef.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-04-25 20:24:16 +0000 Tony Finch <dot@dotat.at>

Remove the inif argument to doif() entirely, since inif == (depth != 0).

 unifdef.c |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 20:20:05 +0000 Tony Finch <dot@dotat.at>

Move the gall to getlin() up to doif() so that it will be able to examine the 
same line more than once.

 unifdef.c |   48 +++++++++++++++++++++---------------------------
 1 files changed, 21 insertions(+), 27 deletions(-)

---------------------------------------------------
2002-04-25 19:59:46 +0000 Tony Finch <dot@dotat.at>

Simplify doif()'s inif argument to just a boolean, since the IN_ELSE value 
isn't very different from IN_IF, and the idea doesn't work well with #elif.

 unifdef.c |   19 +++++++------------
 1 files changed, 7 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-25 18:45:54 +0000 Tony Finch <dot@dotat.at>

purge LT_OTHER since it's a synonym for LT_IF

 unifdef.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-25 18:17:09 +0000 Tony Finch <dot@dotat.at>

Restore the requirement that at least one -D or -U must be present on the 
command line, which was broken when #if handling was added.

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 18:15:23 +0000 Tony Finch <dot@dotat.at>

use __RCSID for the sccs id and remove redundant #ifndef lint lines

 unifdef.c |   12 ++----------
 1 files changed, 2 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 18:10:00 +0000 Tony Finch <dot@dotat.at>

Initial version of #if handling. Symbol 0 is used for tracking the state of 
#if/#else activity. TODO: #elif, nested #if

 unifdef.c |  155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 145 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 16:16:26 +0000 Tony Finch <dot@dotat.at>

allow whitespace before #

 unifdef.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:12:23 +0000 Tony Finch <dot@dotat.at>

fix location of a {

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:11:54 +0000 Tony Finch <dot@dotat.at>

add a function that will evaluate if expressions

 unifdef.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:05:30 +0000 Tony Finch <dot@dotat.at>

remove spurious fflush()

 unifdef.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:04:55 +0000 Tony Finch <dot@dotat.at>

style: #include ordering; variable alignment

 unifdef.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

---------------------------------------------------
2002-04-25 16:03:16 +0000 Tony Finch <dot@dotat.at>

use err()

 unifdef.c |   83 +++++++++++++++++++++++++------------------------------------
 1 files changed, 34 insertions(+), 49 deletions(-)

---------------------------------------------------
2002-04-25 15:51:42 +0000 Tony Finch <dot@dotat.at>

another formatting improvement

 unifdef.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 15:37:25 +0000 Tony Finch <dot@dotat.at>

sensible else if formatting

 unifdef.c |  150 +++++++++++++++++++++++++++----------------------------------
 1 files changed, 67 insertions(+), 83 deletions(-)

---------------------------------------------------
2002-04-25 15:31:28 +0000 Tony Finch <dot@dotat.at>

deal with -Dsym=value

 unifdef.c |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

---------------------------------------------------
2002-04-25 15:02:48 +0000 Tony Finch <dot@dotat.at>

move #endif comments to a better place

 unifdef.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

---------------------------------------------------
2002-04-25 14:59:59 +0000 Tony Finch <dot@dotat.at>

allow a reasonable number of symbols

 unifdef.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 14:57:56 +0000 Tony Finch <dot@dotat.at>

remove BSS cruft

 unifdef.c |   39 +++++++++++++++++++--------------------
 1 files changed, 19 insertions(+), 20 deletions(-)

---------------------------------------------------
2002-04-25 14:55:27 +0000 Tony Finch <dot@dotat.at>

remove __P

 unifdef.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-25 14:52:54 +0000 Tony Finch <dot@dotat.at>

revert to the CSRG copyright/sccs rubric and add $dotat$

 unifdef.c |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

---------------------------------------------------
2002-04-25 14:50:23 +0000 Tony Finch <dot@dotat.at>

import from NetBSD

 unifdef.c |  684 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 684 insertions(+), 0 deletions(-)

---------------------------------------------------
