[comp.mail.mush] Attention MushView Beta-Testers: 6.5.6.13 available

schaefer@ogccse.ogc.edu (Barton E. Schaefer) (08/12/89)

A revised version of the mushview beta release has just been placed on
ucbvax.berkeley.edu for anonymous ftp.  Beta-testers should pick up a
new copy of the file pub/mushview.tar.Z from there.  The new version is
6.5.6.13, dated 8/11/89.

This version should be especially interesting to MMDF users, because use
of the MMDF library locking routines is now fully integrated.  Thanks to
Lee McLoughlin for handling the details of this and to Marc Rouleau for
testing my additional usages of the changes.

Fixes from 6.5.6.11 include:

   All the file locking functions now use the MMDF library routines when
   MMDF is defined.  This means you need to link to the MMDF library.
   The makefile.* have been updated to indicate this.

   Implemented new locking scheme in copyback() to close loophole for
   new mail.

   The mbox file ($HOME/mbox or whatever) are locked by copyback().

   The save/write/copy commands now lock folders.

   The dead.letter file is also locked when written.

   Folders are locked for reading as well as writing.  Not strictly
   necessary, but prevents confusion when new mail arrives at the same
   time that mush is trying to load.

   New options -1 and -2 added to print_help() (the "help" command).
   These allow changing the help-file locations at run-time.

and others mentioned below, plus some I'm sure I've forgotten.

Bug reports should continue to go to	rburridge@sun.com (Rich Burridge)

We still need -DSYSV lint output if anyone feels volunteerish.

For those who missed it, the original announcement of the beta release
follows.  It has been updated to summarize the state of 6.5.6.13.

---------------------------------------------------------------------------

The long-awaited but slow-to-appear SunView port of mush 6.5.6 is now
available for beta-test.  Anyone with a Sun (or without, though you won't
be quite as helpful :-) and with ftp access to ucbvax.berkeley.edu is
encouraged to pick up file pub/mushview.tar.Z and go bug-hunting.

This is for the most part a very straightforward conversion of the old
SunWindows code in 6.5.6 to use the newer SunView library.  XView and
other Xs are not supported.  The tool code has been tested on 3/50, 3/60,
386i, and assorted other Sun workstations running SunOS 3.5, 4.0.1, and
4.0.3; it appears to work, but we make no guarantees at this point.  The
line/curses mode code has been tested on some of the Suns and a Sequent
Symmetry (DYNIX 3.0.12, BSD universe only).  The tool code needs heavier
use, and the rest could stand testing on some SysV/Xenix systems, so
this is definitely a beta release and should not yet be considered
"official".

Thanks to Rich Burridge of Sun Australia for doing most of the drudgework
involved in the conversion.  Rich has also given the code a very thorough
linting; it is cleaner now than it has been since the "passed lint the
last time it was checked" remark got put in the README several versions
ago.  :-)  A SysV linting would also be appreciated if anyone volunteers.

Bug reports for the SunView interface should be sent to Rich at

		rburridge@sun.com

In addition to the conversion, there have been a number of enhancements
and bug fixes to 6.5.6 included in this version.  The following is an
excerpt from the lastest README file (it may even be more up-to-date
than the copy that is with the tar.Z):

---------------------------------------------------------------------------

mush -I file
mush -I! file
    The new -I (-init) option allows the user to specify an init file that
    is read before any of the other init files.  -I! causes the specified
    file to replace the system Mushrc file; otherwise, the given file and
    the system Mushrc are both read.  -I has no effect on reading of the
    user's own $HOME/.mushrc file (except that the indicated file could
    "setenv MAILRC", thus changing the location of the user's file).

mush -n
mush -n!
    The first form of this option now works like the ucbMail -n option,
    that is, it prevents sourcing of the system Mushrc but the user's own
    $HOME/.mushrc is still read.  The new -n! variation prevents either
    file from being sourced, which was the old behavior of -n.  Using -n
    does not change the effect of -I, so the following are equivalent:
	    mush -n -I file			mush -I! file

cd
    The cdpath variable now works correctly when specified with either
    colons or spaces separating the list of directories.

