source: ChangeLog @ d8c456c

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