source: ChangeLog

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