Sync-to-go: src/src-troff..
We don't have the .class request, yet don't have the .lsm request,
yet miss some break type extensions, but otherwise we are
practically in sync. (Some code changes i will do differently,
and it is better that way.)
Changesets "in" due to NetBSD et. al.:
- [
2b2c1dd], 2009-11-20:
* */*.cpp: Replace `printf(string);' with `printf("%s", string);'.
- Quite some compiler-warning fixes.
Changesets "taken":
- [
ee5cfb6], 2009-02-21:
Add a new `file' warning category.
I have taken this simple changeset (i.e., something equivalent).
It is indeed needed since the [file_case] topic branch commit
(Encapsulate searchpath:: FILE*'s in new class file_case) that
i blindly patched in from the diff that applied to (then)
current GNU troff uses WARN_FILE.
- [
a2a502f], 2009-04-10:
Fix a memory leak in troff for -Thtml.
Reported by Urs Eggli <Urs.Eggli@zuerich.ch>.
Yes, but we use NULL not 0: change the constructors accordingly,
too.
- [
977b833], 2009-12-31:
Make patterns with uppercase letters work.
Problem reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
The manual update for that was committed in [sync.2015-05-20]
(Sync-to-go: man..).
Do it differently: don't use the magical number 256 anywhere,
instead use UCHAR_MAX+1, which is effectively what is going in
anywhere in input.cpp.
- [
2ff8567], 2010-05-28:
Don't use obsolete intermediate output command `F'.
Reported by Krzysztof Zelechowski <giecrilj@stegny.2a.pl>
- [
24f89b0], 2010-12-15:
Use enum to increase readability.
Yes, but place it in the class as break_char_node::break_types
and use a generic BT_ "break-type" prefix.
- [
a521e59], 2010-12-15:
Remove unused code.
- [
e6ee17f], 2011-03-18:
[troff] Improve error message.
* src/roff/troff/input.cc (token::delimiter): Improve error message.
Suggested by Doug McIlroy <doug@cs.dartmouth.edu>.
- [
54405b9], 2014-09-27:
Set `transparent' flag for `\[cq].
Problem reported by Dave Kemper <saint.snit@gmail.com>.
TODO Changesets taken partially:
- [
1be43b5], 2009-11-24:
Fix double frees and memory leaks.
. Fix the leak in environment::make_tag() the same as in
do_underline_special().
. Didn't take the hunk for input_stack::check_end_diversion()
since i have to look more deeply in why i can simply overtake
ownership of the object the input_iterator points to.
. Ditto interpolate_arg() hunk.
- [
fcf9280], 2014-09-24, Keith Marshall:
Refactor psbb line input function; avoid a buffer overrun.
Avoid the buffer overrun. The rest is fluffy and in fact this
entire stuff should be moved into the library since psrm.cpp
also requires and implements the functionality.
TODO Changesets not taken:
- [
2edd6b2], 2009-02-14:
Implement a leading spaces macro request, `lsm', in analogy to
`blm'.
Implement two new number registers, \n[lsn] and \n[lss], which hold
the number of spaces and the horizontal space, respectively, which
would be inserted if the macro registered by `lsm' wasn't called.
TODO The changeset is straight forward and i will take it after i
TODO have checked 'space_width.to_units() * nspaces' against
TODO 'space_width * nspaces'.
- [
b345704], 2009-05-07:
Accept \0 and friends within \o.
Reported by Doug McIlroy <doug@cs.dartmouth.edu>.
TODO Also implements TOKEN_HORIZONTAL_SPACE and uses it for
TODO \0, \|, \^, and \h.
TODO Need to see this in action, we need something similar.
- [
1cb8dd7], 2010-12-13:
Implement support for character classes.
TODO Big one not taken that implements glyph_to_unicode()
TODO (or makes the functionality available under this name),
TODO .class and a lot of charinfo stuff around that:
TODO o The new `class' request assigns a short name to a set of
TODO characters which can be referred to in the `cflags'
TODO request. This is especially useful to control
TODO line-breaking and hyphenation rules in CJK languages.
TODO So not having this will last; i want to do something with
TODO S-CText regarding this; i can't tell wether it'll be
TODO compatible. It takes more than that to support CJK anyway.
- [
140d7dc], 2010-12-13:
Add wide character support to grotty
Well this will be done with S-CText. This commit is actually
wrong since it uses wcwidth(3) with Unicode codepoints. I've
mentioned that on the list, i think they've changed it in the
meanwhile.
- [
38e6049], 2010-12-18: --> And [
18dae4e], 2010-12-20:
Improve CJK support with new values for `.cflags'.
This patch introduces three new values to `.cflags':
don't break before character: 128
don't break after character: 256
allow inter-character break: 512
They are handled differently if compared to other cflags
values:[..]
TODO I'm in doubt about that, and we miss [
1cb8dd7] anyway.
TODO In general we need Unicode awareness as those are the
TODO specialists and have put decades of effort into their
TODO data and algorithms. It'll come in via S-CText.
TODO However, the completely different approach of [
18dae4e]
TODO i think we'll add once we're running.
- [
a9269fd], 2010-12-20:
Speed up access to cflags values.
We now recompute the cflags values for all charinfo objects if
`.class' has been called.
We don't have this request.