[comp.sys.mac] Red Ryder on Genie - NOW it's version 10.3

kraut@ut-ngp.UUCP (Werner Uhrig) (10/30/87)

A friend told me of having downloaded it yesterday.

maybe someone can post a review of the differences?  I assume it's a bug-fixing
version, given the quick sequence of versions lately ...or did Scott "forget"
to implement a few features ??  ((-:

-- 
kraut@ngp.utexas.edu

rock%warp@Sun.COM (Bill Petro - Program Management Office) (10/31/87)

In article <6660@ut-ngp.UUCP> kraut@ut-ngp.UUCP (Werner Uhrig) writes:
>A friend told me of having downloaded it yesterday.
>
>maybe someone can post a review of the differences?  I assume it's a bug-fixing
>version, given the quick sequence of versions lately ...or did Scott "forget"
>to implement a few features ??  ((-:
>
>-- 
>kraut@ngp.utexas.edu


The changes in 10.1 are as follows:



New Features Added To Version 10.1
----------------------------------

1) The buffered keyboard was designed to hold 32,000 characters, but for
	some bizarre reason, I imposed an arbitrary limit of 255 characters.
	This has been fixed and the keyboard buffer can now accept up to
	32,000 characters (should you be so inclined).  Because of this change,
	the following changes should be made to the chapter "The GETPARAM And
	PUTPARAM Procedure Commands".

	Page 141 - Parameter #87 is now unused.
	Parameter #497 holds the high byte of the buffered keyboard right
	margin, and Parameter #498 holds the low byte.

	With such applications as packet radio in mind, it seemed a shame not
	to allow some way to have more than one long line of text in the
	keyboard buffer.  I approached this problem in the following manner.
	As usual, pressing the Return key will send the contents of the
	keyboard buffer.  However, typing Shift-Return will instead put a
	special "carriage return" character in the keyboard buffer, allowing
	you to type multiple lines of text.  The "carriage return" character
	is translated to a true carriage return when the Return key (unshifted)
	is later pressed and the buffer is sent.  At the last minute, I also
	decided that it could be useful to offer a delay between each line
	sent, since some hosts (notably CompuServe), may "squelch" you if it
	detects you sending multiple lines of text shotgun style.  By using
	the Procedure command:
	PUTPARAM 500,1
	a one second delay (you can change this to any number of seconds delay
	you like by changing the "1" in the above example, or to 0 to disable
	this feature) will be enforced after every special "carriage return"
	character is sent.

2) Did some work on the DIAL/REDIAL routines to insure that they would
   work with some modems previously discluded (notably, Avatex modems). A
   delay can be introduced between each character of the dialing string
   typed through the Procedure command:
   PUTPARAM 590,x
   where 'x' is a number between 0 (meaning no delay) and 255, which is
   the number of 60'ths of a second to delay between each character typed
   to the modem in dialing command.

3) There was a big call to give the option of having the Buffered Keyboard
   back at the bottom of the screen (as in previous versions) rather than
   in the Status Bar area.  To accomplish this, the Procedure Command:
   PUTPARAM 12,1
   should be compiled and executed.  After executing this Procedure, you
   should immediately exit Red Ryder and then re-enter.  To cancel this
   feature, the Procedure Command:
   PUTPARAM 12,0
   should be compiled and executed and things will go back to normal.
   Note that when this feature is implemented, it is at the expense of
   one or more lines of text (depending on the font size in use), and
   that there is no way to turn off the Buffered Keyboard from within
   a Procedure.  Also, the "Write A Procedure For Me" routine will
   no longer supply a "BBAR" command if the Buffered Keyboard is active
   as it shouldn't make assumptions about what environment it will be
   executed in at a later date.

4) New Procedure command added:
   MAKEFILE FILETYPE_EXP,STR_EXP
   Description: This command is used to change the existing file named
   in STR_EXP (it will not create a file and will set the Error Flag
   to "ERROR" if the named file does not exist) to the filetype contained
   in FILETYPE_EXP.  This is useful for giving data files you create their
   own filetype, which can be specified later via a GETSELECT command.
   The USEROPENO and USEROPENA commands use the default filetype "TEXT"
   when creating a new file.  WARNING: Never use the MAKEFILE command
   with an open file - always do a USERCLOSE first!
   
   Example:
   (Create a file called "Foobar")
   USEROPENO 1,Foobar
   (We could write out any data we want in it now, but for now,)
   (we'll just close it.)
   USERCLOSE 1
   (Now change its filetype to "JUNK")
   MAKEFILE JUNK,Foobar

5) New Procedure command added:
   GETVOL STR_VAR
   Description: This command prompts the user to select a volume/path
   via the standard dialog box used with such commands as the "Set
   Auto-Receive Volume" command under the File menu.  The Yes/No flag
   is set to "YES" if the user selects a volume, or "NO" if the user
   instead clicks on the "Cancel" button.  The volume name is returned
   in STR_VAR.  WARNING: The volume name returned does _not_ have a
   trailing colon (if you need it to, simply use a CONCAT command to
   put one there).
   
   Example:
   (Let the user choose where to put the file I'm about to create, which)
   (I'll call "Foobar")
   GETVOL A$
   (Don't do anything if the Cancel button was clicked)
   IF NO END
   (Add the filename to the end of the volume name in A$)
   (Notice the leading colon before the filename)
   CONCAT A$,:Foobar
   (I could now create the file contained in A$)

6) If the Shift key is held down while choosing the Edit menu after
   selecting text, the Copy menu choice becomes "Copy, Then Paste".  This
   means that first the selected text will be copied to the Clipboard,
   and then it will be immediately pasted to the modem.
	
7) Macro key strings have been extended from 40 characters to 240
   characters each.  This, of course, changed the format of both the
   Macro Key and Settings files.  However, Red Ryder 10.1 will read
   both old and new styles, but will write only the new style files.
   What this boils down to is that the Settings files created by 10.0,
   and the Macros Keys files created by 10.0 or 9.4 will not automatically
   start up 10.1 if you double-click on their icons in the Finder.  What
   you need to do is use the "Load Settings Files From Disk" and "Save
   Settings Files To Disk" commands to read in an old style settings
   file and write it back to the disk in the new style format, and the
   equivalent load and save commands for any old style Macro Key Files.	

8) The Auto-receive and Archive paths are now kept in settings files
   so as to remain constant between sessions.  Whenever a settings file
   is loaded (during start up or when you use the LOADSET command,
   for instance), these two paths are checked to exist.  If the paths are
   not available, the path is reset to the same volume and folder that
   Red Ryder resides in.

