[comp.mail.elm] Has this made it into elm?

aem@ibiza.cs.miami.edu (a.e.mossberg) (08/06/89)

Way way back, a long long time ago, Dave Taylor said:

|As Eric Christensen mentioned, I did a fair bit of work in 2.01
|to allow people to include just what pieces of the program they 
|wanted to have around.  I can't offer the actual set of
|#ifdef statements, but to help support it, I added a new
|flag to the program, "-v" (version), and thought people 
|might be interested in the output:

|	 % elm -v

|	Elm Version and Identification Information:

|		Elm version 2.01 (alpha-release) of April 1988
|		(C) Copyright 1986, 1987, 1988 by Dave Taylor
|		----------------------------------
|		built Thu May  5 11:19:36 PDT 1988
|		----------------------------------
|		From: and Reply-To: addresses are good: USE_EMBEDDED_ADDRESSES
|		User-specified name resolver disabled: not ENABLE_NAMESERVER
|		Prefers internet address formats: INTERNET_ADDRESS_FORMAT
|		No debug options are available: not DEBUG
|		crypt function turned OFF: not ENCRYPTION_SUPPORTED
|		Mailbox editing not included: not ALLOW_MAILBOX_EDITING
|		Forms mode turned OFF: not FORMS_MODE_SUPPORTED
|		HP softkeys disabled: not HP_SOFTKEYS_SUPPORTED
|		      (no HP terminals at your facility?)
|		Mail bounceback turned OFF: not BOUNCEBACK_ENABLED

|Seemed a bit more useful than the old "what(1)" output...


Which I thought was a great idea (why I saved the message), but it never
seemed to make it into elm.  Has anyone added it? Did it, in fact, make
it into ELM 2.3? Does someone want to add it? Yea, yea, *you* probably
could've added it in the time I took to write this message (and dig out
that old message of Dave's), but if *I* add it to elm and post (and mail
to Syd) the patches, you'll laugh at my c programming ability.... :-)

aem

a.e.mossberg - aem@mthvax.cs.miami.edu/aem@umiami.BITNET - Pahayokee Bioregion
Wine is but single broth; ale is meat, drink, and cloth. - 16th century proverb

syd@DSI.COM (Syd Weinstein) (08/06/89)

aem@ibiza.cs.miami.edu (a.e.mossberg) writes:

>|	Elm Version and Identification Information:
...
>|Seemed a bit more useful than the old "what(1)" output...

>Which I thought was a great idea (why I saved the message), but it never
>seemed to make it into elm.
No this never did make it into 2.1.  And I do not have the code in
the archives that did this, when 2.1 was in development, this code
was not in it.  I do not know what happened to it.  In 2.2, and 2.3
we did not even consider adding it.

Note: This is really only outputing messages in regard to the major
Configure options.  The code is easy to add, but no one has submitted
it for inclusion into 2.3.
-- 
=====================================================================
Sydney S. Weinstein, CDP, CCP                   Elm Coordinator
Datacomp Systems, Inc.				Voice: (215) 947-9900
syd@DSI.COM or {bpa,vu-vlsi}!dsinc!syd	        FAX:   (215) 938-0235

aem@ibiza.cs.miami.edu (a.e.mossberg) (08/07/89)

Well, I got impatient. I went ahead and add this myself. Here's what
it does, the way I added it:

ibiza% elm -v

Elm Version and Identification Information:

	Elm 2.2 PL10, of March, 1989
	(C) Copyright 1986, 1987 Dave Taylor
	(C) Copyright 1988, 1989 USENET Community Trust
	----------------------------------
	built Sun Aug  6 17:52:59 EDT 1989
	----------------------------------
	From: and Reply-To: addresses are good: USE_EMBEDDED_ADDRESSES
	Return addresses will not be optimized: not OPTIMIZE_RETURN
	Prefers Internet address formats: INTERNET
	No debug options are available: not DEBUG
	Crypt function enabled: CRYPT
	Mailbox editing not included: not ALLOW_MAILBOX_EDITING
	Calendar file feature enabled: ENABLE_CALENDAR


and here's the patch to add it to your copy of Elm 2.2, PL10, if you
so desire...

-----cut here-------
*** Configure.old	Sun Aug  6 17:28:40 1989
--- Configure	Sun Aug  6 18:58:37 1989
***************
*** 55,60
  n=''
  c=''
  package=''
  spitshell=''
  shsharp=''
  sharpbang=''

--- 55,61 -----
  n=''
  c=''
  package=''
