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