source: ChangeLog @ 181ea08

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