source: ChangeLog @ 1b17f50

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