9) New Procedure command added:
   QUERY0 STR_VAR
   Description: QUERY0 (that's a zero on the end) works exactly like the
   QUERY1 command, except that what the user types is echoed back to him
   as asterisks, giving a "secure input mode" for such things as passwords.
   The maximum number of characters that can be typed is 20.
   Example:
   COPYINTO X$,Please type in your password now.
   COPYINTO Y$,Each characters will be shown as an asterisk character
   COPYINTO Z$,for your protection.
   QUERY0 A$
   (A$ now contains his password)

   
I was about to add a multi-window memory limit editor, but decided I'd
better quit while I was ahead.  There's always version 11, he said wisely.
	
Bug Fixes In Version 10.0 (all the following were confirmed and fixed)
----------------------------------------------------------------------

1) "Strip control characters allows tabs to pass through" doesn't work.

2) LOADSET command gives -40 or other bizarre error message.

3) REDIAL routine is not stripping out high bits from incoming chars.

4) ERASE ALL is only erasing the contents of A$ through J$, K$ through
   Z$ remain unchanged.

5) USERWRITE or USERWRCR could possibly report a bogus error when writing
   to a file opened with a USEROPENO command.

6) "Printed by Red Ryder...." message can have some boo boo characters in
   it.

7) A PUTPARAM 17,1 won't work.

8) Printing is not working with LaserSpool (Think Technologies) or
   AppleTalk Imagewriters.
   
9) The application signiture resource (SCOT #0 resource) should be a
	Pascal type string.

10) USEROPENA won't create a non-existant file as documented.

11) Phonebook is using Monaco-12. No it isn't!  Phonebook uses only
	Chicago 12-point and TTY-VT52-VT100 9-point, both of which should
	always be installed.

12) When starting a CIS-B download, the download box contains the message
    "Filename: 'Unknown'".   Later, when the first packet is
    received OK, the "'Unknown'" is overwritten by the name supplied by
    CompuServe, but only for the length of the name supplied.  So, if I
    had told CompuServe the file name is "x", the line ends up reading
    "File name:  'x'known'".  Also, the "Errors" counter is not properly
    reset to zero.
    
13) When dialing with the phone book, the procedure file name that is
    executed after the connection, is displayed at the top of the window. 
    Sometimes, the volume name is duplicated, like:
    RR 10.0 System:RR 10.0 System:Procs:Genie.PROC

14) File transfers were not setting the ERROR flag correctly at the end
    of the transfer to reflect the success or failure of the transaction.
  
15) Another problem is that if you cancel a PROC which had a file OPEN
    (via USEROPEN) the file stays open -- means you can't  change the file
    again until you re-boot the Mac.

16) SAVEVAR and LOADVAR commands were not working correctly.

