Merge the unicode branch to trunk
........
r776 | asedeno | 2007-12-23 19:48:01 -0500 (Sun, 23 Dec 2007) | 10 lines
GLib/Unicode branch - adding glib dependency.
Linking BarnOwl to GLib.
Cleaning up some malloc/realloc/strdup/free code, moving to owl_*
functions for each.
Changing to GLib memory allocation functions.
........
r780 | asedeno | 2007-12-24 02:53:11 -0500 (Mon, 24 Dec 2007) | 21 lines
UTF-8 - first pass
unicode changes:
* remove downstr() from text.c, replace on site with calls to g_utf8_strdown.
In place downcasing is not a good idea, so the downstr() contract is unfulfillable.
* make owl_text_truncate_cols() and owl_fmtext_truncate_cols() understand character width.
This may need more work. Some code duplication - see if we can refactor.
* stristr() rewritten to yse g_utf_casefold() instead of downstr(), and restructured to have a single return.
* only_whitespace() rewritten for unicode.
glib changes:
* rewrite owl_sprintf() in terms of g_strdup_vprintf()
WARNING: THIS IS NOT SAFE YET. Network data is not yet sanitized. Non
UTF-8 inputs may do horrible things to you. This phase is just
working on rendering.
........
r781 | asedeno | 2007-12-24 03:10:38 -0500 (Mon, 24 Dec 2007) | 1 line
full path to pkg.m4 in autoconf.in
........
r782 | asedeno | 2007-12-24 10:14:09 -0500 (Mon, 24 Dec 2007) | 9 lines
Unicode / Glib branch:
* include wchar.h
* replace hand-rolled width detection with wcswidth.
* pad with space if we end up halfway into a character at the start of a line.
WARNING: Still not safe.
........
r784 | asedeno | 2007-12-27 11:01:03 -0500 (Thu, 27 Dec 2007) | 20 lines
Unicode / glib branch
Reworked the fmtext format to use in-line formatting. Characters used
for formatting are part of Unicode Supplemental Private Area-B, or
Plane 16.
fmtext no longer need 5x the text space to store formatting
information, though they are harder to change at arbitrary
points. This was something we hardly ever did anyhow, and we can still
do everything we need to do.
fmtext keeps a pair of colors and a char for default attributes to be
applied when necessary.
Searching is now done inline at owl_fmtext_waddstr() rather than
specifying a section of the string to be reversed.
This probably still needs some cleanup and more comments, but it
works.
........
r786 | asedeno | 2007-12-28 17:04:34 -0500 (Fri, 28 Dec 2007) | 6 lines
unicode/glib branch.
First pass at incoming zephyr -> UTF-8 sanitizing.
This only operates on incoming data so far.
We still need to clean outgoing data -- the plan is to attempt conversion
to ISO-8859-1, and use that if it works.
........
r787 | asedeno | 2007-12-28 17:21:57 -0500 (Fri, 28 Dec 2007) | 3 lines
unicode/glib branch
Fixing bug encountered when last field was not null-terminated.
........
r788 | asedeno | 2007-12-29 02:55:43 -0500 (Sat, 29 Dec 2007) | 7 lines
unicode/glib branch
first pass at outbound zephyr -> iso-8859-1 sanitizing.
Not that we can input anything other than ascii yet...
The plan is that for a given field, we'll try to convert to iso-8859-1.
If that doesn't work, use utf-8.
........
r792 | asedeno | 2008-01-02 02:42:05 -0500 (Wed, 02 Jan 2008) | 21 lines
unicode / glib branch
text entry:
* first pass at utf-8 text entry. This is not yet complete, and it certainly has bugs.
The following is an incomplete list of functions that will probably misbehave if you use them.
- owl_editwin_move_to_nextword()
- owl_editwin_move_to_previousword()
- owl_editwin_delete_nextword()
- owl_editwin_delete_previousword()
- owl_editwin_delete_to_endofline()
- owl_editwin_fill_paragraph()
format text:
* owl_fmtext_curs_waddstr() contract restored to match trunk.
* owl_fmtext_curs_waddstr_without_search() added.
misc:
* Importing Markus Kuhn's wcwidth.c from
http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
* Change wcwidth() calls to mk_wcwidth()
........
r793 | asedeno | 2008-01-02 13:56:33 -0500 (Wed, 02 Jan 2008) | 8 lines
unicode / glib branch
* set min glib version to 2.12.0
- first to support Unicode 5.0
* added glib_compat.c with our own implementation of
g_unicode_ismark() for glib < 2.14
........
r794 | asedeno | 2008-01-02 16:53:19 -0500 (Wed, 02 Jan 2008) | 4 lines
Remove options for libcurses and libncurses. This really only works
with libncursesw.
........
r795 | asedeno | 2008-01-02 21:35:44 -0500 (Wed, 02 Jan 2008) | 3 lines
unicode/glib branch
* Fix search code so higlighting actually works.
........
r796 | asedeno | 2008-01-02 22:51:28 -0500 (Wed, 02 Jan 2008) | 3 lines
unicode/glib branch
fixing bugs in editwin bufflen calculations.
........
r797 | asedeno | 2008-01-04 14:31:55 -0500 (Fri, 04 Jan 2008) | 5 lines
unicode/glib branch
* Rework some logic in fmtext's column truncating code.
* fix what appears to be an off-by-one error, though I can't explain why
it never manifested in trunk.
........
r798 | asedeno | 2008-01-04 14:32:59 -0500 (Fri, 04 Jan 2008) | 2 lines
unicode/glib branch
* removing some debugging code I left in accidentally.
........
r800 | asedeno | 2008-01-07 23:11:57 -0500 (Mon, 07 Jan 2008) | 2 lines
unicode/glib branch
Strip formmating characters when dumping to file.
........
r802 | asedeno | 2008-01-08 00:11:55 -0500 (Tue, 08 Jan 2008) | 4 lines
unicode/glib branch
* more strict utf-8 byte fetching.
This probably still needs more work.
........
r804 | asedeno | 2008-01-08 00:31:31 -0500 (Tue, 08 Jan 2008) | 4 lines
unicode/glib branch
* ignore KEY_RESIZE if we know what that is. We don't need an
unhandled keypress every time we resize the terminal.
........
r808 | nelhage | 2008-01-09 00:26:15 -0500 (Wed, 09 Jan 2008) | 3 lines
r27173@lunatique: nelhage | 2008-01-09 00:25:13 -0500
Implement smartnarrow on channels
........
r811 | asedeno | 2008-01-09 14:17:57 -0500 (Wed, 09 Jan 2008) | 1 line
take two for input processing
........
r813 | asedeno | 2008-01-09 14:32:01 -0500 (Wed, 09 Jan 2008) | 1 line
Preserve colors when highlighting search terms.
........
r832 | asedeno | 2008-01-11 14:46:52 -0500 (Fri, 11 Jan 2008) | 1 line
fixing post-processing in the editwin.
........
r833 | asedeno | 2008-01-11 15:32:14 -0500 (Fri, 11 Jan 2008) | 5 lines
* drop unused struct member
* char * != char
This fixes unicode input, which was broken as of r811.
........
r844 | asedeno | 2008-01-11 23:59:42 -0500 (Fri, 11 Jan 2008) | 3 lines
unicode/glib
* Do not use bit 0x80 to indicate meta. We have other uses for that bit.
* shift it above ncurses's KEY_MAX instead.
........
r846 | asedeno | 2008-01-12 01:18:20 -0500 (Sat, 12 Jan 2008) | 2 lines
unicode/glib branch
Eliminating a warning by un-internalizing a new fmtext function.
........
r849 | asedeno | 2008-01-12 02:26:49 -0500 (Sat, 12 Jan 2008) | 4 lines
unicode/glib branch
* fix a typo that was causing background problems
* pass defaults attributes through in the truncate functions
........
r883 | asedeno | 2008-01-16 14:34:55 -0500 (Wed, 16 Jan 2008) | 3 lines
Unicode/glib branch
Patches to jabber libraries for better UTF-8 handling.
........
r884 | asedeno | 2008-01-16 14:39:12 -0500 (Wed, 16 Jan 2008) | 2 lines
Unicode/glib branch
Shuffling a line of code to where it actually should be.
........
r885 | asedeno | 2008-01-16 14:40:36 -0500 (Wed, 16 Jan 2008) | 2 lines
Unicode/glib branch
Pet peeve - tabs. That should be the end of it for now.
........
r886 | asedeno | 2008-01-16 20:18:25 -0500 (Wed, 16 Jan 2008) | 8 lines
unicode/glib branch
editwin.c: make locktext deal with UTF-8
Jabber -
More utf-8 sanitizing.
New helper function to validate strings from C and set the utf8 flag if needed.
........
r887 | asedeno | 2008-01-16 21:54:55 -0500 (Wed, 16 Jan 2008) | 5 lines
unicode/glib branch
Remove a debug message I accidentally left in.
Remove the hours old check_utf8 hackery in favor of actually
marking strings as UTF-8 from the C side.
........
r888 | asedeno | 2008-01-16 21:58:09 -0500 (Wed, 16 Jan 2008) | 2 lines
unicode/glib branch
Remove more bad hacks.
........
r892 | asedeno | 2008-01-17 01:23:53 -0500 (Thu, 17 Jan 2008) | 4 lines
unicode/glib branch
editwin.c - lots of utf-8 cleanup that I had been putting off.
util.c - a can we break here'' function based on perl's Text::WrapI18N
........
r893 | asedeno | 2008-01-17 02:03:11 -0500 (Thu, 17 Jan 2008) | 3 lines
unicode/glib branch
editwin.c - fix a wrapping bug I introduced in the last revision.
It could leave us with a buffer that was not valid UTF-8
........
r895 | asedeno | 2008-01-17 09:51:48 -0500 (Thu, 17 Jan 2008) | 2 lines
unicode/glib branch
removing more hackery I left behind after doing things the right way.
........
r896 | asedeno | 2008-01-17 14:55:22 -0500 (Thu, 17 Jan 2008) | 3 lines
unicode/glib branch
better compliance with UTF-8 processing. Stop trying to pull in a UTF-8
character as soon as we know something has gone wrong.
........
r929 | asedeno | 2008-02-04 20:17:18 -0500 (Mon, 04 Feb 2008) | 4 lines
unicode/glib branch
* fix a typo in OWL_FMTEXT_UTF8_BGDEFAULT
* fix a parsing issue for attributes
........
r930 | asedeno | 2008-02-04 20:33:04 -0500 (Mon, 04 Feb 2008) | 3 lines
unicode/glib branch
* Fix nelhage's key_left bug. Don't spin at the locktext boundary.
........
r931 | asedeno | 2008-02-04 21:23:16 -0500 (Mon, 04 Feb 2008) | 2 lines
unicode/glib branch
I think I like this better.
........
r932 | asedeno | 2008-02-07 14:01:23 -0500 (Thu, 07 Feb 2008) | 6 lines
unicode/glib branch
Fix a bug in owl_editwin_move_to_previousword() which would skip over
single letter words.
........
r938 | nelhage | 2008-02-13 23:39:41 -0500 (Wed, 13 Feb 2008) | 2 lines
Rename configure.in to configure.ac so Debian autoconf DTRT.
........
r961 | asedeno | 2008-02-19 21:52:10 -0500 (Tue, 19 Feb 2008) | 1 line
Fixing an obscure wrapping bug that nelhage and I tracked down.
........
r979 | asedeno | 2008-03-02 18:30:35 -0500 (Sun, 02 Mar 2008) | 1 line
Fix a unicode branch wordwrap problem.
........
r1021 | asedeno | 2008-04-15 12:09:13 -0400 (Tue, 15 Apr 2008) | 1 line
Unicode branch: Fix building without zephyr.
........
r1032 | nelhage | 2008-05-02 16:17:10 -0400 (Fri, 02 May 2008) | 3 lines
Put glib's CFLAGS and LDFLAGS at the beginning of the corresponding
variables.
........