source: ChangeLog @ f84bca8

barnowl_perlaimdebianowlrelease-1.10release-1.4release-1.5release-1.6release-1.7release-1.8release-1.9
Last change on this file since f84bca8 was f84bca8, checked in by James M. Kretchmar <kretch@mit.edu>, 20 years ago
Bumped version to 2.1.6
  • Property mode set to 100644
File size: 44.0 KB
Line 
1$Id$
2
32.1.6
4        Fixed three bugs found by Valgrind.
5        Fixed a case where doing "aim addbuddy" instead of "addbuddy aim"
6          would cause a segfault.
7        pexec will now incrimentally display data as it is output
8          by the child process.  Additionally, commands running under
9          pexec may now be killed by quitting out of the popless window.
10        Added muxevents select loop dispatcher.  File descriptors may
11          be registered with muxevents and handlers will be dispatched
12          to when data is available for non-blocking read/write/except.
13        Switched the stderr_redir stuff to use muxevents.
14        Print C-\ correctly (from gildea)
15        Dropped first brace in muxevents functions for consistency
16        Catch SIGHUP and SIGTERM and do a proper logout
17       
182.1.5
19        Added a licence
20        The 'personalbell' variable can now be set to 'on' 'off' or
21          the name of a filter to match against
22        The 'loglogins' variable now controls whether login/logout
23          messages are logged.  It is off by default.  For now this
24          affects only AIM messages, later zephyr login/logout messages
25          will also be logged if this is set to 'on'
26        Added 'show license'
27       
282.1.4
29        Normalize and downcase AIM names for logging
30        Fixed a bug where sending a null zsig could cause a crash
31        Better 'away' toggling if only one protocol is away.
32
332.1.3
34        Added perl filter elements.  Similar to having "filter <subfilter>"
35          in a filter, you may also have "perl <functionname>"
36          where <functionname> is passed an owl::Message object and
37          returns 0 or 1 depending on whether the message matches
38          that element of the filter.
39        Don't print an error about loading subs if there is no
40          .zephyr.subs
41        Do the initial zephyr_buddy_check when pseduologin set to true.
42        Updated man page
43       
442.1.2
45        removed unused filter_depth variable
46        Fixed memory bug on receiving pings
47       
482.1.1
49        Filters of filters now work.
50        Removed the "possibly not readable" part of the config parsing
51          error
52        In the sepbar, reverse video the view name when it's not set to
53          view_home (as opposed to the static 'all').
54        The '!' key (bound to 'view -r') now creates a negative version of
55          the current view and switches to it.  i.e. "show me all the
56          messages that are not these"
57        Added the 'ignorelogins' variable
58        Log when outgoing personal message fails
59        Removed file descriptor from sigpipe catcher printer just for now,
60          since the field does not exist on OSX
61        Added an ifndef for socklen_t in libfaim/ft.c
62        Added the 'aim search' command.  The popup on callback may be
63          dangerous, should switch to an admin msg for results, or add a
64          new event queue
65        First pass at AIM away messages.  It is a little different from
66          what most clients seem to do, in that an away reply is sent for
67          each message received.  Most clients only reply to the first one
68          per away-session.
69        Now have a set of 'aaway' commands and variables just like the
70          'zaway' ones (except that changing the 'aaway' variable talks to
71          the server)
72        The new 'away' command does everything for both AIM *and* zephyr.
73          There is a known funkiness here, where if you turn one away on,
74          and then use 'away' (or 'A') to toggle, you will turn on off and
75          the other on.  Just leaving it for now.  Should do better in the
76          next patch.
77        The 'A' key is bound to 'away'
78        Status bar can now read AWAY, Z-AWAY or A-AWAY.
79        Changed C-n to scroll down just a line in popless
80        If the config exists but is not readable, print an error before
81          exiting
82        Only print forced AIM logout message once.
83        Don't bind F1 to help in edit context
84        Fix bug in 'getsubs' with no tickets
85        New code for getting users from .anyfile
86        Added the 'pseudologins' variable, and code to do it
87        new attributes 'pseudo' 'logintty' and 'loginhost'
88        Don't print extra new lines in popless_file
89        New zephyr_get_field function
90       
912.0.14
92        Fixed missing word in startup message
93        Better 'status' command
94        Use '+' for popwin corners when 'fancylines' is off
95        Allow TERMINFO to be overridden in the envrionment
96        Command line arg -D turns on debugging and deletes previous
97          debugging file
98        Do ~ expansion in 'dump' command.
99        Current directory added to 'status' command
100        Massive changes to libfaim and aim
101       
1022.0.13
103        Changed startup message for new mailing list
104        blist now prints AIM info even if .anyone is unreadable
105        Catch SIGPIPE and print an error rather than crashing.
106                [It's possible that this may have some portability
107                issues under Solaris and we may need to add some
108                configure stuff around SA_SIGINFO...]
109        Handle the case in aim_bstream_send where aim_send returns -1,
110                although there is likely an underlying problem here
111                that would lead to this case.
112        Print the username on aim login failure, not something random like
113                the password.  ;)
114        Un-word-wrap text when sending AIM messages.
115        Replace the main loop continue in the keyboard handler with an else.
116       
1172.0.12
118        Command history now doesn't allow the last entry
119           to be repeated
120        If format_msg returns "" print "<unformatted message>"
121        Better align oneline admin and loopback messages
122        Print an admin message indicating when subscriptions can
123           not be loaded on startup
124        Set aim_ignorelogin_timer to 15 by default
125        Admin message on login/logout of AIM
126        Fixed double quoting in smartzpunt
127        Added timestamp to login/logout messages
128        Fixed replies to loopback messages
129        Fixed smartnarrow on classes/instances with spaces
130        Added the 'loggingdirection' variable
131        All loopback messages log to 'loopback' now
132        Print an error message if trying an invalid color for a filter
133        Fixed bug causing > not to go to end of editwin every time
134       
1352.0.11
136        Updated basic help
137        Display CC: in outgoing CC messages
138        More AIM logout detection
139        Don't proclaim "interfaces changed" on first build.
140        Added the 'loopback' message type
141        Added the 'loopwrite' command
142        Added a timestamp to the default style
143        Zpunt now works with weird regex characters
144        Smart filters now work with weird regex characters
145       
1462.0.10
147        Allow 'hostname' in filters.
148        Fixed bug in reporting when no one is subbed to a class
149        Added an extral newline in logging incoming zephyrs
150        An admin message is displayed when you are logged out of AIM
151        Print an error message and admin message if an AIM send fails
152       
1532.0.9
154        Added the 'fancylines' variable.
155        Added the 'show startup' command.
156        Added feature for capturing stderr messages
157           from commands and displaying them in the errors buffer.
158        Create an admin message explaning that a zephyr couldn't
159           be sent
160        Better reporting of perl errors (both into the errqueue
161                and also clearing the error after displaying it).
162        Allow default_style to be specified in config.
163        Added errqueue
164        Added command "show errors"
165        Fixed bug removing newlines in backup files
166       
1672.0.8
168        Increased size of screen name field in buddy listing
169        Fixed bug with idle times causing broken pipes.
170        New libfaim
171        Added the 'source' command.
172        Make sure that a newline is always at the end of messages
173                returned by perl style formatting functions.
174        Add owl::login and owl::auth to legacy variables populated for format_msg.
175        Additions to intro.txt and advanced.txt documents.  (Still in progress.)
176        Add base methods for login_host and login_tty
177                and others that return undef.
178        New API for perl message formatting functions. 
179                Legacy variables are still supported for owl::format_msg
180                and owl::receive_msg, but these functions are now also
181                passed an owl::Message object which contains methods
182                for accessing the contents of the message.  See perlwrap.pm
183                (and docs TBD) for the available methods.
184                *** WARNING:  The exact API for owl::Message has
185                *** not yet stabilized.
186        Added "style" command for creating new styles.
187                Usage:  style <name> perl <function_name>
188        Added support for "show styles".  Changed global style table
189                from list to dictionary.
190        Changed AIM password prompt from "Password:" to "AIM Password:".
191        Messages are reformatted after a window resize to allow styles
192                to take into account the width of the window.
193        When perl throws an error, the message is put in the msgwin
194                if possible.
195        Added perl functions for:       
196                owl::getcurmsg() -- returns an owl::Message object for
197                                    the active message
198                                    in the current view.
199                owl::getnumcols() -- returns the column width of the window
200                owl::zephyr_getrealm() -- returns the zephyr realm
201                owl::zephyr_getsender() -- returns the zephyr sender
202        Made owl::COMMAND("foo"); be syntactic sugar for
203                owl::command("COMMAND foo");
204        Added perlwrap.pm to contain perl code to be compiled into
205                the binary.  This is transformed into perlwrap.c by
206                encapsulate.pl.
207        Renamed readconfig.c to perlconfig.c and changed variables accordingly.
208        Minor bugfixes in cmd.c and commands.c
209        Improved intro doc
210
2112.0.7
212        Idletimes now appear in the buddylisting
213        Failed AIM logins are now correctly reported
214        Owl will build now without zephyr, enabling it to act as a
215          standalone AIM client.
216        There is now a zcrypt command
217        Replies to zcrypted messages now work
218        Don't allow zwrite if zephyr isn't present
219        Cleaned up some warnings from linux gcc.
220        Fixed bug that can cause response stuff to crash
221        Improved status command
222        Fixed bug in buddy stuff
223       
2242.0.6
225        aimlogin will now accept the screenname without a password and ask
226           for the password such that it is not echo'd to the terminal
227        'addbuddy aim' and 'delbuddy aim' now work
228        Bug fix to make zwrite -m work with -c/-i
229        Fixed documentation bug in aimwrite
230        Initialze $owl::auth
231        Fix in autoconf for des425
232        Reformatted editwin.c and added capability of doing password-style
233           echoing
234       
2352.0.5
236        Fix in finding des for building zcrypt
237        Fixed description for alert_action variable
238        More detailed usage from -h
239        Special cased replies for webzephyr users on classes and
240          login notifications for webzephyr users
241        Fixed bug that caused a crash on zpunt with '*' for an instance
242        AIM logout and then login now works.
243        Fixed bug causing view -d not to work.
244        Added hostname and tty name to LOGIN/LOGOUT zephyrs on oneline
245          style
246       
2472.0.4
248        Made command line option -n actually work
249        Implemented styles, including the 'default' 'basic' and 'oneline'
250          styles.  A 'perl' style is available if a format_msg() function
251          is found in .owlconf
252        Added the 'default_style' variable
253        Added the 'toggle-oneline' command
254        The 'o' key is bound to 'toggle-oneline'
255        Internally, the one view now has a name, 'main', and message
256          recalcuations are done in place when its filter is changed.
257        Added filter field 'login' which can take the values 'login'
258           'logout' or 'none'
259        Added the perl variable $owl::login, just as above
260        Updated the 'login' and 'trash' filters appropriately
261        Fix for checking for DES in build system
262        Bug fix in using makemsg when no curses window is present
263        The variable $owl::auth now exists in perl
264        Use new internal function to delete zephyr subs from file
265        New 'sepbar_disable' variable can turn off sepbar info display
266        Updated contributor info
267        Added the 'show view' command
268        Bug fix in owl_regex
269        Fixed personal aim messages logging to class directory
270        Log "LOGIN" or "LOGOUT" for AIM buddy messages
271        zwrite -m now correctly displays an outgoing message and logs
272        zwrite -s now works
273        Strip spaces in AIM usernames on aimwrite send
274        Removed libfaim/config.log from CVS
275        Fixed some easy fixed-length buffers
276        Wordwrap incoming AIM messages
277        Fixed bug causing buddies not to be added to buddy list during
278          ingorelogin timer
279        Translate &lt; &gt; &amp; &quot; &nbsp; &ensp, &emsp, &endash and
280           &emdash
281       
2822.0.3
283        Don't ring the terminal bell on mail messages.
284        Nuke <FONT>
285        Make the build work a little better on OSX
286        Fixed a bug in fmtext
287        Expanded the size of the hostname buffer
288       
2892.0.2
290        Fixed bug in 'startup' command.
291
2922.0.1
293        Moved newmsgproc stuff to a function procedure
294        Added the 'newlinestrip' variable, on by default, that strips
295          leading and trailing newlines from incoming messages.
296        Fixed a case sensitivity probelm in owl_message_is_personal and
297           owl_message_is_private
298        The message object now uses a list of attributes internally, in
299          prep. for supporting new messaging protocols
300        owl_function_info now uses fmtext instead of one staticly sized
301          buffer
302        in owl_message_get_cc() require that the colon be present after
303          cc.
304        Added some defenses against resize crashes, and put in debug
305          messages if they're encountered
306        In filters 'true' and 'false' are now valid tokens.
307        The 'all' filter has been redefinied to be 'true' and there is a
308          'none' filter defined as 'false'
309        Fixed bug in 'unsub' command that could cause file corruption
310        In the zlist function, give a more detailed error message if
311          the file cannot be opened.
312        Renamed old instances of zsig_exec in the code to zsigproc
313        Don't print the stderr from zsigproc
314        Added a 'loadloginsubs' command to load login subscriptions from a
315          file
316        Added a 'loadsubs' command to eventually phase out the 'load-subs'
317          command
318        Made M-n work on classes and instances with spaces in them
319        Zaway now obeys the smart strip variable
320        Hacked the build system to not have the -E link problem on Athena
321        Added ZResetAuthentication in a number of places to fix problems
322          with stale tickets
323        Added some hooks for malloc debugging
324        M-p is bound to 'view personal' by default
325        loadsubs and loadloginsubs only print messages if in interactive
326          mode
327        added the 'alert_filter' variable, defaults to 'none'.
328        added the 'alert_action' variable, which is an owl command that
329          will be executed when new messages arive that match the
330          alert_filter
331        added the 'term' command which takes the 'raise' and 'deiconify'
332          options.  It assumes xterm for now.
333        only 'make distclean' will nuke core and ~ files now
334        fixes to owl_function_do_newmsgproc from Stephen
335        converted functions.c to new code style, which I'm giving a shot
336        Makefile.in: define DATADIR, for default owlconf.
337        Makefile.in: provide "all" and "install" rules.
338        configure.in: try also libdes and libkrb4, for people using heimdal
339        configure.in: see if des_ecb_encrypt is already prototyped.
340        configure.in: minor changes to work with new autoconf without needing acconfig.h.
341        configure.in: find the install program.
342        configure.in: test for use_default_colors since some versions of
343          solaris don't have it, so we can at least compile something
344          vaguely working there.
345        keypress.c: ifdefs for keys not defined on at least some solarises.
346        owl.c: don't call use_default_colors if we don't have it
347        readconfig.c: added *commented out* code to try to find a
348          system-default owlconf if the user doesn't have one.  Have to
349          ponder if I want this
350        zcrypt.c: don't prototype des_ecb_encrypt if there is a prototype in
351          des.h.
352        zcrypt.c: include owl.h so we get the configure-generated config.h
353        Change to codelist.pl to deal with new code style
354        Remove some ancient stuff from zcrypt.c
355        General cleanup to Makefile.in
356        CTRL and META are now OWL_CTRL and OWL_META.  OWL_CTRL moved to
357          keypress.c
358        do_encrypt declaired static
359        if we don't have des functions, do not try to build in zcrypt
360        kill the newmsgproc function on exit
361        Added libfaim
362        Added basic AIM support, including the "aimlogin", "aimwrite" and
363           "aimlogout" commands
364        New built-in filters 'aim' and 'zephyr'.
365        Do ZResetAuthentication() before zlog_in and zlog_out as well.
366        Print AIM login / logout notifications
367        The 'alist' command prints a list of aim buddies logged in
368        The 'blist' command prints users from all protocols
369        The 'l' key is now bound to 'blist' instead of 'zlist'
370        Started work on 'addbuddy' and 'delbuddy' command but they DO NOT
371          WORK yet
372        Removed a bit of faim code that allowed commands to be executed.
373        The 'B' key is now bound to 'alist'
374        Added the 'startup' and 'unstartup' commands
375        The $HOME/.owl directory is created on startup if it does not exist
376        Added the 'aim_ingorelogin_timer' variable
377        'addbuddy zephyr <user>' and 'delbuddy zephyr <user>' now work.
378        'isloginout' and 'isprivate' are now message attributes
379        improved 'info' function lists seperate info for zephyr, aim and
380           also prints all message attributes
381        AIM logging (both in and out) now works
382        Disabled 'addbuddy' and 'delbuddy' for aim since it doesn't work yet
383        Hacked the Perl build stuff not to link with iconv
384       
3851.2.8
386        Class pings are displayed differently now
387        Updated owlconf.simple example to format outgoing messages.
388       
3891.2.7
390        Outgoing messages now go through the config for formatting
391        Zaway now makes an outgoing message, instead of an admin message
392        The 'zlocate' command can now handle multiple users
393        The simple user format for "To:" is in effect again
394        Prettyed up the zwrite line for using 'reply' on a zaway
395        Added a workaround for a libzephyr bug that caused zwrites to fail
396          if zephyrs were sent just before and just after renewing tickets
397        Fixed a memory bug in getsubs
398        Added receive support for zcrypt messages
399        Added the 'zcrypt' variable which controls whether or not zcrypt
400          messages are decrypted
401        'reply' is disabled for zcrypt until sending zcrypt works
402        Started implementing zcrypt command
403        More updates to the intro doc
404       
4051.2.6
406        Started adding code for newmsgproc.  It doesn't fully work yet!
407          Don't use it.
408        Added search, '/' and '?' to basic help.
409        Will attempt to keep the current message as close as possible
410             to the previous current message after an expunge.
411        "set <variable>" and "unset <variable>" now work for boolean variables.
412        Fixed a bug in owl_function_calculate_topmsg_normal that caused a
413          segfault
414        Fixed some typos in the intro doc
415        Removed old zlog functions from zephyr.c
416        Implemented the dump command
417        New startup message
418       
4191.2.5
420        Patch to fix memory bug in replying to CC messages
421        If we're on Athena and have static krb (or other) libraries, use
422          them
423        Added "athstatic" program to the release, which handles the above
424        Cast to an int for isspace, to make gcc -Wall quiet
425        Added 'zlist' and 'l' to basic help.
426       
4271.2.4
428        'zlog in' will now take an optional thrid argument to set the
429             'tty' variable before setting the zlocation
430        There is now a 'zlist' command that acts like 'znol -l'
431        'l' is bound to 'zlist'
432        Fixed memory leak uninitialzed memory read in fmtext
433        viewwin will now say "End" instead of "More" when at the end
434        Added a debugging message indicating the result of topmsg
435          calculations
436        You can now use %me% in filters
437        The built-in personal filter is updated to do so
438        Fixed a bug in moving the pointer after an expunge
439        Fixed up the normal scrolling code.  Now it should always
440          land on a message, but it's still not optimal.
441        Added the variable 'smartstrip' which will strip kerberos
442          instances out for the 'reply' command.
443        Added -R/usr/athena/lib to the build for Athena
444        Started updating the intro document
445        Small changes to help / about
446        The 'subscribe' and 'unsubscribe' commands (and their aliases) now
447          update .zephyr.subs by default.  If either is given the '-t'
448          (for "temporary") option the .zephyr.subs will not be updated
449        Turned off beeping for hitting the top or bottom of the list of
450          messages
451        Made daemon.webzephyr a special case for smartstrip
452        Added 'out' as a default filter for outgoing messages
453       
4541.2.3
455        Added filters "ping", "auto" and "login" by default.
456        Added "body" as a valid field to match on in a filter.
457        Temporary fix to bug where C-SPACE would cause the key handler to
458             lock up.
459        Messages now have a direciton (in, out or none).  Filters can
460             match on this direction
461        Outbound messages are no longer type 'admin' but are of the
462             appropriate message type (i.e. 'zephyr') and are direction
463             'out'.
464        Smartnarrow now works on outgoing messages
465        'info' updated to show more information for admin and outgoing
466             messages
467        Renamed pretty_sender to short_zuser and renamed long_sender to
468             long_zuser
469        Moved zsig generation to the zwrite object
470        Print the zsig used for outgoing messages
471        The tty variable now controls the zephyr location tty name
472       
4731.2.2
474        Added the 'search' command.
475        '/' is a keybinding for 'search'
476        '?' is a keybinding for 'search -r'
477        Fixed stristr, which was completely broken
478        renamed owl_fmtext_ztext_stylestrip to owl_function_ztext_styletsrip
479             and put it in functions.c
480        Attempts to stay near the current message when switching views.
481             When switching from an empty view to one we've previously
482             been in, the new current message position will attempt
483             to be close to the current position from the last
484             time we visited that view.
485        Fixed bug in readconfig.c that prevented building under perl 5.005.
486        Switched "C-x C-x" to only "startcommand quit"
487        'getsubs' prints closer to the order you sub in.
488        Modified the behavior of last so that "> >" will clear the screen.
489        The new behavior of last is:
490              Moves the pointer to the last message in the view.
491              If we are already at the last message in the view,
492              blanks the screen and moves just past the end of the view
493              so that new messages will appear starting at the top
494              of the screen.
495        Fixed a typo in the help for smartzpunt.
496        Fixed functions to handle curmsg being past the end of the view.
497
4981.2.1
499        New framework for command handling.
500        New framework for keymap handling.
501        Added commands for everything that is bound
502             to a key (do 'show commands' to get the full list).
503        Added 'multi' and '(' commands to allow multiple commands
504             to be specified on a line.             
505        Added user keybindings with bindkey command.
506        Added command aliases (eg, "alias foo bar").
507        Added undelete command that parallels the delete command.
508        Added additional options to delete command.
509        The reply command now takes arguments.
510        Added 'edit:insert-text' command.
511        Added 'show zpunts' to show active punt filters.
512        Added 'show variable <name>' and 'show variables'.
513        Added 'show command <name>' and 'show commands'.
514        Added 'show keymap <name>' and 'show keymaps'.
515        Added 'M-u' to undelete all messages in current view.
516        Fixed dotsend so that the zephyr will still send if there
517             is whitespace after the dot but not on the same line.
518             This should resolve an issue where dotsend wouldn't work
519             if you'd gone up and edited a zephyr.
520        Bug in page down fixed
521        C-t will transpose characters
522        Fix the scrolling bug where we would sometimes fail to scroll
523             the screen down, leaving the current message off
524             the bottom of the screen.
525        Refixed 'login or login' typo in help
526        Fixed M-u description
527        Removed 'first' and 'last' from basic command help
528        Added M-N to basic key help
529        Added M-D, M-u to basic key help
530        Fixed a quoting problem in configure.in
531        Changed top of help to use 'show' instead of M-x
532        Fixed a bug in the summary field for user-created aliases
533        Added "reply zaway" which sends a zaway response to the current msg.
534        Added "edit:delete-prev-word" command and bound M-BACKSPACE to it.
535        Some buffer overruns fixed
536        Variables now have a summary and a long description.
537                Only the summary is shown with help.
538                The long description is shown with "show variable foo".
539        Added a 'scrollmode' variable which determines how the screen
540             will scroll as the cursor moves.  The default behaves
541             identically to previous versions of owl.
542             The following modes are supported:
543             normal      - This is the owl default.  Scrolling happens
544                           when it needs to, and an attempt is made to
545                           keep the current message roughly near
546                           the middle of the screen.  (default)
547             top         - The current message will always be the
548                           the top message displayed.
549             neartop     - The current message will be one down
550                           from the top message displayed,
551                           where possible.
552             center      - An attempt is made to keep the current
553                           message near the center of the screen.
554             paged       - The top message displayed only changes
555                           when user moves the cursor to the top
556                           or bottom of the screen.  When it moves,
557                           the screen will be paged up or down and
558                           the cursor will be near the top or
559                           the bottom.
560             pagedcenter - The top message displayed only changes
561                           when user moves the cursor to the top
562                           or bottom of the screen.  When it moves,
563                           the screen will be paged up or down and
564                           the cursor will be near the center.
565        Added owl_sprintf which returns the formatted string, or NULL.
566                The caller must free this string.
567                This will allocate enough memory and thus
568                avoid potential some buffer overrun situations.
569        Simple implementation of 'zwrite -m' (doesn't yet log an outgoing
570                message as having been sent.)
571        The "Not logged in or subscribing to messages" error
572                now includes the name of the recipient.
573        The "disable-ctrl-d" variable may also be set to "middle"
574                which will result in ctrl-d only sending at the
575                end of the message.  This is now the default.
576                This also added a command "editmulti:done-or-delete".
577        Fixed a bug in the "reply -e" command.
578        Always clear the command buffer before executing the command.
579                (So that interactive commands can sanely do start-command.)
580        Fixed preservation of e->dotsend across owl_editwin_clear().
581        Added history for multiline edit windows (eg, for zephyr composition).
582                The M-n and M-p keys will cycle through the history ring.
583                In particular, it is now possible to edit the command line
584                of a zephyr being composed:  C-c it and restart it
585                and then M-p to get the aborted composition back.
586        Added owl::send_zwrite(command, message) to the perl glue
587                to allow for the direct sending of multi-line messages.
588                For example:  owl::send_zwrite("-c foo -i bar", "hello");
589        Changed owl_fmtext_print_plain to return an alloc'd string to
590                avoid buffer overrun risks.
591        Added owl::ztext_stylestrip("...") function to perlglue
592                 which returns the ztext with formatting stripped out.
593        Added colorztext variable which can be used to disable @color()
594                 strings arriving in messages after it is set.
595                 (Currently, changing its value won't reformat messages).
596        Outgoing zephyr logging now obeys the logpath variable.
597        The '~' character in logpath and classlogpath now gets
598                 replaced with the user's home directory.
599        Added simple implementation of smartnarrow-to-admin that
600                 creates a "type-admin" autofilter.
601                 This was done mostly so that M-C-n and M-C-p do something
602                 sane on admin messages.
603        Added opera to the allowed options to the webbrowser variable.
604        Fixed some buffer overruns in the "reply" command.
605        When repying to "all" on a message that begins with "CC:" (eg, sent
606                 with "zwrite -C", the reply line will be constructed
607                 from the sender and the usernames on the CC: line
608                 of the message being replied to.
609        There is no such thing as C-R, so left C-r as it is but added:
610                 M-r --- edit reply to all
611                 M-R --- edit reply to sender
612        Added RCS Id strings to all files.
613        'show keymaps' shows details of all keymaps after summary list.
614        Added --no-move option to delete command.
615                In particular, delete-and-always-move-down may now
616                be implemented with
617                '( delete --no-move ; next --skip-deleted )'.
618        Folded the nextmsg and prevmsg commands and functions together into
619                one command which takes arguments.
620                Added '--filter <name>' option (eg, for next_personal),
621                '--skip-deleted' option, and
622                '--last-if-none'/'--first-if-none' options.
623                Help updated accordingly. 
624                In particular, the 'personal' filter is now used
625                for 'next personal'. 
626                Added --smart-filter and --smart-filter-instance options
627                to the next and prev commands.
628        Updated examples/owlconf.erik with the above.
629        Made owl_function_fast*filt return a string and not do the
630                narrowing, to make it more general.
631        Added a smartfilter command that creates a filter
632                based on the current message and returns the name
633                of the filter.
634        Added M-C-n and M-C-p keybindings to "move to next message
635                matching current" and "move to previous message
636                matching current"
637        Added variables edit:maxfillcols and edit:maxwrapcols which
638                will limit how wide editing paragraphs may get before
639                they get wrapped.  This is a max and may be narrower
640                depending on the current size of the window.
641                If 0, the max is unlimited.  Default is 70 columns for
642                edit:maxfillcols and unlimited for edit:maxwrapcols.
643        Added smartzpunt command with key binding of "C-x k".
644                This starts a zpunt command filled in with
645                the proposed zpunt.
646        Fixed a memory reference bug in delete and undelete commands.
647        Added support for perl to call directly back into owl.
648        Changed the implementation of owl::command("...") to immediately
649                call back into owl.  This allows perl to get the return
650                value of strings returned by owl commands.
651        Added the getview command which returns the name of the current
652                view's filter. 
653        Added the getvar command which returns the value of a variable.
654        Added an example to examples/owlconf.erik which uses TAB to
655                narrow and restore the view. 
656        Added an example to examples/owlconf.erik which uses M-c to
657                color messages matching the current one green.
658        Integrated change to fix problem with popup blinking on new zephyrs.
659        C-l and resizes will now refresh an open viewwin (eg, help).
660        Updated doc/code.txt to include info about filters, commands,
661                contexts, and keybindings.
662        Exec commands cleaned up to not have buffer-size limitations
663                and to not mess up spaces.  exec also returns a string
664                of the output now.
665        Integrated changes from 1.1.3, and added docs for "zlocate -d"
666                and new show commands.
667        Show with arguments produces help on show.
668        Fix a bug in readconfig caught by efence (where we'd try to read before
669                the beginning of a string if it was empty).
670        The perl command doesn't do makemsg directly, but instead
671             returns the string and it will get printed if it
672             was run interactively.
673       
6741.1.3
675        'show subs' and 'show subscriptions' are now the same as 'getsubs'
676        zlocate now takes an optional -d argument
677        'show terminal' / 'show term'
678        '>' / last doesn't set the last message at the top of the screen now
679        implemented _followlast as an unsupported feature
680        include 'default' in the 'show colors' list
681        added help for 'zpunt' and 'zunpunt'
682        changed the bug address in the startup message
683        can now do 'show status'
684        can now do 'show version'
685        'status' / 'show status' includes the owl version number now
686        'show terminal' includes whether the terminal can change colors
687        fixed off by one bugs in paging / scrolling viewwin
688        don't downcase the sender when getting the log name for personals
689        support @owl::fields as well as @fields
690        downcase class/inst filter names in auto filters
691
6921.1.2
693        Fixed memory mishandling bug
694        Fixed bug in redfining the filter attached to the current view
695        M-n will narrow to message, instance on non-personal, class
696             MESSAGE messages
697        M-N behavies like M-n except that on class messages it narrows
698            to class and instance
699        line wrap earlier, to account for tabbing
700        fixed typo in help
701        'status' command now displays info on terminal color support
702        zephyr @ formatting is now case independant
703        added support for color terminals
704        zephyr @color(foo) now works
705        'D' for deleted messages is now not bold, unless it's the current
706          message
707        F1 displays the help screen
708        added filter colors
709        added the 'colorview' command
710        added the 'show colors' command
711        users who don't have a .zephyr.subs get a simpler format for
712          incoming messages
713        If colors are available 'show filters' will show a filter in the
714          color associated with it.
715        Added the zpunt and zunpunt commands
716        Lines in the subs file starting with '-' are zpunted
717        Include login/logout messages in auto user filters
718        'V' changes to the home view ('all' by default)
719       
7201.1.1
721        Fixed perl, aperl, and pperl commands to deal with quoting
722              and spaces in a saner manner.
723        Removed all owl_get_* methods for booleans and switched
724              cases where they were used to owl_is_*
725        Changes to owlconf.erik to use some new features.
726        Increased the size of the help buffer (as it
727              was overflowing and truncating the help message).
728        Variables prefixed with a _ are not shown in help
729              or by printallvars (and prefixed Not Yet Implemented
730              variables with this).
731        Fix typo in help
732        include stdio.h in functions.c
733        remove stale "q to quit" from bottom of info message
734        fix downward scrolling more than a page
735        use authentication for zlocate, by default
736        fixed buffer over run in info command on long messages
737        call 'perl <file>' from Makefile to avoid hardcoding perl paths
738        in Makefile don't build owl_prototypes.h unless necessary
739        store the time for admin messages
740        display admin message time in 'info' command
741        fixed an editwin M-> last character bug
742               
7431.1
744        reply is a normal function now
745        'R' does reply to sender
746        'T' tells you how many messages were marked for deletion
747        local realm removed from login / logout messages
748        added command history
749        better runtime / starttime reporting in 'status' command
750        leave the pointer near the current message after expunge
751        C-l recenters editwin
752        implemented zlocate
753        @italic works the same as @i
754        on reply only quote class / instance when necessary
755        C-r allows you to edit the reply line
756        don't use unecessary options in reply line
757        display 'info' errors in msgwin, not popup
758        impelemnted aexec, pexec commands
759        the zsig now goes through ztext formatting
760        messages have id numbers now
761        'info' prints the msgid
762        added the 'filter' command
763        added the 'view' command
764        added the 'show filter' command
765        added the 'viewclass' (and 'vc') commands
766        added the 'viewuser' (and 'vu') commands
767        M-n will filter to the current class or user
768        'v' starts a view command
769        M-D will delete all messages in current view
770        added the 'delete' (and 'del') command
771        load-subs with no argument loads the default subs file
772        '<truncated>' is now when the *current* message is truncated
773        the reply-lockout filter (with default) specifices messages that
774           cannot be replied to.
775        in the configfile owl::receive_msg is run whenever a message is
776          received
777        added the beep command
778        added the contributors file
779        declare ZGetSubscriptions and ZGetLocations since the includes
780          don't seem to
781        fixed bug in displaying last line in popwin if no final '\n'
782        'T' uses the 'trash' filter now
783        zaway_msg, zaway_msg_default and zaway are all user variables now.
784        zsig variable overrides zsigproc
785        If there's no appendtosepbar don't interfear with the sepbar
786        Changed: owl_message_get_numlines will return 0 of m is NULL
787        Added login messages to messages marked by owl_function_delete_automsgs
788        Added owl_function_delete_by_id(id) which acts independent of view
789        Added "-id <id>" option to delete command
790        Fixed an arg checking bug in delete command
791        Added owl::id to perl namespace with message id
792        Fixed a memory corruption bug in readconfig.c (where right
793              after the strdup to "out", we'd strcat a \n onto the end.
794              This would be triggered whenever owl::format_msg returned
795              a string not ending in a newline
796        Added 'X' keybinding which expunges and then switches to
797              a view defined by the variable "view_home" which defaults
798              to "all"
799        Consolidated readconfig.c somewhat to remove duplication.
800              owl_config_execute now returns a string.
801        Added an example config file that does vt-style formatting.
802              (examples/owlconf.vtformat)
803        Added the 'perl', 'aperl', and 'pperl' commands which will
804              evaluate perl expressions.
805        Fixed bug where pclose zsigproc would cause zombies
806        Can set zsigproc or zsig to "" to disable
807        Added support for multiple browsers (galeon and none were added).
808              Configure with the "webbrowser" variable.
809        Changing typewinsize height triggers resize event.
810        Added zsig variable which will be used if no zsigproc and non-empty.
811        Added "make test" rule to Makefile which will run regression tests,
812              and added regression testing framework to tester
813        Fixed codelist.pl to ignore static declarations.
814        Added dict.c which contains string->ptr dictionary routines
815              and the owl_dict type.
816              These include regression tests.
817        Overhaul/rewrite of variable handling.  Variables are now managed
818              in an owl_vardict (in g.vars) which contains a dictionary
819              of owl_variable's.  Each owl_variable has dispatch functions
820              for validating values, setting it and getting it,
821              and for setting it to and from string values.
822              The variable.c file contains the list of variables.
823              Stubs for the owl_global_<varname>_get functions and friends
824              are generated from variable.c by stubgen.pl.
825              The help.c messages for variables now calls into variable.c
826              so all information about most variables is in one place.   
827        Cleaned out code from global.c and command.c that was made obselete
828              by variable overhaul.
829        The set command now takes a -q option to not log a message.
830        Fixed a bug where set and print with no arguments would
831              print "Undefined variable" in addition
832              to running owl_function_printallvars.
833        debug is now a variable that can be turned on and off.
834        Fixed mail,inbox message parsing in examples/owlconf.erik
835        Made zaway_msg and zaway_msg_default into variables
836        Changed owl_function_makemsg and owl_function_debugmsg
837               to use varargs (ie, so they can now take a format
838               string with args).
839        Don't allow " and \ characters in URLs with the "w" command.
840        Removed lots of build warnings.
841        Popwins are wider by default so help messages fit better.
842        Added an atokenize_free function.
843        Fixes to work with an older version of libzephyr.
844        Added dependencies on header files to Makefile.in
845        Added pageup and pagedown key bindings to message list
846        Added pageup and pagedown to viewwin
847        Added configfile section to doc/intro.txt (from example config file)
848        Added appendtosepbar variable which may contain text which will
849              be appended to the sepbar.  This allows the configfile
850              to put information about pings and logins into
851              the sepbar.  (It may be worth also providing a variable
852              which enables this by default, but for now this allows
853              for experimenting with what works well.)
854        Added doc/code.txt which gives a brief overview of the code.
855        Added tags makefile rule and added TAGS to distclean rule.
856       
8571.0.1
858        fix frees in loadsubs and loadloginsubs
859        don't return in owl_free
860       
8611.0
862        'print' and 'set' with no arguments prints all variables
863        Added the 'unsubscribe' and 'unsub' command
864        Renamed the 'unsub' command to 'unsuball'
865        Added the 'getsubs' command which is like zctl ret
866        Fixed bug in logging messages sent to more than one recipient
867        Support '-C', '-O', and '-n' options to zwrite
868        Fixed bug in owl_editwin_delete_char when there are no later chars
869          after the cursor
870        Make "more" and "truncated" work in the status bar
871        enable printing of zsigproc and loginsubs variables
872        only allow message scrolling if the message is actually off the
873          screen
874        'T' will mark all automated message for deletion
875        'P' will go to the next personal message
876        'M-P' will go to the previous personal message
877        replying to a login message goes to the user now
878        added a status command
879        added the intro doc to the release
880        fixed off by one bug in viewwin
881        added complete online help
882        pass $owl::realm in configfile
883        fixed editwin wordwrapping on the last line
884        fixed editwin problem with key_right past the last char
885        print an error and quit if the configfile can't be parsed
886        got rid of owl_mainwin_calculate_topmsg
887        fixed off by one error in calculating topmsg upwards
888        you can now reply to an admin message
889        don't display an error about keypress on window resize
890       
8910.11
892        fixed bug in viewing messages longer than the screen
893        indicate in the sepbar if there is a non zero vert offset
894        send on '.' on a line by itself
895        added disable-ctrl-d variable
896        fixed bug where C-k did not delete the last \n in the buffer
897        make non-character meta keys work
898        use ZSendNotice instead of ZSendList
899        implemented <, >, M-< and M-> in viewwin
900        removed the spaces at the bottom of viewwin
901        added 'about' command
902        fixed bug using 'M' with no current message
903        changed message object to use char *'s to save on memory
904        change malloc, realloc, strdup and free to use owl hooks so that
905           debugging can be added
906               
9070.10.1
908        fixed a trailing space bug in the parser
909        impelemented the "burning ears" feature
910        have admin messages do ztext parsing
911        fixed bug in reporting which M- key was pressed
912        C-g will now cancel commands like C-c
913       
9140.10
915        implemented owl_function_full_redisplay().
916        C-l uses owl_function_full_redisplay().
917        when a popwin exists to a full redisplay.  (fixes bug)
918        improved the owl_editwin_process_char logic
919        removed all unnecessary wrefresh's and replaced with wnoutrefesh
920        owl_editwin_redisplay now takes an argument to optionally doupdate()
921        improved the cut-and-paste speed by not doing a usleep the first
922          time through the loop after getting a keypress.
923        nuked typwin.c and associated stuff.  It's useless now.
924        added viewwin code for paging windows
925        curly braces work for zephyr formatting
926        @i in zephyr formatting will be displayed as underlined text
927        turned off idlok
928        implemented viewwin
929        implemented viewwi in popwin for pageable popwins
930        help, info now use pageable popwins
931        bound 'M' to bring the current message up in a popwin
932        return, space bar, 'b' and backspace now scroll within a message
933        turned off resize message
934        C-v and M-v page the main window
935        implemented owl_message_is_mail
936        some build cleanup
937
938       
9390.9
940        added owl_message_is_personal and have things use it
941        added owl_message_is_private
942        fixed 'print personalbell' and have 'set personalbell'
943           print a message
944        bold only on message_is_personal
945        display the realm if not local
946        implemented M-f, M-b, M-d, M-<, M-> in editwin
947        implemnted word wrapping in editwin
948        implemented M-q (paragraph-fill) in editwin
949        fixed bug that caused owl to segfault logging a 'weird' class
950        M-x is a keysym for ':'
951        added smart bolding and userclue
952        fixed a bug causing pings to beep even if rxping is off
953       
9540.8.1
955        fixed bug in logging code
956       
9570.8
958        implemented personal logging
959        implemented class logging
960        implemented resize of typewin
961        fixed the backspace problem
962        -v command line option prints the version number
963       
9640.7
965        load-subs will report error opening file
966        skip comment lines in loadsubs and loadloginsubs
967        changed internal references to rxping and txping
968        fix replying to a blank instance
969        added subscribe command
970        subscribe to login messages from .anyone by default
971        'loginsubs' variarble controlls automated login messages
972        redisplay the editwin after a resize
973        leave the cursor in the editwin if active
974        fix problems in the build system
975        added displayoutgoing variable
976        temporarily removed error printing for zlog in / out
977       
9780.61
979        fixed bug in "message sent to <foo>" for zwrite
980       
9810.6
982        help updated
983        zaway key set to caps A
984        support zephyring other realms
985        rxping variable for receiving pings
986        txping variable for sending pings
987        function in place to resize typwin
988        C-l to refresh
989        personal bell variable
990        beta message now an admin message
991       
9920.5
993        Added the debug command and flag
994        Fixed bug in printing fields in info command
995        Added owl_fmtext_append_ztext and use it
996        Better formating for pings and login zephyrs
997        make tester depends on proto
Note: See TracBrowser for help on using the repository browser.