help
    The help facility has been expanded; there is now a help file entry
    consisting of a usage line and short explanation for every documented
    line-mode command except "debug" and "version", all accessible via
    "? command" or "command -?".  In addition, there are three options:
	help -1 file	Give new location for cmd_help file
	help -2 file	Give new location for tool_help file
	help -0		Restore original help file locations
    Use of "help -0" (that's a zero) will NOT override the -1 and -2
    startup options, i.e. the cmd_help and/or tool_help specified on the
    mush command line will be the "originals" used.

my_hdr From: address
    This is now allowed (it is allowed but neither documented nor correctly
    used in 6.5.6, and was not allowed previously).  The user's From: header
    is verified as best mush can, and used if it appears valid.  It is up
    to the MTA to assure authenticity and/or add a Sender: header.  Mush
    provides a From: if the user does not or if it cannot verify the one
    given.

pipe -p pattern unix-command
    The pipe command has been modified to allow its use as a shell script
    extractor.  See the man page and "pipe -?" for details.  KNOWN BUG:
    given a list of messages, all are sent to the same unix process.
    This can cause havok e.g. when each of the messages is a shell script
    intended to be run by a virgin shell.  Changes are being discussed.

Pipe
    See the comments under "write" below.

pwd
    This now prints the actual current working directory rather than
    simply echoing the value of $cwd.

reply
    Assorted repairs have been made to to take_me_off() (implements the
    inverse of $metoo) and reply_to().  These include doing a better
    (though still not perfect) job of getting the name and address to
    match when replying to forwarded mail.

sort
    The current message now moves with the sort, that is, the same actual
    message (not necessarily the same message *number*) will be the
    current message after the sort as was current before the sort.

save/copy
    The 'p' (printed) and 'f' (forwarded) Status flags are now properly
    saved when messages are saved/copied, and restored when the folders
    are read.

undigest -p pattern
    The specified pattern is used as the article separator for unpacking
    digests.  The default is "--------".  A literal match (no regexps or
    wildcards) is done at beginning-of-line.

write
    The write command (and other commands such as Pipe that omit message
    headers) no longer outputs the blank line that separates the message
    body from the headers, and also does not output the trailing blank
    line that separates messages from one another.  (This applies only
    when MSG_SEPARATOR is not defined during compilation.)  This makes
    the command more useful for saving multi-part uuencoded files, etc.

$domain_route
    This variable allows the user to specify that domain short-circuiting
    should be done in conjunction with auto_route.  Addresses that are
    already in RFC822 domain form (user@domain) are not normally changed.
    UUCP paths that contain fully-qualified domains are short-circuited
    to the rightmost such domain.  Optionally, domain_route may be set
    to a string, in which case all addresses are rewritten to UUCP form,
    short-circuited, and the given string is then prepended as the first
    host in the path.  This variable is intended for use at RFC976 Class 3
    UUCP hosts, or UUCP sites with a connection to a Class 3 host.
____________

MMDF Changes and File Locking Improvements
------------------------------------------

The MMDF support code has been modified to use the MMDF library calls for
file locking.  The files makefile.* were modified to make the need to link
in the MMDF library more obvious, and the comments in config.h-dist now
reflect the current (simpler) installation instructions for MMDF sites.

In the course of these updates, the structure of the file locking calls
was reworked to make open and lock a single (non-atomic) operation.  Many
thanks to lmjm@doc.imperial.ac.uk (Lee McLoughlin) and marc@virginia.edu
(Marc Rouleau) for instigation and help with implementation and testing of
these changes.

---------------------------------------------------------------------------

As usual, the BUGS section of the man page covers some known problems; these
include:
    Function keys clash with window operations
    Pixrect allocation restricts the size of pageable messages

And of course I'm sure you hungry beta-testers will find others.

As usual, Dan and I can be reached at:

		Dan Heller	island!argv@sun.com
				dheller@cory.berkeley.edu
				argv@sun.com (temporarily)
		
		Bart Schaefer	schaefer@cse.ogc.edu

and don't forget:

		Rich Burridge	rburridge@sun.com
				sunaus!richb@sun.com

Miscellaneous comments can be posted to comp.mail.mush for discussion, or
sent to mush-users@garp.mit.edu, which gateways to the newsgroup.

One note:  Both Dan and I are very busy at the moment, which is one reason
bug reports are directed to Rich.  Response times to mail may vary.
-- 
Bart Schaefer           "And if you believe that, you'll believe anything."
                                                            -- DangerMouse
CSNET / Internet                schaefer@cse.ogc.edu
UUCP                            ...{sequent,tektronix,verdix}!ogccse!schaefer

ste@cbnewsm.ATT.COM (Shaun T. Erickson) (08/12/89)

The summary line says it all really. I can't get it to compile at all, due
to this.
-- 
 ------------------------------------------------------------------------------
 Shaun T. Erickson       Contracted to AT&T Bell Labs, Allentown, Pennsylvania
 Internet: ste%hudson@aloft.att.com             UUCP: ...!att!aloft!hudson!ste
 Standard Disclaimer.                                     This space for rent.

schaefer@ogccse.ogc.edu (Barton E. Schaefer) (08/13/89)

In article <2663@cbnewsm.ATT.COM> ste@cbnewsm.ATT.COM (Shaun T. Erickson) writes:
} The summary line says it all really. I can't get it to compile at all, due
} to this.
} -- 
}  Shaun T. Erickson       Contracted to AT&T Bell Labs, Allentown, Pennsylvania

Ooops.  Sorry about that.  The fix is trivial, a declaration that should
have moved out of check_new_mail(), didn't.  Patch is appended.

I would like to ask that posters to this newsgroup avoid putting the
entire contents of their articles into the Summary: line.  The newsgroup
is gatewayed to a mailing list, and the Summary: header is not one of
the ones that gets propagated.  (The gateway software perhaps needs to
change to correct this?)  In the meantime, please at least say a little
about the topic in the body of the message.  Thanks!

~/src/mush/6.5/sun/update 
*** signals.c.0	Wed Aug  9 14:20:33 1989
--- signals.c	Sat Aug 12 11:28:19 1989
***************
*** 242,247 ****
--- 242,251 ----
      return 0;
  }
  
+ #ifdef SUNTOOL
+ static int is_iconic, was_iconic;
+ #endif /* SUNTOOL */
+ 
  /*
   * Display a summary when new mail has come in.  sprintf it all into one
   * buffer and print that instead of separate print statements to allow
***************
*** 316,324 ****
  check_new_mail()
  {
      int 	   ret_value;
- #ifdef SUNTOOL
-     static int is_iconic, was_iconic;
- #endif /* SUNTOOL */
  
      /* if fullscreen access in progress (help), don't do anything */
      if (ret_value = mail_size()) {
--- 320,325 ----
-- 
Bart Schaefer           "And if you believe that, you'll believe anything."
                                                            -- DangerMouse
CSNET / Internet                schaefer@cse.ogc.edu
UUCP                            ...{sequent,tektronix,verdix}!ogccse!schaefer