17) PROMPT and ALERT commands do not match properly with a requested
    string if it appears in boldface (in VT100 emulation).  Printing
    functions also work miserably with boldfaced characters.
	
18) If the RUN command is used without a preceding ATTACH command, some
	Mac applications could try to open up a file that was used to start
	up Red Ryder (like a Phonebook or Procedure File).

19) If a YMODEM receive is cancelled before the first block has been
    received, the default settings file was trashed.

20) When the host machine sends a the VT100 escape sequence to change
    the terminal from 80-column mode to 132-column mode (or vice versa),
    the horizontal scroll bar is not updated properly.

21) The VT100 "restore cursor" escape sequence was not restoring the
    correct row number.

22) The VT100 emulator was "leaking" through "ESC<" and "ESC\" sequences.
    Also leaked were control sequences (like for printer control for a
    VT102) that the VT100 emululator did not recognize.

23) Host Mode wipes out part of Vertical Scroll Bar.

24) Five of the special line drawing characters for VT100 were in reverse
	order in the 12 point TTY-VT52-VT100 font.

25) Some wacky dots left behind while scrolling horizontally and
	vertically in 12 point size in VT100 emulation.

26) XMODEM send could get hung up if receiver is ready to receive before
    the sender is ready to send.

27) There was a "beep" that shouldn't be when receiving the first block
    of a MacBinary II file.

28) The "underline" VT100 character attribute was drawing the underline
    one pixel too far to the right.

29) Buffered Keyboard Status Bar is superimposed on title screen if that
    was the last Status Bar displayed.

30) Numeric keypad characters were not being routed to the Buffered
    Keyboard when the VT100 Keypad Mode was not set.

31) The Procedure compiler was not compiling negative numeric constants
    properly (by the way, the documentation is wrong in that the largest
    negative number you can use is actually -2,147,483,647).

32) The REPLACE$ command did not function as documented.  In addition,
    the execution example given on page 93 is wrong, since the REPLACE$
    command will not "push right" the remainder of STR_VAR after
    replacement.  The correct result would be A$ = "HEFOO" with the
    2 L's being replaced with the two first characters of "FOOBAR".

33) Major meltdowns could occur if the text to look for supplied in an
    ALERT command is more than 20 characters long.  Trap was added to
    take only the first 20 characters.

34) 1K blocks in XMODEM/YMODEM now "fixed" to work with software that did
    not properly implement the protocol.  A "CK" (exactly) sequence is
    what we are supposed to be receiving to start a 1K block send, but
    some dummies send out 15 or 20 C's and then a "K".  OK, we'll play
    their way, and accept this wrong sequence as valid.

35) The Terminal Display Window can now be resized smaller horizontally
    than before.  Note that no attempt is made to adjust the Status Bar
    area if the window becomes narrower than the Status Bar in use.
    However, this may still be useful for those who wish to set aside the
    Terminal Display Window (later growing it back to full size via the
    Zoom Box) in a many-window environment (like MultiFinder).
    
36) Some additional serial port stuff was added.  The printer port is now
    closed if it had been open and the user switches to the modem port,
    in order to keep the display proper with such products as Shiva's
    NetModem.  Additionally, Red Ryder will no longer let the user select
    a serial port that is already in use (by AppleTalk, or...ahem... some
    application running in the background, etc.).
    
37) The Procedure compiler should now be more tolerant of control
	characters embedded at the end of the source code file, which
	sometimes happens when the source code file has been downloaded
	without MacBinary using XMODEM.

38) The Edit menu now correctly displays the Append function it will
	perform (to the Archive file, to an existing file, or to a new file)
	depending on the state of the Shift and Option keys as explained in
	the "Undocumented Commands And Features" document distributed on the
	FreeSoft RoundTable on GEnie.

39) The CONTAINS command would not set the Yes/No flag to "NO" if the
	string variable was empty.

40) The Procedure Compiler was not compiling correctly when the encryption
	option was turned on.

41) I _think_ I have improved the response to the Pause Remote/Resume
	Remote toggle button in the General Status Bar (please note, this
	is only affected by that toggle button, not by typing CTRL-S/CTRL-Q).
	When the "Pause Remote" button is clicked, it really and truly does
	lock out further incoming text until the "Resume Remote" button is
	clicked.  This is the side effect that if you are fooling around
	before you read this and click on the "Pause Remote" button and leave
	it that way (with it showing "Resume Remote"), Red Ryder will _not_
	process any incoming data.  The worst case before Red Ryder will lock
	out incoming characters is 132 characters, which is much better than
	the 1000 or so it used to let through.  Please give me some feedback
	on this "improvement."


{cbosgd,decwrl,hplabs,seismo,ucbvax}!sun!warp!rock  Bill Petro