--- slrn-0.9.8.0/src/slrn.c	2003-07-29 15:03:28.000000000 +0200
+++ slrn-0.9.8.0_patched/src/slrn.c	2003-08-26 20:38:04.000000000 +0200
@@ -913,30 +913,58 @@
 static void usage (char *extra) /*{{{*/
 {
    printf (_("\
+Slrn: %s [%s]\n\
+\n\
+Slrn comes with ABSOLUTELY NO WARRANTY; for details type `slrn -vv'.\n\
+Slrn is free software, and you are welcome to redistribute it\n\
+under certain conditions; type `slrn -vv' for details.\n\
+\n\
 Usage: slrn [--inews] [--nntp ...] [--spool] OPTIONS\n\
--a              Use active file for getting new news.\n\
--f newsrc-file  Name of the newsrc file to use.\n\
--C[-]           [Do not] use colors.\n\
--Dname          Add 'name' to list of predefined preprocessing tokens.\n\
--d              Get new text descriptions of each group from server.\n\
-                 Note: This may take a LONG time to retrieve this information.\n\
-                 The resulting file can be several hundred Kilobytes!\n\
--i init-file    Name of initialization file to use (default: %s)\n\
--k              Do not process score file.\n\
--k0             Process score file but inhibit expensive scores.\n\
--m              Force XTerm mouse reporting\n\
--n              Do not check for new groups.  This usually results in\n\
-                 a faster startup.\n\
--w              Wait for key before switching to full screen mode\n\
--w0             Wait for key (only when warnings / errors occur)\n\
---create        Create a newsrc file by getting list of groups from server.\n\
---debug FILE    Write debugging information to FILE\n\
---help          Print this usage.\n\
---kill-log FILE Keep a log of all killed articles in FILE\n\
---version       Show version and supported features\n\
+Short option    Long option     Description of option\n\
+=====================================================\n\
+-h              --help          Print this usage.\n\
+-v              --version       Show version and supported features\n\
+-a              --active        Use active file for getting new news.\n\
+-f newsrc-file  --file          Name of the newsrc file to use.\n\
+-C              --color         Colorize text.\n\
+-C-             --nocolor       Do not colorize any text.\n\
+-Dtoken                         Add 'token' to list of predefined\n\
+                                preprocessing tokens.\n\
+-d              --descriptions  Get new text descriptions of each group\n\
+                                from server. Note: This may take a LONG time\n\
+                                to retrieve this information. The resulting\n\
+                                file can be several hundred Kilobytes!\n\
+-i init-file    --init-file     Name of initialization file to use\n\
+                                (default: %s)\n\
+-k              --noscoring     Do not process score file.\n\
+-k0             --noexpensive   Process score file but inhibit expensive scores.\n\
+-m              --mouse         Force XTerm mouse reporting\n\
+-n              --nocheck       Do not check for new groups.  This usually\n\
+                                results in a faster startup.\n\
+-w              --wait          Wait for key before switching to full\n\
+                                screen mode\n\
+-w0             --wait-for-key  Wait for key (only when warnings / errors occur)\n\
+-c              --create        Create a newsrc file by getting list of groups\n\
+                                from server.\n\
+                --debug FILE    Write debugging information to FILE\n\
+                --kill-log FILE Keep a log of all killed articles in FILE\n\
 \n\
 NNTP mode has additional options; use \"slrn --nntp --help\" to display them.\n\
-"), SLRN_USER_SLRNRC_FILENAME);
+---------------------------------------------------------------------------\n\
+   Example startup:\n\
+   $ slrn -C -n -h news.provider.tld\n\
+   read: (-C) show colors,\n\
+         (-n) do not check for new newsgroups,\n\
+         (-h) connect to newsserver (host) \"news.provider.tld\"\n\
+\n\
+   Example how to create and use a new newsrc file:\n\
+   $ slrn -create -h news.provider.tld -f ~/.slrn/newsrc_servername\n\
+---------------------------------------------------------------------------\n\
+For more information see www.slrn.org\n\
+Copyright (C) John E. Davis  <davis@space.mit.edu> [1994-2000]\n\
+Copyright (C) Thomas Schultz <tststs@gmx.de>       [2001-2003]\n\
+Current maintainer: Thomas Schultz <tststs@gmx.de>\n\
+"), SLRN_VERSION, SLRN_RELEASE_DATE, SLRN_USER_SLRNRC_FILENAME);
    
    if (extra != NULL)
      {
@@ -947,6 +975,48 @@
 
 /*}}}*/
 
+static void license (char *extra) /*{{{*/
+{
+   printf (_("\
+Slrn: %s [%s]\n\
+\n\
+Copyright (C) John E. Davis  <davis@space.mit.edu> [1994-2000]\n\
+Copyright (C) Thomas Schultz <tststs@gmx.de>       [2001-2003]\n\
+Current maintainer: Thomas Schultz <tststs@gmx.de>\n\
+\n\
+Lots of others not mentioned here contributed lots of code,\n\
+fixes, and suggestions.\n\
+\n\
+    This program is free software; you can redistribute it and/or modify\n\
+    it under the terms of the GNU General Public License as published by\n\
+    the Free Software Foundation; either version 2 of the License, or\n\
+    (at your option) any later version.\n\
+\n\
+    This program is distributed in the hope that it will be useful,\n\
+    but WITHOUT ANY WARRANTY; without even the implied warranty of\n\
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n\
+    GNU General Public License for more details.\n\
+\n\
+    You should have received a copy of the GNU General Public License\n\
+    along with this program; if not, write to the Free Software\n\
+    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.\n\
+\n\
+To contact the developers, please mail to <slrn-admin@lists.sourceforge.net>\n\
+or if you are searching for a more public discussion have a look at the\n\
+slrn-user mailinglist:\n\
+       http://lists.sourceforge.net/mailman/listinfo/slrn-user\n\
+"), SLRN_VERSION, SLRN_RELEASE_DATE);
+   
+   if (extra != NULL)
+     {
+	printf ("\n%s\n", extra);
+     }
+   exit (1);
+}
+
+/*}}}*/
+
+
 
 static int parse_object_args (char *obj, char **argv, int argc) /*{{{*/
 {
@@ -1073,6 +1143,24 @@
 	     else if (!strcmp ("batch", argv_i)) Slrn_Batch = 1;
 #endif
 	     else if (!strcmp ("create", argv_i)) create_flag = 1;
+	     else if (!strcmp ("active", argv_i)) use_active = 1;
+	     else if (!strcmp ("color", argv_i)) use_color = 1;
+	     else if (!strcmp ("create", argv_i)) create_flag = 1;
+	     else if (!strcmp ("descriptions", argv_i)) dsc_flag = 1;
+         else if (!strcmp ("file", argv_i)) Slrn_Newsrc_File = argv[++i];
+   	     else if (!strcmp ("init-file", argv_i)) init_file = argv[++i];
+         else if (!strcmp ("mouse", argv_i)) use_mouse = 1;
+         else if (!strcmp ("nocolor", argv_i)) use_color = -1;
+	     else if (!strcmp ("nocheck", argv_i))
+			 no_new_groups = 1;
+         else if (!strcmp ("noexpensive", argv_i))
+             Slrn_Perform_Scoring &= ~SLRN_EXPENSIVE_SCORING;
+	     else if (!strcmp ("noscoring", argv_i))
+             no_score_file = 1;
+         else if (!strcmp ("wait", argv_i))
+             wait_for_key = 1;
+         else if (!strcmp ("wait-for-key", argv_i))
+             wait_for_key = 2;
 	     else if (!strcmp ("version", argv_i))
 	       slrn_show_version ();
 	     else if ((!strcmp ("kill-log", argv_i)) &&
@@ -1091,6 +1179,7 @@
 	     else usage (NULL);
 	  }
 	else if (!strcmp ("-create", argv_i)) create_flag = 1;
+	else if (!strcmp ("-c", argv_i)) create_flag = 1;
 	else if (!strcmp ("-C", argv_i)) use_color = 1;
 	else if (!strcmp ("-C-", argv_i)) use_color = -1;
 	else if (!strcmp ("-a", argv_i)) use_active = 1;
@@ -1100,6 +1189,10 @@
 	else if (!strcmp ("-k", argv_i)) no_score_file = 1;
 	else if (!strcmp ("-k0", argv_i))
 	  Slrn_Perform_Scoring &= ~SLRN_EXPENSIVE_SCORING;
+    else if (!strcmp ("-v", argv_i))
+      slrn_show_version ();
+    else if (!strcmp ("-vv", argv_i))
+      license (NULL);
 	else if (!strcmp ("-w", argv_i))
 	  wait_for_key = 1;
 	else if (!strcmp ("-w0", argv_i))
