home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume14 / mp-2.4.5 / patch03 < prev    next >
Encoding:
Text File  |  1990-09-15  |  32.2 KB  |  1,012 lines

  1. Newsgroups: comp.sources.misc
  2. X-UNIX-From: rburridge@Sun.COM
  3. subject: v14i092: Official patch #8 for mp v2.4; please apply it.
  4. from: rburridge@Sun.COM (Rich Burridge)
  5. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  6.  
  7. Posting-number: Volume 14, Issue 92
  8. Submitted-by: rburridge@Sun.COM (Rich Burridge)
  9. Archive-name: mp-2.4.5/patch03
  10.  
  11. [Brandon, could you please post this to comp.sources.misc when you get
  12.  a spare moment?]
  13.  
  14. Mp is a Postscript pretty printer for mail,news and ordinary files.
  15.  
  16. This is official patch #8 for mp v2.4.
  17.  
  18. ** Mp v2.4 was posted to comp.sources.misc two weeks ago at patchlevel #5. **
  19.  
  20. It makes the following changes:
  21.  
  22.     *  From Johan Vromans <jv@mh.nl>
  23.        Introduces another PostScript prologue file for the Time/System
  24.        International personal organiser. The prologue file is called
  25.        mp.pro.timesys.ps. The command line option to invoke Time Manager
  26.        output has been changed to -tm, and the Time/System output uses -ts.
  27.        The MANIFEST and FILES files have been updated to mention this new
  28.        file. The mailp shell script, Makefile.dist and mp manual pages
  29.        have been adjusted accordingly.
  30.  
  31.     *  Not everybody wants the newsp, filep ... shell scripts installed.
  32.        To prevent this, you will need to comment out some lines in your
  33.        Makefile (after you copy it from Makefile.dist). This is now explicitly
  34.        mentioned in the Makefile.dist file and in the README under the
  35.        installation section.
  36.  
  37.     *  The -v and the -? command line options now both output the current
  38.        mp version number and the usage message then exit.
  39.  
  40.     *  From Larry W. Virden <lwv27%cas.BITNET@CUNYVM.CUNY.Edu>
  41.        Modifications to the mailp shell script to better handle the
  42.        printing of the subject lines. Added a comment to the shell script
  43.        to mention that banner printing is turned off by default. Most of
  44.        the banner information is handled in the mp banners. Certain sites
  45.        though, might wish to alter this by removing the -h switch to the
  46.        lpr command.
  47.  
  48.     *  From Bill Houle <bhoule@se-sd.SanDiego.NCR.COM>
  49.        Have added a SYSV definition to the Makefile.dist file which should
  50.        be uncommented if you are compiling mp on a System V machine.
  51.        
  52.        In mp.h, compiling mp on an NCR Tower V.3 system, the compiler did
  53.        not like the #include for sys/pathname.h, so it's been eliminated.
  54.        [If this is a problem for any SysV sites, please let me know - Rich].
  55.        
  56.        cc complained about redefinition of sprintf et al, which were
  57.        already defined in <string.h>. I fixed by bracketing with #ifndef:
  58.        
  59.        To get rid of the annoying warnings about illegal structure operations,+        I included definitions for getpwuid() and getpwnam(). On the SysV Tower+        at least, <pwd.h> defines the passwd structure, but not the functions.
  60.        
  61.     *  From Larry W. Virden <lwv27%cas.BITNET@CUNYVM.CUNY.Edu>
  62.        The sprintf hard coded externs are in conflict with at least the
  63.        SunOS 4.1 systme 5 declarations.
  64.        
  65.        Line 225 of misc.c is :   *ptr++ ;
  66.        Why?  The * is never used - it just falls on the floor.
  67.        
  68.     *  From Jim Sanchez <syteke!jim@relay.EU.net>
  69.        Please reduce the file name length on the mp.pro.filofax and
  70.        mp.pro.timeman files for us system V guys. We are stuck with short
  71.        file names and have to edit the source files each time you issue a
  72.        patch.
  73.        
  74.        [For now, I've detailed this problem in the TODO file. When the next
  75.         version of mp is released, I'll make sure that all the filenames are
  76.         below 14 characters - Rich].
  77.  
  78. TO INSTALL:
  79. -----------
  80.  
  81. A shar file is included below which contains patch #8 and the new prologue
  82. file, mp.pro.timesys.ps. Unpack these (in the mp source directory) using sh.
  83.  
  84. Apply the patch with Larry Wall's patch program. Copy Makefile.dist to
  85. Makefile and adjust for your site. Then do a "make". Check the paper size
  86. in each of the prologue files that you use is correct for your site (US
  87. Letter or A4), then do a "make install". You might wish to reread the
  88. installation section in the README file to make sure you've adjusted
  89. everything in the Makefile that you need to.
  90.  
  91. If you need to get patch #6 or #7, then it can be obtained from the automatic
  92. mail archive server, by sending a message to rb-archive-server@Aus.Sun.COM
  93. containing the line:
  94.  
  95. send mp patchn
  96.  
  97. where n is the patch number you require.
  98.  
  99. If this is all getting too confusing for you, then the latest complete mp
  100. distribution can be obtained from the same address, by sending a message
  101. containing the lines:
  102.  
  103. send mp part1
  104. send mp part2
  105.  
  106. If the mail is likely to go back through any sites that impose a size limit,
  107. then I suggest you divide the above request up into two separate mail
  108. messages.
  109.  
  110. You can also include a path line in these requests to indicate the mail
  111. path that the archive server should use to send the files to you. Such a
  112. path line could be:
  113.  
  114. path uunet.uu.net!hostname!user
  115.  
  116. Note that this is uunet.uu.net and not just uunet. Sun.COM doesn't recognise
  117. just uunet.
  118.  
  119. Rich Burridge,          DOMAIN: richb@Aus.Sun.COM
  120. Sun Microsystems.       ACSNET: richb@sunaus.sun.oz
  121. PHONE: +61 2 413 2666   UUCP:   {uunet,mcvax,ukc}!munnari!sunaus.oz!richb
  122.  
  123. ------CUT HERE------patch.8 + mp.pro.timesys.ps------CUT HERE------
  124. #! /bin/sh
  125. # this is a shell archive, meaning:
  126. # 1. Remove everything above the #! /bin/sh line
  127. # 2. Save the resulting text in a file.
  128. # 3. Execute the file with /bin/sh to create the files:
  129. #    patch.8
  130. #    mp.pro.timesys.ps
  131. # This archive created: Fri Sep 14 16:45:01 EST 1990
  132. #
  133. #
  134. export PATH; PATH=/bin:$PATH
  135. #
  136. if [ -f patch.8 ]
  137. then
  138. echo shar: will not over-write existing file patch.8
  139. else
  140. echo shar: extracting 'patch.8',    22134 characters
  141. cat > patch.8 <<'Funky_Stuff'
  142.  
  143. ------- README -------
  144. *** /tmp/da01101    Fri Sep 14 16:40:27 1990
  145. --- README    Fri Sep 14 16:20:30 1990
  146. ***************
  147. *** 63,68 ****
  148. --- 63,75 ----
  149.   size is defaulted to US Letter size, so this will work successfully on A4
  150.   sized paper but not use all of the paper.
  151.   
  152. + Before you install the mp files in the appropriate places, you should
  153. + consider whether you want the installation to install the newsp, filep ...
  154. + shell scripts. If this is not the case, then you will need to comment out
  155. + this section of the Makefile. Look for the comment beginning "NOTE:".
  156. + Alternatively you might only wish a subset to be installed, in which case
  157. + you should adjust the MAILPNAMES definition in the Makefile accordingly.
  158.   This should be followed by a "make install" which will put the files in
  159.   their default locations. You will probably have to be super-user when you do
  160.   the "make install".
  161. ***************
  162. *** 113,120 ****
  163.         mp.pro.ps               standard prologue
  164.         mp.pro.alt.ps           alternative prologue, page nos. bottom right
  165.         mp.pro.l.ps             standard prologue, landscape, 2 columns
  166. !       mp.pro.filofax.ps       filofax prologue
  167. !       mp.pro.timeman.ps       time manager prologue
  168.   
  169.   
  170.   4. Acknowledgements.
  171. --- 120,128 ----
  172.         mp.pro.ps               standard prologue
  173.         mp.pro.alt.ps           alternative prologue, page nos. bottom right
  174.         mp.pro.l.ps             standard prologue, landscape, 2 columns
  175. !       mp.pro.filofax.ps       Filofax prologue
  176. !       mp.pro.timeman.ps       Time Manager prologue
  177. !       mp.pro.timesys.ps       Time/System International prologue.
  178.   
  179.   
  180.   4. Acknowledgements.
  181. ***************
  182. *** 144,151 ****
  183.   Maureen Chew, Brian Kohn, Walter Underwood, Mike Khaw, Rick Gunderson, Johan
  184.   Vromans, Brachet, Pierre Mareschal, Roger Riggs, Larry Tsui, Mike Bundschuh,
  185.   Amos Shapir, Bruce G Barnett, Pauline van Winsen, James F. Blake, Bruno
  186. ! Pillard, Rainer Klute, Ran Ever-Hadani, Lupe Christoph and John Little for
  187. ! bug reports and/or bug fixes plus enhancements.
  188.   
  189.   My thanks also goes to Glenn Reid from Adobe Systems for the backspacefont.ps
  190.   code used in the prologue files. I'm grateful to all these people, plus
  191. --- 152,159 ----
  192.   Maureen Chew, Brian Kohn, Walter Underwood, Mike Khaw, Rick Gunderson, Johan
  193.   Vromans, Brachet, Pierre Mareschal, Roger Riggs, Larry Tsui, Mike Bundschuh,
  194.   Amos Shapir, Bruce G Barnett, Pauline van Winsen, James F. Blake, Bruno
  195. ! Pillard, Rainer Klute, Ran Ever-Hadani, Lupe Christoph, John Little and
  196. ! Bill Houle for bug reports and/or bug fixes plus enhancements.
  197.   
  198.   My thanks also goes to Glenn Reid from Adobe Systems for the backspacefont.ps
  199.   code used in the prologue files. I'm grateful to all these people, plus
  200.  
  201. ------- mp.1 -------
  202. *** /tmp/da01104    Fri Sep 14 16:40:27 1990
  203. --- mp.1    Fri Sep 14 15:22:50 1990
  204. ***************
  205. *** 1,5 ****
  206.   .\" %Z%%M% %I% %E%
  207. ! .TH MP 1L "12 April 1990"
  208.   .SH NAME
  209.   mp \- Postscript pretty printer
  210.   .SH SYNOPSIS
  211. --- 1,5 ----
  212.   .\" %Z%%M% %I% %E%
  213. ! .TH MP 1L "14 September 1990"
  214.   .SH NAME
  215.   mp \- Postscript pretty printer
  216.   .SH SYNOPSIS
  217. ***************
  218. *** 31,39 ****
  219.   .I subject
  220.   ]
  221.   [
  222. ! .B \-t
  223.   ]
  224.   [
  225.   .B \-v
  226.   ]
  227.   [
  228. --- 31,42 ----
  229.   .I subject
  230.   ]
  231.   [
  232. ! .B \-tm
  233.   ]
  234.   [
  235. + .B \-ts
  236. + ]
  237. + [
  238.   .B \-v
  239.   ]
  240.   [
  241. ***************
  242. *** 105,112 ****
  243.   The file on standard input is a digest so print accordingly.
  244.   .TP
  245.   .B \-f
  246. ! The file on standard input is printed specifically was use with Filofax,
  247. ! a personal organiser.
  248.   .TP
  249.   .B \-l
  250.   Prints output in landscape mode. Two pages of text will be printed per
  251. --- 108,115 ----
  252.   The file on standard input is a digest so print accordingly.
  253.   .TP
  254.   .B \-f
  255. ! The file on standard input is printed specifically for use with the
  256. ! Filofax personal organiser.
  257.   .TP
  258.   .B \-l
  259.   Prints output in landscape mode. Two pages of text will be printed per
  260. ***************
  261. *** 128,143 ****
  262.   prologue file is determined by first looking for the environment variable
  263.   .IR MP_PROLOGUE .
  264.   This will be the directory where the mp prologue files are to be found.
  265. ! Three different prologue files are used. Normally the prologue file is
  266.   .I mp.pro.ps
  267.   but if the
  268.   .I \-f
  269.   option is used, then the prologue file is called
  270.   .I mp.pro.filofax.ps
  271. ! and if the
  272. ! .I \-t
  273.   option is used, then the prologue file is
  274.   .I mp.pro.timeman.ps
  275.   If
  276.   .I MP_PROLOGUE
  277.   isn't found, then the default location is used. The default location is
  278. --- 131,153 ----
  279.   prologue file is determined by first looking for the environment variable
  280.   .IR MP_PROLOGUE .
  281.   This will be the directory where the mp prologue files are to be found.
  282. ! Five different prologue files are used. Normally the prologue file is
  283.   .I mp.pro.ps
  284.   but if the
  285.   .I \-f
  286.   option is used, then the prologue file is called
  287.   .I mp.pro.filofax.ps
  288. ! or if the
  289. ! .I \-tm
  290.   option is used, then the prologue file is
  291.   .I mp.pro.timeman.ps
  292. + or if the
  293. + .I \-ts
  294. + option is used, then the prologue file is
  295. + .I mp.pro.timesys.ps.
  296. + There is an alternative "standard" prologue file called
  297. + .I mp.pro.alt.ps
  298. + which outputs the page number in the right corner of the bottom banner.
  299.   If
  300.   .I MP_PROLOGUE
  301.   isn't found, then the default location is used. The default location is
  302. ***************
  303. *** 150,159 ****
  304.   files which have been specified on the command line, the the subject will
  305.   default to the name of each of these files.
  306.   .TP
  307. ! .B \-t
  308. ! The file on standard input is printed specifically for use with Time Manager,
  309. ! a personal organiser.
  310.   .TP
  311.   .B \-v
  312.   Print the version number of this release of the
  313.   .B mp
  314. --- 160,173 ----
  315.   files which have been specified on the command line, the the subject will
  316.   default to the name of each of these files.
  317.   .TP
  318. ! .B \-tm
  319. ! The file on standard input is printed specifically for use with the
  320. ! Time Manager personal organiser.
  321.   .TP
  322. + .B \-ts
  323. + The file on standard input is printed specifically for use with the
  324. + Time/System International personal organiser.
  325. + .TP
  326.   .B \-v
  327.   Print the version number of this release of the
  328.   .B mp
  329. ***************
  330. *** 174,184 ****
  331. --- 188,209 ----
  332.   Editing this file will allow you to introduce some stylistic variation
  333.   in the printing of mail.
  334.   .TP
  335. + .B /usr/local/lib/mp.pro.l.ps
  336. + The PostScript prologue file for outputing in landscape format.
  337. + .TP
  338. + .B /usr/local/lib/mp.pro.alt.ps
  339. + An alternative "standard" PostScript prologue file which outputs page
  340. + numbers in the bottom right corner of each page.
  341. + .TP
  342.   .B /usr/local/lib/mp.pro.filofax.ps
  343.   Postscript prologue used to print out files in Filofax format.
  344.   .TP
  345.   .B /usr/local/lib/mp.pro.timeman.ps
  346.   PostScript prologue used to print out files in Time Manager format.
  347. + .TP
  348. + .B /usr/local/lib/mp.pro.timesys.ps
  349. + PostScript prologue used to print out files in Time/System International
  350. + format.
  351.   .SH "SEE ALSO"
  352.   mail(1)
  353.   .SH AUTHORS
  354. ***************
  355. *** 202,207 ****
  356. --- 227,235 ----
  357.   ordinary files added by Sam Manoharan, Edinburgh University.
  358.   .PP
  359.   Support for landscape mode written by Michael Tuciarone.
  360. + .PP
  361. + Revision of the PostScript structuring and the way that the prologue files
  362. + are handled was included by Johan Vromans
  363.   .PP
  364.   Rich Burridge,             Domain: richb@Aus.Sun.COM
  365.   .nf
  366.  
  367. ------- mailp -------
  368. *** /tmp/da01107    Fri Sep 14 16:40:28 1990
  369. --- mailp    Fri Sep 14 15:50:26 1990
  370. ***************
  371. *** 2,33 ****
  372.   #
  373.   #  %Z%%M% %I% %E%
  374.   #
  375. ! #  mailp, newsp, filep, digestp, filofaxp and timemanp
  376.   #  shell script de lancement de mp
  377. ! #  (mail/news/file/digest/filofax/time-manager pretty printer)
  378.   #
  379.   #  Original: Bruno Pillard - October 1988.
  380.   #  Modified: Rich Burridge - June 1989.
  381.   
  382.   BIN=/usr/local/bin
  383.   
  384.   case $0 in
  385.       *mailp)    PROG=mp       ;; 
  386.       *newsp)       PROG="mp -a"  ;;
  387.       *digestp)  PROG="mp -d"     ;;
  388. !     *filep)       PROG="mp -o"  ;;
  389.       *filofaxp) PROG="mp -f"     ;;
  390. !     *timemanp) PROG="mp -t"     ;;
  391.       *)    echo Unknown pretty printer: $0
  392.           exit;;
  393.   esac
  394.   
  395.   if    [ $# -eq 0 ]
  396.   then
  397.       set - " - "
  398.   fi
  399.   while [ $# -gt 0 ]
  400.   do
  401. !     /bin/cat $1 | ${BIN}/${PROG} | lpr -h -P${PRINTER:-ps}
  402.       shift
  403.   done
  404. --- 2,59 ----
  405.   #
  406.   #  %Z%%M% %I% %E%
  407.   #
  408. ! #  mailp, newsp, filep, digestp, filofaxp, timemanp and timesysp
  409.   #  shell script de lancement de mp
  410. ! #  (mail/news/file/digest/filofax/time-manager/time-system pretty printer)
  411.   #
  412.   #  Original: Bruno Pillard - October 1988.
  413.   #  Modified: Rich Burridge - June 1989.
  414. + #
  415.   
  416.   BIN=/usr/local/bin
  417.   
  418. + FLAG=''
  419.   case $0 in
  420.       *mailp)    PROG=mp       ;; 
  421.       *newsp)       PROG="mp -a"  ;;
  422.       *digestp)  PROG="mp -d"     ;;
  423. !     *filep)       PROG="mp -o"  FLAG='-s $1' ;;
  424.       *filofaxp) PROG="mp -f"     ;;
  425. !     *timemanp) PROG="mp -tm" ;;
  426. !     *timesysp) PROG="mp -ts" ;;
  427.       *)    echo Unknown pretty printer: $0
  428.           exit;;
  429.   esac
  430.   
  431. + if    [ "$#" -ge 1 ] ; then
  432. +     case    "$1" in
  433. +     -s*)
  434. +         if [ "$1" = "-s" ] ; then
  435. +             FLAG="-s $2"
  436. +             shift ; shift
  437. +         else
  438. +             FLAG="$1"
  439. +             shift
  440. +         fi
  441. +         ;;
  442. +     * )
  443. +         ;;
  444. +     esac
  445. + fi
  446.   if    [ $# -eq 0 ]
  447.   then
  448.       set - " - "
  449. +     FLAG='-s "stdin"'
  450.   fi
  451. + #  NOTE: Banner printing is disabled below, by the inclusion of the -h
  452. + #        switch to the lpr command. Most of the information that typically
  453. + #        appears on the banner sheet, is output in the mp banners. If you
  454. + #        wish to enable banner printing, then you should remove the -h switch.
  455.   while [ $# -gt 0 ]
  456.   do
  457. !     /bin/cat $1 | eval ${BIN}/${PROG} $FLAG | lpr -h -P${PRINTER:-ps}
  458.       shift
  459.   done
  460.  
  461. ------- misc.c -------
  462. *** /tmp/da01110    Fri Sep 14 16:40:29 1990
  463. --- misc.c    Fri Sep 14 16:23:38 1990
  464. ***************
  465. *** 124,135 ****
  466.           case 's' : if (strlen(optarg))
  467.                        gsubject = optarg ;        /* New subject line. */
  468.                      break ;
  469. !         case 't' :                              /* Time Manager output. */
  470. !                    SPRINTF(proname, "%s/mp.pro.timeman.ps", prologue) ;
  471.                      break ;
  472. !         case 'v' : FPRINTF(stderr,
  473. !                            "%s version 2.4.%1d\n", progname, PATCHLEVEL) ;                         exit(1) ;
  474. !         case '?' : usage() ;
  475.         }
  476.   }
  477.   
  478. --- 124,136 ----
  479.           case 's' : if (strlen(optarg))
  480.                        gsubject = optarg ;        /* New subject line. */
  481.                      break ;
  482. !         case 't' :      if (!strcmp(optarg, "m"))     /* Time Manager. */
  483. !                      SPRINTF(proname, "%s/mp.pro.timeman.ps", prologue) ;
  484. !                    else if (!strcmp(optarg, "s"))     /* Time/System Int. */
  485. !                      SPRINTF(proname, "%s/mp.pro.timesys.ps", prologue) ;
  486.                      break ;
  487. !         case '?' :
  488. !         case 'v' : usage() ;
  489.         }
  490.   }
  491.   
  492. ***************
  493. *** 142,148 ****
  494.     int i ;
  495.     int namefields ;      /* Number of "words" from passwd gecos. */
  496.     int namelength ;      /* Maximum number of characters from passwd gecos. */
  497. !   struct passwd *pp ;
  498.   
  499.   #ifdef GECOSFIELDS
  500.     namefields = GECOSFIELDS ;  /* New no. of "words" from passwd gecos. */
  501. --- 143,149 ----
  502.     int i ;
  503.     int namefields ;      /* Number of "words" from passwd gecos. */
  504.     int namelength ;      /* Maximum number of characters from passwd gecos. */
  505. !   struct passwd *pp, *getpwuid(), *getpwnam() ;
  506.   
  507.   #ifdef GECOSFIELDS
  508.     namefields = GECOSFIELDS ;  /* New no. of "words" from passwd gecos. */
  509. ***************
  510. *** 222,228 ****
  511.             if (islower(c[0])) owner[n++] = toupper(c[0]) ;
  512.             for (j = 1; j < strlen(c); j++)
  513.               owner[n++] = c[j] ;
  514. !           *ptr++ ;
  515.           } 
  516.         else if (*ptr == ' ')
  517.           {
  518. --- 223,229 ----
  519.             if (islower(c[0])) owner[n++] = toupper(c[0]) ;
  520.             for (j = 1; j < strlen(c); j++)
  521.               owner[n++] = c[j] ;
  522. !           ptr++ ;
  523.           } 
  524.         else if (*ptr == ' ')
  525.           {
  526. ***************
  527. *** 239,246 ****
  528.   
  529.   usage()     /* Print usage message and exit. */
  530.   {
  531. !   FPRINTF(stderr,"Usage: %s [-a] [-d] [-f] [-l] [-m] ", progname) ;
  532. !   FPRINTF(stderr, "[-o] [-p prologue] [-s subject] [-t] [-v] [-?]\n") ;
  533.     exit(1) ;
  534.   }
  535.   
  536. --- 240,248 ----
  537.   
  538.   usage()     /* Print usage message and exit. */
  539.   {
  540. !   FPRINTF(stderr, "%s version 2.4.%1d\n\n", progname, PATCHLEVEL) ;
  541. !   FPRINTF(stderr, "Usage: %s [-a] [-d] [-f] [-l] [-m] [-o]\n", progname) ;
  542. !   FPRINTF(stderr, "\t[-p prologue] [-s subject] [-t] [-v] [-?]\n") ;
  543.     exit(1) ;
  544.   }
  545.   
  546.  
  547. ------- CHANGES -------
  548. *** /tmp/da01116    Fri Sep 14 16:40:30 1990
  549. --- CHANGES    Fri Sep 14 16:30:31 1990
  550. ***************
  551. *** 217,219 ****
  552. --- 217,279 ----
  553.          The NAME environment variable (if set) should be processed the same
  554.          way as the GECOS passwd field. See the GECOSFIELDS and GECOSLENGTH
  555.          definitions in Makefile.dist for more details.
  556. + v2.4 - patchlevel 8. - 14th September 1990.
  557. +     *  From Johan Vromans <jv@mh.nl>
  558. +        Introduces another PostScript prologue file for the Time/System
  559. +        International personal organiser. The prologue file is called
  560. +        mp.pro.timesys.ps. The command line option to invoke Time Manager
  561. +        output has been changed to -tm, and the Time/System output uses -ts.
  562. +        The MANIFEST and FILES files have been updated to mention this new
  563. +        file. The mailp shell script, Makefile.dist and mp manual pages
  564. +        have been adjusted accordingly.
  565. +     *  Not everybody wants the newsp, filep ... shell scripts installed.
  566. +        To prevent this, you will need to comment out some lines in your
  567. +        Makefile (after you copy it from Makefile.dist). This is now explicitly
  568. +        mentioned in the Makefile.dist file and in the README under the
  569. +        installation section.
  570. +     *  The -v and the -? command line options now both output the current
  571. +        mp version number and the usage message then exit.
  572. +     *  From Larry W. Virden <lwv27%cas.BITNET@CUNYVM.CUNY.Edu>
  573. +        Modifications to the mailp shell script to better handle the
  574. +        printing of the subject lines. Added a comment to the shell script
  575. +        to mention that banner printing is turned off by default. Most of
  576. +        the banner information is handled in the mp banners. Certain sites
  577. +        though, might wish to alter this by removing the -h switch to the
  578. +        lpr command.
  579. +     *  From Bill Houle <bhoule@se-sd.SanDiego.NCR.COM>
  580. +        Have added a SYSV definition to the Makefile.dist file which should
  581. +        be uncommented if you are compiling mp on a System V machine.
  582. +        In mp.h, compiling mp on an NCR Tower V.3 system, the compiler did
  583. +        not like the #include for sys/pathname.h, so it's been eliminated.
  584. +        [If this is a problem for any SysV sites, please let me know - Rich].
  585. +        cc complained about redefinition of sprintf et al, which were
  586. +        already defined in <string.h>. I fixed by bracketing with #ifndef:
  587. +        To get rid of the annoying warnings about illegal structure operations,
  588. +        I included definitions for getpwuid() and getpwnam(). On the SysV Tower
  589. +        at least, <pwd.h> defines the passwd structure, but not the functions.
  590. +     *  From Larry W. Virden <lwv27%cas.BITNET@CUNYVM.CUNY.Edu>
  591. +        The sprintf hard coded externs are in conflict with at least the
  592. +        SunOS 4.1 systme 5 declarations.
  593. +        Line 225 of misc.c is :   *ptr++ ;
  594. +        Why?  The * is never used - it just falls on the floor.
  595. +     *  From Jim Sanchez <syteke!jim@relay.EU.net>
  596. +        Please reduce the file name length on the mp.pro.filofax and
  597. +        mp.pro.timeman files for us system V guys. We are stuck with short
  598. +        file names and have to edit the source files each time you issue a
  599. +        patch.
  600. +        [For now, I've detailed this problem in the TODO file. When the next
  601. +         version of mp is released, I'll make sure that all the filenames are
  602. +         below 14 characters - Rich].
  603.  
  604. ------- patchlevel.h -------
  605. *** /tmp/da01119    Fri Sep 14 16:40:31 1990
  606. --- patchlevel.h    Fri Sep 14 14:31:13 1990
  607. ***************
  608. *** 14,17 ****
  609.    *  reported to me then an attempt will be made to fix them.
  610.    */
  611.   
  612. ! #define  PATCHLEVEL  7
  613. --- 14,17 ----
  614.    *  reported to me then an attempt will be made to fix them.
  615.    */
  616.   
  617. ! #define  PATCHLEVEL  8
  618.  
  619. ------- mp.h -------
  620. *** /tmp/da01122    Fri Sep 14 16:40:31 1990
  621. --- mp.h    Fri Sep 14 16:15:41 1990
  622. ***************
  623. *** 23,29 ****
  624.   #include <pwd.h>
  625.   
  626.   #ifdef   SYSV
  627. - #include <sys/pathname.h>
  628.   #include <string.h>
  629.   #endif /*SYSV*/
  630.   
  631. --- 23,28 ----
  632. ***************
  633. *** 79,85 ****
  634. --- 78,87 ----
  635.   FILE *fopen() ;
  636.   void exit() ;
  637.   char *asctime(), *getenv(), *getlogin(), *gets(), *index(), *malloc() ;
  638. + #ifndef SYSV
  639.   char *realloc(), *sprintf(), *strchr(), *strcpy(), *strncpy() ;
  640. + #endif /*SYSV*/
  641.   
  642.   void do_date(), get_header(), get_mult_hdr(), init_setup() ;
  643.   void parse_headers(), readline(), reset_headers(), set_defs() ;
  644.  
  645. ------- Makefile.dist -------
  646. *** /tmp/da01125    Fri Sep 14 16:40:32 1990
  647. --- Makefile.dist    Fri Sep 14 16:05:30 1990
  648. ***************
  649. *** 46,51 ****
  650. --- 46,56 ----
  651.   #  definition below.
  652.   #
  653.   #NOINDEX         = -DNOINDEX
  654. + #---------------------------------------------------------------------
  655. + #  If you are running on a Unix System V machine, then you should
  656. + #  uncomment the next definition.
  657. + #
  658. + #SYSV           = -DSYSV
  659.   #=====================================================================
  660.   #
  661.   #  Default locations where mp files will be installed.
  662. ***************
  663. *** 58,64 ****
  664.   #---------------------------------------------------------------------
  665.   #  Alternate names for the mailp frontend
  666.   #
  667. ! MAILPNAMES = newsp digestp filep filofaxp timemanp
  668.   #---------------------------------------------------------------------
  669.   #  Compilation flags and standard macro definitions.
  670.   #
  671. --- 63,69 ----
  672.   #---------------------------------------------------------------------
  673.   #  Alternate names for the mailp frontend
  674.   #
  675. ! MAILPNAMES = newsp digestp filep filofaxp timemanp timesysp
  676.   #---------------------------------------------------------------------
  677.   #  Compilation flags and standard macro definitions.
  678.   #
  679. ***************
  680. *** 77,87 ****
  681.   OTHERS   = README Makefile.dist mailp mp.1 \
  682.          MANIFEST FILES CHANGES TODO \
  683.          mp.el mp.pro.ps mp.pro.alt.ps mp.pro.l.ps \
  684. !        mp.pro.filofax.ps mp.pro.timeman.ps Data
  685.   
  686.   SFILES1  = $(SRCS) $(HDRS) README MANIFEST FILES CHANGES TODO
  687.   SFILES2  = Makefile.dist mailp mp.1 mp.el Data mp.pro.ps mp.pro.l.ps \
  688. !        mp.pro.alt.ps mp.pro.filofax.ps mp.pro.timeman.ps
  689.   
  690.   all:       $(BINARIES)
  691.   
  692. --- 82,93 ----
  693.   OTHERS   = README Makefile.dist mailp mp.1 \
  694.          MANIFEST FILES CHANGES TODO \
  695.          mp.el mp.pro.ps mp.pro.alt.ps mp.pro.l.ps \
  696. !        mp.pro.filofax.ps mp.pro.timeman.ps mp.pro.timesys.ps Data
  697.   
  698.   SFILES1  = $(SRCS) $(HDRS) README MANIFEST FILES CHANGES TODO
  699.   SFILES2  = Makefile.dist mailp mp.1 mp.el Data mp.pro.ps mp.pro.l.ps \
  700. !        mp.pro.alt.ps mp.pro.filofax.ps \
  701. !        mp.pro.timeman.ps mp.pro.timesys.ps
  702.   
  703.   all:       $(BINARIES)
  704.   
  705. ***************
  706. *** 104,110 ****
  707. --- 110,122 ----
  708.          -install -c -m 644 mp.pro.alt.ps $(LIBDIR)
  709.          -install -c -m 644 mp.pro.filofax.ps $(LIBDIR)
  710.          -install -c -m 644 mp.pro.timeman.ps $(LIBDIR)
  711. +        -install -c -m 644 mp.pro.timesys.ps $(LIBDIR)
  712.          -install -c -m 755 mailp $(BINDIR)
  713. + #
  714. + #  NOTE: If you don't want the newsp, filep ... shell scripts installed,
  715. + #        then you should comment out the following seven lines.
  716.          @echo Making mailp links
  717.          -@for name in $(MAILPNAMES); do \
  718.           echo -n $$name " "; \
  719.  
  720. ------- TODO -------
  721. *** /tmp/da01128    Fri Sep 14 16:40:33 1990
  722. --- TODO    Fri Sep 14 16:39:35 1990
  723. ***************
  724. *** 51,53 ****
  725. --- 51,81 ----
  726.   7/ From Johan Vromans <jv@mh.nl>
  727.      A command line option to have page numbers reset to 1 when printing a
  728.      new element of a mailfolder or digest.
  729. + 8/ From Michael J. Tuciarone <tooch@plan9.Sun.COM>
  730. +    With landscape mode: There are a few things I don't like still, and chief
  731. +    among them is that the last page printed "wins" and gets its subject
  732. +    printed in the banner. It actually should (I think) be either the left-hand
  733. +    message, or better yet, if the subjects are different then print a
  734. +    different subject under each message.
  735. + 9/ From Jim Sanchez <syteke!jim@relay.EU.net>
  736. +    Please reduce the file name length on the mp.pro.filofax and
  737. +    mp.pro.timeman files for us system V guys. We are stuck with short file
  738. +    names and have to edit the source files each time you issue a patch.
  739. +    In the next release of mp, I will make the following changes:
  740. +      mp.pro.filofax.ps ==> mp.pro.f.ps
  741. +      mp.pro.timeman.ps ==> mp.pro.tm.ps
  742. +      mp.pro.timesys.ps ==> mp.pro.ts.ps
  743. + 10/ From Bruno Pillard <bp@chorus.fr>
  744. +     The opportunity to change the location of the LIBDIR is given in the
  745. +     Makefile, so you should update the Makefile to update the man page
  746. +     accordingly; For example in the Makefile:
  747. +     man:;      sed -e s,LIBDIR,$$LIBDIR,g mp.man > mp.1
  748. +     Of course, you have to change the name of mp.1 to mp.man in the
  749. +     distribution and all occurrence of /usr/local/lib by LIBDIR.
  750.  
  751. ------- MANIFEST -------
  752. *** /tmp/da01131    Fri Sep 14 16:40:33 1990
  753. --- MANIFEST    Fri Sep 14 14:37:11 1990
  754. ***************
  755. *** 25,30 ****
  756. --- 25,31 ----
  757.   mp.pro.alt.ps                          |    2
  758.   mp.pro.filofax.ps                      |    2
  759.   mp.pro.timeman.ps                      |    2
  760. + mp.pro.timesys.ps                      |    2
  761.   Data/Mail                              |    2
  762.   Data/MailFolder                        |    2
  763.   Data/NewsArticle1                      |    2
  764.  
  765. ------- FILES -------
  766. *** /tmp/da01134    Fri Sep 14 16:40:34 1990
  767. --- FILES    Fri Sep 14 14:37:57 1990
  768. ***************
  769. *** 28,33 ****
  770. --- 28,34 ----
  771.   mp.pro.alt.ps       - alternative mp prologue file.
  772.   mp.pro.filofax.ps   - mp Filofax prologue file.
  773.   mp.pro.timeman.ps   - mp Time Manager prologue file.
  774. + mp.pro.timesys.ps   - mp Time/System International prologue file.
  775.   
  776.   Sub-directory Data: test data files for new versions of mp.
  777.   -----------------------------------------------------------
  778. Funky_Stuff
  779. len=`wc -c < patch.8`
  780. if [ $len !=    22134 ] ; then
  781. echo error: patch.8 was $len bytes long, should have been    22134
  782. fi
  783. fi # end of overwriting check
  784. if [ -f mp.pro.timesys.ps ]
  785. then
  786. echo shar: will not over-write existing file mp.pro.timesys.ps
  787. else
  788. echo shar: extracting 'mp.pro.timesys.ps',     4396 characters
  789. cat > mp.pro.timesys.ps <<'Funky_Stuff'
  790. %!PS-Adobe-1.0
  791. %%Creator: Johan Vromans
  792. %%Title: @(#)mp.pro.timesys.ps 1.1 90/09/14
  793. %%CreationDate: see above
  794. %%PageLength 80
  795. %%LineLength 80
  796. %%NumCols 2
  797. %%DocumentFonts: Times-Bold Times-Roman Courier
  798. %%Pages: (atend)
  799. %%EndComments
  800.  
  801. %% MP profile for European Time/system format, yet another personal
  802. %% organizer.
  803. %%
  804. %% Time/system (c) Time/system International a/s
  805.  
  806. %Title: backspacefont.ps suggested by Glenn Reid (Adobe Systems).
  807.  
  808. /backspacefont {
  809.     /Courier findfont dup length dict begin
  810.         { %forall
  811.             1 index /FID eq { pop pop } { def } ifelse
  812.         } forall
  813.         currentdict /UniqueID known { %if
  814.               /UniqueID UniqueID 16#800000 xor def
  815.         } if
  816.         CharStrings length 1 add dict begin
  817.             CharStrings { def } forall
  818.           /backspace { -600 0 setcharwidth } bind def
  819.             currentdict
  820.       end
  821.         /CharStrings exch def
  822.         /Encoding Encoding 256 array copy def
  823.         Encoding 8 /backspace put
  824.         currentdict
  825.     end
  826.     definefont
  827. } bind def
  828.  
  829. /CourierBack backspacefont
  830.  
  831. /FontSize 11 def
  832. /font1d /Times-Bold            findfont def
  833. /font2d /Times-Roman           findfont def
  834. /font3d /CourierBack           findfont def
  835. /fontHd /Helvetica-BoldOblique findfont 15 scalefont def
  836. /fontH2 /Helvetica-BoldOblique findfont 10 scalefont def
  837. /fontNd /Times-Bold            findfont 12 scalefont def
  838.  
  839. /BoldFont      { font1d FontSize scalefont setfont } def
  840. /pf            { font2d FontSize scalefont setfont } def
  841. /sf            { font3d 12       scalefont setfont } def
  842. /fontH         { fontHd setfont } def
  843. /fontD         { fontH2 setfont } def
  844. /fontN         { fontNd setfont } def
  845.  
  846.  
  847. sf
  848. %% stick in all the fudge factors here. May need changing for page sizes,
  849. %% laserwriter setups etc?
  850. %%
  851. /binderspace 150 def
  852. /tmsyswidth 750 def
  853. /tmsysheight 1150 def
  854. /margin 60 def
  855. /yco tmsysheight 50 sub def            % space at the top
  856. /xright tmsyswidth binderspace add margin sub def    % space at right
  857. /xleft binderspace def
  858.  
  859. 0.5 0.5 scale
  860. 90 rotate
  861. -50 tmsysheight neg translate
  862.  
  863. /newpage        % page_number newpage --
  864. { pop
  865.  
  866.   gsave            % save state for easy restore
  867.   margin 0 translate
  868.   /ypos tmsysheight 110 sub def
  869.   xleft ypos moveto
  870. } def
  871.  
  872. /endpage        % page_number endpage --
  873. { pop             % get rid of page_number
  874.   showpage
  875.   grestore
  876. } def
  877.  
  878. /endfile { } def    % -- endfile --
  879.  
  880. /endcol            % page_number column_number endcol --
  881. {
  882.   /thiscol exch def    % column_number
  883.   gsave
  884.     fontH
  885.     % draw the top for owner
  886.     newpath
  887.       xleft 10 sub yco moveto
  888.       xleft yco 20 sub 10 180 270 arc
  889.       xright yco 20 sub 10 270 0 arc
  890.       xright yco 10 0 90 arc
  891.       xleft yco 10 90 180 arc
  892.     closepath
  893.     0.90 setgray fill
  894.     0 setgray stroke
  895.     xleft yco 16 sub moveto
  896.     MailFor show
  897.     User show
  898. %   fontD
  899.     TimeNow stringwidth pop neg xright add yco 16 sub moveto TimeNow show
  900.     fontN
  901.     % dup stringwidth pop 2 div neg 318 add 858 moveto show
  902.     fontH
  903.     % lower box for subject etc
  904.     newpath
  905.       xleft 10 sub 60 moveto
  906.       xleft 40 10 180 270 arc
  907.       xright 40 10 270 0 arc
  908.       xright 60 10 0 90 arc
  909.       xleft 60 10 90 180 arc
  910.     closepath
  911.     0.90 setgray fill
  912.     % stick the page number just a few points in from the right hand edge
  913.     newpath
  914.       xright 10 sub 50 15 0 360 arc
  915.       gsave
  916.         1 setgray fill
  917.       grestore
  918.     closepath
  919.     0 setgray stroke
  920.     xleft 44 moveto Subject show
  921.     fontN
  922.     % position and print the page number
  923.     dup stringwidth pop 2 div neg xright 10 sub add 46 moveto show
  924.     fontH
  925.   grestore
  926.   thiscol 1 eq { tmsyspage } if    % draw neccessary page breaks
  927.   grestore gsave        % back to default
  928.   tmsyswidth thiscol mul margin add 0 translate
  929.   /ypos tmsysheight 110 sub def
  930.   xleft ypos moveto
  931. } def
  932.  
  933. /tmsyspage
  934. { gsave
  935.   drawholes
  936.   [1 4] 0 setdash    % use dashed lines for marker
  937.   newpath
  938.   binderspace margin 2 div sub tmsyswidth add 0 moveto
  939.   0 tmsysheight rlineto
  940.   stroke
  941.   grestore
  942. } def
  943.  
  944. /showline
  945. {
  946.   show
  947.   /ypos ypos 12 sub def
  948.   xleft ypos moveto
  949. } def
  950.  
  951.  
  952. /xo 44 def
  953.  
  954. /drawhole        % draw one little hole
  955. { newpath
  956.   xo yo 12 0 360 arc
  957.   closepath
  958.   0.24 setlinewidth
  959.   stroke
  960. } def
  961.  
  962. /drawholes        % show where the holes should be punched
  963. {
  964.   /ydisp 105.5 def
  965.   /yo 154 def
  966.   drawhole
  967.   /yo yo ydisp add def
  968.   drawhole
  969.   /yo yo ydisp add def
  970.   drawhole
  971.   /yo 768 def
  972.   drawhole
  973.   /yo yo ydisp add def
  974.   drawhole
  975.   /yo yo ydisp add def
  976.   drawhole
  977. } def
  978. Funky_Stuff
  979. len=`wc -c < mp.pro.timesys.ps`
  980. if [ $len !=     4396 ] ; then
  981. echo error: mp.pro.timesys.ps was $len bytes long, should have been     4396
  982. fi
  983. fi # end of overwriting check
  984.  
  985.