source: ChangeLog @ af2ca19

Last change on this file since af2ca19 was af2ca19, checked in by James M. Kretchmar <>, 22 years ago
Fixed memory leak and buffer overrun in fmtext
  • Property mode set to 100644
File size: 25.5 KB
3        'zlog in' will now take an optional thrid argument to set the
4             'tty' variable before setting the zlocation
5        There is now a 'zlist' command that acts like 'znol -l'
6        'l' is bound to 'zlist'
7        Fixed memory leak and buffer overrun in fmtext
10        Added filters "ping", "auto" and "login" by default.
11        Added "body" as a valid field to match on in a filter.
12        Temporary fix to bug where C-SPACE would cause the key handler to
13             lock up.
14        Messages now have a direciton (in, out or none).  Filters can
15             match on this direction
16        Outbound messages are no longer type 'admin' but are of the
17             appropriate message type (i.e. 'zephyr') and are direction
18             'out'.
19        Smartnarrow now works on outgoing messages
20        'info' updated to show more information for admin and outgoing
21             messages
22        Renamed pretty_sender to short_zuser and renamed long_sender to
23             long_zuser
24        Moved zsig generation to the zwrite object
25        Print the zsig used for outgoing messages
26        The tty variable now controls the zephyr location tty name
29        Added the 'search' command.
30        '/' is a keybinding for 'search'
31        '?' is a keybinding for 'search -r'
32        Fixed stristr, which was completely broken
33        renamed owl_fmtext_ztext_stylestrip to owl_function_ztext_styletsrip
34             and put it in functions.c
35        Attempts to stay near the current message when switching views.
36             When switching from an empty view to one we've previously
37             been in, the new current message position will attempt
38             to be close to the current position from the last
39             time we visited that view.
40        Fixed bug in readconfig.c that prevented building under perl 5.005.
41        Switched "C-x C-x" to only "startcommand quit"
42        'getsubs' prints closer to the order you sub in.
43        Modified the behavior of last so that "> >" will clear the screen.
44        The new behavior of last is:
45              Moves the pointer to the last message in the view.
46              If we are already at the last message in the view,
47              blanks the screen and moves just past the end of the view
48              so that new messages will appear starting at the top
49              of the screen.
50        Fixed a typo in the help for smartzpunt.
51        Fixed functions to handle curmsg being past the end of the view.
54        New framework for command handling.
55        New framework for keymap handling.
56        Added commands for everything that is bound
57             to a key (do 'show commands' to get the full list).
58        Added 'multi' and '(' commands to allow multiple commands
59             to be specified on a line.             
60        Added user keybindings with bindkey command.
61        Added command aliases (eg, "alias foo bar").
62        Added undelete command that parallels the delete command.
63        Added additional options to delete command.
64        The reply command now takes arguments.
65        Added 'edit:insert-text' command.
66        Added 'show zpunts' to show active punt filters.
67        Added 'show variable <name>' and 'show variables'.
68        Added 'show command <name>' and 'show commands'.
69        Added 'show keymap <name>' and 'show keymaps'.
70        Added 'M-u' to undelete all messages in current view.
71        Fixed dotsend so that the zephyr will still send if there
72             is whitespace after the dot but not on the same line.
73             This should resolve an issue where dotsend wouldn't work
74             if you'd gone up and edited a zephyr.
75        Bug in page down fixed
76        C-t will transpose characters
77        Fix the scrolling bug where we would sometimes fail to scroll
78             the screen down, leaving the current message off
79             the bottom of the screen.
80        Refixed 'login or login' typo in help
81        Fixed M-u description
82        Removed 'first' and 'last' from basic command help
83        Added M-N to basic key help
84        Added M-D, M-u to basic key help
85        Fixed a quoting problem in
86        Changed top of help to use 'show' instead of M-x
87        Fixed a bug in the summary field for user-created aliases
88        Added "reply zaway" which sends a zaway response to the current msg.
89        Added "edit:delete-prev-word" command and bound M-BACKSPACE to it.
90        Some buffer overruns fixed
91        Variables now have a summary and a long description.
92                Only the summary is shown with help.
93                The long description is shown with "show variable foo".
94        Added a 'scrollmode' variable which determines how the screen
95             will scroll as the cursor moves.  The default behaves
96             identically to previous versions of owl.
97             The following modes are supported:
98             normal      - This is the owl default.  Scrolling happens
99                           when it needs to, and an attempt is made to
100                           keep the current message roughly near
101                           the middle of the screen.  (default)
102             top         - The current message will always be the
103                           the top message displayed.
104             neartop     - The current message will be one down
105                           from the top message displayed,
106                           where possible.
107             center      - An attempt is made to keep the current
108                           message near the center of the screen.
109             paged       - The top message displayed only changes
110                           when user moves the cursor to the top
111                           or bottom of the screen.  When it moves,
112                           the screen will be paged up or down and
113                           the cursor will be near the top or
114                           the bottom.
115             pagedcenter - The top message displayed only changes
116                           when user moves the cursor to the top
117                           or bottom of the screen.  When it moves,
118                           the screen will be paged up or down and
119                           the cursor will be near the center.
120        Added owl_sprintf which returns the formatted string, or NULL.
121                The caller must free this string.
122                This will allocate enough memory and thus
123                avoid potential some buffer overrun situations.
124        Simple implementation of 'zwrite -m' (doesn't yet log an outgoing
125                message as having been sent.)
126        The "Not logged in or subscribing to messages" error
127                now includes the name of the recipient.
128        The "disable-ctrl-d" variable may also be set to "middle"
129                which will result in ctrl-d only sending at the
130                end of the message.  This is now the default.
131                This also added a command "editmulti:done-or-delete".
132        Fixed a bug in the "reply -e" command.
133        Always clear the command buffer before executing the command.
134                (So that interactive commands can sanely do start-command.)
135        Fixed preservation of e->dotsend across owl_editwin_clear().
136        Added history for multiline edit windows (eg, for zephyr composition).
137                The M-n and M-p keys will cycle through the history ring.
138                In particular, it is now possible to edit the command line
139                of a zephyr being composed:  C-c it and restart it
140                and then M-p to get the aborted composition back.
141        Added owl::send_zwrite(command, message) to the perl glue
142                to allow for the direct sending of multi-line messages.
143                For example:  owl::send_zwrite("-c foo -i bar", "hello");
144        Changed owl_fmtext_print_plain to return an alloc'd string to
145                avoid buffer overrun risks.
146        Added owl::ztext_stylestrip("...") function to perlglue
147                 which returns the ztext with formatting stripped out.
148        Added colorztext variable which can be used to disable @color()
149                 strings arriving in messages after it is set.
150                 (Currently, changing its value won't reformat messages).
151        Outgoing zephyr logging now obeys the logpath variable.
152        The '~' character in logpath and classlogpath now gets
153                 replaced with the user's home directory.
154        Added simple implementation of smartnarrow-to-admin that
155                 creates a "type-admin" autofilter.
156                 This was done mostly so that M-C-n and M-C-p do something
157                 sane on admin messages.
158        Added opera to the allowed options to the webbrowser variable.
159        Fixed some buffer overruns in the "reply" command.
160        When repying to "all" on a message that begins with "CC:" (eg, sent
161                 with "zwrite -C", the reply line will be constructed
162                 from the sender and the usernames on the CC: line
163                 of the message being replied to.
164        There is no such thing as C-R, so left C-r as it is but added:
165                 M-r --- edit reply to all
166                 M-R --- edit reply to sender
167        Added RCS Id strings to all files.
168        'show keymaps' shows details of all keymaps after summary list.
169        Added --no-move option to delete command.
170                In particular, delete-and-always-move-down may now
171                be implemented with
172                '( delete --no-move ; next --skip-deleted )'.
173        Folded the nextmsg and prevmsg commands and functions together into
174                one command which takes arguments.
175                Added '--filter <name>' option (eg, for next_personal),
176                '--skip-deleted' option, and
177                '--last-if-none'/'--first-if-none' options.
178                Help updated accordingly. 
179                In particular, the 'personal' filter is now used
180                for 'next personal'. 
181                Added --smart-filter and --smart-filter-instance options
182                to the next and prev commands.
183        Updated examples/owlconf.erik with the above.
184        Made owl_function_fast*filt return a string and not do the
185                narrowing, to make it more general.
186        Added a smartfilter command that creates a filter
187                based on the current message and returns the name
188                of the filter.
189        Added M-C-n and M-C-p keybindings to "move to next message
190                matching current" and "move to previous message
191                matching current"
192        Added variables edit:maxfillcols and edit:maxwrapcols which
193                will limit how wide editing paragraphs may get before
194                they get wrapped.  This is a max and may be narrower
195                depending on the current size of the window.
196                If 0, the max is unlimited.  Default is 70 columns for
197                edit:maxfillcols and unlimited for edit:maxwrapcols.
198        Added smartzpunt command with key binding of "C-x k".
199                This starts a zpunt command filled in with
200                the proposed zpunt.
201        Fixed a memory reference bug in delete and undelete commands.
202        Added support for perl to call directly back into owl.
203        Changed the implementation of owl::command("...") to immediately
204                call back into owl.  This allows perl to get the return
205                value of strings returned by owl commands.
206        Added the getview command which returns the name of the current
207                view's filter. 
208        Added the getvar command which returns the value of a variable.
209        Added an example to examples/owlconf.erik which uses TAB to
210                narrow and restore the view. 
211        Added an example to examples/owlconf.erik which uses M-c to
212                color messages matching the current one green.
213        Integrated change to fix problem with popup blinking on new zephyrs.
214        C-l and resizes will now refresh an open viewwin (eg, help).
215        Updated doc/code.txt to include info about filters, commands,
216                contexts, and keybindings.
217        Exec commands cleaned up to not have buffer-size limitations
218                and to not mess up spaces.  exec also returns a string
219                of the output now.
220        Integrated changes from 1.1.3, and added docs for "zlocate -d"
221                and new show commands.
222        Show with arguments produces help on show.
223        Fix a bug in readconfig caught by efence (where we'd try to read before
224                the beginning of a string if it was empty).
225        The perl command doesn't do makemsg directly, but instead
226             returns the string and it will get printed if it
227             was run interactively.
230        'show subs' and 'show subscriptions' are now the same as 'getsubs'
231        zlocate now takes an optional -d argument
232        'show terminal' / 'show term'
233        '>' / last doesn't set the last message at the top of the screen now
234        implemented _followlast as an unsupported feature
235        include 'default' in the 'show colors' list
236        added help for 'zpunt' and 'zunpunt'
237        changed the bug address in the startup message
238        can now do 'show status'
239        can now do 'show version'
240        'status' / 'show status' includes the owl version number now
241        'show terminal' includes whether the terminal can change colors
242        fixed off by one bugs in paging / scrolling viewwin
243        don't downcase the sender when getting the log name for personals
244        support @owl::fields as well as @fields
245        downcase class/inst filter names in auto filters
248        Fixed memory mishandling bug
249        Fixed bug in redfining the filter attached to the current view
250        M-n will narrow to message, instance on non-personal, class
251             MESSAGE messages
252        M-N behavies like M-n except that on class messages it narrows
253            to class and instance
254        line wrap earlier, to account for tabbing
255        fixed typo in help
256        'status' command now displays info on terminal color support
257        zephyr @ formatting is now case independant
258        added support for color terminals
259        zephyr @color(foo) now works
260        'D' for deleted messages is now not bold, unless it's the current
261          message
262        F1 displays the help screen
263        added filter colors
264        added the 'colorview' command
265        added the 'show colors' command
266        users who don't have a .zephyr.subs get a simpler format for
267          incoming messages
268        If colors are available 'show filters' will show a filter in the
269          color associated with it.
270        Added the zpunt and zunpunt commands
271        Lines in the subs file starting with '-' are zpunted
272        Include login/logout messages in auto user filters
273        'V' changes to the home view ('all' by default)
276        Fixed perl, aperl, and pperl commands to deal with quoting
277              and spaces in a saner manner.
278        Removed all owl_get_* methods for booleans and switched
279              cases where they were used to owl_is_*
280        Changes to owlconf.erik to use some new features.
281        Increased the size of the help buffer (as it
282              was overflowing and truncating the help message).
283        Variables prefixed with a _ are not shown in help
284              or by printallvars (and prefixed Not Yet Implemented
285              variables with this).
286        Fix typo in help
287        include stdio.h in functions.c
288        remove stale "q to quit" from bottom of info message
289        fix downward scrolling more than a page
290        use authentication for zlocate, by default
291        fixed buffer over run in info command on long messages
292        call 'perl <file>' from Makefile to avoid hardcoding perl paths
293        in Makefile don't build owl_prototypes.h unless necessary
294        store the time for admin messages
295        display admin message time in 'info' command
296        fixed an editwin M-> last character bug
299        reply is a normal function now
300        'R' does reply to sender
301        'T' tells you how many messages were marked for deletion
302        local realm removed from login / logout messages
303        added command history
304        better runtime / starttime reporting in 'status' command
305        leave the pointer near the current message after expunge
306        C-l recenters editwin
307        implemented zlocate
308        @italic works the same as @i
309        on reply only quote class / instance when necessary
310        C-r allows you to edit the reply line
311        don't use unecessary options in reply line
312        display 'info' errors in msgwin, not popup
313        impelemnted aexec, pexec commands
314        the zsig now goes through ztext formatting
315        messages have id numbers now
316        'info' prints the msgid
317        added the 'filter' command
318        added the 'view' command
319        added the 'show filter' command
320        added the 'viewclass' (and 'vc') commands
321        added the 'viewuser' (and 'vu') commands
322        M-n will filter to the current class or user
323        'v' starts a view command
324        M-D will delete all messages in current view
325        added the 'delete' (and 'del') command
326        load-subs with no argument loads the default subs file
327        '<truncated>' is now when the *current* message is truncated
328        the reply-lockout filter (with default) specifices messages that
329           cannot be replied to.
330        in the configfile owl::receive_msg is run whenever a message is
331          received
332        added the beep command
333        added the contributors file
334        declare ZGetSubscriptions and ZGetLocations since the includes
335          don't seem to
336        fixed bug in displaying last line in popwin if no final '\n'
337        'T' uses the 'trash' filter now
338        zaway_msg, zaway_msg_default and zaway are all user variables now.
339        zsig variable overrides zsigproc
340        If there's no appendtosepbar don't interfear with the sepbar
341        Changed: owl_message_get_numlines will return 0 of m is NULL
342        Added login messages to messages marked by owl_function_delete_automsgs
343        Added owl_function_delete_by_id(id) which acts independent of view
344        Added "-id <id>" option to delete command
345        Fixed an arg checking bug in delete command
346        Added owl::id to perl namespace with message id
347        Fixed a memory corruption bug in readconfig.c (where right
348              after the strdup to "out", we'd strcat a \n onto the end.
349              This would be triggered whenever owl::format_msg returned
350              a string not ending in a newline
351        Added 'X' keybinding which expunges and then switches to
352              a view defined by the variable "view_home" which defaults
353              to "all"
354        Consolidated readconfig.c somewhat to remove duplication.
355              owl_config_execute now returns a string.
356        Added an example config file that does vt-style formatting.
357              (examples/owlconf.vtformat)
358        Added the 'perl', 'aperl', and 'pperl' commands which will
359              evaluate perl expressions.
360        Fixed bug where pclose zsigproc would cause zombies
361        Can set zsigproc or zsig to "" to disable
362        Added support for multiple browsers (galeon and none were added).
363              Configure with the "webbrowser" variable.
364        Changing typewinsize height triggers resize event.
365        Added zsig variable which will be used if no zsigproc and non-empty.
366        Added "make test" rule to Makefile which will run regression tests,
367              and added regression testing framework to tester
368        Fixed to ignore static declarations.
369        Added dict.c which contains string->ptr dictionary routines
370              and the owl_dict type.
371              These include regression tests.
372        Overhaul/rewrite of variable handling.  Variables are now managed
373              in an owl_vardict (in g.vars) which contains a dictionary
374              of owl_variable's.  Each owl_variable has dispatch functions
375              for validating values, setting it and getting it,
376              and for setting it to and from string values.
377              The variable.c file contains the list of variables.
378              Stubs for the owl_global_<varname>_get functions and friends
379              are generated from variable.c by
380              The help.c messages for variables now calls into variable.c
381              so all information about most variables is in one place.   
382        Cleaned out code from global.c and command.c that was made obselete
383              by variable overhaul.
384        The set command now takes a -q option to not log a message.
385        Fixed a bug where set and print with no arguments would
386              print "Undefined variable" in addition
387              to running owl_function_printallvars.
388        debug is now a variable that can be turned on and off.
389        Fixed mail,inbox message parsing in examples/owlconf.erik
390        Made zaway_msg and zaway_msg_default into variables
391        Changed owl_function_makemsg and owl_function_debugmsg
392               to use varargs (ie, so they can now take a format
393               string with args).
394        Don't allow " and \ characters in URLs with the "w" command.
395        Removed lots of build warnings.
396        Popwins are wider by default so help messages fit better.
397        Added an atokenize_free function.
398        Fixes to work with an older version of libzephyr.
399        Added dependencies on header files to
400        Added pageup and pagedown key bindings to message list
401        Added pageup and pagedown to viewwin
402        Added configfile section to doc/intro.txt (from example config file)
403        Added appendtosepbar variable which may contain text which will
404              be appended to the sepbar.  This allows the configfile
405              to put information about pings and logins into
406              the sepbar.  (It may be worth also providing a variable
407              which enables this by default, but for now this allows
408              for experimenting with what works well.)
409        Added doc/code.txt which gives a brief overview of the code.
410        Added tags makefile rule and added TAGS to distclean rule.
413        fix frees in loadsubs and loadloginsubs
414        don't return in owl_free
417        'print' and 'set' with no arguments prints all variables
418        Added the 'unsubscribe' and 'unsub' command
419        Renamed the 'unsub' command to 'unsuball'
420        Added the 'getsubs' command which is like zctl ret
421        Fixed bug in logging messages sent to more than one recipient
422        Support '-C', '-O', and '-n' options to zwrite
423        Fixed bug in owl_editwin_delete_char when there are no later chars
424          after the cursor
425        Make "more" and "truncated" work in the status bar
426        enable printing of zsigproc and loginsubs variables
427        only allow message scrolling if the message is actually off the
428          screen
429        'T' will mark all automated message for deletion
430        'P' will go to the next personal message
431        'M-P' will go to the previous personal message
432        replying to a login message goes to the user now
433        added a status command
434        added the intro doc to the release
435        fixed off by one bug in viewwin
436        added complete online help
437        pass $owl::realm in configfile
438        fixed editwin wordwrapping on the last line
439        fixed editwin problem with key_right past the last char
440        print an error and quit if the configfile can't be parsed
441        got rid of owl_mainwin_calculate_topmsg
442        fixed off by one error in calculating topmsg upwards
443        you can now reply to an admin message
444        don't display an error about keypress on window resize
447        fixed bug in viewing messages longer than the screen
448        indicate in the sepbar if there is a non zero vert offset
449        send on '.' on a line by itself
450        added disable-ctrl-d variable
451        fixed bug where C-k did not delete the last \n in the buffer
452        make non-character meta keys work
453        use ZSendNotice instead of ZSendList
454        implemented <, >, M-< and M-> in viewwin
455        removed the spaces at the bottom of viewwin
456        added 'about' command
457        fixed bug using 'M' with no current message
458        changed message object to use char *'s to save on memory
459        change malloc, realloc, strdup and free to use owl hooks so that
460           debugging can be added
463        fixed a trailing space bug in the parser
464        impelemented the "burning ears" feature
465        have admin messages do ztext parsing
466        fixed bug in reporting which M- key was pressed
467        C-g will now cancel commands like C-c
470        implemented owl_function_full_redisplay().
471        C-l uses owl_function_full_redisplay().
472        when a popwin exists to a full redisplay.  (fixes bug)
473        improved the owl_editwin_process_char logic
474        removed all unnecessary wrefresh's and replaced with wnoutrefesh
475        owl_editwin_redisplay now takes an argument to optionally doupdate()
476        improved the cut-and-paste speed by not doing a usleep the first
477          time through the loop after getting a keypress.
478        nuked typwin.c and associated stuff.  It's useless now.
479        added viewwin code for paging windows
480        curly braces work for zephyr formatting
481        @i in zephyr formatting will be displayed as underlined text
482        turned off idlok
483        implemented viewwin
484        implemented viewwi in popwin for pageable popwins
485        help, info now use pageable popwins
486        bound 'M' to bring the current message up in a popwin
487        return, space bar, 'b' and backspace now scroll within a message
488        turned off resize message
489        C-v and M-v page the main window
490        implemented owl_message_is_mail
491        some build cleanup
495        added owl_message_is_personal and have things use it
496        added owl_message_is_private
497        fixed 'print personalbell' and have 'set personalbell'
498           print a message
499        bold only on message_is_personal
500        display the realm if not local
501        implemented M-f, M-b, M-d, M-<, M-> in editwin
502        implemnted word wrapping in editwin
503        implemented M-q (paragraph-fill) in editwin
504        fixed bug that caused owl to segfault logging a 'weird' class
505        M-x is a keysym for ':'
506        added smart bolding and userclue
507        fixed a bug causing pings to beep even if rxping is off
510        fixed bug in logging code
513        implemented personal logging
514        implemented class logging
515        implemented resize of typewin
516        fixed the backspace problem
517        -v command line option prints the version number
520        load-subs will report error opening file
521        skip comment lines in loadsubs and loadloginsubs
522        changed internal references to rxping and txping
523        fix replying to a blank instance
524        added subscribe command
525        subscribe to login messages from .anyone by default
526        'loginsubs' variarble controlls automated login messages
527        redisplay the editwin after a resize
528        leave the cursor in the editwin if active
529        fix problems in the build system
530        added displayoutgoing variable
531        temporarily removed error printing for zlog in / out
534        fixed bug in "message sent to <foo>" for zwrite
537        help updated
538        zaway key set to caps A
539        support zephyring other realms
540        rxping variable for receiving pings
541        txping variable for sending pings
542        function in place to resize typwin
543        C-l to refresh
544        personal bell variable
545        beta message now an admin message
548        Added the debug command and flag
549        Fixed bug in printing fields in info command
550        Added owl_fmtext_append_ztext and use it
551        Better formating for pings and login zephyrs
552        make tester depends on proto
Note: See TracBrowser for help on using the repository browser.