---------------------------------------------------
2020-02-14 16:49:56 +0000 Tony Finch <dot@dotat.at>

scripts: cleaner Changelog

The Changelog was contaminated by branch name decorations, but I only
want tags. Although there is a --decorate-refs-exclude option, it does
not seem to have any effect on the %d format specifier. Seems easier
to just leave them out altogether.

 scripts/gitlog2changelog.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2020-02-14 16:49:31 +0000 Tony Finch <dot@dotat.at>

Bump copyright dates

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

---------------------------------------------------
2020-02-14 16:35:26 +0000 Tony Finch <dot@dotat.at>

man: note incomplete C++ raw string literal support

 unifdef.1 | 6 ++++++
 1 file changed, 6 insertions(+)

---------------------------------------------------
2020-02-14 17:03:59 +0100 Zenju <zenju@gmx.de>

 C++11 raw string literal support

 unifdef.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

---------------------------------------------------
2017-04-24 10:45:07 +0100 Tony Finch <dot@dotat.at>

doc: clarify where to send bug reports

 README    |  7 ++++---
 unifdef.1 | 16 +++++++++++-----
 2 files changed, 15 insertions(+), 8 deletions(-)

---------------------------------------------------
2017-03-21 13:26:15 +0000 Tony Finch <dot@dotat.at>

unifdef.1: clarify backslash-newline behaviour in DESCRIPTION

 unifdef.1 | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

---------------------------------------------------
2017-02-06 18:52:47 +0000 Tony Finch <dot@dotat.at>

web: advertise pre-release version

 web/index.html | 5 +++++
 1 file changed, 5 insertions(+)

---------------------------------------------------
2017-02-06 18:49:50 +0000 Tony Finch <dot@dotat.at>

Bump copyright dates

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

---------------------------------------------------
2017-02-06 18:21:55 +0000 Tony Finch <dot@dotat.at>

unifdef: more fixes for weird whitespace

The previous attempt (in commit 802c5cd6) to deal with some whitespace
corner cases had a bug when parsing a dangling C comment; rather than
using the general purpose lexer to scan the dangling line, it assumed
the line state must be dirty - which is not necessarily the case for
dangling C comments as it is for long linear whitespace or C++
comments.

The original example that exposed this problem was from Linux
__BACKPORT_LINUX_REGULATOR_DRIVER_H_; the test case in this
commit is based on analysis of the bug.

Reported-By: Pavel.Aronsky@celeno.com
Reported-By: Aviv.Albagli@celeno.com

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

---------------------------------------------------
2016-02-26 09:39:13 +0000 Tony Finch <dot@dotat.at>

portability: fix problems compiling with C++ compiler

Michael McConville suggested removing a "redundant" cast of
the return value from malloc(), based on a change in the
OpenBSD version of unifdef. This is a good suggestion for
a purely C program, but the cast is required in C++.

Carsten Hey contributed some portability improvements in
2012 which included this cast, so that unifdef can be
compiled with a C++ compiler. Unfortunately since then
there have been several regressions in C++ support.

This commit fixes those regressions.

 unifdef.c       |  2 +-
 win32/unifdef.h |  2 +-
 win32/win32.c   | 10 +++++-----
 3 files changed, 7 insertions(+), 7 deletions(-)

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

test: need newlines in MinGW printf workaround

 tests/outperms.sh  | 2 +-
 tests/overperms.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 16:03:29 +0000 Tony Finch <dot@dotat.at>

test: GNU printf(1) is POSIXly incorrect

 tests/outperms.sh  | 2 +-
 tests/overperms.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 14:37:18 +0000 Tony Finch <dot@dotat.at>

test: ugly workaround for lack of chmod() in MinGW

 tests/outperms.sh  | 5 ++++-
 tests/overperms.sh | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 14:31:47 +0000 Tony Finch <dot@dotat.at>

win32: nonexistent new file is not an error in rename(old,new)

 win32/win32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2016-02-16 14:06:53 +0000 Tony Finch <dot@dotat.at>

win32: revert mktempmode() change - it does not help

 win32/win32.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

---------------------------------------------------
2016-02-16 14:05:40 +0000 Tony Finch <dot@dotat.at>