+ b_date=`date`
  spitshell=''
  shsharp=''
  sharpbang=''
***************
*** 200,206
  CONFIG=''
  : set package name
  package=elm2
- 
  echo " "
  echo "Beginning of configuration questions for $package kit."
  : Eunice requires " " instead of "", can you believe it

--- 201,206 -----
  CONFIG=''
  : set package name
  package=elm2
  echo " "
  echo "Beginning of configuration questions for $package kit."
  : Eunice requires " " instead of "", can you believe it
***************
*** 3198,3203
  n='$n'
  c='$c'
  package='$package'
  spitshell='$spitshell'
  shsharp='$shsharp'
  sharpbang='$sharpbang'

--- 3198,3204 -----
  n='$n'
  c='$c'
  package='$package'
+ b_date='$b_date'
  spitshell='$spitshell'
  shsharp='$shsharp'
  sharpbang='$sharpbang'
*** config.h.SH.old	Sun Aug  6 17:32:46 1989
--- config.h.SH	Sun Aug  6 17:32:57 1989
***************
*** 22,27
   * For a more permanent change edit config.sh and rerun config.h.SH.
   */
  
  
  /* EUNICE:
   *	This symbol, if defined, indicates that the program is being compiled

--- 22,31 -----
   * For a more permanent change edit config.sh and rerun config.h.SH.
   */
  
+ /* built date
+  * set the date built for the elm -v option
+  */
+ #define		BUILT_DATE	"$b_date"
  
  /* EUNICE:
   *	This symbol, if defined, indicates that the program is being compiled
*** hdrs/defs.h.old	Sun Aug  6 17:18:34 1989
--- hdrs/defs.h	Sun Aug  6 18:08:18 1989
***************
*** 31,37
  
  
  # define VERSION 		"2.2"	/* Version number... */
! 
  # define WHAT_STRING	\
  	"@(#) Version 2.2, USENET supported version, March 1989"
  

--- 31,37 -----
  
  
  # define VERSION 		"2.2"	/* Version number... */
! # define VERS_DATE	"March, 1989"		/* for elm -v option */
  # define WHAT_STRING	\
  	"@(#) Version 2.2, USENET supported version, March 1989"
  
*** src/args.c.old	Sun Aug  6 16:35:13 1989
--- src/args.c	Sun Aug  6 18:54:12 1989
***************
*** 25,30
  **/
  
  #include "headers.h"
  
  
  extern char *optarg;		/* optional argument as we go */

--- 25,31 -----
  **/
  
  #include "headers.h"
+ #include "patchlevel.h"
  
  extern char *optarg;		/* optional argument as we go */
  extern int   optind;			/* argnum + 1 when we leave   */
***************
*** 26,32
  
  #include "headers.h"
  
- 
  extern char *optarg;		/* optional argument as we go */
  extern int   optind;			/* argnum + 1 when we leave   */
  

--- 27,32 -----
  #include "headers.h"
  #include "patchlevel.h"
  
  extern char *optarg;		/* optional argument as we go */
  extern int   optind;			/* argnum + 1 when we leave   */
  
***************
*** 51,57
  	to_whom[0] = '\0';
  	batch_subject[0] = '\0';
  
!         while ((c = getopt(argc, argv, "?acd:f:hkKms:Vwz")) != EOF) {
  	   switch (c) {
  	     case 'a' : arrow_cursor++;		break;
  	     case 'c' : check_only++;		break;

--- 51,57 -----
  	to_whom[0] = '\0';
  	batch_subject[0] = '\0';
  
!         while ((c = getopt(argc, argv, "?acd:f:hkKms:Vvwz")) != EOF) {
  	   switch (c) {
  	     case 'a' : arrow_cursor++;		break;
  	     case 'c' : check_only++;		break;
***************
*** 64,69
  	     case 'm' : mini_menu = 0;	break;
  	     case 's' : strcpy(batch_subject, optarg);	break;
               case 'V' : sendmail_verbose++;     break;
  	     case 'w' : warnings = 0;	break;
  	     case 'z' : check_size++;   break;
  	    }

--- 64,70 -----
  	     case 'm' : mini_menu = 0;	break;
  	     case 's' : strcpy(batch_subject, optarg);	break;
               case 'V' : sendmail_verbose++;     break;
+ 	     case 'v' : args_version();
  	     case 'w' : warnings = 0;	break;
  	     case 'z' : check_size++;   break;
  	    }
***************
*** 123,128
  	printf("\t -m \t\tMenu - Turn off menu, using more of the screen\n");
  	printf("\t -sx\t\tSubject 'x' - for batchmailing\n");
          printf("\t -V \t\tEnable sendmail voyeur mode.\n");
  	printf("\t -w \t\tSupress warning messages...\n");
  	printf("\t -z \t\tZero - don't enter ELM if no mail is pending\n");
  	printf("\n");

--- 124,130 -----
  	printf("\t -m \t\tMenu - Turn off menu, using more of the screen\n");
  	printf("\t -sx\t\tSubject 'x' - for batchmailing\n");
          printf("\t -V \t\tEnable sendmail voyeur mode.\n");
+ 	printf("\t -v \t\tPrint out ELM version information.\n");
  	printf("\t -w \t\tSupress warning messages...\n");
  	printf("\t -z \t\tZero - don't enter ELM if no mail is pending\n");
  	printf("\n");
***************
*** 129,131
  	printf("\n");
  	exit(1);
  }

--- 131,194 -----
  	printf("\n");
  	exit(1);
  }
