Changes since 0.9.4.4 1. Bug fix related to `system' when called from a slang macro. Changes since 0.9.4.3 0. Many, many changes to the slang interpreter. Version 1.0 of slang is now required. Some changes may affect pre-existing macros. See the slang documentation for more information (in particular, see slang/UPGRADE.txt for more information about upgrading your slang macros). There are some new intrinsics to help isolate problems by re-routing slang traceback messages to a log file: open_log_file (FILENAME); close_log_file (); log_message ("My Message\n"); You also need to set `_traceback = 1;'. 1. Small wrapping changes that permit header lines to be properly wrapped. 2. Integrated WIN32 patches. Thanks Chin Huang !!! 3. Included reject-long-lines patch from Byrial Jensen . Add set reject_long_lines 2 to be given the opportunity to post an article with long lines. 4. If slrnpull fails, it returns an error code to indicate the failure: 1 Unspecified reason 2 Bad usage 3 Failed to connect 4 Connection Lost 5 Signaled 10 Malloc Failure 20 File I/O 5. Added Andy Harper's do_netlib_read routine for VMS. Thanks Andy! Changes since 0.9.4.2 0. Bug fixes, tiny documentation corrections. In particular, one of the bug fixes concerns a somewhat nasty bug that, although unnoticed until 0.9.4.1, appears to have been around for a while. Changes since 0.9.4.1 1. Add charset tables from Mark Nowiasz . I also changed `slrn --version' to show the supported character sets. 2. New customizable color objects: box --- This objects represents the are of the screen when a box pops up. frame - The border of the box selection The currently selected text in the selection box 3. New hooks for macro customization reply_hook forward_hook followup_hook (see macros/xcomment.sl for example) post_hook post_filter_hook The post_filter_hook allows you to run the article to be posted through something such as ispell, a shell script, etc... The file to be posted is passed as a parameter to this hook. See macros/ispell.sl for an example. 4. New intrinsic macro functions: get_response set_color select_list_box get_grouplens_score set_input_chars 5. OS/2 patches from Bjoern Frantzen for OS/2 FAT file systems. 6. Support for X-Mail-Copies-To added. 7. cc_followup_string now expands %n, etc... Changes since 0.9.4.0 0. Small (nothing serious) bug fixes 1. Typo prevented slrn to compile on Non-POSIX systems corrected. 2. slrnpull ported to NeXT (flight@mathi.uni-heidelberg.de) 3. Olly's mail-copies-to patch implemented 4. A new interface to ``browse-url''. This is not the clickable interface but it does have the feature that it works on ordinary terminals. 5. I added a ``postpone'' interface. To use this, set the variable set postpone_directory "whatever" to specify where articles are to be saved. Make sure the directory exists! To post a postponed article, press `ESC P'. Use, e.g., setkey group "post_postponed" "KEY_SEQUENCE" to rebind it. 6. I integrated the NeXT character set patch from Daniel G. Kluge . 7. New color object: response_char. This is used to set the color for response characters in prompts such as: Do you really want to quit? Yes, No Here the response characters are `Y' and `N'. Changes since 0.9.3.2 0. Some bug fixes as well as slrnpull bug fixes. Also, the libc system function has been replaced. The fact is that system is broken on Linux. 1. Small change to pathname manipulation to avoid problems with \\ and / conflicts on OS/2. 2. To additions from Olly Betts that affect spool users: set spool_check_up_on_nov 1 will cause slrn to check to make sure that an article that is referred to by the overview file actually exists. The default is 0. See the slrnfeat.h variable SLRN_HAS_FAKE_REFS for the other feature. 3. New .slrnrc function: include "filename" For example, your .slrnrc file can load other files via: include ".slrn/colors" include ".slrn/keybindings" 4. Two new .slrnrc variables: set post_object "inews" % or "nntp" set server_object "spool" % or "nntp" This means that if you compiled slrn to default to nntp, you nolonger need to run slrn via slrn --spool to read from a news spool. 5. macro function extract_article_header will not fetch the article from the server if the requested header is already available. 6. Now possible to save replies to a file: set save_replies "News/Replies" and you can specify the string to be used in the reply: set reply_string "In %n, you wrote:" 7. Small improvments such as re-wrapping upon window resizing and the message-id is also saved in the save_posts file. 8. New intrinsic: get_next_art_pgdn_action. See README.macros for more information. 9. `username whatever' is not obsolete. Use `set username WHATEVER' instead. This change allows username to be changed via a macro. 10. Grouplens support changed to match current grouplens protocol. 11. Wrapping now takes place on word boundaries. frank_thieme@l2.maus.de provided a similar patch. 12. VMS patches by Ian.Miller@softel.co.uk. Changes since 0.9.3.1 0. Bug fix involving non-XOVER headers. This alone caused me to discontinue 0.9.3.1. 1. Misc bug fixes, char set tweaking 2. New variable for better compliance with standards: set reject_long_lines 1 If non-zero, slrn will reject posting articles with non-quoted lines whose length exceeds 80 characters. 3. New editor options: set post_editor_command "my_posting_editor" set mail_editor_command "my_mailing_editor" set score_editor_command "my_score_editor" These may be used to override the more generic `editor_command'. For example, I use: set score_editor_command "jed %s -g %d -f score_arrange_score" 4. Patches for display code provided by itz@rahul.net (Ian T Zimmerman). There is a new .slrnrc variable: set display_author_realname 1 It controls whether or not the real name should be displayed. 5. Spoiler patches from Olly Betts with new slrnrc variable: % set to 0 to keep the display still, and just reveal the spoiler % set to 1 to start a new page when spoiler is revealed % set to 2 to keep the display still, and reveal ALL spoilers % set to 3 to start new page and reveal ALL spoilers set spoiler_display_mode 1 Changes since 0.9.2.1 -13. Small patches from Uichi Katsuta , and uudeview patches from Mark McWhorter . -12. Re: now added to subject header of reply. -11. Fixed a bug that manifested itself when scoring on non-XOver headers. -10. If a posted article is cc'd, the message-id used for the article will also be used in the email. -9. `slrn --nntp --debug FILE' may be used to write out the dialog between slrn and the nntpserver to FILE. This is a debugging aid. -8. Sort by date added: set sorting_method 8 % most recent first set sorting_method 9 % thread with most recent first set sorting_method 10 % most recent last set sorting_method 11 % thread with most recent last -7. If slrn is run in NNTP mode, the preprocessor symbol NNTP will be defined while processing the .slrnrc file. If it is run in spool mode, SPOOL will be defined. -6. Patches from Justus Pendleton enabling slrn to work with uudeview. -5. More OS/2 patches from Bjoern Frantzen enabling slrn to work with other mailers. -4. New slrnrc variable: set metamail_command "metamail" -3. Workaround for XHDR bug in DNEWS -2. slrn/doc/os2keys.txt describes OS/2 key sequences. They differ from the standard ANSI escape sequences. -1. Distribution reorganized. Autoconf config files are in autoconf directory and documentation in doc dir. 0. Offline reading possible by using the new `slrnpull' program. See the slrnpull documentation for details. `make slrnpull' should be sufficient to compile it. 1. Small CC: problem under OS/2 fixed by Marko Teittinen (marko@tekamah.com). 3. New slrn.rc variable to control scrolling behavior: set scroll_by_page 1 to have slrn automatically perform a pagedown/up at window boundaries. This requires slang 0.99-38 otherwise this does nothing. 4. New .slrnrc options: % Start new thread if subject changes set new_subject_breaks_threads 0 5. New charcter set mapping code. The idea is to translate incoming and outgoing articles from isolatin to the ``native'' character set. For example, under OS/2, the native character set is assumed to be "ibm850". The character set may be specified by the slrnrc line: set charset "ibm850" % default for OS/2 set charset "isolatin" % default for Unix and VMS Currently only ibm850 and isolatin are supported. I suspect a future version of slrn will be more precise in the specification of isolatin and support more chatacter sets. But the current idea is that there is one ``usenet'' character set called ``isolatin'' and selecting isolatin as the host character set will essentually turn of the mapping since isolatin --> isolatin is just the identity map. I am grateful to Bjoern Frantzen, bjoff@bgnett.no for the original code as well as other OS/2 fixes. 6. Small tweak to MIME encoding. Changes since 0.9.2.0 0. Bug causing slrn to hang on VMS fixed. The bug was tracked down with the help of Andrew Brennan . 1. man page and slrn.rc updated to reflect the fact that `art_header_bob' and `art_header_eob' functions were renamed to simply `header_bob' and `header_eob', resp. Also, the functions `goto_beginning' and `goto_end' are being phased out in favor of `art_bob' and `art_eob', resp. 2. Fixed a compilation problem on NeXT. mching@inow.com submitted OS/2 makefile and config patches for EMX compiler, and cardio@orsola.med.unibo.it (cardio) submitted patches for Ultrix. 3. The default for min_high_score was incorrectly set to 0. It has been changed to 1. 4. New intrinsics for macros: get_header_score set_header_score 5. New feature: SLRN_HAS_END_OF_THREAD See src/slrnfeat.h for more information. This feature is enabled by default. In the current implementation, it is a compile-time option-- there is nothing to disable it at run-time. 6. Some of the documentation updated. Changes since 0.9.1.0 0. The macro functions read_mini and read_mini_no_echo now take three arguments. See README.macros for more information. This change was necessary because the ``read input from user'' routines are now more flexible and support recall of previously entered text. 1. Renamed `group_mode_hook' to `group_mode_startup_hook'. Added a new hook `group_mode_hook' that is called every time group mode is re-entered. 2. Oops. A horrible bug that manifested itself when the quote string was not specified via `set quote_string' has been fixed. 3. `set use_color' added so that `set use_color 0' may be used to turn off color support. 4. The name of a header and its value may be be given a different colors using, e.g., color headers "green" "white" color header_name "red" "white" This means that the header 'From: davis@space.mit.edu' will appear with 'From:' in red/white and the rest will appear as green/white. 5. It is now possible to customize the keybindings of the command prompt. The defaults are: setkey readline bol "^A" % Beginning of line setkey readline eol "^E" % End of line setkey readline right "\e[C" % Move right setkey readline left "\e[D" % Move left setkey readline bdel "^H" % Delete backward setkey readline bdel "^?" % Delete Backward setkey readline del "^D" % Delete Foreword setkey readline deleol "^K" % Delete to End of line setkey readline trim "\e/" % Trim whitespace setkey readline quoted_insert "^Q" % Quoted insert The name of the keymap is `readline'. 6. New intrinsic functions for macros include: thread_size % Returns number of headers in thread collapse_thread % Collapse current thread uncollapse_thread % Uncollapse current thread is_thread_collapsed % Returns non-zero if current thread is collapsed get_header_tag_number article_as_string % Returns whole article as a string tt_send % Send argument to terminal header_next_unread % goto next unread header input_pending % Wait for input or timeout getkey % read keyboard character ungetkey % push back keyboard character set_input_string % provide answer to prompt get_yes_no_cancel % get response from user See README.macros for more information. 7. New .slrnrc variable macro_directory controls where macro file are loaded from. For example, set macro_directory "News/macros,/usr/local/lib/slrn/macros" interpret "util.sl" interpret "tin.sl" will search for the macro files in $HOME/News/macros, /usr/local/lib/slrn/macros, and, as a last resort, in the home directory ($HOME). 8. Now possible to add custom headers to followups and replies. The actual headers are controlled by new slrn.rc variables: set reply_custom_headers "X-Bla: Bla bla" set followup_custom_headers "X-Bla: Bla bla" The string assigned to these variables may contain the format specifiers of the 'followup' variable. This idea was presented to me by John Goerzen . 9. Several people have sent me patches for customization of high/low score thresholds. The following .slrnrc variables are now available: set min_high_score 1 set max_low_score 0 set kill_score -9999 One might want to set these on a group by group basis. This is possible via a macro. The best way to do this is to put the appropriate statements in a 'pre_article_mode_hook' described below. 10. New hooks for macros: resize_screen_hook : called when screen size changes pre_article_mode_hook: called before grabbing headers from server in article mode. Changes since 0.9.0.0 -1. features.h changed to slrnfeat.h to avoid GNU C problems. 0. Misc bug-fixes, e.g., xgtitle operational again. In addition, I rewrote the lowlevel tcp/ip code so that slrn should now be more responsive to Ctrl-G abortion and suspension. 1. The following .slrnrc commands are obsolete and will not be supported for too much longer: "quote_string" "realname" "replyto" "organization" "followup" "cc_followup_string" "decode_directory" "editor_command" These are now `set' type variables. That is, the new usage is: set quote_string ">" etc... 2. If a piece of authentication information is supplied as an empty string as in nnrpaccess "news.mit.edu" "davis" "" slrn will prompt for the information. 3. It is now possible to specify the ``help'' string that is displayed at the bottom of the display via the variables: set art_help_line "bla bla" set header_help_line "more bla bla" set group_help_line "and even more" 4. Scrolling improvements. 5. It is now possible to use, e.g., setkey article "digit_arg" "\eOP1" setkey group "digit_arg" "\eOP1" to bind a key to the prefix argument function. 6. Group search also search group description 7. `set use_tilde 0' may be used to turn off tilde feature. 8. New interpreter intrinsics: get_group_flags set_group_flags is_article_visible is_group_mode extract_article_header set_article_window_size read_mini_no_echo save_current_article select_group group_search group_down_n group_up_n group_unread Changes since 0.8.8.4 0. Tiny problem with server timeout fixed. 1. GroupLens support added. See README.GroupLens 2. Sort by score implemented. See src/features.h to disable it. To sort by score, add: set sorting_method 5 set display_score 1 to your .slrnrc file. Set display_score to 0 to disable displaying the score value. If the score value is displayed, the number of lines in the article will not be displayed. Thanks go to Olly Betts for this feature. 3. Score file lines such as: [~rec.crafts.*, rec.hobbies.*] are now supported. The `~' character means that the set of scores implied by this line applies to any group EXCEPT rec.crafts.* and rec.hobbies.*. That is, the `~' character may be used as a NOT operator in this context. 4. New slrnrc configuration option: set custom_headers "X-Whatever: bla\nX-Misc: bla bla" 5. New group mode function: move_group. This will allow you to use the up/down arrow keys to move a group to a different location. It has a default binding of `m'. 6. Added Felix von Leitner's cross posting and tilde patches. The cross posting patch is enabled via the SLRN_HAS_MSGID_CACHE feature. Similarly, the tilde patch is available via SLRN_HAS_TILDE_FEATURE. Thanks Felix. 7. S-Lang interpreter available. Set SLRN_HAS_SLANG in features.h to enable it. See also README.slang and slrn.sl for more information. The 0.9 series of slrn releases will feature more and more interpreter capabilities. Changes since 0.8.8.3 0. Bug fix release and patches to get it to compile under VMS again. Changes since 0.8.8.2 0. Misc bug fixes 1. Support for INEWS and LOCAL NEWS SPOOL. The INEWS patches were originally provided by Erik Manders . Olly Betts is responsible for the local spool support. Edit src/features.h to enable these options. The following slrn.rc variables are are related to the spool support: set spool_inn_root "/export/opt/inn" set spool_root "/export/news" set spool_nov_root "/export/news" % -- The following filenames are relative to spool_root set spool_nov_file ".overview" set spool_active_file "data/active" set spool_activetimes_file "data/active.times" set spool_newsgroups_file "data/newsgroups" Of course default values for these files may be hard-coded. See src/features.h. In addition, new command line arguments have been added: --inews ==> use inews for posting --nntp ==> use nntp --spool ==> use local news spool --version 2. Score files now allow more than one newsgroup pattern to be specified, e.g., [sci.*, comp.*] . . Changes since 0.8.8.1 1. base 64 decoding support 2. On VMS, the personal slrn configuration file has been renamed to slrn.rc. See features.h for changing this. Also, many thanks to Andy Harper (A.HARPER@kcl.ac.uk) for work on DCL make files. 3. Small bug fixes Changes since 0.8.8.0 0. Bug fixes (hangup, connection aborts, article/header percentage counts, etc..) 1. Oops. Forgot to provide a way to turn off video attributes. Now you can use `none', e.g., mono headers none 2. New variable for group descriptions: group_dsc_start_column set group_dsc_start_column 40 causes descriptions to start in column 40. 3. Now possible to color descriptions via: color description blue white mono description bold 4. ^G abort of header retrieval. 5. New variable: set lines_per_update 50 sets the granularity of slrn's percentage meters. 6. Spoiler support provided by Olly Betts (olly@mantis.co.uk). The .slrnrc variable `spoiler_char' may be used to specify the character used to hide the text. The default is '*': set spoiler_char '*' 7. .slrnrc `ignore_quotes' specifier can take up to 5 regular expression patterns, e.g., ignore_quotes "^ *[:=|+>]" "^ *[A-Za-z]>" specifies two patterns. 8. Certain compiler symbols such as NO_DECODE have been renamed and moved to the new file: features.h Changes since 0.8.7 0. Misc bug fixes 1. Use of the XGTITLE command is turned off by default. Use the variable `use_xgtitle' to turn it on. 2. New configuration settings for your .slrnrc file set Xbrowser "netscape %s &" set non_Xbrowser "lynx %s" Press the `U' key (browse_url) for slrn to search for a URL and call the appropriate browser. Thanks go to Justus Pendleton for the patches. 3. When creating a score from within article mode, you will be prompted for whether or not the score is local or global. This patch was the idea of Colin Perkins . 4. Use `set query_reconnect 0' in your .slrnrc file to turn off reconnection confirmation. 5. `ESC 1 *' now removes all `*' marks. 6. If `cc_followup' is -1, slrn will prompt whether or not to cc the followup message. 7. If linked against slang version 0.99-30 or later, it is possible to customize the video attributes on mono-chrome terminals, e.g., mono cursor reverse blink mono headers bold mono author bold blink . . The above lines will cause the author part of the header to blink in bold, the cursor will blink in reverse video, etc... 8. New variable to set: write_newsrc_flags % If 0, save all groups when writing newsrc file % if 1, do not save any unsubscribed groups % if 2, do not save any unread-unsubscribed groups set write_newsrc_flags 0 9. Better checking of articles before posting. Now, a new screen will appear with error messages if the article appears badly formatted. 10. Modified scrolling behavior when the article window is open. Now the next and previous headers are always visible. Changes since 0.8.6 0. Under Unix there is a new `configure' script for building slrn. 1. ``Header Numbers'' add for more efficient article selection. This is enabled by default and may be disabled by adding set use_header_numbers 0 in your .slrnrc file. In addition, the color of these numbers may be controlled via something like color header_number "green" "white" The numbers appear at the left margin of the header window. To goto a particular numbered header, e.g., 12, simply press `1' then `2' followed by RETURN, SPACE, etc... 2. The function ``xpunge'' has been added for article mode. The default binding of this function is to the `x' key. It removes already read articles from the list. 3. If slrn does not read the active file, then it will now attempt to use the `xgtitle' command to query the server for newsgroups matching a pattern. (This affects the `L' key in group-mode). Changes since 0.8.5 -1. New distribution structure 0. Thanks to Jay Maynard (jmaynard@nwpros.com), slrn now runs under OS/2. Since this is the first OS/2 version, it should be regarded as ALPHA. 1. New .slrnrc configuration variable: prompt_next_group. If 0, slrn will not provide the opportunity to use up/down arrow keys to select the next group. Instead, pressing a key that performs a goto next group action, e.g., the Next-Group mouse button, will simply put you in the headers of the next group in the group list. 2. When the mouse is clicked on a button at the top of the display, the button will ``flash''. The color that is used to simulate the flash may be specified by using, e.g., set color menu_press blue yellow in your .slrnrc file. 3. New groups are displayed with an `N' in the flags column. 4. `ESC 1 L' will hide unsubscribed groups (`L' with a prefix argument). 5. The `?' key may be used in help mode to re-start help. 6. OS/2 port thanks to Jay Maynard . Note: this port is still considered to be in its alpha stage. 7. slrn will nolonger run unless the user has a username and a FQDN. 8. New article mode functions (Thanks to Alain.Knaff@imag.fr (Alain Knaff)): fast_quit % quit news reader from article mode skip_to_prev_group % None of these function have default bindings. 9. When replying, slrn will warn the user if the email address appears invalid. 10. New configuration variable: set use_metamail 0 If non-zero, metamail will be called to process MIME articles that slrn does not support. Changes since 0.8.4 1. Small bug fixes (nothing major). 2. Cosmetic change where one can more easily see the progress of the download of tagged articles. In addition the server name is printed on the top status line. 3. The `*' (toggle_header_tag) function has been changed. If used on a collapsed thread, it will tag the entire thread. In addition, after pressing `*', the pointer moves down one header. 4. -m command line option forces XTerm mouse reporting to be turned on. 5. When the mouse is enabled, ``buttons'' also appear on the top status line. Simply click on them with the mouse. Perhaps in the future, these buttons will become menus. Changes since 0.8.3 0. The slrn makefile has changed. Now it asks for a location to put slrn object files and it asks for the location of the slang library file. The nice thing about this is that it is easy to compile slrn under multiple architectures. The down side is that some makes will not work with the Makefile. If your make fails, use Makefile.old. Since I do not plan to continue support for Makefile.old, please look into installing GNUmake. 1. .newsrc file is now created in mode where only user has read permission to it. 2. If a prefix argument is given to the subscribe/unsubscribe commands, the user will be prompted for a group pattern which will be used, e.g., pressing `ESC 1 s' and entering `*linux*' at the prompt will result in a subscription to all newsgroups of form `*linux*'. 3. If a prefix argument is given to the `K' (create_score) function, the editor will be called to edit the score file-- no questions asked. 4. New .slrnrc variable: query_read_group_cutoff Whenever slrn enters a group with `query_read_group_cutoff' or more unread articles in it, it will prompt for how many to read. The default is 100. If set to 0 or less than 0, slrn will not prompt at all, i.e., set query_read_group_cutoff 0 5. It is now possible to have articles automatically wrapped by adding 4 to the wrap flags value. See the slrn.rc file. 6. VMS changes: some patches added, ``makefiles'' fixed Changes since 0.8.2 1. If slrn cannot find a fully qualified domain name, it will not run. This name can be specified in the .slrnrc file so there is no excuse for not having one. There are too many articles already floating around usenet with bad hostnames and I do not want slrn to contribute to this. 2. Bug in authorization fixed 3. Oops. If one were editing a file from within slrn and the window was resized, slrn would re-draw the window! That is fixed. 4. article wrapping added-- press `w' in article mode to wrap/unwrap. The variable `wrap_flags' may be used to control whether or not headers or quoted material is wrapped, e.g., set wrap_flags 1 % Wrap headers set wrap_flags 2 % Wrap quoted material set wrap_flags 3 % Wrap headers and quoted material The default is to wrap everything (3). 5. slrn may be started as in `slrn -h server.name:XXX' where XXX in an integer that represents a port number. 6. `set sendmail_command' may be used in the .slrnrc file to specify an alternative mail program. The default is: "/usr/lib/sendmail -oi -t -oem -odb" See config.h for selecting a different default. 7. ESC u in group mode may be used to Un-Catchup on a group. Changes since 0.8.1 1. Misc bug fixes: MIME re-worked some VMS problems ironed out VMS: callable mail support Changes since 0.8.0 1. The `toggle_sort' function bound to `ESC s' in article mode has been modifed. Now, it prompts for the sorting method. 2. New variables for the .slrnrc file: % If 0, do not sort. If 1, perform threading. If 2, sort by subject % If 3, thread then sort result by subject set sorting_method 3 % If non-zero, threads will be uncollapsed when a group is entered set uncollapse_threads 0 Note: methods 2 and 3 were not available in previous versions of slrn. This is why the `toggle_sort' function needed to be modified. 3. It is now possible to have all posted articles saved in a file. The file is specified in the .slrnrc with a line like: set save_posts "News/My_Posts" 4. slrn now generates its own message id provided that it can find the machines fully qualified domain name (FQDN). The reason for this is that one can easily more efficiently score follow-ups to the user's posted articles. For example, if the FQDN is `machine.my.domain' and the user's name is `user' then simply put: [*] Score: 100 (or whatever) References: user@machine.my.domain> in the score file. (The first part of the generated message-id is composed of a base 32 representation of the current time and process-id). 5. Default values available at all yes/no prompts. 6. Saving an article is slightly different but simpler. The new bindings are: `:' uudecode file `o' save a file-- no decoding Use "decode" and "save_article" to re-bind these. See the FAQ for more detailed help on uudecoding articles. 7. New variable: 'save_directory' may be used to specify where files are saved. The default is 'News'. Use something in your .slrnrc file: set save_directory "News" 8. There is now an option for slrn to read the active file upon startup. Using this option may result in faster startup times. Using the active file also has the advantage that the `L' key will list all groups available at the server. There are two ways of enabling this option: a. Startup slrn with the -a switch: slrn -a b. Add the line: set read_active 1 to your .slrnrc file. 9. The `Expires' date may be given in one of the following formats: MM/DD/YYYY DD-MM-YYYY Previous versions only allowed the first format. 10. MIME support add by Michael Elkins . To enable MIME support, add: set use_mime 1 to your .slrnrc file. In addition, you may select a character set by adding something like: set mime_charset "iso-8859-1" to your .slrnrc file. The MIME code is still in the testing phase but it appears to be ok. Changes since 0.7.9.0 1. If Cc: header appears in a followup, the message will also be email to the addresses listed on the line. The address `poster' will be considered as an alias for the original poster. This header will automatically be generated if the line: set cc_followup 1 appears in the .slrnrc file. By default, the body of an email message generated this way will be prefixed by the string: [This message has also been posted.] To change it, use a line of the form: cc_followup_string "[Note: Even though I posted this, here is a copy.]" in your .slrnrc file. 2. Broken threads are now collaped together. 3. In replies, the In-Reply-To header is generated with the message-id of the original post. 4. New variable for .slrnrc: `set confirm_actions 1'. If set to 1 (default is 0), confirmation on quitting, followup, reply, etc... is not performed. 5. Arbitrary header keywords are now allowed for Score files. Keep in mind that a score that is based on such keywords take ALOT longer to process. The command line option -k0 will suppress expensive scores. In addition, the K key (bound to `toggle_scoring') may be used at the group level to set the scoring mode. 6. Enhanced score file syntax: a. If Score:: (TWO colons) is used to denote a score, all expressions that it covers will be considered as OR type expressions. That is, Score:: 20 Subject: larry Subject: curly is (almost) equivalent to Score: 20 Subject: larry Score: 20 Subject: curly Homework: What do I mean by ``almost''? Note: Scores with only one colon are AND scores. b. If a score value is prefixed with the `=' sign, e.g., Score: =30 Then scoring on the article is regarded as finished and a value of 30 will be assigned to the article. See score.txt and KILL_FAQ for more information. 7. Article mode keybindings of `<' and `>' have been changed to goto the beginning and end of the article, resp. 8. The `#' key may be used to NUMERICALLY tag articles. The save operation now saves tagged articles in their numerically tagged order. The key sequence `ESC #' will remove all numerical tags. 9. The save function is now more sophisticated. It can now save tagged articles, the current thread, or a single article. After it saves, it prompts for decoding. The present version of slrn can only decode uuencoded files or share archives. If decoding is selected, slrn will prompt for whether or not he save file should be deleted. The variable `decode_directory' may be used to control where decoded files are placed. 10. If a line of the form: set use_tmpdir 1 appears in the .slrnrc file, a tmp directory will be used for posting and replying. The directory /tmp will be used unless the environment variable TMPDIR exists. 11. It is now possible to set the editor command in the .slrnrc file, e.g., editor_command "jed %s -g %d -tmp" Changes since 0.7.8.2 1. Score files added-- See score.txt for score file syntax. To use score files you must add a line such as: scorefile "News/Score" to you .slrnrc file. slrn assumes no default value for this file. With this defined, you may either edit the file by hand or press the `K' key in article mode to automatically add ``scores'' to this file. If you edit it by hand and you use the jed editor, see `score.sl' for a syntax highlighting and indentation mode for score files. A new commad line option `-k' may be used to turn OFF score file processing. 2. In article mode, `=' key will now follow articles of a specified subject. In addition, the `!' key will go to articles with high scores. Changes since 0.7.8.1 1. Threads are now collapsed. An individual thread may be un-collapsed by pressing `ESC t'. Pressing `ESC t' will re-collapse it. In addition, simply reading the first article in a thread will un-collapse it. Deleting a collapsed thread will delete all articles in th thread. Hopefully, this interface will seem intuitive. Note: `ESC 1 ESC t' will toggle collapsing of ALL threads. To bind this to a different key, use the function `toggle_collapse_threads'. Of course the thread number has to have a color. The default is: `color thread_number "blue" "white"' 2. New configuration variables for your .slrnrc file (defaults shown) set query_next_article 1 set query_next_group 1 For example, setting query_next_article to 0 will result in the next article being read when the end of the current one is reached. 3. Parse error messages while parsing .slrnrc file are now more meaningful. Changes since 0.7.8.0 1. Additional support for XTerm mouse (Thanks Mark). These include: Article mode: Left Button: Help bar: return help Header status: header page down Article status: Next unread Article window: Article page down Middle Button: Help bar: toggle show author Header status: hide article Article status: toggle quotes Article window: nothing Right Button: Help bar: help Header status: header page up Article status: Prev unread Article window: Article page up Similar functionality for group mode. 2. VMS makefile fixed 3. New group mode function: transpose_groups. The default binding is ^X^T. This will transpose the position of two groups. This may be used to rearrange groups. 4. man page updated 5. `set color signature' now supported. (Thanks to combee@ptsg-austin.sps.mot.com (Ben Combee)) 6. Misc bug fixes. 7. `hide article' will now toggle. Changes since 0.7.7 0. Misc bug fixes 1. slrn calling syntax changed: The -D parameter has changed to lowercase -d. Now, a new -Ddefine-something is available. 2. If using slang0.99-20 or newer, it is possible to use slang preprocessing in your .slrnrc file. Use the -D flag to define a token. 3. Oops! Previous version broke art_lineup, art_linedn functions. 4. Problem with "unknown" as username fixed. 5. Suspension now allowed during lengthy transfers. This requires slang version 0.99-20 or greater. 6. New article mode function: "toggle_header_tag". A header that is ``tagged'' is marked with a `*' in the left column. The default binding is to the `*' key (Shift-8). A tagged article will not change its read status by the `catchup' series of functions. There may be more uses later. 7. If a `prefix' argument is given to the `get_parent_header' function, the entire tree will be reconstructed. This means that the whole tree can be reconstructed by pressing: ESC 1 ESC p 8. Another oops. -create flag was not working in 0.7.7. 9. `set unsubscribe_new_groups' added to slrn.rc file. If this is non-zero, newgroups will not automatically be subscribed to, e.g., if you desire this behavior, put the following in your .slrnrc file: set unsubscribe_new_groups 1 10. In an effort to make the article screen look less busy, a new configuration variable `show_thread_subject' has been made available. If zero, only the parent thread's subject will be displayed. If you do not like this, add: set show_thread_subject 1 to your .slrnrc file. 11. By default, articles are saved in folders with names beginning with a capital letter. If a folder with a lower case name already exists, slrn will use that. That is, it is backward compatable. 12. Improved man page (Thanks to Howard Goldstein ) 13. XTerm mouse support added. This option requires slang version 0.99-21. Use `set mouse 1' in your .slrnrc file to enable. Note: mouse reporting is disabled at all slrn prompts so the mouse will be available for cut/paste in such contexts. Changes since 0.7.6 1. Improvements for VMS. Now supports NETLIB (Thanks Andrew). 2. Improved detection of supercite 3. The article mode functions `catchup' and `uncatchup' have changed slightly in a way that may be more useful. Now, they function on all headers from the top of the header list to the current header. Previously they functioned on all headers from the current one to the end of the list. Of course the functions `catchup_all' and `uncatchup_all' are still available. 4. New `config.h' file that allows HOSTNAME, ORGANIZATION, etc... to be compiled into the executable. 5. Slightly improved FAQ. Changes since 0.7.5 0. VMS port thanks to Andrew Greer (Andrew.Greer@vuw.ac.nz) 1. Small bug in help.c corrected that caused problems on some systems if a custom help file was used. 2. New function: repeat_last_key. The default binding is `.'. The function that `.' used to be bound to has been moved to `;'. 3. slrn.rc may be placed in SLRN_LIB_DIR to provide defaults for all users, e.g., organization, hostname, ... See INSTALL. 4. Catchup bindings changed in article mode. (By popular demand). 5. Misc improvements. Changes since 0.7.4 1. Oops! It was possible to cancel any article in the old version. I forgot to add a `return' statement after checking to make sure that the person cancelling actually posted the article. 2. Missing comma between two strings in help.c added. 3. `delete_thread' function added to article mode keybindings 4. `followup' added to slrn.rc. This allows the user to set the followup string. For example, I use: followup "On %d, %r <%f> wrote:" See slrn.rc for more information. 5. It is now possible to concatenate newsrc files. slrn will now ignore repetitions. For example, suppose that you have an old newsrc file that you wish to bring uptodate. Let's call it `old'. Suppose that another one, `new' is much more extensive. Then do: % mv old old~ % cat old~ new > old % slrn -f old If you have no idea how this may be useful, then you do not need it. 6. Group mode searches will automatically wrap. 7. Some support for automatic detection of ``super-cited'' articles so that quoted lines are handled properly. This works most of the time. 8. If `set no_backups 1' appears in the .slrnrc file, backups of the .newsrc file is turned off. 9. `g' in article mode will skip to the next digest. 10. User is now prompted for chance to re-edit a message after editing. 11. `set beep 0' may now be used to turn off the bell. See slrn.rc. Changes since 0.7.3 1. -i init-file command option added. This allows a different slrn.rc file to be specified (default: .slrnrc). 2. Silly problem fixed when -create option used but .newsrc does not exist. 3. A line read in from the server that begins with two periods is stripped of one of them as RFC977 requires. 4. Using a prefix argument to the followup command will insert the original headers into the followup. 5. If server drops the connection, an attempt is made to reconnect. (ljz@panix.com) Changes since 0.7.2 1. Slight modification to extract real name routine so that if the name is not available, the address is used. 2. Now possible to specifiy a color for quoted text via `color quotes'. The default is: color quotes red white This really does improve readability of an article with quoted material! 3. NNRP authentification support added. In .slrnrc, use a line like: nnrpaccess HOSTNAME USERNAME PASSWORD Changes since 0.7.1 0. The XPAT server command is exploited if it is available. Not all servers support it even though it is pretty standard. 1. ESC Ctrl-P will find all children of current header by querying the server. 2. Confirm Follow-up when poster sets the followup line to poster. 3. ESC-d will now mark the current thread as read-- that is, current header plus all children. 4. SPACE in article mode can be used to read next article or go to next group if pressed twice at the end of the current article. Changes since 0.7.0 1. Typo in the `unsetkey' function corrected. The typo was a serious one. 2. Small change in the Top/Bottom/Percentage calculation for the status line. 3. Misc bug fixes 4. See help.txt for creating your own custom help screen. Changes since 0.6.3 1. Added `realname' to slrn.rc file. 2. TRUE referenced based threading added. Subject sorting has been abandoned. A tree in drawn showing how articles are threaded. The color of the tree may be specified by `color tree' in your .slrnrc file. ESC-p will got to the parent of the current header. Note: If the terminal cannot support line drawing characters, the tree will not appear. Changes since 0.6.2 1. Xref mark as read now takes advantage of group name hashing. 2. Fixed problem with getlogin on some systems. Changes since 0.6.1 1. `N' in article mode will now skip on to next group. Lowercase `n' still retains its previous meaning. 2. Bug fixed in catchup-all in article mode. Previously, it did not mark all as read. 3. A description of each newsgroup can be displayed next to the group name. Use ESC-a to toggle it on/off. 4. New environment variable SLRN_LIB_DIR determines where to load files that may be shared by all users, e.g., the group description file. By default, it is /usr/local/lib/slrn. See INSTALL for more details. Changes since 0.6.0 1. The `G' key at group mode may be used to retrieve new news from the server. In addition, `X' will force the newsrc file to be saved. 2. Small bug corrected that manifests itself when no groups are subscribed to (a very rare situation). 3. The one-line help at the bottom of the screen is always visible now. Of course, the full on-line help is still available. 4. The Makefile has been modified so that slrn may be easily termified under Linux. 5. Fixed a silly bug that made the -C color flag do nothing. Changes since 0.5.3 1. Selecting a group with an ESC prefix digit argument will now select unread articles too. 2. My uudecode program can also unpack shell archives. No need to edit those headers either. 3. When replying, the user defined quote string is used to quote the article. 4. ESC-r from article mode will toggle rot13 decryption. 5. `|' in article mode will pipe article to an external command (e.g., lpr) 6. Some cosmetic improvements by ljz@ingress.com (Lloyd Zusman). 7. ESC-U, ESC-u, ESC-C, ESC-c added by ljz@ingress.com (Lloyd Zusman). These functions may be used to catchup and un-catchup on articles in article mode. 8. IF the line: `set show_article 1' appears in your .slrnrc file, the article is displayed when article mode is entered. Changes since 0.5.2 1. Path header added when posting 2. When the newsrc file is written, a backup is made of the previous version. Changes since 0.5.1 1. ESC-a toggles showing author's name on/off in the header window. This provides a wider display for the subject. Changes since 0.5.0 1. Improved help screen for beginners. 2. ESC-s now toggles header sorting on/off. Changes since 0.4.0 1. LOGNAME environment variable now checked to get the user's login name. Previously, only USER was checked. 2. newsrc file locking added. 3. TAB key now moves past quoted text 4. `autobaud' keyword in .slrnrc file may be used to incicate that the output rate to the terminal should be synchronized to the terminal baud rate. This behavior was always the default in previous versions. Now, it is off by default. 5. The `L' key in the group menu may now be used to toggle the display of unsubscribed groups on and off.