Bug history notes Mark Ahlstrom Started 05/20/85

advertisement
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 <network> ^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 <end>. 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-defaultpathname
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 :toplevel)
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.
changing
the "setq bps" form in this function to:
Fixed by
(setq bps
(// *bytecount*
;2; To avoid divide by zero errors, to this...
(let ((ourtime ;2;
(// (time-difference (time) data-xfer-starttime)
#.(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")
Download