test: revert rm change - I was misreading the error message!

 tests/multi-generic-sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 13:53:42 +0000 Tony Finch <dot@dotat.at>

win32: more thorough implementation of mktempmde()

Let's see if this makes the permissions tests pass.

 win32/win32.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 13:43:27 +0000 Tony Finch <dot@dotat.at>

test: suppress error output from rm

POSIX says rm -f should not produce any error messages or nonzero
exit status, but MinGW fails to follow the rules.

 tests/multi-generic-sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 13:35:00 +0000 Tony Finch <dot@dotat.at>

test: typo in stderr redirection, sigh

 tests/000-init.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2016-02-16 13:25:35 +0000 Tony Finch <dot@dotat.at>

test: a hack for MinGW on Travis-CI

The first test that is run for the MinGW build on Travis-CI is
exploding messily when it tries to initialize Wine, but after that
most of the other tests run OK. Let's try adding a fake non-test
to absorb this mess and get closer to a working build.

 tests/000-init.experr | 0
 tests/000-init.expout | 0
 tests/000-init.exprc  | 1 +
 tests/000-init.sh     | 1 +
 4 files changed, 2 insertions(+)

---------------------------------------------------
2016-02-15 17:38:42 +0000 Tony Finch <dot@dotat.at>

win32: preen comment

 win32/win32.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-15 17:33:12 +0000 Tony Finch <dot@dotat.at>

win32: go back to slow snprintf() because MinGW is still troublesome

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

---------------------------------------------------
2016-02-15 17:09:33 +0000 Tony Finch <dot@dotat.at>

README: thanks to Ruediger Meier!

 README | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2016-02-15 17:12:45 +0000 Tony Finch <dot@dotat.at>

win32: better snprintf() portability hack

The code is now much shorter and does not malloc or copy.

There is a #define renaming to avoid a name collision since
Visual Studio 2015 includes a standard snprintf.

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

 win32/unifdef.h |  9 ++++++++-
 win32/win32.c   | 33 ++++++++-------------------------
 2 files changed, 16 insertions(+), 26 deletions(-)

---------------------------------------------------
2016-02-15 16:20:07 +0000 Tony Finch <dot@dotat.at>

test: try to work better on MinGW

A lot of the test failures are due to CRLFs in stderr which do not
match the bare LFs in the experr files. So, unilaterally strip CRs
from stderr output.

We don't need to do this for stdout, since unifdef writes that in
binary mode so it can match the newline style of the input file.

We might also need to fix the rc files - let's see how this change
works first.

 scripts/runtests.sh | 5 +++++
 1 file changed, 5 insertions(+)

---------------------------------------------------
2016-02-12 00:47:29 +0100 Ruediger Meier <ruediger.meier@ga-group.nl>

travis: add OSX and Ubuntu Trusty builds

Actually this is a rewrite of .travis.yml:
 - speedup build (sudo: false)
 - add OSX build
 - add Ubuntu 14.04 Trusty build (beta)
 - MinGW is allowed to fail silently (no more "Still Failing" emails!)
 - add env output for debugging

Note "apt-get install wine failed" for Trusty, that's why we don't
check MinGW there.

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

 .travis.yml | 42 +++++++++++++++++++++++++++++++++---------
 1 file changed, 33 insertions(+), 9 deletions(-)

---------------------------------------------------
2015-12-07 12:10:30 +0000 Tony Finch <dot@dotat.at>

ifdef-how: what conditionals cause this line to be emitted?

Suggested-by: Anthony Liu <antliu@gmail.com>

 ifdef-how.pl | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

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

Avoid -Wmissing-initializer

 unifdef.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

---------------------------------------------------
2015-12-03 14:08:26 +0000 Tony Finch <dot@dotat.at>

man: use .Mt to mark up email addresses

Obtained-from: FreeBSD
Submitted-by: Franco Fichtner <franco@lastsummer.de>

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

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

Freecode is read-only

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

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

Bump copyright dates

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

---------------------------------------------------
2015-12-03 12:06:33 +0000 Tony Finch <dot@dotat.at>

unifdef-2.11

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

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

Fix uninitialized variable in evaluator.

