source: ChangeLog @ 970dafa

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