source: ChangeLog @ eef5b52

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