Bug history notes Mark Ahlstrom Started 05/20/85 1) For complex displays with long lines (for example, a Project_Usage_Report (pur) from Multics with the line length set to 132), the display puts the last few chars of some lines at the beginning of the line rather than the end. This happens at both Multics command level and in Emacs Multics mode... and is predictable. Fix: This is a flow control problem. By using xon-xoff flow control at both ends (e.g., Port 1 with flow control on 3600, and setting "stty -modes iflow" and "stty -modes oflow" on Multics, this will not occur. However, Emacs on Multics seems to disable this in order to get ^s and ^q to work, so the problem in Multics mode remains unless you want to try being a DEC terminal type and work around the ^s ^q issues. 5/20/85 MLA 2) Changing the default directory via the review parameters window does not seem to work. Fix: This was a very tough one, but I think it is fixed. The problem was that a :before :select method of kermit-frame (found in lmiwin) sets the default-kermit-pathname back to the fs:user-homedir. (At least, I think that is the source of the problem.) This made it very difficult to keep the pathname set to anything else. 6/6/85 MLA 3) The smooth scrolling feature does not seem to have any effect. Fix: This now works, but is only used for the interaction pane. It is not designed for use in the terminal pane, and would be too slow in that pane for most purposes. --MLA 4) After displaying a typeout window, as for the network-help, the contents of the underlying windows are cleared rather than just being redisplayed. Fix: This has been corrected by just removing the :refresh call at the end of the macro with-kermit-typeout-stream as found in lmical. --MLA 5) The big screen option of the terminal does not work (not enough space on the 3640 screen to satisfy the constraints?). Fix: The screen configurations have been completely redone for the 3600, and a new menu choice has been added to allow selection of various screen configurations and interaction window scrolling features. --MLA 6) Change all file names and loading references to call the system lmxxx rather than lmixxx, and add more documentation? Need to limit lines to 80 characters in source for Columbia?? Have a version and edit number in the code that is displayed upon start up (on display). Also, put the standard header info (from George C.) in files. I am not going to change the names or line lengths at this time. Maybe after George C. and I agree on everything, and we are ready to release to Columbia, then I will have to change the line lengths. There shouldn't be any real need to change the file names.. probably would just be more trouble than it is worth. The copyright notice has been added to all source files. The version is now set as a variable in lmiwin and displayed in the emulation window label line. Header/copyright message is in all files. 7) Network-B does not work with Multics. It does send some nulls to the LAN, but these are ignored by Multics. Could be a timing problem in keeping the line low long enough.... Fixed... there was a timing problem, but that didn't fix it. But, turns out that 3600 has a :send-break method for its serial stream flavors which does the job nicely. 5/20/85 MLA 8) Can you send files without protocol?? Yes... at least one way to do it is with the ^Y command. This command throws you into an pop-up ZWEI window. You can yank a file into this window, edit it if you want, and then have it sent down the line by hitting . Of course, you may have to be using flow control to avoid swamping the system at the other end if you are connected a a relatively high baud rate. 6/14/85 MLA 9) Are all the warnings from "let" variables necessary and correct when compiling kstate? Fix: A number of variables had to be declared special within the defuns to eliminate the warnings. 6/14/85 MLA 10) When connected and mousing "receive files", the error message is "NILisconnect first in order to receive." Fix this. Fix: This was an error in the format form. --MLA 11) For review parameters window, it is difficult to get the mouse down to the abort pad since the fat-arrow scrolling gets in the way. Fix: I changed the border text to move the selection boxes to a better location for the 3600. --MLA 12) Get an error when trying to start logging of terminal session using Network-L. Fix: This was due to a binding to :unbound rather than leaving a variable unbound. Why did they ever use :unbound anyway?? Fixed by including check for :unbound in the test within the function terminal-get-logfile-name-from-user. 5/20/85 MLA 13) For both send files and server/send, when doing a wildcard send, the system prompts you correctly for all files, but then only sends the first file. Notes: It seems that this should actually be done by the call to gnxtfl from the seof function, but it doesn't work right! It is also confusing that (:method kstate :simple-send) binds *filelist* to the cdr of the file list, rather than the whole list if this is the way it should work, as it appears that gnxtfl is supposed to ignore the first file on the list and set things up for the second file. Does it send the first and third files of a three member set? Yes indeed, it does send the first and third files from a three file wildcard set. Of a five member wildcard set, it sends all accept the second file, so it appears that the only problem is setting to the cdr in the :simple-send method. This has been changed to correct the problem. --MLA 6/17/85 14) For certain files (like limlod.lisp), kermit has major problems sending certain packets. For some reason, it appears that the troublesome packet is 77 chars long rather than 74 like all the rest, and it just happens to end with #M#J (CRLF)! What gives? Fix: Note that 74/77 is the length reported by the spack routine when debug mode is on, but the actual packet length is greater than that. At least for the 77 case, the actual length of the string shown by send-packet when in debug mode is 83 characters long! I think that this is the problem, since I believe that the transfer being tested is using 80 character packet size. Since an "end-of-line" is actually converted into four characters (quoted CR and LF), this must be causing the packet to be too big when the end-of-line just happens to coincide with the end of the packet. Looking at the bufill function, I also see that the fullsize is assumed to be spsiz - 6, but in looking at the original C Kermit code on which this is supposedly based (found in the Kermit protocol manual), they use spsiz - 8 as their test point. At the risk of lowering the average packet size by 2, I am going to change bufill to use spsiz - 8 and then see if the problem goes away. I will test this by trying to send a file with lots of "end-of-lines" to be sure that I get a case where the eof falls at the packet boundary... MLA What I observed with a test file (lots of eol, with some other characters to give a variety of cases), was that packets of length 74 (ending in regular characters), 75, and 76 worked fine, but packets of length 77 did indeed case trouble. The surprising thing was that they sometimes got through at all. By changing the test in bufill from spsiz - 6 to spsiz - 7, I then got packets of length 73 (for regular characters) and 74 and 76 for packets ending with CRLF. Everything worked fine. To maximize throughput, I therefore left the test at spsiz - 7. If someone starts using multiple character checksums, they might have to bump this up to 8 or 9 (will they?). --MLA 6/17/85 15. The server-receive function does not work correctly if you let the "Merge with:" prompt default. In that case, you run into troubles in trying to open a *.* file (assuming that your current kermit-default-pathname specifies a *.* filename). The defaulting isn't really working now. Fix: (I also had to change kstate :server-receive method slightly since 3600 doesn't allow taking the length of a string, and I had to change the function to string-length.) I changed the receive-files-from-server code (conditionally for 3600) to fix this, and now server-receives of single files work fine. It still fails for wildcard files with an error in trying to open a wildcard pathname, but that is a separate problem to work... --MLA 6/17/85 16. As noted above, wildcard server/receive commands do not work. Fix: I had to modify the function RFILE in lmipro in order to get this to work properly. I did this conditionally for just the 3600 at this time. I looks like someone had stuck in some special code which caused this to break, so I may have rebroken someone's fix, but it looks rather strange. --MLA 6/17/85 17. Mousing in panes other than the command menu (when not connected) generates an error. Fix: I added another condition to the (:kermit-frame method :top-level) main loop to catch mouse blip lists before we tried to test them as numbers/characters. Noncommand mouse blips are now treated just like other unanticipated terminal input. --MLA 6/18/85 *** Start of edit 2 fixes *** 18. Getting a divide divide by zero error when trying to display the send/receive status sometimes! Tracked down to function give-state-info in lmipro. Fixed by changing the "setq bps" form in this function to: (setq bps (// *bytecount* ;2; To avoid divide by zero errors, to this... (let ((ourtime ;2; (// (time-difference (time) data-xfer-start-time) #.(float 60.)))) ;1; changed small-float to float (if (zerop ourtime) 1 ourtime)))) ;2; This version will now be referred to as the 1.0a alpha test version. You can make this show up on your display by also changing this form in lmiwin.lisp as shown: (defconst kermit-version "LMKERMIT Version 1.0a Alpha Test")