home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / x / volume13 / xmail / part06 / CHANGES next >
Text File  |  1991-06-15  |  22KB  |  451 lines

  1.  
  2.                                                                  April, 1991
  3.  
  4.    The following changes have been effected for Patchlevel 3 of xmail.
  5.  
  6.   Many, many bugs have been fixed, and the overall size of the resident image
  7. has been cut almost in half.  I also believe I have correct all memory leaks.
  8.  
  9.   Support is now provided for displaying the content of an X-Face: header, as
  10. a compile time option.  If you currently have the compface library routines
  11. provided by James Ashton, see the Imakefile and change the flags accordingly.
  12. The compface library routines are available from the Rich Burridge Archive
  13. Server, at <rb-archive-server@Aus.Sun.COM>.  Send the one word subject "Help"
  14. if you have never used this archive-server before.  These routines are
  15. also included as part of Rich Burridge's faces program, also available from
  16. that same address.
  17.  
  18.  
  19. Imakefile:    Eliminated R3 support and changed number and type of defines
  20.  
  21. HelpText.c:    Modified some text and added information messages for commands
  22.  
  23. Mailwatch.c:    Added support to display either user or mail host name in icon
  24.         Changing the icon tag also changes the application title for
  25.         window managers, for those cases when more than one copy of the
  26.         program being run.  Removed support for X11R[23].
  27.  
  28. actions.c:    Removed support for X11R3.  Changed ``Send'' completion popup
  29.         to use callbacks instead of action routines.  Eliminated need
  30.         for DoAutograph() and DoDone() action routines.  Changed routine
  31.         SelectionNumber() to use greater-than mark as reference instead
  32.         of current insertion pointer, because forward/backward-page
  33.         et.al. messed with current insertion pointer location.  Added
  34.         support for WM_DELETE_WINDOW protocol requests to DoQuit().
  35.         Added information messages for each command button.  Message
  36.         content is triggered by enter/leave notify events, ala xrn.
  37.         Cleaned up error messages to use XtError().  Consolidated
  38.         various popup positioning routines into SetXY().  Changed
  39.         SetCursor() from XtActionProc to void and moved it to utils.c
  40.  
  41. callMail.c:    Added (UNTESTED) support for non-BSD style communications.
  42.         The additional code was taken from the X11R4 sources for xterm.
  43.         Non-BSD routines are untested by the author, as I do not have
  44.         access to a System-V environment.  Eliminated hanging of the
  45.         parent (for approximately 15 seconds) on close of the slave
  46.         connection due to child terminated for lack of mail before
  47.         the parent could issue it's close statement.  Fixed the bug for
  48.         not displaying tabs in messages.
  49.  
  50. callbacks.c:    Call the alias() extraction routine recursively, to accommodate
  51.         nested user aliases.  Also pass the recipient list to sendmail
  52.         on the command line, in lieu of the ``-t'' option, to eliminate
  53.         a bug which sometimes caused sendmail to think the author of
  54.         the message was actually one of the recipients.  Add the USENIX
  55.         X-Face: header to outgoing messages, if a ``.face'' file exists
  56.         in the user's home directory.  Corrected a bug because System-V
  57.         sprintf() does not return a pointer to the buffer.  Corrected
  58.         redundant usage of XtNameToWidget() calls.  Changed occurrences
  59.         for all of index() to strchr() to eliminate bug under SunOS_4+.
  60.         Changed search for author in incoming messages to use ``From:'',
  61.         ``Return-Path:'', and finally ``From '' header fields.  Changed
  62.         control loop for confirms and ``Send'' completion popups so
  63.         that they will be displayed even if the parent is obscured.
  64.         Changed ``outfolder'' to work as documented in Mail man page.
  65.         Fixed Done routine to not create header files when aborting a
  66.         message composition.
  67.  
  68. defs.h:        Eliminated some global variables and support for X11R3.  Added
  69.         declaration for editorCommand resource, and support for those
  70.         environments which do not include a wait3() system call.
  71.  
  72. directory.c:    Changed define declaration to USE_DIRENT, because structure
  73.         dependency is not SUN_OS dependent.
  74.  
  75. environs.c:    Changed occurrences of index() to strchr().  Added support for
  76.         braced and quoted environment variables.  Added recursive
  77.         parsing of the .mailrc file for ``source''d files.  Added
  78.         recursive parsing of the aliases for addresses, carbon, and
  79.         blind copies.  Merged the extraction of aliases and set options
  80.         from the mailrc file into one routine.  This routine now also
  81.         supports continuation lines, and returns the LAST occurance of
  82.         the targeted set option.  This last point fixes a bug where the
  83.         user declared a prompt string more than once in the mailrc
  84.         file.  Mail would use the second one, while previous version of
  85.         xmail were looking for the first and hanging indefinitely.
  86.  
  87. handler.c:    Added info_handler() to write command button window explanation
  88.         messages in the status window on enter/leave-notify events.
  89.         Fixed bug in placing marker for current message.  Changed all
  90.         occurrences of index() to strchr().  Fixed bug in index_handler
  91.         when the current message index went to zero due to a loss of
  92.         sync with the incoming text from Mail.  This would occur if the
  93.         user pressed the read next/previous message keys too rapidly.
  94.  
  95. mail.c:        Added support for the editorCommand resource, ala xrn.  This
  96.         resource allows the user to specify an ``sprintf''-able string
  97.         which defines the editor to use when composing messages.  Users
  98.         must supply two ``%s'' entry points, one for the name of the
  99.         X display connection and one for the name of the edited file.
  100.         Fallback to the previous VISUAL methodology, if editorCommand
  101.         specification does not meet requirements.  Corrected a bug
  102.         which prevented the ``Send'' popup from appearing if the parent
  103.         shell was partially or totally obscured.  Made the ``Send''
  104.         popup reusable, instead of destroying and recreating it each
  105.         time.  Accommodated people who insist on setting a wide border.
  106.  
  107. national.bm:    Resized the logo to a larger format, to better fit the titleBar.
  108.  
  109. parser.c:    Corrected a bug for those cases when the mail process would
  110.         disappear unexpectedly.  Loss of connection no longer causes
  111.         a runaway condition.  Fixed a bug in the START process which
  112.         chewed up CPU seconds when started iconic.  Restored function-
  113.         ality for the no-autoprint option, which also fixed a bug of
  114.         occasionally seeing titlebar or status info in the text window
  115.         when issuing read previous/next commands in rapid fashion.
  116.  
  117. revtable.h:    Used in un-compressing X-Face headers.
  118.  
  119. utils.c:    Added support for proportionally spaced fonts, using routine
  120.         figureWidth().  Added support for X-Face headers on in-coming
  121.         messages.  If found, the X-Face will be displayed in the upper
  122.         right-hand corner of the text window.  Modified Bell() routine
  123.         to not replace message text in status window if previous text
  124.         was for an error.
  125.  
  126. windows.c:    Moved a majority of the action translation tables to the XMail
  127.         class resource file, to allow the user more flexibility.
  128.  
  129. xmail.c:    Changed the startup procedure to not start in the system folder
  130.         if starting iconic, to prevent ``newmail'' flag from being reset
  131.         before the user has opened the icon for the first time.  Added
  132.         separate font declarations for help, text, and button fonts.
  133.         Added resources and command line options for disabling the new
  134.         info feature and for specifying the editorCommand format string.
  135.         Fixed calculations for overall shell size if user has specified
  136.         a proportional font or wide borders, to keep xmail shell within
  137.         root window boundaries.
  138.  
  139. The following persons have sent in suggestions, complaints, and/or patches
  140. which have contributed to the development of this patchlevel.  In most cases,
  141. I was able to respond directly to the submitter using the address indicated.
  142. In some cases, mail would bounce and I could not reach them with a thank-you.
  143. In any case, I wish to express my deepest gratitude to all for their interest
  144. and assistance.  If I have inadvertently managed to leave someone's name off
  145. of this list, please forgive me (and thanks again).
  146.  
  147. Alan M. Baum    <abaum@amb.cs.gmr.com>
  148.     requested the ability to recursively parse an alias during ``Send''
  149.  
  150. Dana A. Chee    <dana@thumper.bellcore.com>
  151.     one of many to request resources be moved to the application defaults
  152.  
  153. Damian Chu    <dac@doc.imperial.ac.uk>
  154.     forced me (%^) to add WM_DELETE_WINDOW protocol support  (thanks)
  155.  
  156. Ned Danieley    <ndd@sunbar.mc.duke.edu>
  157. Frank Peters    <fwp1@cc.msstate.edu>                and
  158. Thomas Oeser    <thomas%apgraph%ap542@ztivax.siemens.com>
  159.     identified problems (non-RFC822 compliance) with address parsing
  160.  
  161. Norm Jacobs    <jacobs@mot.com>
  162.     provided suggested code patches for System-V socket connections
  163.  
  164. Casey Leedom    <casey@gauss.llnl.gov>
  165.     identified bugs in the translation tables and suggested the addition
  166.     of the editorCommand resource specification
  167.     
  168. Steve Losen    <scl@virginia.edu>
  169.     identified bugs in the translation and regular expressions tables
  170.  
  171. Andrew McRae    <andrew@megadata.mega.oz.au>            and
  172. Peter Morreale    <morreale@bierstadt.scd.ucar.edu>
  173.     identified the existence of memory leaks in patchlevel 2
  174.  
  175. Frans Meulenbroeks <meulenbr@cst.philips.nl>
  176.     suggested the need to use the ``source'' command in .mailrc
  177.  
  178. Marc H. Scholl    <scholl@inf.ethz.ch>
  179.     suggested changes in the ``outfolder'' variable interpretation
  180.  
  181. Brian V. Smith    <envbvs@epb2.lbl.gov>
  182.     noted that the ``Send'' popup would not appear if the xmail parent
  183.     window (or icon) was obscured
  184.  
  185.  
  186. ---------------------- end of changes for patchlevel 3 -----------------------
  187.  
  188.                                                                 August, 1990
  189.  
  190.    The following changes have been effected for Patchlevel 2 of xmail.
  191.  
  192.  
  193. Imakefile:    Reordered R3 and R4 dependencies to allow for R4 make depend.
  194.  
  195. HelpText.c:    Corrected some text and added help for text window key actions.
  196.  
  197. Mailwatch.c:    Added option to start icon in reverse video.  Also added
  198.         option to display the username in the icon window, for those
  199.         times when xmail processes for more than one user are desired.
  200.  
  201. actions.c:    Changed Newmail action to NOT automatically remove the
  202.         current folder list when changing to the system mail folder.
  203.         'Drop Folders' is now a separate action selectable within the
  204.         Newmail command menu.  Fixed SetFolders routine to not prepend
  205.         the home directory to folder names beginning with either a
  206.         dot (.) or foreword slash (/).  Also added a COMMIT option
  207.         to change of folder (when current folder has deleted mail)
  208.         or cancel of composed message.  Commit option is tailorable
  209.         by -e (expert) flag, 'Preserve' menu selection, and/or resource
  210.         specification.  Re-edit of the current message composition is
  211.         now supported within the 'Send' popup 'Deliver' sub-menu.
  212.         Deletions in the 'Send' popup text fields will no longer force
  213.         the cursor position to the end of the line.  Additional error
  214.         messages from the mail program are also trapped.  To better
  215.         support variations in 'Berkeley' mail, 'set no' commands are
  216.         no changed to 'unset' commands.  Both forms are also parsed.
  217.         To allow pasting of selected text within the various windows,
  218.         message indexing is now indicated by a preceding greater-
  219.         than symbol (>) instead of highlighting using the selection
  220.         mechanism.
  221.  
  222. callbacks.c:    Mechanisms for delivering mail messages are now forked to a
  223.         child process if possible, instead of the previous synchronous
  224.         system calls.  Better support for file and folder recipients
  225.         to messages are also included.  Changes in folder or quitting
  226.         with a modified folder are now confirmed, unless the expert
  227.         flag has been specified.  Callbacks for re-editing message
  228.         composition and for dropping the current folders list are also
  229.         added.
  230.  
  231. confirm.c:    This is a new routine which supplys the confirmation method.
  232.  
  233. defs.h:        Changes to accommodate 'make depend' under X11R4 .vs. X11R3.
  234.         Added command line option flag: expert.
  235.  
  236. directory.c:    Modified list display to be more box like, to help prevent
  237.         the menu from running off the bottom of the screen.
  238.  
  239. environs.c:    Improved alias parsing routines to separate real people from
  240.         file and folder names as recipients of mail messages.  Also
  241.         expanded environment variables in GetMailEnv calls.
  242.  
  243. globals.h:    Added definitions for new routines and flags.
  244.  
  245. handler.c:    Removed widget privates dependencies in SystemFolder routine
  246.         by correctly calling XtGetValues for the label of the widget.
  247.  
  248. icon.mail:    Modified bitmaps for both icons to allow for placing the
  249.         username under the mailbox, when requested.
  250.  
  251. mail.c:        Added editMail routine to support re-edits of message text.
  252.  
  253. parser.c:    Added ability to export the match function to other routines
  254.         for better handling of errors from mail.  Changed 'set no'
  255.         calls to 'unset's, for support of SONY NEWS OS mail program.
  256.         Changed message index highlighting to use the greater-than
  257.         symbol (>) instead.  Revert to default mail prompt of received
  258.         during startup, for case where user's .mailrc file fails to
  259.         parse before the intended prompt can be set.
  260.  
  261. utils.c:    Changed message index selection highlighting to use symbol.
  262.  
  263. windows.c:    Added new command menu options.  Provided for cut and paste
  264.         operations in File and text windows.  Added second help
  265.         window to text area for mapping of keyboard keys to command
  266.         actions.  Added keyboard cursor motion commands to the Index
  267.         and Text windows.  Added routine to parse the icon geometry.
  268.  
  269. xmail.c:    Added support for new options: -e (expert), -iconic, and
  270.         -rv (reverse video on the icon).  Also default to no position
  271.         (0,0) for icon if not explicitly specified.
  272.  
  273. xmail.man:    Many changes to document patchlevel 2 enhancements and fixes.
  274.  
  275. xmailregex.h:    Added support for use outside of the parser routines.  Also
  276.         added additional error messages for users with problems in
  277.         their environment or .mailrc file.
  278.  
  279. XMail.ad:    Changed the color specifications in the applications defaults
  280.         from names to hex values, to provide support when the server
  281.         fails to parse color names (a rare but annoying occurrence).
  282.         Added definitions for the new command menu buttons.
  283.  
  284.  
  285. Again, I'd like to thank the contributors of suggestions and actual patches.
  286. I'd also like to thank those persons who sent in complaints and suggestions.
  287. If I somehow managed to forget some of those persons, I hope they can
  288. forgive me.
  289.  
  290. *) Jeff Dauber was first to request the ability to re-edit new messages.
  291.  
  292. *) Mark Scholl was responsible for requesting the addition of a Confirmation
  293.    option.
  294.  
  295. *) More illegal pointer combination fixes, the ParseIconGeometry() routine,
  296.    and the expansion of environment variables within the GetMailEnv() routine
  297.    were supplied by Christos Zoulas.
  298.  
  299. *) Tom Dunigan and Peter Marshall both pointed out the error of my ways in
  300.    handling RFC822 addresses, and supplied much needed help in making the
  301.    corrections.
  302.  
  303. *) Peter Marshal also initiated changes to allow a greater variety of editor
  304.    choices, including better support for the emacs invocation.  He was also
  305.    one of the first to complain about the delays during delivery of messages,
  306.    which drove the efforts to fork off those tasks.
  307.  
  308. *) David Elliott suggested the no-default icon position, the missing paste
  309.    ability in the File window, and the need to support 'unset' versus 'set no'
  310.    construct in mail.
  311.  
  312. *) Suggestions from Casey Leedom precipitated the revision of the Makefile
  313.    depends to provide better support for make depend under Sun and X11R4.
  314.  
  315. *) Questions from John Meissen prompted modifications to the way the file
  316.    handlers are modified when calling mail and forking edit children.  He also
  317.    pointed out the probability of a MAIL environment variable pointing to
  318.    the intended mail spool and made suggestions for changing the code.
  319.  
  320. ---------------------- end of changes for patchlevel 2 -----------------------
  321.  
  322.                                                                    May, 1990
  323.  
  324.    The following changes have been effected for Patchlevel 1 of xmail.
  325.  
  326.  
  327. Imakefile:    Made improvements in dependencies and SunOS defines.
  328.         Removed requirement for linkage to system math library.
  329.  
  330. HelpText.c:    Text revised and reformatted to better fit the help window
  331.  
  332. Mailwatch.c:    Corrected illegal pointer combinations and added resources
  333.         to allow the user to specify the number of times to ring the
  334.         bell when new mail has arrived.  Fixed new mail bell to ring
  335.         only if flag is not already up.
  336.  
  337. Mailwatch.h:    Eliminated warning for duplicate XtNfile definition
  338.  
  339. actions.c:    Corrected illegal pointer combinations, added support for
  340.         improved index handler and Blind carbon copies.  Also added
  341.         support for .mailrc "printmail" definition, and improved error
  342.         messages when attempting to select non-existent or undefined
  343.         mail folders.  Used integer math instead of sqrt() function to
  344.         calculate box dimensions for aliases list.
  345.  
  346. callMail.c:    Corrected attempts to write to read-only strings, and fixed
  347.         case where fork child dies for improper command arguments or
  348.         illegal or unfound image execution which tried to write error
  349.         messages to the xmail pipe instead of the terminal screen.
  350.         A dying child process now also terminates the xmail process.
  351.  
  352. callbacks.c:    Added support for external sendmail function, improved index
  353.         handler, and mail variable 'alwaysignore' which is now used
  354.         to determine header levels for reply, forward, and printed
  355.         messages.  If recipient selection fails to find a value for
  356.         the <Return_Path:> to a message, the <From:> designate is now
  357.         used, to eliminate failures to provide a <To:> addressee.
  358.         Also fixed bug in replyalls which failed to pick up names from
  359.         the original To: field when preparing addresses for the reply.
  360.  
  361. defs.h:        Changed TITLE definition to accommodate use of PATCHLEVEL.
  362.  
  363. environs.c:    Alias support has been extended to include the word 'group'
  364.         when manually extracting mail aliases from the user's .mailrc
  365.         file.  Support has also been included for continuation lines.
  366.         Mechanisms to expand the MAILRC environment variable definition
  367.         have been eliminated, so that xmail behaves more like mail.
  368.         Corrected a bug in getMailEnv to return 'True' for variables
  369.         which have no additional value, such as 'hold' or 'autoprint'.
  370.         Changed strchr() calls to index().
  371.  
  372. handler.c:    Function icon_handler() has been added to switch xmail to a
  373.         dummy mail folder whenever the application is iconified, and
  374.         to switch back to the previous folder on de-iconification.
  375.         Improved index_handler() to eliminate repaints of the index
  376.         window for every deletion or undeletion.  Also added code to
  377.         display as many new message headers as possible, to eliminate
  378.         unnecessary scrolling of the index window.
  379.  
  380. mail.c:        Changed the fputs() to a write() to help eliminate i/o hanging,
  381.         added Blind Carbon Copy support to the sendMail function, and
  382.         added XMail class resources to the xterm message entry window.
  383.         Changed strrchr() call declarations to rindex().
  384.  
  385. parser.c:    Eliminated multiple redraws of the index window during message
  386.         deletions, and corrected index message markers for 'N'ew,
  387.         'D'eleted, and undeleted mail messages.  Corrected a bug in the
  388.         delete processing to not reread entire message and corrected a
  389.         bug to erase index and text window datas if no current folder.
  390.  
  391. utils.c:    Added use of PATCHLEVEL in determining TITLE version revision
  392.         and changed calls for strchr() to index().
  393.  
  394. windows.c:    Changed name of "hold" button to "preserve", to better match
  395.         error message text when used incorrectly, eliminated making
  396.         the preserve button insensitive, to allow use of "set" menu
  397.         in any folder, added a "set" menu to the "preserve" command
  398.         button, to toggle mail variables, "alwaysignore", "autoprint",
  399.         and "hold", and corrected character processing in the file
  400.         window, to allow deletion and insertion within the line,
  401.         instead of always at the end.  Added use of PATCHLEVEL in
  402.         determining TITLE version revision
  403.  
  404. xmail.c:    added support for the -iconic command line option, corrected
  405.         resource handling for iconGeometry, and improved default font
  406.         handling for minimum dimensions of the xmail application window.
  407.         Also fixed processing of geometry specifications for the top
  408.         level window.  Update the 'what' database string to reflect
  409.         current version.
  410.  
  411.  
  412.  
  413. I would like to thank the many contributors of suggestions and actual patches.
  414. I would also like to thank those persons who sent in complaints, as they were
  415. often the predictors of the many other corrections and enhancements to xmail. 
  416.  
  417. *) Message size tests in parser.c were extended to include support for DEC
  418.    mail return on size requests, to prevent core dumps under Ultrix UWS 2.2
  419.    thanks to patches from Dirk Grunwald <grunwald@foobar.Colorado.EDU>
  420.  
  421. *) Corrections to Imakefile to eliminate the need to set SunOS dependency
  422.    flags manually were driven by suggestions from Casey Leedom
  423.    <casey@gauss.llnl.gov> and David Elliott <dce@smsc.sony.com>.
  424.  
  425. *) The regular expressions definitions in xmailregex.h were corrected as a
  426.    result of suggestions from Casey Leedom.
  427.  
  428. *) Suggestions from Casey Leedom, Mark Williams <msw@cpsc.UCalgary.CA>,
  429.    and Mark Scholl <scholl@inf.ethz.ch> helped identify a problem in the
  430.    communications links with mail.  writeMail() now uses a write instead
  431.    of fputs, and the connection parameters are set for APPEND instead of
  432.    non-blocking i/o, to eliminate run-away cpu cycles.
  433.  
  434. *) Many, many illegal pointer combination errors were identified and corrected
  435.    by Christos Zoulas <christos@guillemin.EE.cornell.edu>
  436.  
  437. *) Thanks go to Robert Viduya <robert@shangri-la.gatech.ude> for suggestions
  438.    and assistance in adding an icon handler to switch to a dummy mail folder
  439.    during iconification, to prevent collisions in mail if run from another
  440.    process while xmail is running.
  441.  
  442. *) Support for an alternate sendmail function was provided after receiving
  443.    suggestions from Jim Blythe <jsblythe%uk.co.gec-mrc@nsfnet-relay.ac.uk>
  444.  
  445. *) Blind carbon copy support and correction of several bugs were suggested
  446.    by Jeff Dauber <dauber@parns.nsc.com>
  447.  
  448. *) Support for mail variables autoprint and hold were corrected thanks to
  449.    requests from Dwayne Lee <dwayne@asic.nsc.com>
  450.  
  451.