+ 
+ args_version()
+ {
+ 	/** print out version information **/
+ 
+ 	printf("\nElm Version and Identification Information:\n\n");
+ 	printf("\tElm %s PL%d, of %s\n",VERSION,PATCHLEVEL,VERS_DATE);
+ 	printf("\t(C) Copyright 1986, 1987 Dave Taylor\n");
+ 	printf("\t(C) Copyright 1988, 1989 USENET Community Trust\n");
+ 	printf("\t----------------------------------\n");
+ 	printf("\tbuilt %s\n",BUILT_DATE);
+ 	printf("\t----------------------------------\n");
+ 
+ #ifdef USE_EMBEDDED_ADDRESSES
+ 	printf("\tFrom: and Reply-To: addresses are good: USE_EMBEDDED_ADDRESSES\n");
+ #else  USE_EMBEDDED_ADDRESSES
+ 	printf("\tFrom: and Reply-To: addresses stink: not USE_EMBEDDED_ADDRESSES\n");
+ #endif USE_EMBEDDED_ADDRESSES
+ 
+ #ifdef OPTIMIZE_RETURN
+ 	printf("\tReturn addresses will be optimized: OPTIMIZE_RETURN\n");
+ #else  OPTIMIZE_RETURN
+ 	printf("\tReturn addresses will not be optimized: not OPTIMIZE_RETURN\n");
+ #endif
+ 
+ #ifdef INTERNET
+ 	printf("\tPrefers Internet address formats: INTERNET\n");
+ #else  INTERNET
+ 	printf("\tInternet address formats not used: not INTERNET\n");
+ #endif INTERNET
+ 
+ #ifdef DEBUG
+ 	printf("\tDebug options are available: DEBUG\n");
+ #else  DEBUG
+ 	printf("\tNo debug options are available: not DEBUG\n");
+ #endif DEBUG
+ 		
+ #ifdef CRYPT
+ 	printf("\tCrypt function enabled: CRYPT\n");
+ #else  CRYPT
+ 	printf("\tCrypt function disabled: not CRYPT\n");
+ #endif CRYPT
+ 
+ #ifdef ALLOW_MAILBOX_EDITING
+ 	printf("\tMailbox editing included: ALLOW_MAILBOX_EDITING\n");
+ #else  ALLOW_MAILBOX_EDITING
+ 	printf("\tMailbox editing not included: not ALLOW_MAILBOX_EDITING\n");
+ #endif ALLOW_MAILBOX_EDITING
+ 
+ #ifdef ENABLE_CALENDAR
+ 	printf("\tCalendar file feature enabled: ENABLE_CALENDAR\n");
+ #else  ENABLE_CALENDAR
+ 	printf("\tCalendar file feature disabled: not ENABLE_CALENDAR\n");
+ 	printf("\t\t(Default calendar file is %s)\n",dflt_calendar_file);
+ #endif ENABLE_CALENDAR
+ 
+ 	printf("\n\n");
+ 	exit(1);
+ 
+ }
+ 
----cut here-----

Now, I have no doubt of the weakness of the addition, and invite any of
*you* to do it right. I'm sure other options could be
added to the output as well.

aem

a.e.mossberg - aem@mthvax.cs.miami.edu/aem@umiami.BITNET - Pahayokee Bioregion
Parking fees that Universal Studios collected from picketers of _The Last
Temptation of Christ_: $4,500			- Harper's Index Nov. 1988