Inner expressions typically return LT_IF without setting their
value pointer when they encounter an unknown value. Binary
operators then blindly use these inner values before checking if
they are unknown - before checking for LT_IF. This is undefined
behaviour, but we usually dodge the bullet - except division can
cause things to explode and expose the bug.

Initializing the value to zero avoids undefined behaviour. But this
means that instead of avoiding division when the denominator is
definitely zero (because it might be unknown and zero) we now only
divide if it is definitely non-zero.

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

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

test: unexpected /0 exception happening in another part of the test

 tests/div.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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

travis: clone deeply, so version tags are included

 .travis.yml | 3 ---
 1 file changed, 3 deletions(-)

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

test: clearer div test, and try to diagnose unexpected /0 exception

 tests/div.expout | 5 ++++-
 tests/div.sh     | 9 +++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

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

win32: suppress warnings about POSIX functions

 win32/unifdef.h | 5 +++++
 1 file changed, 5 insertions(+)

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

travis: clone with a nonzero depth

 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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

Document the buggy effect of the dumb lexer on the -f option.

 unifdef.1 | 11 +++++++++++
 1 file changed, 11 insertions(+)

---------------------------------------------------
2015-12-03 10:59:28 +0000 Tony Finch <dot@dotat.at>

Avoid redundant renames with a -M '' empty backup suffix.

Submitted-by: Michael McConville <mmcco@mykolab.com>

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

---------------------------------------------------
2015-12-03 10:50:49 +0000 Tony Finch <dot@dotat.at>

Handle division by zero gracefully.

Reported-by: Michael McConville <mmcco@mykolab.com>

 tests/div.c      | 3 +++
 tests/div.experr | 0
 tests/div.expout | 7 +++++++
 tests/div.exprc  | 1 +
 tests/div.sh     | 3 +++
 unifdef.1        | 1 +
 unifdef.c        | 4 ++++
 7 files changed, 19 insertions(+)

---------------------------------------------------
2014-10-24 16:43:51 +0100 Tony Finch <dot@dotat.at>

Replace hardcoded operator lexing with table-driven code.

 unifdef.c | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

---------------------------------------------------
2014-10-24 15:02:53 +0000 Brian Ginsbach <ginsbach@netbsd.org>

Add support for additional #if/#elif operators

