This document describes the changes made to mxrn/dxrn (and the original XRN code). This kit identifies itself as 'V6.18-32'. The major changes for this release were to pick up the changes from XRN V6.17 to V6.18. See the file 'ChangeLog' for a detailed log of edits. Changes specific to dxrn/mxrn: - Fix saving of geometry of separate read window when it hasn't been displayed before "save settings" is done. (Don't save a bogus size). - Update selection modes for the subject list to follow Motif standards - implement Shift-Click to extend a selection, and Control-Click to toggle a single line. - Fix drag selection - when scrolling a selection past the top of the list, the first line was selected but did not appear as highlighted. - Closing the article composition window using the window manager "Close" function would cause xrn to crash. It now handles the close operation by aborting the posting. - Fix crash on "local kill" of the last article in a newsgroup. - Make "Catch Up All" only catch up to the selected article (act like the old "Catch Up" button). - Add button to flush pending print jobs to the print queue - Fix memory leaks - AllGroups mode, text wrapping. - Fix crash on catch-up - Correct popup menu after customization so there aren't two copies of each button. - Fix window sizing bugs introduced in edit 25. - Change "catch up" to only mark up to the current article as read; add "catch up all" function to mark all articles read. (The old behavior was inconsistent with the rest of xrn and very destructive.) - Eliminate unecedsary resizing of the button boxes. - Correct reporting of connection refusals - Fix memory leak in article composition - Add the ability to bypass the confirmation box on external editor exit - Add progress messages to search commands - Fix handling of large (more than 40 character) group names so they aren't misdiagnosed as duplicates - Fix crashes after attempting to read a bogus newsgroup (one with no available articles) and after rescans. - Use the defined editor command for killfile edits - Add menu entry for editing global killfile - add "mxrn.unsubNewGroups" resource (default false). If set to true, new groups are silently unsubscribed. - save size of newsgroup list/subject list widget when settings are saved. - Fix compilation errors on Alpha/VMS; support VMS Motif 1.2. - Fix bug on big-endian machines that was causing main window to resize incorrectly (too big or too small). - Fix `List Old' failing when the first article in a group is unavailable. - Fix linux build errors - Always send MODE READER command on setup (fix for INN clients) - Add a ROT13 function to the composition window - Fix killfile editor function build errors (include types.h) - Add a function to edit the kill file for a newsgroup. - Fix sizing of the article text scrollbar on Motif 1.2 systems. - For `Forward' operations, preset the cursor to the "To:" field. - Fix VMS DECnet transport hanging. - Fix reported portability problems - Solaris, HP-UX, SCO. - Use the highlighted newsgroup name for the default on unsubscribe operations. - Fix crash in subject searches of long subject lines. - Allow longer newsrc file lines - Popup retry dialog on news server failures more quickly. - Fix additional auto-read disabled crashes. - Fix "X Error" that was occuring with two-windows mode enabled when exiting at group without reading any articles. - Put the menu bar back for dxrn. - Improve handling of auto-read disabled; select the first unread after a kill (but don't read it.) - Fix crash with repeated kill operations with auto-read disabled. - Handle server disconnection during welcome message without hanging. - Add "mxrn.textLines" resource for specifying the size of the text window; save the current size on Save Settings. - Fix crash caused by bogus references string. (an article was posted with the text under the "References" header. That was lots more than the twenty words I thought was more than enough :-) - Fix positioning of dialog boxes (bug introduced with an X11R6 fix). - Rationalize button label strings, menus, and dialog box labels. ("doit" is not as obvious as "OK") - Fix X11R6 portability bugs (null pointers in XtGetValue arguments lists corrected to valid pointers.) - Add a current mode indication to the titlebar. - Fix hang with VMS Multinet TCP/IP when exiting or rescanning. - Save position and size of the composition window when settings are saved (assumes the window is visible when save is done.) - Fix unaligned access in executableSignatures code. - Clean up ugly five-button dialog box (used during subscribe operations.) - Fix crash that was occuring with inaccessable KILL files. - Fix off-by-one in string wrapping position in postings. - Add support for a separate article display window (mxrn.twoWindows: true). - Fix bug that was causing Subject and Author search to be sticky (once you did an Author search, all searches were Author searches). - Fix malloc pool corrupter bug in string pool processing. - Correct VMS resource file name - Allow an external editor to be used (on VMS) without blocking the newsreader. - Check $HOME/.organization for updated organization information. - Fix VMS mail file leak (each FORWARD or REPLY was leaving a dangling file open). - Clean up some redundant news server transactions. (Don't ask for the same thing several times). - Allow save, rot-13, etc. buttons to appear in the middle menubar. - Fix Motif word wrapping on VMS. - Properly flush server connection on shutdown. - Allow building on VMS without TCP/IP - Decrease startup memory consumption and limit memory used during rescans. - Correct line count display to eliminate trailing blanks - Fix article list corruption that was causing articles to reappear. - Fix composition window sizing problem in the bottom button box. - Fix a compilation error on AIX. - Corrected a kill bug introduced in 6.18-11. - Fixed errors found when compiling using DEC C on VMS AXP. - Added an "author search" function. - Added support for usage of the news server overview database using the XOVER command. (This improves newsgroup open time by decreasing the server load and network traffic). - Added support for article threading using the reference fields. Use "mxrn*group.name.sortedSubjects: thread" to enable this. Note: this is somewhat experimental. Comments appreciated. - When an article is selected (clicked on) before starting a search, begin the search at the selected article. - Change the subject search to be case-insensitive when the search argument is all lower case. (Mixed case is case-exact). - Reinstate the software that resets the paned window limits so that subpanes can be resized (this fixes a bug where the compose window buttons could not be read). - Fixed a second VMS with DECnet not running crash. - Added "Followup+Reply" function that posts a followup to an article then forwards it as a reply to the original author. - Properly handle INN news server "Pause" states. - Added code to delete the text cursor in the article read window. - Backed out change to "next unread" that was resetting the scan to the top of the article list; made it conditional on the setting of resource "nextReadsFirst" (default off). - Fixed ULTRIX DECnet NNTP code to properly shut down the server connection. - Fixed compilation problem on DEC OSF/1. - Corrected crash when attempting to post on a VMS system without DECnet running. - Make xrn tolerate the bogus '.cabal' group. - Include corrections to allow mxrn to compile on Alpha/VMS. - Fix "Invalid transition - 2 to 1" error when new groups are found during automatic rescans. - Added "cancel" function to subject change selections. - Fixed deadlock when canceling subject search operations. - Fixed lost editor file name when re-editing messages. - Fixed a loop in reverse subject searching. - Corrected several SunOS porting problems. - Corrected setting of default Include Prefix. (If there wasn't one in the application defaults file, attempting to include text would crash.) - Fixed cursor position in compose window. - Fixed a problem that was causing the editor window to be insensitive. NOTE: This change caused X resources of the form "composeTop" to stop working. Change them to "mxrn.composeTop..." to correct this. - Added word wrapping support for Motif. - Fixed bug that could cause a crash after recovery from a connection loss. - Added action functions to allow manipulation of article/newsgroup list directly - list-forward-page() scrolls the subject list forward a page. list-backward-page() scrolls it back. list-forward-line() moves the selected line down one entry. list-backward-line() moves it back. For example, the following: mxrn.artBindings: \ CtrlosfPageDown: list-forward-page()\n\ CtrlosfPageUp: list-backward-page()\n\ CtrlosfUp: list-backward-line()\n\ CtrlosfDown: list-forward-line()\n\ Ctrlr: artReadCurrent() allows you to scroll the list with Control-next-screen, and shift the selection using Control-Arrow. Control-R then reads the article that is highlighted. - Fixed crash when an out-of-range subject line was trying to be displayed. - Corrected VMS Wollongong TCP/IP socket interface channel leak. - Changed order of VMS newsrc file saving - a temporary file is created and then renamed to the desired name; this helps avoid losing the newsrc file when crashes happen during saving the newsrc. - Fixed SunOS compiling bug. - Fixed "all articles were killed" problem when re-entering newsgroups. - Fixed data passing problem in button definitions. - Fixed message posting crash in signature file processing. - Fixed a problem that was causing the low article number in a newsgroup to be incorrect for specific types of news servers. This was causing "List All Articles" to fail and causing incorrect message counts to be displayed. - Fixed problem that was causing duplicate "From" lines in posted messages. Some news servers were rejecting these articles. - Corrected an assertion failure when reading a newsgroup that doesn't have any articles. - If the connection to the news server was lost while reading a group, the state of the group became corrupted. (The "current" group was changed.) This has been corrected. - Several portability problems were corrected. MXRN now compiles cleanly in a strict ANSI environment. - Fixes for Alpha OSF/1. - The application was rewritten to minimize memory consumption where possible. Changes from XRN V6.18: - Faster entry into groups with lots of 'marked as unread' articles. Per Hedeland - xrn.ignoreNewsgroups - ability to specify groups (regular expressions) that you never want to see (even in the new groups window). See the man page for more information. This can really cut down the size of your .newsrc file and the memory usage of XRN. Jonathan I. Kamens - XRN now supports _ANSI_C_SOURCE, _POSIX_SOURCE, _XOPEN_SOURCE, and other standard-based defines, and thus is less vendor-specific (but clearly some still exists...). Marc Evans - Support for Motif 1.2 and cleanup of the cancel button David Brooks - No more claims of X11R3 support. - Performance Improvements (less fetching across NNTP) Jim Graham - Permissions of the .newsrc file are not changed - previously after an update the .newsrc file would have the permissions specified in the umask Rick Spickelmier - Settable Icon Pixmap and Name for normal, busy, and unread news modes - via the resources/options: iconName, iconPixmap, busyIconName, busyIconPixmap, unreadIconName, unreadIconPixmap Michael Salmon - Translation of Articles from ISO 646 to ISO 8859-1 Michael Salmon - User settable number of characters in the subject line, via the indexLineLength resource/option Michael Salmon - Support for INN (InterNet News) Brendan Kehoe - XRN now can refile to RMAIL folders (use @folder, like MH +folder) Michael Thomas - The information box now tells you that articles posted to moderated groups are sent to the moderator. Rick Spickelmier - Xtoolkit work processes now do the prefetching of the next group (can be disabled by defining NO_IMMEDIATE_WORK_PROC_PREFETCH) Marc Evans Jonathan I. Kamens - XRN now puts in the display name for editorCommand: xrn.editorCommand: xterm -display %D -e vi %s (%s for file name - must be specified, %D for display name, this is optional) Rick Spickelmier - New Default: xrn.onlyShow number Only grab the header information for the last 'number' of articles in each group. This is useful if you have been away for a while and only want to see that last 100 or so articles in each group. Rick Spickelmier - Support for multiple signature files The appropriate signature file is the usual signature file name `~/.signature' followed by either a `-' and a newsgroup name substring, or followed by a `.' and `followup', `forward', `gripe', `reply' or `post' according to the posting mode. For example if you want to post a followup article in comp.sources.x then xrn uses the first valid signature file in the following order: ~/.signature-comp.sources.x ~/.signature-comp.sources ~/.signature-comp ~/.signature.followup ~/.signature Nathan Maman - Support for executable signature files. See 'executableSignatures' and 'localSignatures' in the man page. Nathan Maman David Brooks Jonathan I. Kamens - XRN now unconditionally saves articles when posted via `editorCommand'. Conrad Kimball - Set up defaults for reasonable line folding (of course, it's my definition of reasonable). Rick Spickelmier - Fix for bad newsgroup names Per Hedeland Jonathan I. Kamens Rick Spickelmier - XRN was reading the header information twice when `doing the right thing' Per Hedeland - More XRN icons - xrn2.icon (news) and xrn3.icon (no news) Rainer Klute - Scrolling actions now exist for the subject index window (artScrollIndex and artScrollIndexBack) Greg Schroeder - Support for DEC Alpha OSF/1 Eric Muller Rick Spickelmier Dave Hill - Apollo 10.3.5 support Keith Cantrell - Amiga-UNIX support Craig M. Votava - Reconnecting to server after time out will update the internal data structures (new articles, etc.). Rick Spickelmier - Bug fixes David Brooks Bob Ellison Marc Evans Jim Graham Jonathan I. Kamens Andy Linton Nathan Maman Dale Moore Taed Nelson Michael Salmon Peter J. Scott Rick Spickelmier Jean-Philippe Martin-Flatin Philip Yzarn de Louraille Jason C. Austin