source: ChangeLog @ 889d3bd

Last change on this file since 889d3bd was 889d3bd, checked in by Nelson Elhage <>, 14 years ago
BarnOwl 1.2
  • Property mode set to 100644
File size: 70.0 KB
2 * Fix some typos in source and messages. -adehnert
3 * Support an explicit --with{out,}-zephyr configure option. -nelhage
4 * Display a nicer error in :blist if .anyone doesn't exist. -geofft
5 * Don't zcrypt shift-R replies to zcrypted messages -adehnert
6 * Export a time_t for messages to perl as 'unix_time' -nelhage
7 * Get rid of cryptic numeric messages after IRC commands. -ezyang
8 * IRC: Include IRC admin messages in the 'irc' filter. -geofft
9 * Fix M-LEFT and M-RIGHT bindings. -nelhage
10 * Fix replycmd to use right class/instance -adehnert
11 * Allow SIGINT to interrupt getting the Zephyr buddy list -nelhage
12 * Break into multiple files. -nelhage
13 * Handle errors in better. -nelhage
14 * Don't attempt to send a Zephyr logout if we never initialized Zephyr. -nelhage
15 * Display personals better in OneLine mode. -adehnert
16 * Display context for pings -adehnert
17 * Support --program-{prefix,suffix,transform}. -nelhage
18 * Send instanced pings and give useful error messages -adehnert
19 * Add <message,*,%me%> to default Barnowl subs. -adehnert
20 * Maintain instance when using shift-R on personals -adehnert
21 * Improve handling of outgoing instanced personals -adehnert
22 * Don't require personals to be -i personal. -geofft
23 * Display context for personals, so as to make <message,*,%me> usable. -geofft
24 * Implement mark and swap in the message list. -asedeno
25 * Fix handling of C-SPACE. -nelhage
26 * Fix some warnings. -nelhage
27 * Handle SIGINT, and make ^C interrupt searches. -nelhage
28 * Fix the usage line for punt/unpunt -nelhage
29 * Small bugfixes to release scripts. -nelhage
32 * Fix bogus errors 'subscribing to login messages'. -nelhage
33 * Correctly send Zephyr login notices at startup. -nelhage
34 * Fix compilation with Zephyr support. -alexmv
35 * Fix an issue with incoming Zephyrs being delayed. -asedeno
36 * Fix display of zpunt lines. -asedeno
37 * Handle invalid regular expressions better (fix a segfault). -nelhage
38 * Correctly handle zpunts with recipient %me%. -nelhage
39 * Always send outgoing Zephyrs in utf-8. -nelhage
40 * Fix documentation for 'zsig' and 'zisgproc'. -nelhage
41 * Fix personal replies on webzephyr. -geofft
42 * Fix two memory leaks formatting messages. -nelhage, andersk
43 * Fix Makefile on platforms with Solaris tar. -nelhage
46 * Support building with -fstack-protector. -hartmans
47 * Don't save partial passwords in editwin history. -nelhage
48 * Improve IRC documentation. -nelhage
49 * Don't use the 'zsender' variable for personals. -geofft
50 * Implement irc-quote and irc-mode. -nelhage
51 * Leave a one-column margin when wordwrapping. -nelhage
52 * Remove some autotools-generated files. -andersk
53 * Include IRC in the default build. -nelhage
54 * Add a wordwrapping variant of the default style. -nelhage
55 * Don't send stderr to admin messages. -nelhage
56 * Remove a build-dependency on krb4. -hartmans
57 * Allow the creation of type zephyr messages from perl. -geofft
58 * Initialize Zephyr asynchronously at startup. -nelhage
61 * Implement initial support for real timers. -nelhage
62 * Fix some compile warnings. -nelhage
63 * Don't ignore the --datarootdir setting. -andersk
64 * Replace questionable sprintf(buf, "%s...", buf, ...) pattern. -andersk
65 * Show IRC /me messages with the conventional * instead of bold -andersk
66 * Rip out the openurl function and related variables. -andersk
67 * Stop leaking perl variables in :perl. -nelhage
68 * Display multi-line error messages as admin messages. -nelhage
69 * Fix a bug rendering multi-byte characters in the last column of the window. -andersk
70 * Map Esc-A/B/C/D like arrow keys everywhere. -geofft
71 * Fix a bug trying to disconnect from Jabber with no accounts connected. -asedeno
72 * Call perl_sys_init3 to make libperl work on several other platforms. -hartmans
73 * Bind the 'Delete' key to delete the next character. -andersk
74 * Fix a double-free in owl_zephyr_delsub. -geofft
75 * Don't fill-paragraph the ending dot of the buffer. -price
76 * Fix numerous unsafe uses of sprintf(). -nelhage
77        (Fixes CVE-2009-0363)
80 * Added a ':show quickstart' command. -geofft
81 * Allow filters that reference a sub filter more than once non-cyclically. -nelhage
82 * Make 'version' return 'BarnOwl' not 'Owl'
83 * Escape interpolated regexes in filters. -andersk
84 * Various code cleanups. -andersk
85 * Fix format string injection bugs. -andersk
86 * Clean up various code warnings. -nelhage
87 * Replace questionable sprintf(buf, "%s...", buf, ...) pattern. -andersk
88 * Show IRC /me messages with the conventional * instead of bold. -andersk
89 * Rip out the openurl function and webbrowser variable. -andersk
92 * Moved BarnOwl source control to git on github.
93 * Only call the zsig proc when we actually send a message. -asedeno
94 * Strip out BOMs from Jabber messages. -asedeno
95 * Fix logging of personal jabbers from JIDs containing / -nelhage
96 * Fix Jabber breakage under reload-modules. -asedeno
97 * Make reload-moduled correctly re-run startup hooks. -asedeno
98 * Squelch Jabbers with no bodies, such as typing notifications. -asedeno
99 * Various small spelling and grammar fixes. -geofft
100 * Fix a segfault when sending short zcrypted messages. -asedeno
103 * Fix :reload-module's interactions with PAR modules
106 * Fix a segfault on retrieving zephyr subs when the user doesn't
107   have any or has expired tickets. -asedeno
108 * Don't complain about non-existant ~/.owl/startup when starting. -asedeno
109 * Fix narrowing to personals in IRC. -alexmv
110 * Don't segfault retrieving subscriptions without valid tickets. -asedeno
111 * Load modules even if .owlconf doesn't run successfully. -nelhage
112 * Update the manpage for barnowl. -nelhage
113 * Better support for irc-names, irc-topic, and irc-whois. -geofft
114 * Display /quit messages in IRC -geofft.
115 * Add a new perl hook for all new messages. -geofft
116 * Fix a bug causing corrupted input in the editwin on end-of-line. -nelhage
117 * Add better support for adding hooks in perl that behave correctly
118       on module reload. -nelhage
119 * Added a :reload-module command to reload a single module. -nelhage
120 * Fixed quoting issues replying to jabber users or MUCs containing
121        whitespace or quites. -nelhage
124 * Remove an unneeded .orig file from libfaim/ - hartmans
125 * Update the copyright notice in ':show license' - nelhage
126 * Add a jabber:spew variable that controls whether unrecognized
127   Jabber messages (such as pubsub requests) are displayed. - nelhage
128 * Make the 'style' command assume the main:: package for
129   unqualified subroutine references. Reported by Jesse Vincent. - nelhage
130 * Rename doc/contributors to the more canonical AUTHORS - nelson
133 * Don't fail silently when sourcing a file; actually let the user know. - asedeno
134 * Only hang for 1s, rather than 10s, if there is no zhm - nelhage
135 * Merge the unicode branch to trunk. BarnOwl is now unicode aware
136   and can send, receive, input and display UTF-8 encoded
137   messages. Unicode changelog:
138   * Put glib's CFLAGS and LDFLAGS at the beginning of the corresponding
139     variables. - nelhage
140   * Unicode branch: Fix building without zephyr. - asedeno
141   * Fix a unicode branch wordwrap problem. - asedeno
142   * Fixing an obscure wrapping bug that nelhage and I tracked down. - asedeno
143   * Rename to so Debian autoconf DTRT. - nelhage
144   *  Fix a bug in owl_editwin_move_to_previousword() which would skip over
145       single letter words. - asedeno
146   * I think I like this better. - asedeno
147   * Fix nelhage's key_left bug. Don't spin at the locktext boundary. - asedeno
148   * fix a typo in OWL_FMTEXT_UTF8_BGDEFAULT
149   * fix a parsing issue for attributes - asedeno
150   * Better compliance with UTF-8 processing. Stop trying
151     to pull in a UTF-8 character as soon as we know something has gone
152     wrong. - asedeno
153   * Removing more hackery I left behind after doing things
154     the right way. - asedeno
155   * editwin.c - fix a wrapping bug I introduced in the
156     last revision. It could leave us with a buffer that was not valid UTF-
157     8 - asedeno
158   * editwin.c - lots of utf-8 cleanup that I had been
159     putting off. util.c - a can we break here'' function based on perl's
160     Text::WrapI18N - asedeno
161   * Remove more bad hacks. - asedeno
162   * Remove a debug message I accidentally left in. Remove
163     the hours old check_utf8 hackery in favor of actually marking strings as
164     UTF-8 from the C side. - asedeno
165   * editwin.c: make locktext deal with UTF-8
166   * Jabber - More utf-8 sanitizing.
167   * Pet peeve - tabs. That should be the end of it for
168     now. - asedeno
169   * Shuffling a line of code to where it actually should
170     be. - asedeno
171   * Patches to jabber libraries for better UTF-8
172     handling. - asedeno
173   * fix a typo that was causing background problems
174   * pass defaults attributes through in the truncate functions - asedeno
175   * Eliminating a warning by un-internalizing a new fmtext
176     function. - asedeno
177   * Do not use bit 0x80 to indicate meta. We have other uses for that bit.
178   * shift it above ncurses's KEY_MAX instead. - asedeno
179   * drop unused struct member
180   * fixing post-processing in the editwin. - asedeno
181   * Preserve colors when highlighting search terms. - asedeno
182   * ignore KEY_RESIZE if we know what that is. We don't need an
183     unhandled keypress every time we resize the terminal. - asedeno
184   * more strict utf-8 byte fetching.
185     This probably still needs more work. - asedeno
186   * Strip formmating characters when dumping to
187     file. - asedeno
188   * fixing bugs in editwin bufflen calculations. - asedeno
189   * Fix search code so higlighting actually works. - asedeno
190   * Remove options for libcurses and libncurses. This really only works with
191     libncursesw. - asedeno
192   * text entry:
193    first pass at utf-8 text entry.
194   * Change wcwidth() calls to mk_wcwidth() - asedeno
195   * First pass at outbound zephyr -> iso-8859-1 sanitizing.
196     Not that we can input anything other than ascii yet...
197   * Fixing bug encountered when last field was not null-
198     terminated. - asedeno
199   * First pass at incoming zephyr -> UTF-8 sanitizing.
200     This only operates on incoming data so far. We still need to clean outgoing
201     data -- the plan is to attempt conversion to ISO-8859-1, and use that if it
202     works. - asedeno
203   * Reworked the fmtext format to use in-line formatting.  Characters used
204     for formatting are part of Unicode Supplemental Private Area-B, or
205     Plane 16.
206   * include wchar.h
207   * replace hand-rolled width detection with wcswidth.
208   * pad with space if we end up halfway into a character at the start of a line.
209   * UTF-8 - first pass
210   * make owl_text_truncate_cols() and owl_fmtext_truncate_cols() understand character width.
211     This may need more work. Some code duplication - see if we can refactor.
212   * stristr() rewritten to yse g_utf_casefold() instead of downstr(), and restructured to have a single return.
213   * only_whitespace() rewritten for unicode.
214 * Fix sending jabbers to JIDs beginning with `+' - nelhage
215 * Compile zcrypt.c with -w so I don't get all these warnings in my compile
216   output whenever I change any headers - nelhage
217 * Implement /me for outgoing IRC messages - geofft
218 * Add a makefile rule to support emacs flymake-mode - nelhage
219 * Bind the combinations the iPhone sends for arrow keys [probably other
220   terminals, too] - nelhage
221 * avoid null pointer dereference if msg is NULL (or a 0 length is
222   claimed) - shadow
223 * Move styles from the current mishmash of different options to a unified
224   perl object interface. - nelhage
225 * Refactor default style code somewhat to be more easily extensible - nelhage
226 * Put glib's CFLAGS and LDFLAGS at the beginning of the corresponding
227   variables. - nelhage
228 * IRC: /list, /who, and /stats commands - geofft
229 * IRC: Make M-N mostly, rather than completely, useless. - geofft
230 * Fix two small bugs in styling pointed out by broder - nelhage
231 * Document create_style - nelhage
232 * Move time_hhmm into a format_time method - nelhage
233 * Remove prototypes from - nelhage
234 * Quote regexp filter elements with spaces in them. - asedeno
235 * Deal with smart-narrowing when the user's screenname has spaces in it. - asedeno
236 * Add a new struct member to the global to hold an escaped aim screenname.
237    populate the aforementioned new struct member. - asedeno
238 * Removed our debian subdirectory, per Debian guidelines, at broder's
239   request. - geofft
240 * Make `all' the first target so we build the modules by default - nelhage
241 * Commit inc/ under IRC so we build on systems with too old a M::I - nelhage
242 * updating contributors - nelhage
243 * Clean up licensing information and add a COPYING file - nelhage
244 * Update bugs email to a more professional looking address, and remove the
245   Development build warning. - nelhage
247BarnOwl r989 (2008-03-21)
248 * Stick modules on the beginning of @INC, not the end - nelhage
249 * Merge in the select branch. BarnOwl's main loop now uses a select()
250   based event loop rather than continually polling, and uses much less
251   CPU. - asedeno
252 * Fix a bug where an explicit (local) realm foiled
253   owl_message_get_cc_without_recipient(). (per quentin) - geofft
254 * HTML Filtering fix for BODY tag - austein
255 * Add parenthesis to fix a perl error in IRC - nelhage
256 * Make IRC admin messages actually display their content - nelhage
257 * Fix a file descriptor leak. - asedeno
258 * Fix loading PAR modules that weren't present at startup - nelhage
259 * Update documentation for the select() BarnOwl - nelhage
260 * Render IRC notices as normal messages - nelhage
261 * ensure that even if ioctl(,TIOCGWINSZ,) returns 0s we never set g->lines
262   (and g->cols) to 0 - shadow
263 * Generate less ugly error spew if a module fails to load - nelhage
264 * Added :webzephyr command with keybinding W. - geofft
265 * Fix a race condition in which zephyrs received during init are not noticed
266   until the next zephyr after entering the mainloop. - asedeno
268BarnOwl r941 (2008-02-18)
269 * unicode/glib branch Remove a debug message I accidentally left in. Remove
270   the hours old check_utf8 hackery in favor of actually marking strings as
271   UTF-8 from the C side. - asedeno
272 * unicode/glib branch Remove more bad hacks. - asedeno
273 * Rewrite ::Connection to not subclass Net::IRC::Connection to avoid stupid
274   namespace conflicts - nelhage
275 * svn:ignore for great justice - nelhage
276 * Attempt to load BarnOwl::MessageList::SQL and error if it fails. Note that
277   the aforementioned class n'existe pas - nelhage
278 * unicode/glib branch editwin.c - lots of utf-8 cleanup that I had been
279   putting off. util.c - a can we break here'' function based on perl's
280   Text::WrapI18N - asedeno
281 * unicode/glib branch editwin.c - fix a wrapping bug I introduced in the
282   last revision. It could leave us with a buffer that was not valid UTF-
283   8 - asedeno
284 * dropping one unnecessary time(NULL) call. - asedeno
285 * unicode/glib branch removing more hackery I left behind after doing things
286   the right way. - asedeno
287 * unicode/glib branch better compliance with UTF-8 processing. Stop trying
288   to pull in a UTF-8 character as soon as we know something has gone
289   wrong. - asedeno
290*        First prototype of a SQL-backed message list. This is probably
291        horribly broken, and is painfully slow at the moment. - nelhage
292 * minor changes to IRC
293 * Resizing should not leave the current message off screen. - asedeno
294 * Added initial IRC support. Not built or installed by default. - geofft
295 * Preserve colors when highlighting search terms. - asedeno
296 * Handle zephyrs to users on non -c message better [trac #39] - nelhage
297 * Make :reload-modules work correctly with PARs - nelhage
298 * Document (nearly) every public function in the BarnOwl:: namespace -
299   nelhage
300 * strip IRC coloring from IRC messages - nelhage
301 * Document ::Hook and ::Hooks - nelhage
302 * Nuke the stylefunc_default C code - nelhage
303 * Nuke some refs to owl_message_get_notice - nelhage
304 * Clearing the line should preserve the echochar. - asedeno
305 * Fix logins to - reported by gendalia - asedeno
306 * Move oneline style to perl. [trac #43] - nelhage
307 * Fix the error messages sending to users who don't exist or aren't signed
308   on. - nelhage
309 * Jabber Buddy Lists:
310  * Query the jabber:show_offline_buddies once when invoking onGetBuddyList()
311  * Don't bold online roster entries when hiding offline ones - asedeno
312 * Portability - removing C++ style comments. - asedeno
313 * Add the variable 'zsender' to customize the outgoing Zephyr
314   username. - geofft
315 * Bind M-left and M-right by default in the editor - nelhage
316 * eliminate a segfault. - asedeno
318BarnOwl r796 (2008-01-08)
319 * Define variables at the top of blocks for better ANSI C-ness (patch by
320   Chris Laas) [trac #18] - nelhage
321 * Implement :punt and :unpunt to punt arbitrary filters, rather than just z-
322   triplets. [trac #6] - nelhage
323 * Show non-personal pings like stock owl does. [trac #12] - nelhage
324 * Fix problems with jabber servers keeping the same stream id when
325   negotiating TLS tracked down by Greg Hudson. - asedeno
326 * When we're narrowing to an instance, properly include un-instances. This
327   fixes narrowing to any instance that starts with ``un-'' - nelhage
328 * Don't read before the start of the string for an instance - nelhage
329 * Adding an explicit -f - to the tar commands for FreeBSD compatibility
330   (reported by ecprice) - nelhage
331 * Some fixes for FreeBSD. - ecprice
332 * Do ~-expansion in :loadsubs. [trac #26] - nelhage
333 * Validate JIDs passed to jmuc join. [trac #25] - nelhage
334 * Show full JIDs for users in non-anonymous JIDs in :jmuc presence. [trac
335   #24] - nelhage
336 * Don't crash if we hit `i' on a zephyr containing non-ASCII iso-8859-
337   *. - nelhage
338 * added -m flag to aimwrite - matt
339 * aimwrite -m displays according to displayoutgoing - austein
340 * Make the usleep call more reasonable for less CPU usage - asedeno
341 * Add zip as build-depends - nelhage
342 * bind END in popless windows. [trac #41] - nelhage
343 * Allow C-r on outgoing messages (useful for CCs) - chmrr
344 * Identify ourselves as barnowl more consistently - chmrr
345 * Report subscription errors more accurately. - chmrr
347BarnOwl r751 (2007-08-01)
348 * Refactored message processing: All new messages, incoming or outgoing, get
349   added to the owl_global_messagequeue by protocol code, and then passed to
350   owl_proces_message, which serves as a single central code path for adding
351   messages to the message list. - nelhage
352 * Properly pass the usage when defining the jabberlogin command - nelhage
353 * Outgoing messages now log as much information as incoming messages - chmrr
354 * Fix a pointer corruption issue if we redefine the current style. - nelhage
355 * Adding 3 variables for the Jabber module: jabber:show_offline_buddies,
356   jabber:auto_away_timeout, jabber:auto_xa_timeout - asedeno
357 * Don't include self when replying to CC'd messages - chmrr
358 * Outgoing CC'd messages get logged to all recipients - chmrr
359 * Incoming CC'd zephyrs logged to all people they were sent to - chmrr
360 * Change the width at which we hard-wrap outgoing zephyrs by default so
361   that zephyrs will fit on screen with the default style. (suggested by
362   andersk) - nelhage
363 * Added a -s switch to change the location of the config dir (~/.owl) -
364   nelhage
365 * Don't allow you to go off the end of an empty message list. [trac
366   #9] - nelhage
367 * Allow you to send to -c message -i personal * - nelhage
368 * Make zephyr smartnarrow use the `personal' and `private' distinction
369   properly [trac #2] - nelhage
370 * Change the default personal filter to <message,personal,*> for
371   zephyr. - nelhage
372 * Display opcodes with the default style - nelhage
374BarnOwl r720 (2007-05-29)
375 * Correctly define a ``private'' zephyr as one that is sent to a
376    recipient that is neither empty nor starts with ``@'' - nelhage
377 * Fix builds under make -j - nelhage
378 * Fix sending of zcrypted zephyrs - nelhage
379 * Rewrite perl internals to factor out module loading. - nelhage
380 * Fix display of zephyrs with empty instances - nelhage
381 * Implemented a Module::Install plugin for building barnowl plugins - nelhage
382 * Modified the makefile to build and install perl modules - nelhage
383 * Fix the bug in which rejoining a MUC you're already in (nick change)
384   results in the MUC appearing multiple times when you show presence info for
385   all MUCs. - asedeno
386 * Implemented loading of both PAR and unpacked modules, and module
387   reloading. - nelhage
388 * Make the Makefile build and install perl modules on a clean install.
389   - nelhage
390 * Implemented an LRU cache of the message list fmtexts. This reduces
391   memory usage by roughly 1MB/kilo-zephyrs in steady state. - nelhage
392 * Escape $ in regexes (e.g. smartnarrowed instances)
393  - nelhage
394 * Adding 256-color support. This requires a version of ncurses that supports
395   ABI-6. Colors beyond the first eight are refered to by number. - asedeno
396 * Correctly escape {} and () in regular expressions - nelhage
397 * When generating filters, change single quotes and double quotes into
398   dots, so they line parser doesn't choke on them. This fixes problems
399   smart-narrowing to instances such as "this'll break it". - asedeno
400 * Improving the private/personal distinction:
401 * ``private'' means to/or from an individual, not a chat/class/etc.
402 * ``personal'' means ``matches the personal filter'' - nelhage
403 * Beep on personal messages, not private, by default.
404  - nelhage
405 * Some small doc fixes (thanks to jwalden for pointing them out). - nelhage
406 * Added the ability to define new variables from perl. - nelhage
407 * Documented said ability via BarnOwl::new_variable_* - nelhage
408 * Add a "setsearch" command which sets the search highlight string without
409   moving the cursor. - glasser
411BarnOwl r657 (2007-03-06)
412 * Fix libfaim to make it compile - nelhage
413 * Apply some memory leak patches by alexmv and yoz - nelhage
414 * Make smartnarrow un- and .d-aware - chmrr
415 * Add a `getstyle' command - asedeno
416 * Make Test failures print file/line numbers - nelhage
417 * Fixed regression tests for booleans variables. - asedeno
418 * Add a perl perl hook into owl's main loop. - asedeno
419 * Added the ability to install real commands from perl code - nelhage
420 * Fix a hang in owl_editwin_move_to_previousword - nelhage
421 * Updated the version number and startup message - nelhage
422 * Added initial support for creating and injecting messages into the display
423   from perl. - nelhage
424 * Added the ability for perl code to hang arbitrary reply commands off of
425   messages. - nelhage
426 * Expose the edit window hooks to perl - nelhage
427 * Removed references to -ldes - kchen
428 * Exposed owl_function_error and owl_function_makemsg as commands - nelhage
429 * Implemented initial Jabber support. - asedeno
430 * Implemented initial Jabber groupchat support. - asedeno
431 * Added a perl hook to the buddy list display - nelhage
432 * Added a get_data_dir function to the perl interface - hartmans
433 * Don't include the default typemap in xsubpp compile line - hartmans
434 * Cause perl to always be loaded, even if no owlconf is present. - hartmans
435 * Implemented an extensible perl module system - hartmans
436 * Exposed owl_fuction_popless_text() and owl_fuction_popless_ztext() to
437   perl - asedeno
438 * Support multiple simaltaneous Jabber connections - asedeno
439 * Fixed a segfault on subbing without a .zephyr.subs file - nelhage
440 * Implemented Jabber Roster support - asedeno
441 * Don't quit if we can't contact the hostmaster. - nelhage
442 * Support filters based on arbitrary message attributes - nelhage
443 * Rewrote and massively cleaned up the filter system internals. - nelhage
444 * Fixed the ``personal'' filter to work better with all protocols - nelhage
445 * Made `smartnarrow' more generic, and implemented it for jabber. - nelhage
446 * Changed executable name to "barnowl" - nelhage
447 * Renamed the `owl::' package to BarnOwl:: - nelhage
448 * Dynamically link perl libraries - nelhage
449 * Added background color support - asedeno
450 * Added idle-time tracking, and updated jabber to automatically set away
451   status - asedeno
452 * Implemented shortnames for jabber rosters and jwriting. - nelhage
453 * Fixed a crash when smartnarrowing to instances with lots of periods or
454   other regular expression metacharacters. - nelhage
455 * Support comments in ~/.owl/startup - asedeno
456 * Dispal tweaks for MIT's -c discuss messages. - asedeno
457 * Don't override perl's idea of the switches we need to do embedding. -
458   shadow
459 * Make the default style perl, rather than C. - nelhage
460 * Refactor the default style to be protocol generic - nelhage
461 * Prefer ~/.barnowlconf to .owlconf, if it exists. - nelhage
462 * Intern hostnames and message attribute keys for a slight memory
463   saving. - nelhage
464 * Use libncursesw when available - asedeno
467        Don't crash when sending/logging outgoing
468           AIM message and not logged in [BZ 90]
469        Don't crash when senging to someone not on AIM buddy list [BZ 94]
470           (patch from Alex Vandiver)
473        Don't crash doing zlocate with bad tickets. [BZ 12]
474        Metion the path for the owlconf in intro.txt [BZ 54]
475        Print better error message if startup fails due to unreadable
476           .owlconf [BZ 57]
477        In load-subs: Print an error message if the file is unreadable or
478          doesn't exist, UNLESS load-subs is called with no arguments.  In
479          that case only print an error if the file exists but isn't
480          readable.  Still prints an error either way if zephyr reports a
481          failure. [BZ 19]
482        Fixed some small memory leaks in logging if files unwriteable
483        If the variable logfilter is set it names a filter.  Any messages
484          matching this filter are logged.  This is an independent
485          mechanism from the other logging variables.  If you want to
486          control all logging with logfilter the other variables must be
487          set to their default (off) settings. [BZ 37]
488        Relatively substantial changes made under the hood to support
489          filter logging.  Now have more consistent interfaces to
490          creating messages etc.  Still needs more work though.
491        Deal gracefully with being resized as small as 1x1 [BZ 3]
494        Fix a new problem finding libdes425
495        Don't crash on very long hostnames [BZ 52]
496        In 'sub' command, create .zephyr.subs if it doesn't exist [BZ 15]
497        A fix for certain resize crashes (partly from alexmv) [BZ 55]
498        Turn off ISTRIP (gildea)
501        Include /usr/include/kerberosIV if it's found
504        Do OLC formatting for anything coming from olc.matisse
505        Improvements to popup size algorithm (from gildea)
506        Improved 'show colors' with non-colored labels
509        The colorclass command is added, to make colorization easy
510        Handle MIT Athena OLC zephyrs correctly
511        Updated ktools website / bug address
512        Do ntohs() when printing zephyr port in zephyr info
513        Updated man page
516        Fixed three bugs found by Valgrind.
517        Fixed a case where doing "aim addbuddy" instead of "addbuddy aim"
518          would cause a segfault.
519        pexec will now incrimentally display data as it is output
520          by the child process.  Additionally, commands running under
521          pexec may now be killed by quitting out of the popless window.
522        Added muxevents select loop dispatcher.  File descriptors may
523          be registered with muxevents and handlers will be dispatched
524          to when data is available for non-blocking read/write/except.
525        Switched the stderr_redir stuff to use muxevents.
526        Print C-\ correctly (from gildea)
527        Dropped first brace in muxevents functions for consistency
528        Catch SIGHUP and SIGTERM and do a proper logout
531        Added a licence
532        The 'personalbell' variable can now be set to 'on' 'off' or
533          the name of a filter to match against
534        The 'loglogins' variable now controls whether login/logout
535          messages are logged.  It is off by default.  For now this
536          affects only AIM messages, later zephyr login/logout messages
537          will also be logged if this is set to 'on'
538        Added 'show license'
541        Normalize and downcase AIM names for logging
542        Fixed a bug where sending a null zsig could cause a crash
543        Better 'away' toggling if only one protocol is away.
546        Added perl filter elements.  Similar to having "filter <subfilter>"
547          in a filter, you may also have "perl <functionname>"
548          where <functionname> is passed an owl::Message object and
549          returns 0 or 1 depending on whether the message matches
550          that element of the filter.
551        Don't print an error about loading subs if there is no
552          .zephyr.subs
553        Do the initial zephyr_buddy_check when pseduologin set to true.
554        Updated man page
557        removed unused filter_depth variable
558        Fixed memory bug on receiving pings
561        Filters of filters now work.
562        Removed the "possibly not readable" part of the config parsing
563          error
564        In the sepbar, reverse video the view name when it's not set to
565          view_home (as opposed to the static 'all').
566        The '!' key (bound to 'view -r') now creates a negative version of
567          the current view and switches to it.  i.e. "show me all the
568          messages that are not these"
569        Added the 'ignorelogins' variable
570        Log when outgoing personal message fails
571        Removed file descriptor from sigpipe catcher printer just for now,
572          since the field does not exist on OSX
573        Added an ifndef for socklen_t in libfaim/ft.c
574        Added the 'aim search' command.  The popup on callback may be
575          dangerous, should switch to an admin msg for results, or add a
576          new event queue
577        First pass at AIM away messages.  It is a little different from
578          what most clients seem to do, in that an away reply is sent for
579          each message received.  Most clients only reply to the first one
580          per away-session.
581        Now have a set of 'aaway' commands and variables just like the
582          'zaway' ones (except that changing the 'aaway' variable talks to
583          the server)
584        The new 'away' command does everything for both AIM *and* zephyr.
585          There is a known funkiness here, where if you turn one away on,
586          and then use 'away' (or 'A') to toggle, you will turn on off and
587          the other on.  Just leaving it for now.  Should do better in the
588          next patch.
589        The 'A' key is bound to 'away'
590        Status bar can now read AWAY, Z-AWAY or A-AWAY.
591        Changed C-n to scroll down just a line in popless
592        If the config exists but is not readable, print an error before
593          exiting
594        Only print forced AIM logout message once.
595        Don't bind F1 to help in edit context
596        Fix bug in 'getsubs' with no tickets
597        New code for getting users from .anyfile
598        Added the 'pseudologins' variable, and code to do it
599        new attributes 'pseudo' 'logintty' and 'loginhost'
600        Don't print extra new lines in popless_file
601        New zephyr_get_field function
604        Fixed missing word in startup message
605        Better 'status' command
606        Use '+' for popwin corners when 'fancylines' is off
607        Allow TERMINFO to be overridden in the envrionment
608        Command line arg -D turns on debugging and deletes previous
609          debugging file
610        Do ~ expansion in 'dump' command.
611        Current directory added to 'status' command
612        Massive changes to libfaim and aim
615        Changed startup message for new mailing list
616        blist now prints AIM info even if .anyone is unreadable
617        Catch SIGPIPE and print an error rather than crashing.
618                [It's possible that this may have some portability
619                issues under Solaris and we may need to add some
620                configure stuff around SA_SIGINFO...]
621        Handle the case in aim_bstream_send where aim_send returns -1,
622                although there is likely an underlying problem here
623                that would lead to this case.
624        Print the username on aim login failure, not something random like
625                the password.  ;)
626        Un-word-wrap text when sending AIM messages.
627        Replace the main loop continue in the keyboard handler with an else.
630        Command history now doesn't allow the last entry
631           to be repeated
632        If format_msg returns "" print "<unformatted message>"
633        Better align oneline admin and loopback messages
634        Print an admin message indicating when subscriptions can
635           not be loaded on startup
636        Set aim_ignorelogin_timer to 15 by default
637        Admin message on login/logout of AIM
638        Fixed double quoting in smartzpunt
639        Added timestamp to login/logout messages
640        Fixed replies to loopback messages
641        Fixed smartnarrow on classes/instances with spaces
642        Added the 'loggingdirection' variable
643        All loopback messages log to 'loopback' now
644        Print an error message if trying an invalid color for a filter
645        Fixed bug causing > not to go to end of editwin every time
648        Updated basic help
649        Display CC: in outgoing CC messages
650        More AIM logout detection
651        Don't proclaim "interfaces changed" on first build.
652        Added the 'loopback' message type
653        Added the 'loopwrite' command
654        Added a timestamp to the default style
655        Zpunt now works with weird regex characters
656        Smart filters now work with weird regex characters
659        Allow 'hostname' in filters.
660        Fixed bug in reporting when no one is subbed to a class
661        Added an extral newline in logging incoming zephyrs
662        An admin message is displayed when you are logged out of AIM
663        Print an error message and admin message if an AIM send fails
666        Added the 'fancylines' variable.
667        Added the 'show startup' command.
668        Added feature for capturing stderr messages
669           from commands and displaying them in the errors buffer.
670        Create an admin message explaning that a zephyr couldn't
671           be sent
672        Better reporting of perl errors (both into the errqueue
673                and also clearing the error after displaying it).
674        Allow default_style to be specified in config.
675        Added errqueue
676        Added command "show errors"
677        Fixed bug removing newlines in backup files
680        Increased size of screen name field in buddy listing
681        Fixed bug with idle times causing broken pipes.
682        New libfaim
683        Added the 'source' command.
684        Make sure that a newline is always at the end of messages
685                returned by perl style formatting functions.
686        Add owl::login and owl::auth to legacy variables populated for format_msg.
687        Additions to intro.txt and advanced.txt documents.  (Still in progress.)
688        Add base methods for login_host and login_tty
689                and others that return undef.
690        New API for perl message formatting functions. 
691                Legacy variables are still supported for owl::format_msg
692                and owl::receive_msg, but these functions are now also
693                passed an owl::Message object which contains methods
694                for accessing the contents of the message.  See
695                (and docs TBD) for the available methods.
696                *** WARNING:  The exact API for owl::Message has
697                *** not yet stabilized.
698        Added "style" command for creating new styles.
699                Usage:  style <name> perl <function_name>
700        Added support for "show styles".  Changed global style table
701                from list to dictionary.
702        Changed AIM password prompt from "Password:" to "AIM Password:".
703        Messages are reformatted after a window resize to allow styles
704                to take into account the width of the window.
705        When perl throws an error, the message is put in the msgwin
706                if possible.
707        Added perl functions for:       
708                owl::getcurmsg() -- returns an owl::Message object for
709                                    the active message
710                                    in the current view.
711                owl::getnumcols() -- returns the column width of the window
712                owl::zephyr_getrealm() -- returns the zephyr realm
713                owl::zephyr_getsender() -- returns the zephyr sender
714        Made owl::COMMAND("foo"); be syntactic sugar for
715                owl::command("COMMAND foo");
716        Added to contain perl code to be compiled into
717                the binary.  This is transformed into perlwrap.c by
719        Renamed readconfig.c to perlconfig.c and changed variables accordingly.
720        Minor bugfixes in cmd.c and commands.c
721        Improved intro doc
724        Idletimes now appear in the buddylisting
725        Failed AIM logins are now correctly reported
726        Owl will build now without zephyr, enabling it to act as a
727          standalone AIM client.
728        There is now a zcrypt command
729        Replies to zcrypted messages now work
730        Don't allow zwrite if zephyr isn't present
731        Cleaned up some warnings from linux gcc.
732        Fixed bug that can cause response stuff to crash
733        Improved status command
734        Fixed bug in buddy stuff
737        aimlogin will now accept the screenname without a password and ask
738           for the password such that it is not echo'd to the terminal
739        'addbuddy aim' and 'delbuddy aim' now work
740        Bug fix to make zwrite -m work with -c/-i
741        Fixed documentation bug in aimwrite
742        Initialze $owl::auth
743        Fix in autoconf for des425
744        Reformatted editwin.c and added capability of doing password-style
745           echoing
748        Fix in finding des for building zcrypt
749        Fixed description for alert_action variable
750        More detailed usage from -h
751        Special cased replies for webzephyr users on classes and
752          login notifications for webzephyr users
753        Fixed bug that caused a crash on zpunt with '*' for an instance
754        AIM logout and then login now works.
755        Fixed bug causing view -d not to work.
756        Added hostname and tty name to LOGIN/LOGOUT zephyrs on oneline
757          style
760        Made command line option -n actually work
761        Implemented styles, including the 'default' 'basic' and 'oneline'
762          styles.  A 'perl' style is available if a format_msg() function
763          is found in .owlconf
764        Added the 'default_style' variable
765        Added the 'toggle-oneline' command
766        The 'o' key is bound to 'toggle-oneline'
767        Internally, the one view now has a name, 'main', and message
768          recalcuations are done in place when its filter is changed.
769        Added filter field 'login' which can take the values 'login'
770           'logout' or 'none'
771        Added the perl variable $owl::login, just as above
772        Updated the 'login' and 'trash' filters appropriately
773        Fix for checking for DES in build system
774        Bug fix in using makemsg when no curses window is present
775        The variable $owl::auth now exists in perl
776        Use new internal function to delete zephyr subs from file
777        New 'sepbar_disable' variable can turn off sepbar info display
778        Updated contributor info
779        Added the 'show view' command
780        Bug fix in owl_regex
781        Fixed personal aim messages logging to class directory
782        Log "LOGIN" or "LOGOUT" for AIM buddy messages
783        zwrite -m now correctly displays an outgoing message and logs
784        zwrite -s now works
785        Strip spaces in AIM usernames on aimwrite send
786        Removed libfaim/config.log from CVS
787        Fixed some easy fixed-length buffers
788        Wordwrap incoming AIM messages
789        Fixed bug causing buddies not to be added to buddy list during
790          ingorelogin timer
791        Translate &lt; &gt; &amp; &quot; &nbsp; &ensp, &emsp, &endash and
792           &emdash
795        Don't ring the terminal bell on mail messages.
796        Nuke <FONT>
797        Make the build work a little better on OSX
798        Fixed a bug in fmtext
799        Expanded the size of the hostname buffer
802        Fixed bug in 'startup' command.
805        Moved newmsgproc stuff to a function procedure
806        Added the 'newlinestrip' variable, on by default, that strips
807          leading and trailing newlines from incoming messages.
808        Fixed a case sensitivity probelm in owl_message_is_personal and
809           owl_message_is_private
810        The message object now uses a list of attributes internally, in
811          prep. for supporting new messaging protocols
812        owl_function_info now uses fmtext instead of one staticly sized
813          buffer
814        in owl_message_get_cc() require that the colon be present after
815          cc.
816        Added some defenses against resize crashes, and put in debug
817          messages if they're encountered
818        In filters 'true' and 'false' are now valid tokens.
819        The 'all' filter has been redefinied to be 'true' and there is a
820          'none' filter defined as 'false'
821        Fixed bug in 'unsub' command that could cause file corruption
822        In the zlist function, give a more detailed error message if
823          the file cannot be opened.
824        Renamed old instances of zsig_exec in the code to zsigproc
825        Don't print the stderr from zsigproc
826        Added a 'loadloginsubs' command to load login subscriptions from a
827          file
828        Added a 'loadsubs' command to eventually phase out the 'load-subs'
829          command
830        Made M-n work on classes and instances with spaces in them
831        Zaway now obeys the smart strip variable
832        Hacked the build system to not have the -E link problem on Athena
833        Added ZResetAuthentication in a number of places to fix problems
834          with stale tickets
835        Added some hooks for malloc debugging
836        M-p is bound to 'view personal' by default
837        loadsubs and loadloginsubs only print messages if in interactive
838          mode
839        added the 'alert_filter' variable, defaults to 'none'.
840        added the 'alert_action' variable, which is an owl command that
841          will be executed when new messages arive that match the
842          alert_filter
843        added the 'term' command which takes the 'raise' and 'deiconify'
844          options.  It assumes xterm for now.
845        only 'make distclean' will nuke core and ~ files now
846        fixes to owl_function_do_newmsgproc from Stephen
847        converted functions.c to new code style, which I'm giving a shot
848 define DATADIR, for default owlconf.
849 provide "all" and "install" rules.
850 try also libdes and libkrb4, for people using heimdal
851 see if des_ecb_encrypt is already prototyped.
852 minor changes to work with new autoconf without needing acconfig.h.
853 find the install program.
854 test for use_default_colors since some versions of
855          solaris don't have it, so we can at least compile something
856          vaguely working there.
857        keypress.c: ifdefs for keys not defined on at least some solarises.
858        owl.c: don't call use_default_colors if we don't have it
859        readconfig.c: added *commented out* code to try to find a
860          system-default owlconf if the user doesn't have one.  Have to
861          ponder if I want this
862        zcrypt.c: don't prototype des_ecb_encrypt if there is a prototype in
863          des.h.
864        zcrypt.c: include owl.h so we get the configure-generated config.h
865        Change to to deal with new code style
866        Remove some ancient stuff from zcrypt.c
867        General cleanup to
868        CTRL and META are now OWL_CTRL and OWL_META.  OWL_CTRL moved to
869          keypress.c
870        do_encrypt declaired static
871        if we don't have des functions, do not try to build in zcrypt
872        kill the newmsgproc function on exit
873        Added libfaim
874        Added basic AIM support, including the "aimlogin", "aimwrite" and
875           "aimlogout" commands
876        New built-in filters 'aim' and 'zephyr'.
877        Do ZResetAuthentication() before zlog_in and zlog_out as well.
878        Print AIM login / logout notifications
879        The 'alist' command prints a list of aim buddies logged in
880        The 'blist' command prints users from all protocols
881        The 'l' key is now bound to 'blist' instead of 'zlist'
882        Started work on 'addbuddy' and 'delbuddy' command but they DO NOT
883          WORK yet
884        Removed a bit of faim code that allowed commands to be executed.
885        The 'B' key is now bound to 'alist'
886        Added the 'startup' and 'unstartup' commands
887        The $HOME/.owl directory is created on startup if it does not exist
888        Added the 'aim_ingorelogin_timer' variable
889        'addbuddy zephyr <user>' and 'delbuddy zephyr <user>' now work.
890        'isloginout' and 'isprivate' are now message attributes
891        improved 'info' function lists seperate info for zephyr, aim and
892           also prints all message attributes
893        AIM logging (both in and out) now works
894        Disabled 'addbuddy' and 'delbuddy' for aim since it doesn't work yet
895        Hacked the Perl build stuff not to link with iconv
898        Class pings are displayed differently now
899        Updated owlconf.simple example to format outgoing messages.
902        Outgoing messages now go through the config for formatting
903        Zaway now makes an outgoing message, instead of an admin message
904        The 'zlocate' command can now handle multiple users
905        The simple user format for "To:" is in effect again
906        Prettyed up the zwrite line for using 'reply' on a zaway
907        Added a workaround for a libzephyr bug that caused zwrites to fail
908          if zephyrs were sent just before and just after renewing tickets
909        Fixed a memory bug in getsubs
910        Added receive support for zcrypt messages
911        Added the 'zcrypt' variable which controls whether or not zcrypt
912          messages are decrypted
913        'reply' is disabled for zcrypt until sending zcrypt works
914        Started implementing zcrypt command
915        More updates to the intro doc
918        Started adding code for newmsgproc.  It doesn't fully work yet!
919          Don't use it.
920        Added search, '/' and '?' to basic help.
921        Will attempt to keep the current message as close as possible
922             to the previous current message after an expunge.
923        "set <variable>" and "unset <variable>" now work for boolean variables.
924        Fixed a bug in owl_function_calculate_topmsg_normal that caused a
925          segfault
926        Fixed some typos in the intro doc
927        Removed old zlog functions from zephyr.c
928        Implemented the dump command
929        New startup message
932        Patch to fix memory bug in replying to CC messages
933        If we're on Athena and have static krb (or other) libraries, use
934          them
935        Added "athstatic" program to the release, which handles the above
936        Cast to an int for isspace, to make gcc -Wall quiet
937        Added 'zlist' and 'l' to basic help.
940        'zlog in' will now take an optional thrid argument to set the
941             'tty' variable before setting the zlocation
942        There is now a 'zlist' command that acts like 'znol -l'
943        'l' is bound to 'zlist'
944        Fixed memory leak uninitialzed memory read in fmtext
945        viewwin will now say "End" instead of "More" when at the end
946        Added a debugging message indicating the result of topmsg
947          calculations
948        You can now use %me% in filters
949        The built-in personal filter is updated to do so
950        Fixed a bug in moving the pointer after an expunge
951        Fixed up the normal scrolling code.  Now it should always
952          land on a message, but it's still not optimal.
953        Added the variable 'smartstrip' which will strip kerberos
954          instances out for the 'reply' command.
955        Added -R/usr/athena/lib to the build for Athena
956        Started updating the intro document
957        Small changes to help / about
958        The 'subscribe' and 'unsubscribe' commands (and their aliases) now
959          update .zephyr.subs by default.  If either is given the '-t'
960          (for "temporary") option the .zephyr.subs will not be updated
961        Turned off beeping for hitting the top or bottom of the list of
962          messages
963        Made daemon.webzephyr a special case for smartstrip
964        Added 'out' as a default filter for outgoing messages
967        Added filters "ping", "auto" and "login" by default.
968        Added "body" as a valid field to match on in a filter.
969        Temporary fix to bug where C-SPACE would cause the key handler to
970             lock up.
971        Messages now have a direciton (in, out or none).  Filters can
972             match on this direction
973        Outbound messages are no longer type 'admin' but are of the
974             appropriate message type (i.e. 'zephyr') and are direction
975             'out'.
976        Smartnarrow now works on outgoing messages
977        'info' updated to show more information for admin and outgoing
978             messages
979        Renamed pretty_sender to short_zuser and renamed long_sender to
980             long_zuser
981        Moved zsig generation to the zwrite object
982        Print the zsig used for outgoing messages
983        The tty variable now controls the zephyr location tty name
986        Added the 'search' command.
987        '/' is a keybinding for 'search'
988        '?' is a keybinding for 'search -r'
989        Fixed stristr, which was completely broken
990        renamed owl_fmtext_ztext_stylestrip to owl_function_ztext_styletsrip
991             and put it in functions.c
992        Attempts to stay near the current message when switching views.
993             When switching from an empty view to one we've previously
994             been in, the new current message position will attempt
995             to be close to the current position from the last
996             time we visited that view.
997        Fixed bug in readconfig.c that prevented building under perl 5.005.
998        Switched "C-x C-x" to only "startcommand quit"
999        'getsubs' prints closer to the order you sub in.
1000        Modified the behavior of last so that "> >" will clear the screen.
1001        The new behavior of last is:
1002              Moves the pointer to the last message in the view.
1003              If we are already at the last message in the view,
1004              blanks the screen and moves just past the end of the view
1005              so that new messages will appear starting at the top
1006              of the screen.
1007        Fixed a typo in the help for smartzpunt.
1008        Fixed functions to handle curmsg being past the end of the view.
1011        New framework for command handling.
1012        New framework for keymap handling.
1013        Added commands for everything that is bound
1014             to a key (do 'show commands' to get the full list).
1015        Added 'multi' and '(' commands to allow multiple commands
1016             to be specified on a line.             
1017        Added user keybindings with bindkey command.
1018        Added command aliases (eg, "alias foo bar").
1019        Added undelete command that parallels the delete command.
1020        Added additional options to delete command.
1021        The reply command now takes arguments.
1022        Added 'edit:insert-text' command.
1023        Added 'show zpunts' to show active punt filters.
1024        Added 'show variable <name>' and 'show variables'.
1025        Added 'show command <name>' and 'show commands'.
1026        Added 'show keymap <name>' and 'show keymaps'.
1027        Added 'M-u' to undelete all messages in current view.
1028        Fixed dotsend so that the zephyr will still send if there
1029             is whitespace after the dot but not on the same line.
1030             This should resolve an issue where dotsend wouldn't work
1031             if you'd gone up and edited a zephyr.
1032        Bug in page down fixed
1033        C-t will transpose characters
1034        Fix the scrolling bug where we would sometimes fail to scroll
1035             the screen down, leaving the current message off
1036             the bottom of the screen.
1037        Refixed 'login or login' typo in help
1038        Fixed M-u description
1039        Removed 'first' and 'last' from basic command help
1040        Added M-N to basic key help
1041        Added M-D, M-u to basic key help
1042        Fixed a quoting problem in
1043        Changed top of help to use 'show' instead of M-x
1044        Fixed a bug in the summary field for user-created aliases
1045        Added "reply zaway" which sends a zaway response to the current msg.
1046        Added "edit:delete-prev-word" command and bound M-BACKSPACE to it.
1047        Some buffer overruns fixed
1048        Variables now have a summary and a long description.
1049                Only the summary is shown with help.
1050                The long description is shown with "show variable foo".
1051        Added a 'scrollmode' variable which determines how the screen
1052             will scroll as the cursor moves.  The default behaves
1053             identically to previous versions of owl.
1054             The following modes are supported:
1055             normal      - This is the owl default.  Scrolling happens
1056                           when it needs to, and an attempt is made to
1057                           keep the current message roughly near
1058                           the middle of the screen.  (default)
1059             top         - The current message will always be the
1060                           the top message displayed.
1061             neartop     - The current message will be one down
1062                           from the top message displayed,
1063                           where possible.
1064             center      - An attempt is made to keep the current
1065                           message near the center of the screen.
1066             paged       - The top message displayed only changes
1067                           when user moves the cursor to the top
1068                           or bottom of the screen.  When it moves,
1069                           the screen will be paged up or down and
1070                           the cursor will be near the top or
1071                           the bottom.
1072             pagedcenter - The top message displayed only changes
1073                           when user moves the cursor to the top
1074                           or bottom of the screen.  When it moves,
1075                           the screen will be paged up or down and
1076                           the cursor will be near the center.
1077        Added owl_sprintf which returns the formatted string, or NULL.
1078                The caller must free this string.
1079                This will allocate enough memory and thus
1080                avoid potential some buffer overrun situations.
1081        Simple implementation of 'zwrite -m' (doesn't yet log an outgoing
1082                message as having been sent.)
1083        The "Not logged in or subscribing to messages" error
1084                now includes the name of the recipient.
1085        The "disable-ctrl-d" variable may also be set to "middle"
1086                which will result in ctrl-d only sending at the
1087                end of the message.  This is now the default.
1088                This also added a command "editmulti:done-or-delete".
1089        Fixed a bug in the "reply -e" command.
1090        Always clear the command buffer before executing the command.
1091                (So that interactive commands can sanely do start-command.)
1092        Fixed preservation of e->dotsend across owl_editwin_clear().
1093        Added history for multiline edit windows (eg, for zephyr composition).
1094                The M-n and M-p keys will cycle through the history ring.
1095                In particular, it is now possible to edit the command line
1096                of a zephyr being composed:  C-c it and restart it
1097                and then M-p to get the aborted composition back.
1098        Added owl::send_zwrite(command, message) to the perl glue
1099                to allow for the direct sending of multi-line messages.
1100                For example:  owl::send_zwrite("-c foo -i bar", "hello");
1101        Changed owl_fmtext_print_plain to return an alloc'd string to
1102                avoid buffer overrun risks.
1103        Added owl::ztext_stylestrip("...") function to perlglue
1104                 which returns the ztext with formatting stripped out.
1105        Added colorztext variable which can be used to disable @color()
1106                 strings arriving in messages after it is set.
1107                 (Currently, changing its value won't reformat messages).
1108        Outgoing zephyr logging now obeys the logpath variable.
1109        The '~' character in logpath and classlogpath now gets
1110                 replaced with the user's home directory.
1111        Added simple implementation of smartnarrow-to-admin that
1112                 creates a "type-admin" autofilter.
1113                 This was done mostly so that M-C-n and M-C-p do something
1114                 sane on admin messages.
1115        Added opera to the allowed options to the webbrowser variable.
1116        Fixed some buffer overruns in the "reply" command.
1117        When repying to "all" on a message that begins with "CC:" (eg, sent
1118                 with "zwrite -C", the reply line will be constructed
1119                 from the sender and the usernames on the CC: line
1120                 of the message being replied to.
1121        There is no such thing as C-R, so left C-r as it is but added:
1122                 M-r --- edit reply to all
1123                 M-R --- edit reply to sender
1124        Added RCS Id strings to all files.
1125        'show keymaps' shows details of all keymaps after summary list.
1126        Added --no-move option to delete command.
1127                In particular, delete-and-always-move-down may now
1128                be implemented with
1129                '( delete --no-move ; next --skip-deleted )'.
1130        Folded the nextmsg and prevmsg commands and functions together into
1131                one command which takes arguments.
1132                Added '--filter <name>' option (eg, for next_personal),
1133                '--skip-deleted' option, and
1134                '--last-if-none'/'--first-if-none' options.
1135                Help updated accordingly. 
1136                In particular, the 'personal' filter is now used
1137                for 'next personal'. 
1138                Added --smart-filter and --smart-filter-instance options
1139                to the next and prev commands.
1140        Updated examples/owlconf.erik with the above.
1141        Made owl_function_fast*filt return a string and not do the
1142                narrowing, to make it more general.
1143        Added a smartfilter command that creates a filter
1144                based on the current message and returns the name
1145                of the filter.
1146        Added M-C-n and M-C-p keybindings to "move to next message
1147                matching current" and "move to previous message
1148                matching current"
1149        Added variables edit:maxfillcols and edit:maxwrapcols which
1150                will limit how wide editing paragraphs may get before
1151                they get wrapped.  This is a max and may be narrower
1152                depending on the current size of the window.
1153                If 0, the max is unlimited.  Default is 70 columns for
1154                edit:maxfillcols and unlimited for edit:maxwrapcols.
1155        Added smartzpunt command with key binding of "C-x k".
1156                This starts a zpunt command filled in with
1157                the proposed zpunt.
1158        Fixed a memory reference bug in delete and undelete commands.
1159        Added support for perl to call directly back into owl.
1160        Changed the implementation of owl::command("...") to immediately
1161                call back into owl.  This allows perl to get the return
1162                value of strings returned by owl commands.
1163        Added the getview command which returns the name of the current
1164                view's filter. 
1165        Added the getvar command which returns the value of a variable.
1166        Added an example to examples/owlconf.erik which uses TAB to
1167                narrow and restore the view. 
1168        Added an example to examples/owlconf.erik which uses M-c to
1169                color messages matching the current one green.
1170        Integrated change to fix problem with popup blinking on new zephyrs.
1171        C-l and resizes will now refresh an open viewwin (eg, help).
1172        Updated doc/code.txt to include info about filters, commands,
1173                contexts, and keybindings.
1174        Exec commands cleaned up to not have buffer-size limitations
1175                and to not mess up spaces.  exec also returns a string
1176                of the output now.
1177        Integrated changes from 1.1.3, and added docs for "zlocate -d"
1178                and new show commands.
1179        Show with arguments produces help on show.
1180        Fix a bug in readconfig caught by efence (where we'd try to read before
1181                the beginning of a string if it was empty).
1182        The perl command doesn't do makemsg directly, but instead
1183             returns the string and it will get printed if it
1184             was run interactively.
1187        'show subs' and 'show subscriptions' are now the same as 'getsubs'
1188        zlocate now takes an optional -d argument
1189        'show terminal' / 'show term'
1190        '>' / last doesn't set the last message at the top of the screen now
1191        implemented _followlast as an unsupported feature
1192        include 'default' in the 'show colors' list
1193        added help for 'zpunt' and 'zunpunt'
1194        changed the bug address in the startup message
1195        can now do 'show status'
1196        can now do 'show version'
1197        'status' / 'show status' includes the owl version number now
1198        'show terminal' includes whether the terminal can change colors
1199        fixed off by one bugs in paging / scrolling viewwin
1200        don't downcase the sender when getting the log name for personals
1201        support @owl::fields as well as @fields
1202        downcase class/inst filter names in auto filters
1205        Fixed memory mishandling bug
1206        Fixed bug in redfining the filter attached to the current view
1207        M-n will narrow to message, instance on non-personal, class
1208             MESSAGE messages
1209        M-N behavies like M-n except that on class messages it narrows
1210            to class and instance
1211        line wrap earlier, to account for tabbing
1212        fixed typo in help
1213        'status' command now displays info on terminal color support
1214        zephyr @ formatting is now case independant
1215        added support for color terminals
1216        zephyr @color(foo) now works
1217        'D' for deleted messages is now not bold, unless it's the current
1218          message
1219        F1 displays the help screen
1220        added filter colors
1221        added the 'colorview' command
1222        added the 'show colors' command
1223        users who don't have a .zephyr.subs get a simpler format for
1224          incoming messages
1225        If colors are available 'show filters' will show a filter in the
1226          color associated with it.
1227        Added the zpunt and zunpunt commands
1228        Lines in the subs file starting with '-' are zpunted
1229        Include login/logout messages in auto user filters
1230        'V' changes to the home view ('all' by default)
1233        Fixed perl, aperl, and pperl commands to deal with quoting
1234              and spaces in a saner manner.
1235        Removed all owl_get_* methods for booleans and switched
1236              cases where they were used to owl_is_*
1237        Changes to owlconf.erik to use some new features.
1238        Increased the size of the help buffer (as it
1239              was overflowing and truncating the help message).
1240        Variables prefixed with a _ are not shown in help
1241              or by printallvars (and prefixed Not Yet Implemented
1242              variables with this).
1243        Fix typo in help
1244        include stdio.h in functions.c
1245        remove stale "q to quit" from bottom of info message
1246        fix downward scrolling more than a page
1247        use authentication for zlocate, by default
1248        fixed buffer over run in info command on long messages
1249        call 'perl <file>' from Makefile to avoid hardcoding perl paths
1250        in Makefile don't build owl_prototypes.h unless necessary
1251        store the time for admin messages
1252        display admin message time in 'info' command
1253        fixed an editwin M-> last character bug
1256        reply is a normal function now
1257        'R' does reply to sender
1258        'T' tells you how many messages were marked for deletion
1259        local realm removed from login / logout messages
1260        added command history
1261        better runtime / starttime reporting in 'status' command
1262        leave the pointer near the current message after expunge
1263        C-l recenters editwin
1264        implemented zlocate
1265        @italic works the same as @i
1266        on reply only quote class / instance when necessary
1267        C-r allows you to edit the reply line
1268        don't use unecessary options in reply line
1269        display 'info' errors in msgwin, not popup
1270        impelemnted aexec, pexec commands
1271        the zsig now goes through ztext formatting
1272        messages have id numbers now
1273        'info' prints the msgid
1274        added the 'filter' command
1275        added the 'view' command
1276        added the 'show filter' command
1277        added the 'viewclass' (and 'vc') commands
1278        added the 'viewuser' (and 'vu') commands
1279        M-n will filter to the current class or user
1280        'v' starts a view command
1281        M-D will delete all messages in current view
1282        added the 'delete' (and 'del') command
1283        load-subs with no argument loads the default subs file
1284        '<truncated>' is now when the *current* message is truncated
1285        the reply-lockout filter (with default) specifices messages that
1286           cannot be replied to.
1287        in the configfile owl::receive_msg is run whenever a message is
1288          received
1289        added the beep command
1290        added the contributors file
1291        declare ZGetSubscriptions and ZGetLocations since the includes
1292          don't seem to
1293        fixed bug in displaying last line in popwin if no final '\n'
1294        'T' uses the 'trash' filter now
1295        zaway_msg, zaway_msg_default and zaway are all user variables now.
1296        zsig variable overrides zsigproc
1297        If there's no appendtosepbar don't interfear with the sepbar
1298        Changed: owl_message_get_numlines will return 0 of m is NULL
1299        Added login messages to messages marked by owl_function_delete_automsgs
1300        Added owl_function_delete_by_id(id) which acts independent of view
1301        Added "-id <id>" option to delete command
1302        Fixed an arg checking bug in delete command
1303        Added owl::id to perl namespace with message id
1304        Fixed a memory corruption bug in readconfig.c (where right
1305              after the strdup to "out", we'd strcat a \n onto the end.
1306              This would be triggered whenever owl::format_msg returned
1307              a string not ending in a newline
1308        Added 'X' keybinding which expunges and then switches to
1309              a view defined by the variable "view_home" which defaults
1310              to "all"
1311        Consolidated readconfig.c somewhat to remove duplication.
1312              owl_config_execute now returns a string.
1313        Added an example config file that does vt-style formatting.
1314              (examples/owlconf.vtformat)
1315        Added the 'perl', 'aperl', and 'pperl' commands which will
1316              evaluate perl expressions.
1317        Fixed bug where pclose zsigproc would cause zombies
1318        Can set zsigproc or zsig to "" to disable
1319        Added support for multiple browsers (galeon and none were added).
1320              Configure with the "webbrowser" variable.
1321        Changing typewinsize height triggers resize event.
1322        Added zsig variable which will be used if no zsigproc and non-empty.
1323        Added "make test" rule to Makefile which will run regression tests,
1324              and added regression testing framework to tester
1325        Fixed to ignore static declarations.
1326        Added dict.c which contains string->ptr dictionary routines
1327              and the owl_dict type.
1328              These include regression tests.
1329        Overhaul/rewrite of variable handling.  Variables are now managed
1330              in an owl_vardict (in g.vars) which contains a dictionary
1331              of owl_variable's.  Each owl_variable has dispatch functions
1332              for validating values, setting it and getting it,
1333              and for setting it to and from string values.
1334              The variable.c file contains the list of variables.
1335              Stubs for the owl_global_<varname>_get functions and friends
1336              are generated from variable.c by
1337              The help.c messages for variables now calls into variable.c
1338              so all information about most variables is in one place.   
1339        Cleaned out code from global.c and command.c that was made obselete
1340              by variable overhaul.
1341        The set command now takes a -q option to not log a message.
1342        Fixed a bug where set and print with no arguments would
1343              print "Undefined variable" in addition
1344              to running owl_function_printallvars.
1345        debug is now a variable that can be turned on and off.
1346        Fixed mail,inbox message parsing in examples/owlconf.erik
1347        Made zaway_msg and zaway_msg_default into variables
1348        Changed owl_function_makemsg and owl_function_debugmsg
1349               to use varargs (ie, so they can now take a format
1350               string with args).
1351        Don't allow " and \ characters in URLs with the "w" command.
1352        Removed lots of build warnings.
1353        Popwins are wider by default so help messages fit better.
1354        Added an atokenize_free function.
1355        Fixes to work with an older version of libzephyr.
1356        Added dependencies on header files to
1357        Added pageup and pagedown key bindings to message list
1358        Added pageup and pagedown to viewwin
1359        Added configfile section to doc/intro.txt (from example config file)
1360        Added appendtosepbar variable which may contain text which will
1361              be appended to the sepbar.  This allows the configfile
1362              to put information about pings and logins into
1363              the sepbar.  (It may be worth also providing a variable
1364              which enables this by default, but for now this allows
1365              for experimenting with what works well.)
1366        Added doc/code.txt which gives a brief overview of the code.
1367        Added tags makefile rule and added TAGS to distclean rule.
1370        fix frees in loadsubs and loadloginsubs
1371        don't return in owl_free
1374        'print' and 'set' with no arguments prints all variables
1375        Added the 'unsubscribe' and 'unsub' command
1376        Renamed the 'unsub' command to 'unsuball'
1377        Added the 'getsubs' command which is like zctl ret
1378        Fixed bug in logging messages sent to more than one recipient
1379        Support '-C', '-O', and '-n' options to zwrite
1380        Fixed bug in owl_editwin_delete_char when there are no later chars
1381          after the cursor
1382        Make "more" and "truncated" work in the status bar
1383        enable printing of zsigproc and loginsubs variables
1384        only allow message scrolling if the message is actually off the
1385          screen
1386        'T' will mark all automated message for deletion
1387        'P' will go to the next personal message
1388        'M-P' will go to the previous personal message
1389        replying to a login message goes to the user now
1390        added a status command
1391        added the intro doc to the release
1392        fixed off by one bug in viewwin
1393        added complete online help
1394        pass $owl::realm in configfile
1395        fixed editwin wordwrapping on the last line
1396        fixed editwin problem with key_right past the last char
1397        print an error and quit if the configfile can't be parsed
1398        got rid of owl_mainwin_calculate_topmsg
1399        fixed off by one error in calculating topmsg upwards
1400        you can now reply to an admin message
1401        don't display an error about keypress on window resize
1404        fixed bug in viewing messages longer than the screen
1405        indicate in the sepbar if there is a non zero vert offset
1406        send on '.' on a line by itself
1407        added disable-ctrl-d variable
1408        fixed bug where C-k did not delete the last \n in the buffer
1409        make non-character meta keys work
1410        use ZSendNotice instead of ZSendList
1411        implemented <, >, M-< and M-> in viewwin
1412        removed the spaces at the bottom of viewwin
1413        added 'about' command
1414        fixed bug using 'M' with no current message
1415        changed message object to use char *'s to save on memory
1416        change malloc, realloc, strdup and free to use owl hooks so that
1417           debugging can be added
1420        fixed a trailing space bug in the parser
1421        impelemented the "burning ears" feature
1422        have admin messages do ztext parsing
1423        fixed bug in reporting which M- key was pressed
1424        C-g will now cancel commands like C-c
1427        implemented owl_function_full_redisplay().
1428        C-l uses owl_function_full_redisplay().
1429        when a popwin exists to a full redisplay.  (fixes bug)
1430        improved the owl_editwin_process_char logic
1431        removed all unnecessary wrefresh's and replaced with wnoutrefesh
1432        owl_editwin_redisplay now takes an argument to optionally doupdate()
1433        improved the cut-and-paste speed by not doing a usleep the first
1434          time through the loop after getting a keypress.
1435        nuked typwin.c and associated stuff.  It's useless now.
1436        added viewwin code for paging windows
1437        curly braces work for zephyr formatting
1438        @i in zephyr formatting will be displayed as underlined text
1439        turned off idlok
1440        implemented viewwin
1441        implemented viewwi in popwin for pageable popwins
1442        help, info now use pageable popwins
1443        bound 'M' to bring the current message up in a popwin
1444        return, space bar, 'b' and backspace now scroll within a message
1445        turned off resize message
1446        C-v and M-v page the main window
1447        implemented owl_message_is_mail
1448        some build cleanup
1452        added owl_message_is_personal and have things use it
1453        added owl_message_is_private
1454        fixed 'print personalbell' and have 'set personalbell'
1455           print a message
1456        bold only on message_is_personal
1457        display the realm if not local
1458        implemented M-f, M-b, M-d, M-<, M-> in editwin
1459        implemnted word wrapping in editwin
1460        implemented M-q (paragraph-fill) in editwin
1461        fixed bug that caused owl to segfault logging a 'weird' class
1462        M-x is a keysym for ':'
1463        added smart bolding and userclue
1464        fixed a bug causing pings to beep even if rxping is off
1467        fixed bug in logging code
1470        implemented personal logging
1471        implemented class logging
1472        implemented resize of typewin
1473        fixed the backspace problem
1474        -v command line option prints the version number
1477        load-subs will report error opening file
1478        skip comment lines in loadsubs and loadloginsubs
1479        changed internal references to rxping and txping
1480        fix replying to a blank instance
1481        added subscribe command
1482        subscribe to login messages from .anyone by default
1483        'loginsubs' variarble controlls automated login messages
1484        redisplay the editwin after a resize
1485        leave the cursor in the editwin if active
1486        fix problems in the build system
1487        added displayoutgoing variable
1488        temporarily removed error printing for zlog in / out
1491        fixed bug in "message sent to <foo>" for zwrite
1494        help updated
1495        zaway key set to caps A
1496        support zephyring other realms
1497        rxping variable for receiving pings
1498        txping variable for sending pings
1499        function in place to resize typwin
1500        C-l to refresh
1501        personal bell variable
1502        beta message now an admin message
1505        Added the debug command and flag
1506        Fixed bug in printing fields in info command
1507        Added owl_fmtext_append_ztext and use it
1508        Better formating for pings and login zephyrs
1509        make tester depends on proto
Note: See TracBrowser for help on using the repository browser.