libxo-0.4.0
Big features:
- syslog: xo_syslog makes syslog-ng (SD-Params) content using xo_emit format strings
- i18n: {G:}, {g:} and {p:} add support for gettext() to libxo formats
- custom encoded API allows external encoders to be created; a CBOR example is provided
- new _p variants of libxo functions enable printf-like warnings
Minor notes:
- xo_simplify_format() generates simplified messages (for .po files)
- Add "%m" (prep for syslog)
- fix issue when mbrtowc() fails
- Add "add.man"
- Add xo_encoder_op_name and xo_encoder_setup
- Add xo_finish_atexit
- make {p:} work without requiring {g:}
- Add --disable-gettext
- Add check for __isthreaded
- Add checks for sysctlbyname, getprogname, and sun_len
- Add code for testing thread-local variable support (THREAD_LOCAL)
- Add xopo utility (for manging .po files)
- Add {G:}, {g:}, and {p:}. Need to invent a .man backend for oxtradoc so this isn't manual.
- Fail gracefully if oxtradoc (from libslax) is not installed)
- Force copy of non-value-role fields; not a great solution, but best available
- Incorporate Markus Kuhn's wcwidth() (as xo_wcwidth)
- Linux hates (void)ing writev with -Werror=unused-result
- Make PRINTFLIKE versions of all printf-like functions.
- Make gettext checks smarter
- Move internal flags from XOF_* into libxo.c (XOIF_*)
- Move to XOF_SET() etc;
- Add field number parsing
- New XOF_UTF8 flag forces UTF-8
- Nuke iswprint() test; many fancy unicode characters are marking !print but they are
- add --with-gettext option to configure
- add unistd.h for unlink(2)
- add xo_wcwidth.h; move xo_humanize.h to noinst_HEADERS
- add {{escaping}} braces info
- document {G:} {g:} {p:}. Add howtos.
- fix silly bug w/ end-of-sd-params handling; add BOM since we're UTF-8; use UTF-8 flag to force UTF-8
- fix truncated output (gettext); use "__warning" consistently
- move xo_message to it's own man page
- no c99 in-for declarations. Sigh....
- pull xo_buf* code into xo_buf.h
- remove xo_version.h
- rename xo_.h to xo__.h for conssitency
- use XO_INFO_NULL to end arrays
- xo_destroy now calls xo_flush