$Id$ 2.0.11-pre-1 Updated basic help Display CC: in outgoing CC messages More AIM logout detection Don't proclaim "interfaces changed" on first build. 2.0.10 Allow 'hostname' in filters. Fixed bug in reporting when no one is subbed to a class Added an extral newline in logging incoming zephyrs An admin message is displayed when you are logged out of AIM Print an error message and admin message if an AIM send fails 2.0.9 Added the 'fancylines' variable. Added the 'show startup' command. Added feature for capturing stderr messages from commands and displaying them in the errors buffer. Create an admin message explaning that a zephyr couldn't be sent Better reporting of perl errors (both into the errqueue and also clearing the error after displaying it). Allow default_style to be specified in config. Added errqueue Added command "show errors" Fixed bug removing newlines in backup files 2.0.8 Increased size of screen name field in buddy listing Fixed bug with idle times causing broken pipes. New libfaim Added the 'source' command. Make sure that a newline is always at the end of messages returned by perl style formatting functions. Add owl::login and owl::auth to legacy variables populated for format_msg. Additions to intro.txt and advanced.txt documents. (Still in progress.) Add base methods for login_host and login_tty and others that return undef. New API for perl message formatting functions. Legacy variables are still supported for owl::format_msg and owl::receive_msg, but these functions are now also passed an owl::Message object which contains methods for accessing the contents of the message. See perlwrap.pm (and docs TBD) for the available methods. *** WARNING: The exact API for owl::Message has *** not yet stabilized. Added "style" command for creating new styles. Usage: style perl Added support for "show styles". Changed global style table from list to dictionary. Changed AIM password prompt from "Password:" to "AIM Password:". Messages are reformatted after a window resize to allow styles to take into account the width of the window. When perl throws an error, the message is put in the msgwin if possible. Added perl functions for: owl::getcurmsg() -- returns an owl::Message object for the active message in the current view. owl::getnumcols() -- returns the column width of the window owl::zephyr_getrealm() -- returns the zephyr realm owl::zephyr_getsender() -- returns the zephyr sender Made owl::COMMAND("foo"); be syntactic sugar for owl::command("COMMAND foo"); Added perlwrap.pm to contain perl code to be compiled into the binary. This is transformed into perlwrap.c by encapsulate.pl. Renamed readconfig.c to perlconfig.c and changed variables accordingly. Minor bugfixes in cmd.c and commands.c Improved intro doc 2.0.7 Idletimes now appear in the buddylisting Failed AIM logins are now correctly reported Owl will build now without zephyr, enabling it to act as a standalone AIM client. There is now a zcrypt command Replies to zcrypted messages now work Don't allow zwrite if zephyr isn't present Cleaned up some warnings from linux gcc. Fixed bug that can cause response stuff to crash Improved status command Fixed bug in buddy stuff 2.0.6 aimlogin will now accept the screenname without a password and ask for the password such that it is not echo'd to the terminal 'addbuddy aim' and 'delbuddy aim' now work Bug fix to make zwrite -m work with -c/-i Fixed documentation bug in aimwrite Initialze $owl::auth Fix in autoconf for des425 Reformatted editwin.c and added capability of doing password-style echoing 2.0.5 Fix in finding des for building zcrypt Fixed description for alert_action variable More detailed usage from -h Special cased replies for webzephyr users on classes and login notifications for webzephyr users Fixed bug that caused a crash on zpunt with '*' for an instance AIM logout and then login now works. Fixed bug causing view -d not to work. Added hostname and tty name to LOGIN/LOGOUT zephyrs on oneline style 2.0.4 Made command line option -n actually work Implemented styles, including the 'default' 'basic' and 'oneline' styles. A 'perl' style is available if a format_msg() function is found in .owlconf Added the 'default_style' variable Added the 'toggle-oneline' command The 'o' key is bound to 'toggle-oneline' Internally, the one view now has a name, 'main', and message recalcuations are done in place when its filter is changed. Added filter field 'login' which can take the values 'login' 'logout' or 'none' Added the perl variable $owl::login, just as above Updated the 'login' and 'trash' filters appropriately Fix for checking for DES in build system Bug fix in using makemsg when no curses window is present The variable $owl::auth now exists in perl Use new internal function to delete zephyr subs from file New 'sepbar_disable' variable can turn off sepbar info display Updated contributor info Added the 'show view' command Bug fix in owl_regex Fixed personal aim messages logging to class directory Log "LOGIN" or "LOGOUT" for AIM buddy messages zwrite -m now correctly displays an outgoing message and logs zwrite -s now works Strip spaces in AIM usernames on aimwrite send Removed libfaim/config.log from CVS Fixed some easy fixed-length buffers Wordwrap incoming AIM messages Fixed bug causing buddies not to be added to buddy list during ingorelogin timer Translate < > & "   &ensp, &emsp, &endash and &emdash 2.0.3 Don't ring the terminal bell on mail messages. Nuke Make the build work a little better on OSX Fixed a bug in fmtext Expanded the size of the hostname buffer 2.0.2 Fixed bug in 'startup' command. 2.0.1 Moved newmsgproc stuff to a function procedure Added the 'newlinestrip' variable, on by default, that strips leading and trailing newlines from incoming messages. Fixed a case sensitivity probelm in owl_message_is_personal and owl_message_is_private The message object now uses a list of attributes internally, in prep. for supporting new messaging protocols owl_function_info now uses fmtext instead of one staticly sized buffer in owl_message_get_cc() require that the colon be present after cc. Added some defenses against resize crashes, and put in debug messages if they're encountered In filters 'true' and 'false' are now valid tokens. The 'all' filter has been redefinied to be 'true' and there is a 'none' filter defined as 'false' Fixed bug in 'unsub' command that could cause file corruption In the zlist function, give a more detailed error message if the file cannot be opened. Renamed old instances of zsig_exec in the code to zsigproc Don't print the stderr from zsigproc Added a 'loadloginsubs' command to load login subscriptions from a file Added a 'loadsubs' command to eventually phase out the 'load-subs' command Made M-n work on classes and instances with spaces in them Zaway now obeys the smart strip variable Hacked the build system to not have the -E link problem on Athena Added ZResetAuthentication in a number of places to fix problems with stale tickets Added some hooks for malloc debugging M-p is bound to 'view personal' by default loadsubs and loadloginsubs only print messages if in interactive mode added the 'alert_filter' variable, defaults to 'none'. added the 'alert_action' variable, which is an owl command that will be executed when new messages arive that match the alert_filter added the 'term' command which takes the 'raise' and 'deiconify' options. It assumes xterm for now. only 'make distclean' will nuke core and ~ files now fixes to owl_function_do_newmsgproc from Stephen converted functions.c to new code style, which I'm giving a shot Makefile.in: define DATADIR, for default owlconf. Makefile.in: provide "all" and "install" rules. configure.in: try also libdes and libkrb4, for people using heimdal configure.in: see if des_ecb_encrypt is already prototyped. configure.in: minor changes to work with new autoconf without needing acconfig.h. configure.in: find the install program. configure.in: test for use_default_colors since some versions of solaris don't have it, so we can at least compile something vaguely working there. keypress.c: ifdefs for keys not defined on at least some solarises. owl.c: don't call use_default_colors if we don't have it readconfig.c: added *commented out* code to try to find a system-default owlconf if the user doesn't have one. Have to ponder if I want this zcrypt.c: don't prototype des_ecb_encrypt if there is a prototype in des.h. zcrypt.c: include owl.h so we get the configure-generated config.h Change to codelist.pl to deal with new code style Remove some ancient stuff from zcrypt.c General cleanup to Makefile.in CTRL and META are now OWL_CTRL and OWL_META. OWL_CTRL moved to keypress.c do_encrypt declaired static if we don't have des functions, do not try to build in zcrypt kill the newmsgproc function on exit Added libfaim Added basic AIM support, including the "aimlogin", "aimwrite" and "aimlogout" commands New built-in filters 'aim' and 'zephyr'. Do ZResetAuthentication() before zlog_in and zlog_out as well. Print AIM login / logout notifications The 'alist' command prints a list of aim buddies logged in The 'blist' command prints users from all protocols The 'l' key is now bound to 'blist' instead of 'zlist' Started work on 'addbuddy' and 'delbuddy' command but they DO NOT WORK yet Removed a bit of faim code that allowed commands to be executed. The 'B' key is now bound to 'alist' Added the 'startup' and 'unstartup' commands The $HOME/.owl directory is created on startup if it does not exist Added the 'aim_ingorelogin_timer' variable 'addbuddy zephyr ' and 'delbuddy zephyr ' now work. 'isloginout' and 'isprivate' are now message attributes improved 'info' function lists seperate info for zephyr, aim and also prints all message attributes AIM logging (both in and out) now works Disabled 'addbuddy' and 'delbuddy' for aim since it doesn't work yet Hacked the Perl build stuff not to link with iconv 1.2.8 Class pings are displayed differently now Updated owlconf.simple example to format outgoing messages. 1.2.7 Outgoing messages now go through the config for formatting Zaway now makes an outgoing message, instead of an admin message The 'zlocate' command can now handle multiple users The simple user format for "To:" is in effect again Prettyed up the zwrite line for using 'reply' on a zaway Added a workaround for a libzephyr bug that caused zwrites to fail if zephyrs were sent just before and just after renewing tickets Fixed a memory bug in getsubs Added receive support for zcrypt messages Added the 'zcrypt' variable which controls whether or not zcrypt messages are decrypted 'reply' is disabled for zcrypt until sending zcrypt works Started implementing zcrypt command More updates to the intro doc 1.2.6 Started adding code for newmsgproc. It doesn't fully work yet! Don't use it. Added search, '/' and '?' to basic help. Will attempt to keep the current message as close as possible to the previous current message after an expunge. "set " and "unset " now work for boolean variables. Fixed a bug in owl_function_calculate_topmsg_normal that caused a segfault Fixed some typos in the intro doc Removed old zlog functions from zephyr.c Implemented the dump command New startup message 1.2.5 Patch to fix memory bug in replying to CC messages If we're on Athena and have static krb (or other) libraries, use them Added "athstatic" program to the release, which handles the above Cast to an int for isspace, to make gcc -Wall quiet Added 'zlist' and 'l' to basic help. 1.2.4 'zlog in' will now take an optional thrid argument to set the 'tty' variable before setting the zlocation There is now a 'zlist' command that acts like 'znol -l' 'l' is bound to 'zlist' Fixed memory leak uninitialzed memory read in fmtext viewwin will now say "End" instead of "More" when at the end Added a debugging message indicating the result of topmsg calculations You can now use %me% in filters The built-in personal filter is updated to do so Fixed a bug in moving the pointer after an expunge Fixed up the normal scrolling code. Now it should always land on a message, but it's still not optimal. Added the variable 'smartstrip' which will strip kerberos instances out for the 'reply' command. Added -R/usr/athena/lib to the build for Athena Started updating the intro document Small changes to help / about The 'subscribe' and 'unsubscribe' commands (and their aliases) now update .zephyr.subs by default. If either is given the '-t' (for "temporary") option the .zephyr.subs will not be updated Turned off beeping for hitting the top or bottom of the list of messages Made daemon.webzephyr a special case for smartstrip Added 'out' as a default filter for outgoing messages 1.2.3 Added filters "ping", "auto" and "login" by default. Added "body" as a valid field to match on in a filter. Temporary fix to bug where C-SPACE would cause the key handler to lock up. Messages now have a direciton (in, out or none). Filters can match on this direction Outbound messages are no longer type 'admin' but are of the appropriate message type (i.e. 'zephyr') and are direction 'out'. Smartnarrow now works on outgoing messages 'info' updated to show more information for admin and outgoing messages Renamed pretty_sender to short_zuser and renamed long_sender to long_zuser Moved zsig generation to the zwrite object Print the zsig used for outgoing messages The tty variable now controls the zephyr location tty name 1.2.2 Added the 'search' command. '/' is a keybinding for 'search' '?' is a keybinding for 'search -r' Fixed stristr, which was completely broken renamed owl_fmtext_ztext_stylestrip to owl_function_ztext_styletsrip and put it in functions.c Attempts to stay near the current message when switching views. When switching from an empty view to one we've previously been in, the new current message position will attempt to be close to the current position from the last time we visited that view. Fixed bug in readconfig.c that prevented building under perl 5.005. Switched "C-x C-x" to only "startcommand quit" 'getsubs' prints closer to the order you sub in. Modified the behavior of last so that "> >" will clear the screen. The new behavior of last is: Moves the pointer to the last message in the view. If we are already at the last message in the view, blanks the screen and moves just past the end of the view so that new messages will appear starting at the top of the screen. Fixed a typo in the help for smartzpunt. Fixed functions to handle curmsg being past the end of the view. 1.2.1 New framework for command handling. New framework for keymap handling. Added commands for everything that is bound to a key (do 'show commands' to get the full list). Added 'multi' and '(' commands to allow multiple commands to be specified on a line. Added user keybindings with bindkey command. Added command aliases (eg, "alias foo bar"). Added undelete command that parallels the delete command. Added additional options to delete command. The reply command now takes arguments. Added 'edit:insert-text' command. Added 'show zpunts' to show active punt filters. Added 'show variable ' and 'show variables'. Added 'show command ' and 'show commands'. Added 'show keymap ' and 'show keymaps'. Added 'M-u' to undelete all messages in current view. Fixed dotsend so that the zephyr will still send if there is whitespace after the dot but not on the same line. This should resolve an issue where dotsend wouldn't work if you'd gone up and edited a zephyr. Bug in page down fixed C-t will transpose characters Fix the scrolling bug where we would sometimes fail to scroll the screen down, leaving the current message off the bottom of the screen. Refixed 'login or login' typo in help Fixed M-u description Removed 'first' and 'last' from basic command help Added M-N to basic key help Added M-D, M-u to basic key help Fixed a quoting problem in configure.in Changed top of help to use 'show' instead of M-x Fixed a bug in the summary field for user-created aliases Added "reply zaway" which sends a zaway response to the current msg. Added "edit:delete-prev-word" command and bound M-BACKSPACE to it. Some buffer overruns fixed Variables now have a summary and a long description. Only the summary is shown with help. The long description is shown with "show variable foo". Added a 'scrollmode' variable which determines how the screen will scroll as the cursor moves. The default behaves identically to previous versions of owl. The following modes are supported: normal - This is the owl default. Scrolling happens when it needs to, and an attempt is made to keep the current message roughly near the middle of the screen. (default) top - The current message will always be the the top message displayed. neartop - The current message will be one down from the top message displayed, where possible. center - An attempt is made to keep the current message near the center of the screen. paged - The top message displayed only changes when user moves the cursor to the top or bottom of the screen. When it moves, the screen will be paged up or down and the cursor will be near the top or the bottom. pagedcenter - The top message displayed only changes when user moves the cursor to the top or bottom of the screen. When it moves, the screen will be paged up or down and the cursor will be near the center. Added owl_sprintf which returns the formatted string, or NULL. The caller must free this string. This will allocate enough memory and thus avoid potential some buffer overrun situations. Simple implementation of 'zwrite -m' (doesn't yet log an outgoing message as having been sent.) The "Not logged in or subscribing to messages" error now includes the name of the recipient. The "disable-ctrl-d" variable may also be set to "middle" which will result in ctrl-d only sending at the end of the message. This is now the default. This also added a command "editmulti:done-or-delete". Fixed a bug in the "reply -e" command. Always clear the command buffer before executing the command. (So that interactive commands can sanely do start-command.) Fixed preservation of e->dotsend across owl_editwin_clear(). Added history for multiline edit windows (eg, for zephyr composition). The M-n and M-p keys will cycle through the history ring. In particular, it is now possible to edit the command line of a zephyr being composed: C-c it and restart it and then M-p to get the aborted composition back. Added owl::send_zwrite(command, message) to the perl glue to allow for the direct sending of multi-line messages. For example: owl::send_zwrite("-c foo -i bar", "hello"); Changed owl_fmtext_print_plain to return an alloc'd string to avoid buffer overrun risks. Added owl::ztext_stylestrip("...") function to perlglue which returns the ztext with formatting stripped out. Added colorztext variable which can be used to disable @color() strings arriving in messages after it is set. (Currently, changing its value won't reformat messages). Outgoing zephyr logging now obeys the logpath variable. The '~' character in logpath and classlogpath now gets replaced with the user's home directory. Added simple implementation of smartnarrow-to-admin that creates a "type-admin" autofilter. This was done mostly so that M-C-n and M-C-p do something sane on admin messages. Added opera to the allowed options to the webbrowser variable. Fixed some buffer overruns in the "reply" command. When repying to "all" on a message that begins with "CC:" (eg, sent with "zwrite -C", the reply line will be constructed from the sender and the usernames on the CC: line of the message being replied to. There is no such thing as C-R, so left C-r as it is but added: M-r --- edit reply to all M-R --- edit reply to sender Added RCS Id strings to all files. 'show keymaps' shows details of all keymaps after summary list. Added --no-move option to delete command. In particular, delete-and-always-move-down may now be implemented with '( delete --no-move ; next --skip-deleted )'. Folded the nextmsg and prevmsg commands and functions together into one command which takes arguments. Added '--filter ' option (eg, for next_personal), '--skip-deleted' option, and '--last-if-none'/'--first-if-none' options. Help updated accordingly. In particular, the 'personal' filter is now used for 'next personal'. Added --smart-filter and --smart-filter-instance options to the next and prev commands. Updated examples/owlconf.erik with the above. Made owl_function_fast*filt return a string and not do the narrowing, to make it more general. Added a smartfilter command that creates a filter based on the current message and returns the name of the filter. Added M-C-n and M-C-p keybindings to "move to next message matching current" and "move to previous message matching current" Added variables edit:maxfillcols and edit:maxwrapcols which will limit how wide editing paragraphs may get before they get wrapped. This is a max and may be narrower depending on the current size of the window. If 0, the max is unlimited. Default is 70 columns for edit:maxfillcols and unlimited for edit:maxwrapcols. Added smartzpunt command with key binding of "C-x k". This starts a zpunt command filled in with the proposed zpunt. Fixed a memory reference bug in delete and undelete commands. Added support for perl to call directly back into owl. Changed the implementation of owl::command("...") to immediately call back into owl. This allows perl to get the return value of strings returned by owl commands. Added the getview command which returns the name of the current view's filter. Added the getvar command which returns the value of a variable. Added an example to examples/owlconf.erik which uses TAB to narrow and restore the view. Added an example to examples/owlconf.erik which uses M-c to color messages matching the current one green. Integrated change to fix problem with popup blinking on new zephyrs. C-l and resizes will now refresh an open viewwin (eg, help). Updated doc/code.txt to include info about filters, commands, contexts, and keybindings. Exec commands cleaned up to not have buffer-size limitations and to not mess up spaces. exec also returns a string of the output now. Integrated changes from 1.1.3, and added docs for "zlocate -d" and new show commands. Show with arguments produces help on show. Fix a bug in readconfig caught by efence (where we'd try to read before the beginning of a string if it was empty). The perl command doesn't do makemsg directly, but instead returns the string and it will get printed if it was run interactively. 1.1.3 'show subs' and 'show subscriptions' are now the same as 'getsubs' zlocate now takes an optional -d argument 'show terminal' / 'show term' '>' / last doesn't set the last message at the top of the screen now implemented _followlast as an unsupported feature include 'default' in the 'show colors' list added help for 'zpunt' and 'zunpunt' changed the bug address in the startup message can now do 'show status' can now do 'show version' 'status' / 'show status' includes the owl version number now 'show terminal' includes whether the terminal can change colors fixed off by one bugs in paging / scrolling viewwin don't downcase the sender when getting the log name for personals support @owl::fields as well as @fields downcase class/inst filter names in auto filters 1.1.2 Fixed memory mishandling bug Fixed bug in redfining the filter attached to the current view M-n will narrow to message, instance on non-personal, class MESSAGE messages M-N behavies like M-n except that on class messages it narrows to class and instance line wrap earlier, to account for tabbing fixed typo in help 'status' command now displays info on terminal color support zephyr @ formatting is now case independant added support for color terminals zephyr @color(foo) now works 'D' for deleted messages is now not bold, unless it's the current message F1 displays the help screen added filter colors added the 'colorview' command added the 'show colors' command users who don't have a .zephyr.subs get a simpler format for incoming messages If colors are available 'show filters' will show a filter in the color associated with it. Added the zpunt and zunpunt commands Lines in the subs file starting with '-' are zpunted Include login/logout messages in auto user filters 'V' changes to the home view ('all' by default) 1.1.1 Fixed perl, aperl, and pperl commands to deal with quoting and spaces in a saner manner. Removed all owl_get_* methods for booleans and switched cases where they were used to owl_is_* Changes to owlconf.erik to use some new features. Increased the size of the help buffer (as it was overflowing and truncating the help message). Variables prefixed with a _ are not shown in help or by printallvars (and prefixed Not Yet Implemented variables with this). Fix typo in help include stdio.h in functions.c remove stale "q to quit" from bottom of info message fix downward scrolling more than a page use authentication for zlocate, by default fixed buffer over run in info command on long messages call 'perl ' from Makefile to avoid hardcoding perl paths in Makefile don't build owl_prototypes.h unless necessary store the time for admin messages display admin message time in 'info' command fixed an editwin M-> last character bug 1.1 reply is a normal function now 'R' does reply to sender 'T' tells you how many messages were marked for deletion local realm removed from login / logout messages added command history better runtime / starttime reporting in 'status' command leave the pointer near the current message after expunge C-l recenters editwin implemented zlocate @italic works the same as @i on reply only quote class / instance when necessary C-r allows you to edit the reply line don't use unecessary options in reply line display 'info' errors in msgwin, not popup impelemnted aexec, pexec commands the zsig now goes through ztext formatting messages have id numbers now 'info' prints the msgid added the 'filter' command added the 'view' command added the 'show filter' command added the 'viewclass' (and 'vc') commands added the 'viewuser' (and 'vu') commands M-n will filter to the current class or user 'v' starts a view command M-D will delete all messages in current view added the 'delete' (and 'del') command load-subs with no argument loads the default subs file '' is now when the *current* message is truncated the reply-lockout filter (with default) specifices messages that cannot be replied to. in the configfile owl::receive_msg is run whenever a message is received added the beep command added the contributors file declare ZGetSubscriptions and ZGetLocations since the includes don't seem to fixed bug in displaying last line in popwin if no final '\n' 'T' uses the 'trash' filter now zaway_msg, zaway_msg_default and zaway are all user variables now. zsig variable overrides zsigproc If there's no appendtosepbar don't interfear with the sepbar Changed: owl_message_get_numlines will return 0 of m is NULL Added login messages to messages marked by owl_function_delete_automsgs Added owl_function_delete_by_id(id) which acts independent of view Added "-id " option to delete command Fixed an arg checking bug in delete command Added owl::id to perl namespace with message id Fixed a memory corruption bug in readconfig.c (where right after the strdup to "out", we'd strcat a \n onto the end. This would be triggered whenever owl::format_msg returned a string not ending in a newline Added 'X' keybinding which expunges and then switches to a view defined by the variable "view_home" which defaults to "all" Consolidated readconfig.c somewhat to remove duplication. owl_config_execute now returns a string. Added an example config file that does vt-style formatting. (examples/owlconf.vtformat) Added the 'perl', 'aperl', and 'pperl' commands which will evaluate perl expressions. Fixed bug where pclose zsigproc would cause zombies Can set zsigproc or zsig to "" to disable Added support for multiple browsers (galeon and none were added). Configure with the "webbrowser" variable. Changing typewinsize height triggers resize event. Added zsig variable which will be used if no zsigproc and non-empty. Added "make test" rule to Makefile which will run regression tests, and added regression testing framework to tester Fixed codelist.pl to ignore static declarations. Added dict.c which contains string->ptr dictionary routines and the owl_dict type. These include regression tests. Overhaul/rewrite of variable handling. Variables are now managed in an owl_vardict (in g.vars) which contains a dictionary of owl_variable's. Each owl_variable has dispatch functions for validating values, setting it and getting it, and for setting it to and from string values. The variable.c file contains the list of variables. Stubs for the owl_global__get functions and friends are generated from variable.c by stubgen.pl. The help.c messages for variables now calls into variable.c so all information about most variables is in one place. Cleaned out code from global.c and command.c that was made obselete by variable overhaul. The set command now takes a -q option to not log a message. Fixed a bug where set and print with no arguments would print "Undefined variable" in addition to running owl_function_printallvars. debug is now a variable that can be turned on and off. Fixed mail,inbox message parsing in examples/owlconf.erik Made zaway_msg and zaway_msg_default into variables Changed owl_function_makemsg and owl_function_debugmsg to use varargs (ie, so they can now take a format string with args). Don't allow " and \ characters in URLs with the "w" command. Removed lots of build warnings. Popwins are wider by default so help messages fit better. Added an atokenize_free function. Fixes to work with an older version of libzephyr. Added dependencies on header files to Makefile.in Added pageup and pagedown key bindings to message list Added pageup and pagedown to viewwin Added configfile section to doc/intro.txt (from example config file) Added appendtosepbar variable which may contain text which will be appended to the sepbar. This allows the configfile to put information about pings and logins into the sepbar. (It may be worth also providing a variable which enables this by default, but for now this allows for experimenting with what works well.) Added doc/code.txt which gives a brief overview of the code. Added tags makefile rule and added TAGS to distclean rule. 1.0.1 fix frees in loadsubs and loadloginsubs don't return in owl_free 1.0 'print' and 'set' with no arguments prints all variables Added the 'unsubscribe' and 'unsub' command Renamed the 'unsub' command to 'unsuball' Added the 'getsubs' command which is like zctl ret Fixed bug in logging messages sent to more than one recipient Support '-C', '-O', and '-n' options to zwrite Fixed bug in owl_editwin_delete_char when there are no later chars after the cursor Make "more" and "truncated" work in the status bar enable printing of zsigproc and loginsubs variables only allow message scrolling if the message is actually off the screen 'T' will mark all automated message for deletion 'P' will go to the next personal message 'M-P' will go to the previous personal message replying to a login message goes to the user now added a status command added the intro doc to the release fixed off by one bug in viewwin added complete online help pass $owl::realm in configfile fixed editwin wordwrapping on the last line fixed editwin problem with key_right past the last char print an error and quit if the configfile can't be parsed got rid of owl_mainwin_calculate_topmsg fixed off by one error in calculating topmsg upwards you can now reply to an admin message don't display an error about keypress on window resize 0.11 fixed bug in viewing messages longer than the screen indicate in the sepbar if there is a non zero vert offset send on '.' on a line by itself added disable-ctrl-d variable fixed bug where C-k did not delete the last \n in the buffer make non-character meta keys work use ZSendNotice instead of ZSendList implemented <, >, M-< and M-> in viewwin removed the spaces at the bottom of viewwin added 'about' command fixed bug using 'M' with no current message changed message object to use char *'s to save on memory change malloc, realloc, strdup and free to use owl hooks so that debugging can be added 0.10.1 fixed a trailing space bug in the parser impelemented the "burning ears" feature have admin messages do ztext parsing fixed bug in reporting which M- key was pressed C-g will now cancel commands like C-c 0.10 implemented owl_function_full_redisplay(). C-l uses owl_function_full_redisplay(). when a popwin exists to a full redisplay. (fixes bug) improved the owl_editwin_process_char logic removed all unnecessary wrefresh's and replaced with wnoutrefesh owl_editwin_redisplay now takes an argument to optionally doupdate() improved the cut-and-paste speed by not doing a usleep the first time through the loop after getting a keypress. nuked typwin.c and associated stuff. It's useless now. added viewwin code for paging windows curly braces work for zephyr formatting @i in zephyr formatting will be displayed as underlined text turned off idlok implemented viewwin implemented viewwi in popwin for pageable popwins help, info now use pageable popwins bound 'M' to bring the current message up in a popwin return, space bar, 'b' and backspace now scroll within a message turned off resize message C-v and M-v page the main window implemented owl_message_is_mail some build cleanup 0.9 added owl_message_is_personal and have things use it added owl_message_is_private fixed 'print personalbell' and have 'set personalbell' print a message bold only on message_is_personal display the realm if not local implemented M-f, M-b, M-d, M-<, M-> in editwin implemnted word wrapping in editwin implemented M-q (paragraph-fill) in editwin fixed bug that caused owl to segfault logging a 'weird' class M-x is a keysym for ':' added smart bolding and userclue fixed a bug causing pings to beep even if rxping is off 0.8.1 fixed bug in logging code 0.8 implemented personal logging implemented class logging implemented resize of typewin fixed the backspace problem -v command line option prints the version number 0.7 load-subs will report error opening file skip comment lines in loadsubs and loadloginsubs changed internal references to rxping and txping fix replying to a blank instance added subscribe command subscribe to login messages from .anyone by default 'loginsubs' variarble controlls automated login messages redisplay the editwin after a resize leave the cursor in the editwin if active fix problems in the build system added displayoutgoing variable temporarily removed error printing for zlog in / out 0.61 fixed bug in "message sent to " for zwrite 0.6 help updated zaway key set to caps A support zephyring other realms rxping variable for receiving pings txping variable for sending pings function in place to resize typwin C-l to refresh personal bell variable beta message now an admin message 0.5 Added the debug command and flag Fixed bug in printing fields in info command Added owl_fmtext_append_ztext and use it Better formating for pings and login zephyrs make tester depends on proto