source: ChangeLog @ 68f1afe

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