Add support for additional operators in a #if/#elif statement.
  - unary bitwise NOT (one's complement): ~
  - unary negative: -
  - left shift: <<
  - right shift: >>
  - bitwise AND: &
  - bitwise exclusive OR: ^
  - bitwise inclusive OR: |
  - addition: +
  - subtraction: -
  - multiplcation: *
  - division: /
  - modulo: %

 tests/if7.c            | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/if7.experr       |  0
 tests/if7.expout       | 46 ++++++++++++++++++++++++
 tests/if7.exprc        |  1 +
 tests/if7.sh           |  1 +
 tests/recursive.experr | 24 +++++++++++--
 unifdef.1              |  6 ++--
 unifdef.c              | 81 ++++++++++++++++++++++++++++++++++++++++---
 8 files changed, 244 insertions(+), 9 deletions(-)

---------------------------------------------------
2014-10-24 15:01:11 +0000 Brian Ginsbach <ginsbach@netbsd.org>

Add all comparisons to tests

Add tests for <, <=, >, and >= comparisons.

 tests/if5-a.expout | 12 ++++++++++++
 tests/if5.c        | 28 ++++++++++++++++++++++++++++
 tests/if5.expout   | 12 ++++++++++++
 3 files changed, 52 insertions(+)

---------------------------------------------------
2014-10-20 21:45:20 +0100 Tony Finch <dot@dotat.at>

Ensure that newlines change the linestate when skipping junk.

Sometimes skipline() would skip meaningful characters without
letting skipcomment() look at them.

Reported-By: Christoph Schied <Christoph.Schied@kit.edu>

 tests/error.c      | 4 ++++
 tests/error.experr | 0
 tests/error.expout | 2 ++
 tests/error.exprc  | 1 +
 tests/error.sh     | 1 +
 unifdef.c          | 8 ++++++--
 6 files changed, 14 insertions(+), 2 deletions(-)

---------------------------------------------------
2014-10-20 21:29:13 +0100 Tony Finch <dot@dotat.at>

tests: update for capitalized diagnostics

 tests/defundef-broken2.experr | 4 ++--
 tests/defundef-broken3.experr | 4 ++--
 tests/defundef-broken4.experr | 2 +-
 tests/whitespace-1.experr     | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2014-10-20 21:24:35 +0100 Tony Finch <dot@dotat.at>

DIAGNOSTICS do not have full stops.

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

---------------------------------------------------
2014-10-20 21:23:50 +0100 Tony Finch <dot@dotat.at>

Add some missing DIAGNOSTICS

 unifdef.1 | 6 ++++++
 1 file changed, 6 insertions(+)

---------------------------------------------------
2014-10-20 21:21:00 +0100 Tony Finch <dot@dotat.at>

Capitalize error messages

 unifdef.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2014-10-20 21:19:37 +0100 Tony Finch <dot@dotat.at>

Alphabetize DIAGNOSTICS

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

---------------------------------------------------
2014-10-20 21:16:34 +0100 Tony Finch <dot@dotat.at>

Check there is a filename argument for inplace editing.

Reported-by: Philip Guenther <guenther@openbsd.org>
Submitted-By: Stuart Henderson <sthen@openbsd.org>

 unifdef.c | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2014-01-08 15:03:36 +0000 Tony Finch <dot@dotat.at>

travis: restore missing semicolon

 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 14:59:46 +0000 Tony Finch <dot@dotat.at>

win32: do not use Unix Makefile for testing on MinGW

 .travis.yml          | 3 +--
 win32/Makefile.mingw | 3 +++
 2 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2014-01-08 14:16:13 +0000 Tony Finch <dot@dotat.at>

win32: avoid deprecated -I- compiler option in MinGW build

 win32/Makefile.mingw | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 14:15:39 +0000 Tony Finch <dot@dotat.at>

win32: need prototype for snprintf()

 win32/unifdef.h | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2014-01-08 13:51:53 +0000 Tony Finch <dot@dotat.at>

unifdef: typo in comment

Reported-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>

 unifdef.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 13:39:10 +0000 Tony Finch <dot@dotat.at>

win32: avoid "secure" string functions - troublesome on MinGW

 win32/win32.c | 54 ++++++++++++++++++++++++++----------------------------
 1 file changed, 26 insertions(+), 28 deletions(-)

---------------------------------------------------
2014-01-08 00:15:18 +0000 Tony Finch <dot@dotat.at>

win32: or maybe stdint.h? MinGW seems to disagree with Windows :-(

 win32/unifdef.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 00:06:22 +0000 Tony Finch <dot@dotat.at>

win32: need stddef.h

 win32/unifdef.h | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2014-01-07 23:57:36 +0000 Tony Finch <dot@dotat.at>

win32: another try at working around lack of _TRUNCATE

 win32/unifdef.h |  2 --
 win32/win32.c   | 16 +++++++++++++++-
 2 files changed, 15 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-01-07 23:42:00 +0000 Tony Finch <dot@dotat.at>

win32: need crtdefs.h?

 win32/unifdef.h | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2014-01-07 22:45:47 +0000 Tony Finch <dot@dotat.at>

win32: correct variable name in snprintf()

 win32/win32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-07 22:32:21 +0000 Tony Finch <dot@dotat.at>

unifdef: cleaner exit status handling

 unifdef.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

---------------------------------------------------
2014-01-07 20:41:07 +0000 Tony Finch <dot@dotat.at>

unifdef: do not needlessly modify files when updating in place

If unifdef made no changes, leave the original input file
in place and delete the temporary working copy.

Inspired by http://trac.webkit.org/changeset/156877

 tests/overunchanged.experr |  0
 tests/overunchanged.expout |  0
 tests/overunchanged.exprc  |  1 +
 tests/overunchanged.sh     |  8 ++++++++
 unifdef.1                  |  2 ++
 unifdef.c                  | 13 ++++++++++++-
 6 files changed, 23 insertions(+), 1 deletion(-)

---------------------------------------------------
2014-01-07 20:24:11 +0000 Tony Finch <dot@dotat.at>

unifdef: correct exit status when lines are modified but not deleted

 tests/exitstat.c      | 3 +++
 tests/exitstat.experr | 0
 tests/exitstat.expout | 3 +++
 tests/exitstat.exprc  | 1 +
 tests/exitstat.sh     | 1 +
 unifdef.c             | 1 +
 6 files changed, 9 insertions(+)

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

tests: NetBSD pr#47068

 tests/NetBSD-47068.c      | 2 ++
 tests/NetBSD-47068.experr | 0
 tests/NetBSD-47068.expout | 2 ++
 tests/NetBSD-47068.exprc  | 1 +
 tests/NetBSD-47068.sh     | 1 +
 5 files changed, 6 insertions(+)

---------------------------------------------------
2014-01-07 19:16:02 +0000 Tony Finch <dot@dotat.at>

web: update for unifdef-2.10 release

 web/index.html | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

---------------------------------------------------
2014-01-07 19:12:35 +0000 Tony Finch <dot@dotat.at>

bump more copyright dates

 scripts/copycheck.sh | 4 +++-
 unifdef.1            | 2 +-
 unifdef.c            | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-01-07 19:00:39 +0000 Tony Finch <dot@dotat.at>

unifdef: do not mark the line as dirty when there is no dirt

This caused problems for #undef directives in -f header files:
the following line was ignored because the line state got
incorrectly updated.

Thanks to the uClibc project for reporting the bug and providing a
sample test case and a proposed fix.

Reported-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>

 tests/defundef-undefdef.experr | 0
 tests/defundef-undefdef.expout | 1 +
 tests/defundef-undefdef.exprc  | 1 +
 tests/defundef-undefdef.sh     | 1 +
 tests/if6.h                    | 2 ++
 unifdef.c                      | 5 ++---
 6 files changed, 7 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-01-06 10:51:56 +0000 Tony Finch <dot@dotat.at>

scripts: make release more verbose

 scripts/release.sh | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2014-01-06 10:51:17 +0000 Tony Finch <dot@dotat.at>

web: link to pre-release

 web/index.html | 8 ++++++++
 1 file changed, 8 insertions(+)

---------------------------------------------------
2014-01-06 10:42:01 +0000 Tony Finch <dot@dotat.at>

Bump some copyright dates

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

---------------------------------------------------
2014-01-06 10:38:00 +0000 Tony Finch <dot@dotat.at>

win32: a more correct snprintf() portability shim

Based on 
http://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010

 win32/unifdef.h |  1 -
 win32/win32.c   | 22 ++++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-06-12 15:50:39 +0100 Tony Finch <dot@dotat.at>

INSTALL: use GitHub for Windows to run Unix shell scripts

README: update FreshMeat -> FreeCode and note that GitHub
zip file downloads are broken.

Suggested-by: Lee M. Hamel <lee.m.hamel@intel.com>

 INSTALL | 12 +++++++-----
 README  |  6 +++++-
 2 files changed, 12 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-06-11 22:10:31 +0100 Tony Finch <dot@dotat.at>

unifdef: refactor keyword and symbol matching

The generic strlcmp() is replaced by the more specific matchsym()
and findsym() now includes the effect of skipsym().

This is to prepare for case-insensitive keyword matching, as part
of foreign language support.

 unifdef.c | 155 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 84 insertions(+), 71 deletions(-)

---------------------------------------------------
2013-06-07 23:21:03 +0100 Tony Finch <dot@dotat.at>

unifdef.1: bump date and add link to home page

 unifdef.1 | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-06-07 23:10:14 +0100 Tony Finch <dot@dotat.at>

copycheck: check date in manual

 scripts/copycheck.sh | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2013-06-07 12:09:20 +0100 Tony Finch <dot@dotat.at>

web: update for unifdef-2.9 release

 web/index.html | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

---------------------------------------------------
2013-06-07 11:53:51 +0100 Tony Finch <dot@dotat.at>

INSTALL: more portability notes.

 INSTALL | 22 +++++++++++++++-------
 1 file 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 file 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 file 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 file 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 file changed, 3 insertions(+)

---------------------------------------------------
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 file 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 file changed, 1 insertion(+)

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

web: bump pre-release

 web/index.html | 12 ++++++------
 1 file 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 file 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 file 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 insertion(+), 2 deletions(-)

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

web: bump pre-release

 web/index.html | 12 ++++++------
 1 file 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

