]> granicus.if.org Git - recode/log
recode
6 years agotask.c: make “correct” version of perform_pipe_sequence work
Reuben Thomas [Sun, 21 Jan 2018 23:17:04 +0000 (23:17 +0000)]
task.c: make “correct” version of perform_pipe_sequence work

Finish converting the right-to-left pipeline into a left-to-right version.

6 years agoOverhaul error handling in transform steps (fixes Debian bug #215285)
Reuben Thomas [Sat, 20 Jan 2018 00:01:53 +0000 (00:01 +0000)]
Overhaul error handling in transform steps (fixes Debian bug #215285)

Three main principles were applied:

1. Check all return codes (this fixes Debian bug #215285, data is lost when
no space left on device).
2. Ensure that resources are not leaked (memory and file descriptors).
3. Consistently use the recode error signalling mechanism: rather than
arbitrarily signalling failure on an I/O error, set error level
RECODE_SYSTEM_ERROR, and signal failure according to fail_level.

It proved to be useful to merge perform_{memory,pass}_sequence.

6 years agoAdd some missing sources to the loc target
Reuben Thomas [Sat, 20 Jan 2018 00:09:08 +0000 (00:09 +0000)]
Add some missing sources to the loc target

6 years agomain.c: fix a comment typo
Reuben Thomas [Fri, 19 Jan 2018 13:33:23 +0000 (13:33 +0000)]
main.c: fix a comment typo

6 years agoRemove if before free
Reuben Thomas [Fri, 19 Jan 2018 12:46:06 +0000 (12:46 +0000)]
Remove if before free

6 years agohtml.c: improve some comments slightly
Reuben Thomas [Fri, 19 Jan 2018 12:45:03 +0000 (12:45 +0000)]
html.c: improve some comments slightly

6 years agoUse briefer form for setting up modules
Reuben Thomas [Fri, 19 Jan 2018 00:17:41 +0000 (00:17 +0000)]
Use briefer form for setting up modules

Use consistently everywhere possible.

6 years agoAdd BibTeX converters from Vincent Danjean (Debian bug #402031)
Reuben Thomas [Fri, 19 Jan 2018 00:01:46 +0000 (00:01 +0000)]
Add BibTeX converters from Vincent Danjean (Debian bug #402031)

6 years agotask.c: use better code for checking abnormally-terminating child process
Reuben Thomas [Thu, 18 Jan 2018 23:38:41 +0000 (23:38 +0000)]
task.c: use better code for checking abnormally-terminating child process

Use the code that says “Bruno would prefer this”. Assume any compatibility
problems are or can now be solved.

6 years agoAdd ANSEL and ISO 5426 codecs from Wolfram Schneider
Reuben Thomas [Thu, 18 Jan 2018 23:14:22 +0000 (23:14 +0000)]
Add ANSEL and ISO 5426 codecs from Wolfram Schneider

Fixes Debian bug #277571.

6 years agoHACKING.org: simplify explanation of build dependencies
Reuben Thomas [Thu, 18 Jan 2018 23:10:07 +0000 (23:10 +0000)]
HACKING.org: simplify explanation of build dependencies

6 years agoUpdate bug report address everywhere
Reuben Thomas [Thu, 18 Jan 2018 11:02:25 +0000 (11:02 +0000)]
Update bug report address everywhere

6 years agoUse UTF-8 for name of author in --help output
Reuben Thomas [Thu, 18 Jan 2018 01:37:35 +0000 (01:37 +0000)]
Use UTF-8 for name of author in --help output

Also fixes the man page, thus Debian bug #409283.

6 years agoFix -k (fixes Debian bug #607021)
Reuben Thomas [Thu, 18 Jan 2018 01:32:20 +0000 (01:32 +0000)]
Fix -k (fixes Debian bug #607021)

Update manual to reflect differently-presented character set names (output
is cosmetically different).

6 years agoTODO: overhaul
Reuben Thomas [Thu, 18 Jan 2018 00:36:48 +0000 (00:36 +0000)]
TODO: overhaul

Replace François’s email address with mine, remove things that are either
done or seem to refer to personal files of François, and the section on the
MS-DOS port (assumed defunct).

6 years agoDeference symlinked input files (fix Debian bug #349477)
Reuben Thomas [Thu, 18 Jan 2018 00:18:33 +0000 (00:18 +0000)]
Deference symlinked input files (fix Debian bug #349477)

6 years agoTry to diagnose untranslatable input when using iconv
Reuben Thomas [Wed, 17 Jan 2018 22:43:10 +0000 (22:43 +0000)]
Try to diagnose untranslatable input when using iconv

See Debian bug #348909.

The problem starts with the fact that iconv returns EILSEQ (invalid input)
when in fact the input is merely untranslatable.

It is possible to diagnose this situation by running another conversion with
the output encoding the same as the input (so that it will always succeed on
valid input) at the same point. This is what we now do. Unfortunately,
there’s no way I can see to work out how much input to skip (i.e. the length
of the untranslatable character in the source encoding). Hence, we still
just skip one byte. The typical result is that invalid input is diagnosed on
the next step, resulting in the same problem as at present.

Two possible workarounds are to not use iconv, or to set abort_level to
RECODE_UNTRANSLATABLE (this is what test_2 in t80_error.py does).

6 years agoRecode.pyx: add methods to set fail_level and abort_level for a task
Reuben Thomas [Wed, 17 Jan 2018 22:48:18 +0000 (22:48 +0000)]
Recode.pyx: add methods to set fail_level and abort_level for a task

6 years agoAdd test for correct error code returned on untranslatable character
Reuben Thomas [Wed, 17 Jan 2018 22:19:38 +0000 (22:19 +0000)]
Add test for correct error code returned on untranslatable character

See Debian bug #348909.

6 years agoRecode.pyx: add method to get error from Task
Reuben Thomas [Wed, 17 Jan 2018 22:15:40 +0000 (22:15 +0000)]
Recode.pyx: add method to get error from Task

6 years agoiconv.c: fix a misspelling in a comment
Reuben Thomas [Wed, 17 Jan 2018 21:33:58 +0000 (21:33 +0000)]
iconv.c: fix a misspelling in a comment

6 years agorecodext.h: clarify Star Trek reference in a comment
Reuben Thomas [Wed, 17 Jan 2018 21:33:32 +0000 (21:33 +0000)]
recodext.h: clarify Star Trek reference in a comment

6 years agoiconv.c: fix comment typo
Reuben Thomas [Wed, 17 Jan 2018 20:46:55 +0000 (20:46 +0000)]
iconv.c: fix comment typo

6 years agot40_java.py: fix qp to Java test
Reuben Thomas [Wed, 17 Jan 2018 14:34:41 +0000 (14:34 +0000)]
t40_java.py: fix qp to Java test

When converting individual characters in Java source, we don’t add BOMs, so
don’t require them in the output.

test_2 ends up only doing one direction, but that’s OK because test_1 does
the other.

6 years agoRecode.pyx: expose RECODE_TASK
Reuben Thomas [Wed, 17 Jan 2018 14:34:15 +0000 (14:34 +0000)]
Recode.pyx: expose RECODE_TASK

Minimal interface for just what we need right now!

6 years agobase64.c: fix handling of EOF and LF (fixes Debian bug #271939)
Reuben Thomas [Wed, 17 Jan 2018 13:13:12 +0000 (13:13 +0000)]
base64.c: fix handling of EOF and LF (fixes Debian bug #271939)

LF can occur before the end of a full line (76 characters) if it’s
immediately followed by EOF.

The last line can be any number of quadruplets long; it need not be 76
characters. (I suspect this was an attempt to deal with LF without the extra
call to get_byte and goto.)

6 years agorecodext.h: re-punctuate comment to fix the sense
Reuben Thomas [Wed, 17 Jan 2018 13:11:56 +0000 (13:11 +0000)]
recodext.h: re-punctuate comment to fix the sense

6 years agot40_java.py: spell “Java” correctly (not all upper-case)
Reuben Thomas [Wed, 17 Jan 2018 13:10:41 +0000 (13:10 +0000)]
t40_java.py: spell “Java” correctly (not all upper-case)

6 years agomixed.c: remove “inline” comments from function declarations
Reuben Thomas [Wed, 17 Jan 2018 13:09:32 +0000 (13:09 +0000)]
mixed.c: remove “inline” comments from function declarations

Compilers can work this stuff out for themselves nowadays.

6 years agoRecode.pyx: allow NULs in recoded data
Reuben Thomas [Tue, 16 Jan 2018 11:07:44 +0000 (11:07 +0000)]
Recode.pyx: allow NULs in recoded data

Expose recode_buffer_to_buffer rather than recode_string, and check return
value. This makes some tests fail (see Debian bug #271939)

Add a comment explaining why we prefer the buffer APIs, and don’t bother
with string APIs at all.

Also add a FIXME to expose file APIs.

6 years agoRecode.pyx: minor improvements
Reuben Thomas [Tue, 16 Jan 2018 10:37:48 +0000 (10:37 +0000)]
Recode.pyx: minor improvements

size_t is supported natively these days, so don’t make a dangerous guess as
to its value (in particular, should never hard-wire things determined in
config.h!).

Use libcpp’s bool instead of hand-defining a bool enum.

Use True for C true (will be automatically coerced).

6 years agovaria.c: resolve various conflicts
Reuben Thomas [Tue, 16 Jan 2018 01:06:51 +0000 (01:06 +0000)]
varia.c: resolve various conflicts

Rather than compile-time macros for two different options:

1. Resolve the Kamenický encoding by referring to the Wikipedia version at
https://en.wikipedia.org/wiki/Kamenick%C3%BD_encoding
2. Allow the extra characters in the Cork encoding table.

Also fill in some missing Unicode code points, fixing some FIXMEs.

6 years agoutf8.c: remove support for non-standard 32nd bit
Reuben Thomas [Tue, 16 Jan 2018 00:41:33 +0000 (00:41 +0000)]
utf8.c: remove support for non-standard 32nd bit

6 years agonames.c: remove support for dumping hash stats
Reuben Thomas [Tue, 16 Jan 2018 00:38:15 +0000 (00:38 +0000)]
names.c: remove support for dumping hash stats

6 years agonames.c: remove hard-wired define DEFAULT_CHARSET support
Reuben Thomas [Tue, 16 Jan 2018 00:35:33 +0000 (00:35 +0000)]
names.c: remove hard-wired define DEFAULT_CHARSET support

6 years agoatarist.c: remove non-RFC1345 option
Reuben Thomas [Tue, 16 Jan 2018 00:32:55 +0000 (00:32 +0000)]
atarist.c: remove non-RFC1345 option

6 years agocharsets.def: fix missing characters in IBM870
Reuben Thomas [Tue, 16 Jan 2018 00:29:32 +0000 (00:29 +0000)]
charsets.def: fix missing characters in IBM870

Patch from Carey Evans <careye@spamcop.net>

Fixes Debian bug #270414

6 years agoDon’t insist on chmod succeeding for output files
Reuben Thomas [Tue, 16 Jan 2018 00:23:58 +0000 (00:23 +0000)]
Don’t insist on chmod succeeding for output files

Support file systems that lack permissions (e.g. FAT).

Fixes Debian bug #237249.

6 years agomain.c: assume we have rename(3) as it’s standard since C89
Reuben Thomas [Tue, 16 Jan 2018 00:11:25 +0000 (00:11 +0000)]
main.c: assume we have rename(3) as it’s standard since C89

In fact, since my recent changes, HAVE_RENAME was not being defined, so
rename was not used!

6 years agomain.c: fix potential buffer overflow (Debian bug #754945)
Reuben Thomas [Mon, 15 Jan 2018 23:55:16 +0000 (23:55 +0000)]
main.c: fix potential buffer overflow (Debian bug #754945)

Patch from Alexander Gerasiov <gq@debian.org>

6 years agosrc/Makefile.am: libgnu is needed by librecode, not just recode
Reuben Thomas [Mon, 15 Jan 2018 23:51:56 +0000 (23:51 +0000)]
src/Makefile.am: libgnu is needed by librecode, not just recode

6 years agodoc: add a missing dependency and some missing .gitignore entries
Reuben Thomas [Mon, 15 Jan 2018 22:45:49 +0000 (22:45 +0000)]
doc: add a missing dependency and some missing .gitignore entries

6 years agoMove maintainer documentation into HACKING.org
Reuben Thomas [Mon, 15 Jan 2018 15:40:52 +0000 (15:40 +0000)]
Move maintainer documentation into HACKING.org

Minor updates, and add how to release with woger

6 years agoMakefile.am: add release target
Reuben Thomas [Mon, 15 Jan 2018 15:40:39 +0000 (15:40 +0000)]
Makefile.am: add release target

6 years agoCount more code in loc target
Reuben Thomas [Mon, 15 Jan 2018 14:33:47 +0000 (14:33 +0000)]
Count more code in loc target

Include the currently-experimental Cython binding, and the build system.

6 years agoAdd Travis and AppVeyor CI
Reuben Thomas [Sun, 14 Jan 2018 23:32:02 +0000 (23:32 +0000)]
Add Travis and AppVeyor CI

6 years agoCheck for Python >= 2.2 during configuration
Reuben Thomas [Sun, 14 Jan 2018 22:58:38 +0000 (22:58 +0000)]
Check for Python >= 2.2 during configuration

6 years agoDon't ship help2man, but cope with it missing
Reuben Thomas [Sun, 14 Jan 2018 22:43:25 +0000 (22:43 +0000)]
Don't ship help2man, but cope with it missing

6 years agoRemove unused copy of mdate-sh
Reuben Thomas [Sun, 14 Jan 2018 22:17:11 +0000 (22:17 +0000)]
Remove unused copy of mdate-sh

6 years agoUpdate git installation instructions
Reuben Thomas [Sun, 14 Jan 2018 22:09:15 +0000 (22:09 +0000)]
Update git installation instructions

6 years agoRename MASK macro to BIT_MASK to avoid clash with Python headers
Reuben Thomas [Sun, 14 Jan 2018 22:04:05 +0000 (22:04 +0000)]
Rename MASK macro to BIT_MASK to avoid clash with Python headers

6 years agoFix warnings
Reuben Thomas [Sun, 14 Jan 2018 00:39:12 +0000 (00:39 +0000)]
Fix warnings

6 years agoRemove custom maintainer targets
Reuben Thomas [Sun, 14 Jan 2018 18:57:09 +0000 (18:57 +0000)]
Remove custom maintainer targets

gnulib handles po file updating, and the others are personal to François
Pinard.

6 years agoMake all steps, surfaces & fallbacks depend on generated *steps.h header files
Reuben Thomas [Sun, 14 Jan 2018 18:47:19 +0000 (18:47 +0000)]
Make all steps, surfaces & fallbacks depend on generated *steps.h header files

6 years agosrc/Makefile.am: hide timestamp-updating command for consistency
Reuben Thomas [Sun, 14 Jan 2018 17:34:56 +0000 (17:34 +0000)]
src/Makefile.am: hide timestamp-updating command for consistency

6 years agoTimestamp files should definitely not be in git!
Reuben Thomas [Sun, 14 Jan 2018 17:34:14 +0000 (17:34 +0000)]
Timestamp files should definitely not be in git!

6 years agoNeither cleaner.h nor recodext.h needs to be generated
Reuben Thomas [Sun, 14 Jan 2018 13:03:21 +0000 (13:03 +0000)]
Neither cleaner.h nor recodext.h needs to be generated

So don’t generate them, and move cleaner.h into src; this fixes dependency
tracking, and prevents system headers from installations of librecode being
used erroneously.

Also remove defunct symbols from cleaner.h.

Also fix a wrong dependency: charname.lo depends on charname.h, not
rfc1345.h.

6 years agoRemove generated file doc/stamp-vti
Reuben Thomas [Sun, 14 Jan 2018 01:38:00 +0000 (01:38 +0000)]
Remove generated file doc/stamp-vti

6 years agoRemove some more generated files from git
Reuben Thomas [Sun, 14 Jan 2018 00:02:23 +0000 (00:02 +0000)]
Remove some more generated files from git

6 years agoUse gnulib's manywarnings module
Reuben Thomas [Sat, 13 Jan 2018 22:41:57 +0000 (22:41 +0000)]
Use gnulib's manywarnings module

6 years agoUpdate .po files
Reuben Thomas [Sat, 13 Jan 2018 22:29:30 +0000 (22:29 +0000)]
Update .po files

Remove .gmo files from git; add a couple more generated gettext files to
.gitignore

6 years ago.gitignore: add distribution tarball
Reuben Thomas [Sat, 13 Jan 2018 22:26:20 +0000 (22:26 +0000)]
.gitignore: add distribution tarball

6 years agoFix make distcheck
Reuben Thomas [Sat, 13 Jan 2018 22:25:25 +0000 (22:25 +0000)]
Fix make distcheck

6 years agotests/Makefile.am: remove mention of removed file NOTES
Reuben Thomas [Sat, 13 Jan 2018 22:08:47 +0000 (22:08 +0000)]
tests/Makefile.am: remove mention of removed file NOTES

6 years agoaclocal.sh hack no longer needed
Reuben Thomas [Sat, 13 Jan 2018 22:06:36 +0000 (22:06 +0000)]
aclocal.sh hack no longer needed

6 years agoBump version to 3.7, and add NEWS
Reuben Thomas [Sat, 13 Jan 2018 22:00:02 +0000 (22:00 +0000)]
Bump version to 3.7, and add NEWS

6 years agoREADME.org: update
Reuben Thomas [Sat, 13 Jan 2018 21:58:29 +0000 (21:58 +0000)]
README.org: update

Remove 3.7beta release notes and various other out-of-date material, and
update contact details.

6 years agoRemove most of the contrib/ directory
Reuben Thomas [Sat, 13 Jan 2018 21:55:12 +0000 (21:55 +0000)]
Remove most of the contrib/ directory

Specifically, the Amiga and DJGPP ports, the RPM specfiles, and utf8.el, all
of which are obsolete.

recode.el looks like it still contains some useful bits.

6 years agoRemove USE_HELPERS and INLINE_HARDER
Reuben Thomas [Sat, 13 Jan 2018 21:46:09 +0000 (21:46 +0000)]
Remove USE_HELPERS and INLINE_HARDER

These days we can safely leave this stuff to compilers.

6 years agotask.c: get better version of pipeline code compiling again
Reuben Thomas [Sat, 13 Jan 2018 21:13:05 +0000 (21:13 +0000)]
task.c: get better version of pipeline code compiling again

It does not work currently for multiple steps. Document this.

6 years agomain.c: remove a FIXME: doesn't need to be done
Reuben Thomas [Sat, 13 Jan 2018 21:05:36 +0000 (21:05 +0000)]
main.c: remove a FIXME: doesn't need to be done

6 years agoRemove #if 0-commented code, except FIXMEs
Reuben Thomas [Sat, 13 Jan 2018 17:21:04 +0000 (17:21 +0000)]
Remove #if 0-commented code, except FIXMEs

6 years agoRemove after-patch hacks
Reuben Thomas [Sat, 13 Jan 2018 17:07:30 +0000 (17:07 +0000)]
Remove after-patch hacks

6 years agoAdd target to count code with loc
Reuben Thomas [Sat, 13 Jan 2018 17:06:39 +0000 (17:06 +0000)]
Add target to count code with loc

6 years agoRemove more generated files from git
Reuben Thomas [Sat, 13 Jan 2018 16:54:30 +0000 (16:54 +0000)]
Remove more generated files from git

6 years agoUpdate to gettext 0.19; fixes some autotools warnings
Reuben Thomas [Sat, 13 Jan 2018 16:48:44 +0000 (16:48 +0000)]
Update to gettext 0.19; fixes some autotools warnings

6 years agoMake shared library file names and library build directories portable
Reuben Thomas [Sat, 13 Jan 2018 16:42:47 +0000 (16:42 +0000)]
Make shared library file names and library build directories portable

6 years agoRemove generated file tests/Recode.c from git
Reuben Thomas [Sat, 13 Jan 2018 16:34:34 +0000 (16:34 +0000)]
Remove generated file tests/Recode.c from git

6 years agoUse Gnulib as much as possible
Reuben Thomas [Sat, 13 Jan 2018 16:32:46 +0000 (16:32 +0000)]
Use Gnulib as much as possible

Require C99, and use Gnulib to provide everything else.

6 years agoRemove ChangeLog files
Reuben Thomas [Sat, 13 Jan 2018 12:50:10 +0000 (12:50 +0000)]
Remove ChangeLog files

6 years agoUpdate translations
Reuben Thomas [Sat, 13 Jan 2018 09:38:11 +0000 (09:38 +0000)]
Update translations

6 years agoGnulib-ify
Reuben Thomas [Sat, 13 Jan 2018 09:35:38 +0000 (09:35 +0000)]
Gnulib-ify

6 years agopytest: fix typo (French word should be English) in output
Reuben Thomas [Sat, 13 Jan 2018 08:03:20 +0000 (08:03 +0000)]
pytest: fix typo (French word should be English) in output

6 years agoFix conditional in Makefile.am: use automake conditional
Reuben Thomas [Fri, 12 Jan 2018 18:13:15 +0000 (18:13 +0000)]
Fix conditional in Makefile.am: use automake conditional

6 years agoRemove generated files from git
Reuben Thomas [Fri, 12 Jan 2018 18:12:59 +0000 (18:12 +0000)]
Remove generated files from git

10 years agoTODO: Nit.
François Pinard [Sun, 2 Feb 2014 19:58:48 +0000 (14:58 -0500)]
TODO: Nit.

10 years agoSite overhaul in progress.
François Pinard [Mon, 27 Jan 2014 05:48:23 +0000 (00:48 -0500)]
Site overhaul in progress.

10 years agotests/Makefile.in: Towards Python 3.
François Pinard [Fri, 10 Jan 2014 13:51:42 +0000 (08:51 -0500)]
tests/Makefile.in: Towards Python 3.

10 years agoREADME.org: Clarification.
François Pinard [Mon, 2 Dec 2013 19:15:09 +0000 (14:15 -0500)]
README.org: Clarification.
Thanks to Aurélien Bondis.

10 years agoDerived files.
François Pinard [Mon, 2 Dec 2013 04:14:48 +0000 (23:14 -0500)]
Derived files.

10 years agopytest: Mark skipped tests in output. Flush after each write.
François Pinard [Sun, 1 Dec 2013 23:02:45 +0000 (18:02 -0500)]
pytest: Mark skipped tests in output.  Flush after each write.

10 years agotests/Makefile.am, tests/setup.py.in: Build in place.
François Pinard [Mon, 2 Dec 2013 01:31:33 +0000 (20:31 -0500)]
tests/Makefile.am, tests/setup.py.in: Build in place.

10 years agotests/common.py: The Python API is not optional, do not work around it.
François Pinard [Sun, 1 Dec 2013 22:57:59 +0000 (17:57 -0500)]
tests/common.py: The Python API is not optional, do not work around it.

10 years agosrc/Makefile.am: Remove ansi2knr crumbs.
François Pinard [Sun, 1 Dec 2013 22:54:22 +0000 (17:54 -0500)]
src/Makefile.am: Remove ansi2knr crumbs.

10 years agoREADME.org: Some more blurb on Speed and Memory.
François Pinard [Sun, 1 Dec 2013 22:53:24 +0000 (17:53 -0500)]
README.org: Some more blurb on Speed and Memory.

10 years agoREADME.org: Remove tool version table.
François Pinard [Sun, 1 Dec 2013 22:52:11 +0000 (17:52 -0500)]
README.org: Remove tool version table.

10 years agoREADME.org: Recipe for hurry installation.
François Pinard [Sat, 30 Nov 2013 17:55:07 +0000 (12:55 -0500)]
README.org: Recipe for hurry installation.

10 years agoRecode.pyx: Add copyright block.
François Pinard [Mon, 2 Dec 2013 03:53:34 +0000 (22:53 -0500)]
Recode.pyx: Add copyright block.

10 years agoRecode.pyx: Whitespace as Python, not as C.
François Pinard [Sat, 30 Nov 2013 17:54:26 +0000 (12:54 -0500)]
Recode.pyx: Whitespace as Python, not as C.

10 years agoDerived files.
François Pinard [Sat, 30 Nov 2013 14:44:17 +0000 (09:44 -0500)]
Derived files.