]>
granicus.if.org Git - recode/log
Reuben Thomas [Tue, 23 Jan 2018 21:03:31 +0000 (21:03 +0000)]
Manual: remove some references to past and future versions of Recode
The past versions are long-dead; the future versions will probably not come
in the shape predicted.
Reuben Thomas [Tue, 23 Jan 2018 21:02:22 +0000 (21:02 +0000)]
Manual: some language fixes
Reuben Thomas [Tue, 23 Jan 2018 07:24:56 +0000 (07:24 +0000)]
Manual: overhaul and simplify sequencing method description
Reuben Thomas [Tue, 23 Jan 2018 07:01:16 +0000 (07:01 +0000)]
Manual: bump copyright dates
Reuben Thomas [Tue, 23 Jan 2018 07:01:04 +0000 (07:01 +0000)]
NEWS: add more for 3.7, bump copyright date, fix a typo
Reuben Thomas [Tue, 23 Jan 2018 06:48:48 +0000 (06:48 +0000)]
Add get_bytes and put_bytes
This allows transform_mere_copy to be made efficient in the case of writing
to buffer.
Reuben Thomas [Mon, 22 Jan 2018 23:35:27 +0000 (23:35 +0000)]
Allow pipe filters to signal when they are interrupted again
Make the interrupted variable, previously static in main,
recode_interrupted, defined in task.c (hence in librecode), so that it can
now be tested at the end of a pipe recode.
Reuben Thomas [Mon, 22 Jan 2018 23:35:15 +0000 (23:35 +0000)]
main.c: clarify a comment slightly
Reuben Thomas [Mon, 22 Jan 2018 22:22:09 +0000 (22:22 +0000)]
Remove --sequence=files
Assume that any reasonable target OS has virtual memory (on which holding
the data in memory has much the same performance implications as using
files).
Reuben Thomas [Mon, 22 Jan 2018 20:46:09 +0000 (20:46 +0000)]
recodext.h: clarify a comment
Reuben Thomas [Mon, 22 Jan 2018 20:42:18 +0000 (20:42 +0000)]
Use mkstemps to make temporary file names
Remove system-specific code.
Reuben Thomas [Mon, 22 Jan 2018 20:40:46 +0000 (20:40 +0000)]
task.c: improve English in a comment
Reuben Thomas [Mon, 22 Jan 2018 13:40:41 +0000 (13:40 +0000)]
Use xbinary-io gnulib module to set mode of stdin/stdout
Also isatty module to detect ttys. No longer need DOS/Windows/etc.-specific
ifdefs.
Reuben Thomas [Mon, 22 Jan 2018 01:48:18 +0000 (01:48 +0000)]
task.c: handle any number of steps, including zero, in perform_sequence
Reduce duplication further, increase ugliness a little.
Reuben Thomas [Mon, 22 Jan 2018 01:10:23 +0000 (01:10 +0000)]
task.c: fold perform_pipe_sequence into perform_sequence
The result is large and ugly, but much less duplication overall.
The refactoring was done mechanically, to ensure correctness of the result.
It should be possible to simplify further.
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.
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.
Reuben Thomas [Sat, 20 Jan 2018 00:09:08 +0000 (00:09 +0000)]
Add some missing sources to the loc target
Reuben Thomas [Fri, 19 Jan 2018 13:33:23 +0000 (13:33 +0000)]
main.c: fix a comment typo
Reuben Thomas [Fri, 19 Jan 2018 12:46:06 +0000 (12:46 +0000)]
Remove if before free
Reuben Thomas [Fri, 19 Jan 2018 12:45:03 +0000 (12:45 +0000)]
html.c: improve some comments slightly
Reuben Thomas [Fri, 19 Jan 2018 00:17:41 +0000 (00:17 +0000)]
Use briefer form for setting up modules
Use consistently everywhere possible.
Reuben Thomas [Fri, 19 Jan 2018 00:01:46 +0000 (00:01 +0000)]
Add BibTeX converters from Vincent Danjean (Debian bug #402031)
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.
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.
Reuben Thomas [Thu, 18 Jan 2018 23:10:07 +0000 (23:10 +0000)]
HACKING.org: simplify explanation of build dependencies
Reuben Thomas [Thu, 18 Jan 2018 11:02:25 +0000 (11:02 +0000)]
Update bug report address everywhere
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.
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).
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).
Reuben Thomas [Thu, 18 Jan 2018 00:18:33 +0000 (00:18 +0000)]
Deference symlinked input files (fix Debian bug #349477)
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).
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
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.
Reuben Thomas [Wed, 17 Jan 2018 22:15:40 +0000 (22:15 +0000)]
Recode.pyx: add method to get error from Task
Reuben Thomas [Wed, 17 Jan 2018 21:33:58 +0000 (21:33 +0000)]
iconv.c: fix a misspelling 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
Reuben Thomas [Wed, 17 Jan 2018 20:46:55 +0000 (20:46 +0000)]
iconv.c: fix comment typo
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.
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!
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.)
Reuben Thomas [Wed, 17 Jan 2018 13:11:56 +0000 (13:11 +0000)]
recodext.h: re-punctuate comment to fix the sense
Reuben Thomas [Wed, 17 Jan 2018 13:10:41 +0000 (13:10 +0000)]
t40_java.py: spell “Java” correctly (not all upper-case)
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.
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.
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).
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.
Reuben Thomas [Tue, 16 Jan 2018 00:41:33 +0000 (00:41 +0000)]
utf8.c: remove support for non-standard 32nd bit
Reuben Thomas [Tue, 16 Jan 2018 00:38:15 +0000 (00:38 +0000)]
names.c: remove support for dumping hash stats
Reuben Thomas [Tue, 16 Jan 2018 00:35:33 +0000 (00:35 +0000)]
names.c: remove hard-wired define DEFAULT_CHARSET support
Reuben Thomas [Tue, 16 Jan 2018 00:32:55 +0000 (00:32 +0000)]
atarist.c: remove non-RFC1345 option
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
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.
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!
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>
Reuben Thomas [Mon, 15 Jan 2018 23:51:56 +0000 (23:51 +0000)]
src/Makefile.am: libgnu is needed by librecode, not just recode
Reuben Thomas [Mon, 15 Jan 2018 22:45:49 +0000 (22:45 +0000)]
doc: add a missing dependency and some missing .gitignore entries
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
Reuben Thomas [Mon, 15 Jan 2018 15:40:39 +0000 (15:40 +0000)]
Makefile.am: add release 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.
Reuben Thomas [Sun, 14 Jan 2018 23:32:02 +0000 (23:32 +0000)]
Add Travis and AppVeyor CI
Reuben Thomas [Sun, 14 Jan 2018 22:58:38 +0000 (22:58 +0000)]
Check for Python >= 2.2 during configuration
Reuben Thomas [Sun, 14 Jan 2018 22:43:25 +0000 (22:43 +0000)]
Don't ship help2man, but cope with it missing
Reuben Thomas [Sun, 14 Jan 2018 22:17:11 +0000 (22:17 +0000)]
Remove unused copy of mdate-sh
Reuben Thomas [Sun, 14 Jan 2018 22:09:15 +0000 (22:09 +0000)]
Update git installation instructions
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
Reuben Thomas [Sun, 14 Jan 2018 00:39:12 +0000 (00:39 +0000)]
Fix warnings
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.
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
Reuben Thomas [Sun, 14 Jan 2018 17:34:56 +0000 (17:34 +0000)]
src/Makefile.am: hide timestamp-updating command for consistency
Reuben Thomas [Sun, 14 Jan 2018 17:34:14 +0000 (17:34 +0000)]
Timestamp files should definitely not be in git!
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.
Reuben Thomas [Sun, 14 Jan 2018 01:38:00 +0000 (01:38 +0000)]
Remove generated file doc/stamp-vti
Reuben Thomas [Sun, 14 Jan 2018 00:02:23 +0000 (00:02 +0000)]
Remove some more generated files from git
Reuben Thomas [Sat, 13 Jan 2018 22:41:57 +0000 (22:41 +0000)]
Use gnulib's manywarnings module
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
Reuben Thomas [Sat, 13 Jan 2018 22:26:20 +0000 (22:26 +0000)]
.gitignore: add distribution tarball
Reuben Thomas [Sat, 13 Jan 2018 22:25:25 +0000 (22:25 +0000)]
Fix make distcheck
Reuben Thomas [Sat, 13 Jan 2018 22:08:47 +0000 (22:08 +0000)]
tests/Makefile.am: remove mention of removed file NOTES
Reuben Thomas [Sat, 13 Jan 2018 22:06:36 +0000 (22:06 +0000)]
aclocal.sh hack no longer needed
Reuben Thomas [Sat, 13 Jan 2018 22:00:02 +0000 (22:00 +0000)]
Bump version to 3.7, and add NEWS
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.
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.
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.
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.
Reuben Thomas [Sat, 13 Jan 2018 21:05:36 +0000 (21:05 +0000)]
main.c: remove a FIXME: doesn't need to be done
Reuben Thomas [Sat, 13 Jan 2018 17:21:04 +0000 (17:21 +0000)]
Remove #if 0-commented code, except FIXMEs
Reuben Thomas [Sat, 13 Jan 2018 17:07:30 +0000 (17:07 +0000)]
Remove after-patch hacks
Reuben Thomas [Sat, 13 Jan 2018 17:06:39 +0000 (17:06 +0000)]
Add target to count code with loc
Reuben Thomas [Sat, 13 Jan 2018 16:54:30 +0000 (16:54 +0000)]
Remove more generated files from git
Reuben Thomas [Sat, 13 Jan 2018 16:48:44 +0000 (16:48 +0000)]
Update to gettext 0.19; fixes some autotools warnings
Reuben Thomas [Sat, 13 Jan 2018 16:42:47 +0000 (16:42 +0000)]
Make shared library file names and library build directories portable
Reuben Thomas [Sat, 13 Jan 2018 16:34:34 +0000 (16:34 +0000)]
Remove generated file tests/Recode.c from git
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.
Reuben Thomas [Sat, 13 Jan 2018 12:50:10 +0000 (12:50 +0000)]
Remove ChangeLog files
Reuben Thomas [Sat, 13 Jan 2018 09:38:11 +0000 (09:38 +0000)]
Update translations
Reuben Thomas [Sat, 13 Jan 2018 09:35:38 +0000 (09:35 +0000)]
Gnulib-ify
Reuben Thomas [Sat, 13 Jan 2018 08:03:20 +0000 (08:03 +0000)]
pytest: fix typo (French word should be English) in output
Reuben Thomas [Fri, 12 Jan 2018 18:13:15 +0000 (18:13 +0000)]
Fix conditional in Makefile.am: use automake conditional
Reuben Thomas [Fri, 12 Jan 2018 18:12:59 +0000 (18:12 +0000)]
Remove generated files from git