KERMIT 95 FIXED BUG LIST

The Kermit Project, Columbia University
http://www.columbia.edu/kermit/

2 April 2002

As of: Kermit 95 1.1.21

This file contains entries from earlier editions of the Kermit 95 Bug List, that were moved to this file when the bugs were fixed. The numbering is preserved. Bugs fixed since K95 1.1.19 (February 2000) are still in the bug list.

2. Video Attributes vs Terminal Screen Size in Windows 95 - Category X.

(Fixed in version 1.1.12)

Kermit 95's terminal emulator supports color and highlighting (bold) character attributes in the Terminal window, which are set by escape sequences from the other computer. In addition, the underlining attribute is simulated via color or intensity. This should work well in any size screen, but unfortunately there is a bug in Windows 95 -- but not in Windows NT -- that prevents the use of attributes in console screens that are not 80 characters wide and 25, 43, or 50 lines high (24, 42, or 49 plus Kermit's status line). If an application attempts to write attributes in such a window, Windows 95 (not just the application) crashes. Therefore, host-controlled screen-size changing is disabled by default in Windows 95. You can enable it with the following command:

  SET TERMINAL VIDEO-CHANGE ENABLED

If you do this, then if the host changes the screen size to anything other than 80 by 25, 43, or 50, then Kermit 95 will refuse to manipulate attributes in the screen (because if it attempted to change attributes, Windows would crash). The problem is most commonly visible when switching to 132-column mode, in which case you probably observe that columns 81-132 are monochrome, as is new material in the other columns. Switching back and forth between the Terminal and Command screens in this situation can cause further confusion. Basically, all bets are off because Windows itself becomes extremely unstable when an "odd-sized" console window is in use.

If and when the Windows bug is fixed, you can enable screen attributes in screens of all sizes by issuing the hidden command:

  SET TERM ATTR-BUG OFF

Do not do this before the Windows 95 bug is fixed; it will result in a General Protection Fault and potential loss of data or damage to your system.

Once you have installed the Windows 95 patch or new Windows 95 version (if any) that corrects this problem, you can put the above command in your K95.INI file and then you can enjoy full-colored and -highlighted screens of (hopefully) any dimensions. NOTE: There was no fix for this problem in the first Microsoft Service Pack, nor in Windows 95 OEM SR2 (Service Release 2).

REMEMBER: This is a Windows 95 bug, not a Kermit bug. You can use any screen dimensions you like in Windows NT, up to 162 columns and 101 rows.

3. Microsoft Telephony (TAPI) - Category K.

This is fixed in version 1.1.12.

(NOTE: Users of PCMCIA modems, also see Item 79).

Windows 95 and NT 4.0 only. The interface between Kermit 95 and Microsoft Telephony does not yet work. It probably can not be made to work until the conversion of K95 to full-GUI is complete. In the meantime, you can use your COM devices (COM1, COM2, etc) directly, along with Kermit 95's own built-in modem support. This has several consequences:

  1. The configurations you perform on your modem in the Windows Control Panel will have no effect on Kermit 95. Of course, you should still set up your modem in the Control panel for other applications that use it.

  2. Your communication device is set to DEFAULT, rather than a TAPI modem name. DEFAULT means that Kermit 95 will use the device (COM1, COM1, COM3, or COM4) that you specified in SETUP.

  3. The information on the Location and Codes page under the Options menu -- your country code, area code, long-distance dialing prefix, etc -- comes from answers you gave to these questions in SETUP, since Kermit 95 is not presently able to obtain this information automatically from Windows.

  4. If you change locations -- e.g. move to a different city, or take your laptop on a trip -- you will have to make the appropriate changes in the Locations and Codes page.

  5. If you have a type of modem that is not directly supported by Kermit, you'll either have to use one of the built-in types that is close enough to work, or else construct a "user defined" type as explained in "Using C-Kermit", second edition.

  6. To dial out on a serial device that is owned by TAPI (e.g. that is usually waiting for a call to come in), you have to shut down the TAPI application (e.g. your fax reader).

To change your communication device and modem, find the DEFAULT Template (the entries in the Dialer are listed alphabetically), click on it once with the mouse to highlight it, then click on the Edit button. This brings up the Default notebook. Open it to the Communications page and select or add the desired COM port device name in the "Line:" entry in the upper left. You can also change the modem selection in the Modem Preferences Type box. Also be sure to make any other changes or settings you need on this page.

In addition, the notebook for each entry has its own Communications page. So that you only have to set up your communications device in one place, each of these pages should have "DEFAULT" (uppercase, without the quotes) in the Line box, which means that the information about the communications device should comes from the DEFAULT Template.

However, you can have special settings, and even different communications devices and modems, for each connection if you want to. In that case, just choose the desired values on the Communications page for any connection that is not use the defaults.

6. Keyboard Scan Codes, Caps Lock, and Dead Keys (M)

Windows 95 (not NT) returns the shifted version of non-alphabetic characters when Caps Lock is on; for example, if you press the "2" key on a USA keyboard with Caps Lock on, you get "@" instead of "2". In other words, Caps Lock behaves like Shift Lock. This is a Window 95 bug. The same K95 code executing under Windows NT returns the correct values.

Resolution: Fixed in version 1.1.5, in which a new code was added to bypass the defective Microsoft Windows 95 console agent interface to the keyboard driver.

10. Blotchy Dialer Fields (Z)

In Windows 95, but not NT, buttons and checkboxes on the Dialer notebook pages might have the wrong background color, resulting in a blotchy appearance, most notably on the Terminal page. This (purely cosmetic) problem should be corrected when the next release of our GUI development tool arrives. The problem occurs with the default Windows color scheme, and apparently does not occur when certain other color schemes are used.

Also, due to another bug in our GUI development system, it seems that if you use the Dialer for a long period of time to make lots of changes to the database, some of the graphic elements begin to deteriorate; for example, the little arrows on scroll boxes turn into 6's. Workaround: Exit from the Dialer and restart it.

RESOLUTION: Fixed in version 1.1.5 by a new release of the GUI development system.

13. Miscellaneous Dialer Peculiarities

16. K-95 Dialer Vertical Scrolling (Z,M)

Problem
There is a problem with the down-arrow in the vertical scroll bar of the main Dialer window, as well as in various other vertical scroll boxes. If you put the mouse cursor on the down-arrow button and hold down the mouse button, strange effects will ensue. Typically, the window will scroll back up when you let go of the mouse button. Sometimes the down-arrow mysteriously turns into an up-arrow, and sometimes it becomes enlarged.

Diagnosis
A combination of a Windows 95 bug, in which messages posted to the event queue can be lost without notification to the poster, and our GUI development system, whose use increases the number of messages posted to the event queue.

Workaround
Move the mouse off the down-arrow and click it in some other area. Avoid the problem by using a different method of scrolling down, such as the down-arrow key, or clicking in the vertical scroll bar above the down-arrow button.

Cure
Fixed in version 1.1.2 by an updated version of our GUI development system.

17. ZMODEM Downloads (K)

Problem
ZMODEM downloads fail when K95's FILE COLLISION setting is BACKUP or RENAME.

Workaround
Prior to initiating a ZMODEM download, choose SET FILE COLLISION OVERWRITE.

Cure
This is fixed in version 1.1.1.

18. ZMODEM and TELNET (K)

Problem
ZMODEM transfers do not work on certain TELNET connections.

Cure
This is fixed in version 1.1.1.

19. Alphabetization of Dialer Entries (K)

Problem
Alphabetization of Dialer entries is case sensitive.

Cure
This is fixed in version 1.1.1.

20. K-95 Sometimes Thinks a Connection is Open When It Starts Up (K)

Problem
Sometimes, when launching a connection from the Dialer, K95 says something like "A connection is open on COM1. OK to Close?" and waits for a reply, even though no connection is open.

Diagnosis
Your K95CUSTOM.INI file, originally generated by the SETUP procedure, has a SET PORT and SET SPEED command in it for the port that you chose, if any, in the setup dialog, so that K95 knows the port and speed to use in case you start it directly, rather than from the Dialer. But if the modem is presenting the carrier signal, K95 will issue this message.

Workaround
Add "set exit warning off" to your K95CUSTOM.INI file, before the SET PORT command. Unfortunately, this means that you won't get warnings later on, when you might need them.

Cure
Fixed in 1.1.1 by the addition of a new command:

  IF STARTED-FROM-DIALER

This is used in the K95CUSTOM.INI file to skip over the SETUP-generated commands when K95.EXE is started from the Dialer, and therefore to execute them only when K95 is not started from the Dialer. NOTE: The patch procedure will not change your K95CUSTOM.INI file, so if you have this problem, you'll need to make the change yourself:

  1. Add:

      IF STARTED-FROM-DIALER GOTO MYPREFERENCES
    

    as the first command.

  2. Add a label:

      :MYPREFERENCES
    

    after all the SET MODEM, SET PORT, SET SPEED, and SET DIAL commands that were generated by SETUP.

  3. Put all your own customization commands after the MYPREFERENCES label.

21. Download Directory Doesn't Work (K)

Symptom
Specification of the Download Directory in the General page of a Dialer entry seems to have no effect.

Diagnosis
Bug

Workaround
Use the "set file download-directory" command in the Command screen.

Cure
Fixed in version 1.1.1.

22. SET MODEM commands in K95CUSTOM.INI have no effect (K)

Symptom
Modem customization commands added to K95CUSTOM.INI seem to have no effect when launching a connection from the Dialer, even though they do work correctly when when K95.EXE is started without the Dialer.

Diagnosis
The Dialer generates a SET MODEM TYPE command that is executed by K95.EXE after the K95CUSTOM.INI file is executed. The SET MODEM TYPE command reinitializes all of the SET MODEM modem parameters from an internal table, thus overriding the customizations you made in the INI file.

Workaround
Bypass the Dialer if you need to use customized modem parameters or a user-defined modem type.

Cure
Fixed in version 1.1.1.

Also see item 20. Be sure you have modified your K95CUSTOM.INI file as indicated there, because it can't be done by the patch procedure. Then add your modem-related commands after the :MYPREFERENCES label. Example (courtesy Jim Jacobus):

  :MYPREFERENCES
  ; (Fill in your other customization commands here...)
  ; The following "set modem" commands override the defaults put in by
  ; the dialer. These are called before dialer. However, the "set modem type"
  ; prevents these from being overridden as long as the type matches exactly.
  set modem type microcom-at-mode
  set modem command init-string atQ0X4F0&S0&C1%C3&D2\\K5\{13}
  set modem command error-correction on at\\N3\{13}
  set modem command hardware-flow at\\G0\{13}
  set modem command software-flow at\\G1\{13}

23. Kermit 95 sometimes can't find its script or key mapping files (K)

Symptom
When a TAKE command, or SET DIAL DIRECTORY, or SET NETWORK directory command is given to K95.EXE, specifying a file without including the full path, sometimes K95.EXE can't find the file.

Diagnosis
K95.EXE 1.1 tries to open the file with exactly the name that was given. If that fails, and if the filename did not include a full path, it looks in an alternate location, depending on the command: the TAKE command looks in the SCRIPTS subdirectory of the Kermit 95 directory; the SET DIAL DIRECTORY and SET NETWORK DIRECTORY commands look in the PHONES subdirectory. However, since key mapping files are kept in the KEYMAPS subdirectory, the TAKE command can't find them if a full pathname is not given.

Workaround
Specify a full pathname.

Cure
The TAKE command has been modified in version 1.1.1 to use the following method to find its file:

  1. Use the name as given.
  2. If that fails, look in the Kermit 95 directory.
  3. If that fails, look in the SCRIPTS subdirectory.
  4. If that fails, look in the KEYMAPS subdirectory.

24. The Dial Prefix also becomes the Dial Suffix (K)

Symptom
When a Dial Prefix is set in the Dialer's Options -> Dialing -> Location and Codes page, e.g. to disable call waiting, it is mistakenly taken to be both the prefix and suffix. Also, any Dial Suffix specified in the Dialer is ignored.

Diagnosis
Bug.

Workaround
Put a SET DIAL PREFIX command in your K95CUSTOM.INI and leave the Dial Prefix blank in the Dialer.

Cure
Fixed in 1.1.1.

25. Dialer complains unnecessarily about range of certain numbers (K)

Symptom
Certain numbers, like maximum redials, were restricted by the Dialer to insufficient ranges.

Diagnosis
Bug

Workaround
Enter the big numbers anyway.

Cure
Fixed in 1.1.1.

26. Kermit BBS entry in Dialer has wrong backspace key setting (K)

Symptom
Backspace key, used when connected to the Kermit BBS, does not work as expected.

Diagnosis
Bug

Workaround
Change the Backspace key setting in the Kermit BBS notebook entry to make it send Backspace rather than Delete.

Cure
Fixed in 1.1.1.

28. ZMODEM Recovery (K)

Problem
ZMODEM downloads in recovery mode fail if Kermit 95's FILE COLLISION is set to UPDATE.

Diagnosis
An fundamental difference between Kermit and ZMODEM protocols.

Workaround
Change Kermit 95's FILE COLLISION setting to BACKUP or OVERWRITE, or use Kermit protocol for recovery instead of ZMODEM protocol.

Cure
Fixed in 1.1.5.

29. ANSWER command crashed Kermit 95 (K)

Fixed in 1.1.2.

30. Kermit always turned off autoanswer in the modem (K)

Prior to 1.1.2, Kermit's DIAL command would disable autoanswer. But there is no reason why this must be done, so beginning with version 1.1.2, the DIAL command never disables autoanswer.

31. Compose Key problems (K)

The Compose key (Alt-C, verb \Kcompose) was inoperable in 1.1 and 1.1.1 due to a timing problem. This was fixed in 1.1.2. OE/oe was also added to the compose-key table to send the DEC MCS codes for upper- and lowercase OE ligature. (Note, however that the OE ligature still can't be displayed correctly in most cases, since it is lacking from code pages 437 and 850.)

32. SET TERMINAL CHARACTER-SET TRANSPARENT did not show all characters (K)

Problem
When Kermit 95's TERMINAL CHARACTER-SET was TRANSPARENT and its emulation was VT-100 or higher (but not ANSI), it erroneously treated characters 0x80 - 0x9F as C1 control characters instead of graphic characters.

Cure
Fixed in 1.1.2.

33. Various other VT emulation problems (K)

Fixed in version 1.1.2:

NOTE: With these fixes, Kermit 95 obtains a perfect VTTEST score with two exceptions: (1) the host can't control the keyboard autorepeat feature; (2) in Windows 95 only (not Windows NT), due to a bug in the Windows 95 console driver, video attributes of 132-column screens are incorrect.

34. Printer problems (K)

Fixed in version 1.1.2:

35. \v(keyboard) variable improperly set (K)

Fixed in 1.1.2.

36. XMODEM file transfer problems (K)

XMODEM uploads would fail if the packet length were not explicitly set to 128 after choosing XMODEM protocol. Fixed in 1.1.2.

XMODEM downloads would crash Kermit 95 under certain conditions. Fixed in 1.1.2.

37. MOVE and MMOVE command did not work right with XYZMODEM (K)

MOVE and MMOVE are like SEND and MSEND, except they are supposed to delete the (each) source file after it is transferred successfully. When Kermit 95's protocol was set to XMODEM, YMODEM, or ZMODEM, Kermit 95 would fail to delete the source files. Fixed in 1.1.2.

38. Ctrl-C interruption nonfunctional in certain cases (K)

Fixed in 1.1.2:

39. File transfer recovery after Ctrl-C (K)

A file transfer that was interrupted with Ctrl-C could not be recovered (with Kermit or ZMODEM protocol) in the same session because its handle was not released, thus preventing the same file from being accessed a second time. Fixed in 1.1.2.

40. SET FILE DOWNLOAD-DIRECTORY didn't work with server mode (K)

Fixed in 1.1.2 -- now the download directory is used when Kermit 95 receives files while in server mode, and also when it is the client and is given a GET command. Previously the download directory was used only with the RECEIVE command.

41. Filenames could not be parsed from variables (K)

In any command where a filename was to be parsed, such as SEND, TAKE, etc, a variable (such as \%f) could not be used in place of the filename. Fixed in 1.1.2.

42. Choosing terminal character-set in the Dialer (K)

On the Dialer's terminal page for any given connection, if you chose a terminal character set whose name contained a dash, it would fail to take effect. Fixed in 1.1.2.

43. The EMACS.INI file was not properly patched in version 1.1.1 (K)

Fixed in 1.1.2.

44. The 1.1.1 patch did not allow for READ.ME files in multiple directories (K)

Fixed in 1.1.2.

45. Xon/Xoff flow control doesn't work in Windows 95 (M)

In Windows 95, but not Windows NT, the serial communications driver never sends an XON after once having sent an XOFF. This will cause flow-control deadlocks. Workarounds: (a) Enter the terminal screen and type Ctrl-Q to clear the deadlock; (b) Don't use Xon/Xoff flow control. This problem will disappear when Microsoft fixes the driver. Fixed in 1.1.11.

48. The Dialer Login page does not show LOGIN.SCR in the text box (K)

Fixed in 1.1.2. And in 1.1.3 the name is LOGIN.KSC.

50. SEND and RECEIVE as-names ignored by XYZMODEM (K)

When Kermit 95's protocol is set to XMODEM, YMODEM, or ZMODEM, the "as-name" given in a SEND or RECEIVE is ignored (except in XMODEM receives, where it is not only not ignored, it is required). Currently, this is a limitation of the software. (Fixed in 1.1.5)

52. Title bar not properly set from "kermit -j host" (K)

Fixed in 1.1.2.

54. Download directory only works for Kermit transfers (K).

Bug. Fixed in 1.1.3. Now it should work for XYZMODEM transfers too.

55. Crash when pasting voluminous material into terminal window (K).

When pasting a large amount of text, e.g. more than 100 lines, into the terminal screen on a serial connection, Kermit 95 could crash. Bug. Fixed in 1.1.3.

56. Problem with SET FILE DOWNLOAD-DIRECTORY (K).

Problem
Giving the SET FILE DOWNLOAD-DIRECTORY command without specifying a directory name is supposed to make incoming files go to the current directory (in the absence of any other instructions), but it didn't.

Diagnosis
Bug.

Workaround
Use SET FILE DOWNLOAD-DIRECTORY . ("." is means "current directory").

Cure
Fixed in 1.1.3.

57. Terminal reset kills K95 if TERM CHARACTER-SET is TRANSPARENT (K).

Bug. Fixed in 1.1.3.

58. Cursor-type selection made in Dialer not saved (K).

Bug. Fixed in 1.1.3.

59. PBX-related entries in the Dialer's Dialing Location page not saved (K).

Bug. Fixed in 1.1.3.

60. No choice for location of Kermit 95's temporary files (K).

Symptom
Temporary files are always created in the TMP subdirectory of the Kermit 95 directory. This causes trouble when Kermit 95 is being run from a central server (at legitimately bulk-licensed sites).

Cure
Beginning with version 1.1.3, Kermit 95 can be configured to create temporary files in any desired location, as specified by the user's K95TMP, TEMP, or TMP environment variables (if any, in that order).

62. EMACS.INI Alt-x = Meta-x doesn't work (K).

Diagnosis
Typo in EMACS.INI file. The SET KEY command for Alt-y used the Alt-x's scan code.

Workaround
Change "set key \2168 \27y" to "set key \2169 \27y" in EMACS.INI.

Cure
Fixed in 1.1.3.

63. INPUT could not be canceled from the keyboard (K).

The user should be able to cancel an INPUT command by "pressing any key", but this did not work. INPUTs could only be canceled with Ctrl-C, which would also cancel the entire script. Fixed in 1.1.3 -- now pressing any key (such as space bar) will cause the INPUT to fail immediately, but will not terminate execution of the script. Also see next item.

64. SET ALARM / IF ALARM doesn't always work (K).

Bug. Fixed in 1.1.3. These commands were added for compatibility with MS-DOS Kermit, where they are primarily used as a way to tell whether an INPUT command failed because it timed out or because the user interrupted it from the keyboard. K95 1.1.3 now has a better way to determine why an INPUT failed: the new \v(instatus) variable. See DOCS\UPDATES.TXT or "Using C-Kermit", second edition, for details.

65. \v(cpu) always says "unknown".

Fixed in 1.1.3; \v(cpu) now returns your actual CPU type, such as "intel-pentium" or "ppc-604".

66. Invalid escape sequence ESC [ ? 6/7 i caused problems (K).

Bug. There is no such escape sequence for real VT terminals. The code that handled this escape sequence has been removed in 1.1.3.

67. Problems with transparent printing and accented letters (K).

Transparent printing is supposed to route incoming characters straight to the printer without any filtering or modification. Kermit 95, however, was performing character-set translation on incoming text before sending it to the printer. Fixed in 1.1.3. Character-set translation is still done for autoprinting (copy screen lines to printer), as it should be.

68. Microcom Deskporte modem configuration wrong (K).

Bug. Improper modem commands were issued for flow control and certain other parameters on the "microcom-at" modem type. Fixed in 1.1.3.

69. Cursor-type selection not saved by Dialer (K).

Bug. Fixed in 1.1.3.

70. PBX material from Locations & Codes Dialer page not saved (K)

Bug. Fixed in 1.1.3.

71. SET TERM CHAR TRANSPARENT, then terminal reset, causes crash (K).

Bug. Fixed in 1.1.3.

72. Spurious "Connection might still be active on COM1..." messages (K)

This type of warning is issued when you try to exit from Kermit 95 or change communication devices, and Kermit 95 thinks you still have a connection open. If your current communication device is COM1 (or COM2, etc), and the carrier signal is NOT detected on that device, then the message should not be issued. An improper test for carrier was being done. Fixed in 1.1.3.

73. SET PORT gives spurious error message (K).

SET PORT, when given without a port name, closes the current connection but does not open a new one. This is necessary sometimes, as when you are using Kermit 95 to execute a script locally, without communicating, and you don't want to needlessly occupy a port, which would prevent other processes from getting access to it. This works, but Kermit 95 erroneously says "Sorry, access to device denied: 0" and sets FAILURE for the command. The error message (and FAILURE condition) were removed in edit 1.1.3. Note that when Kermit 95 has no communication device open, SHOW COMMUNICATIONS reports the port as "0".

74. DIAL timeouts sometimes caused an "access violation" crash (K).

This is a subtle timing problem, reported by only one user. A technical explanation is beyond the scope of this document, but an effective workaround was found: change the timing.

When Kermit 95 dials, it takes your DIAL TIMEOUT value and subtracts a certain number from it, and gives the result to the modem, e.g. via ATS7=xxx. This way the modem should time out before Kermit does, and return (e.g.) NO CARRIER connection is not made. This allows Kermit to handle the situation "normally" and in some cases to actually determine the failure reason from the modem.

However, should the modem fail to respond within Kermit's timeout interval (which is normally 10 seconds longer), then Kermit has to break out of its dialing routines, kill some threads, reset some signal handlers, etc.

It turns out that under certain very unusual conditions, these two actions can collide or conflict in some way that can cause Kermit to crash. Until a solid cure is found, the following workaround is available as of version 1.1.3:

  SET DIAL TIMEOUT seconds [ differential ]

If you ever experience an access violation as a result of a DIAL command timing out, specify a different differential. Normally it's 10. Try 5 or 15 or some other number. You can even use a negative number here to force Kermit to time out BEFORE the modem times out, which seems to be a solid cure for this problem, except that the desired status reports from the modem are never seen.

75. Modem list in SETUP program PPI / Multitech mixup (K).

In the Kermit 95 SETUP program, in the section where you choose a modem type, the "Practical Peripherals" choice was erroneously listed twice. The first instance (at the bottom of the first column) really should have been "Multitech". Fixed in 1.1.3.

76. Incorrect default assignment for Ctrl-Space key combination (K).

On a real VT terminal, Ctrl-Space sends NUL (ASCII 0). In Kermit 95, it was sending Space. Fixed in 1.1.3. Now Ctrl-Space, Ctrl-2, and Ctrl-@ all have a default definition of \Knull (ASCII 0).

77. "k95 filename" requires fully specified filename (K)

Restriction. Although TAKE, SET DIAL DIRECTORY, and certain other commands might search through an internally defined list of directories for their files, this is not presently done for filenames given on the command line.

Fixed in version 1.1.8.

78. XYZMODEM Transfers didn't work over RLOGIN connections (K).

Bug. Fixed in 1.1.3.

84. Some special keys on national keyboards don't work (M).

On systems with national keyboards and drivers, some features might not work as expected in Kermit 95 under Windows 95, even though they work perfectly in Kermit 95 under Windows NT. For example, dead-key combinations such as "^" followed by "A" to make A-circumflex with the German keyboard and driver. This seems at first to be a Kermit problem, because it does not show up on the same system at the DOS prompt or using DOS applications.

Diagnosis
Unlike COMMAND.COM and the other DOS applications, Kermit 95 reads scan codes, not "bare characters", from the console (keyboard driver), and Windows 95 console support is full of bugs. Unfortunately, this is a problem that only Microsoft can fix. It did not elect to fix this or any other console-related bug in its first service pack.

Workaround
Use Kermit's Compose key. For example, use Alt-c, then ^, then A to enter A-circumflex.

Cure
We will escape from all of these console-mode bugs when we convert K95 to a full GUI program. We are working on that now.

Resolution
Version 1.1.5 bypasses the buggy Windows 95 drivers.

85. VT220/320 Erase Character (ECH) bug (K).

Symptom: Misformatted screens in VT220/320 applications that use the ECH sequence: CSI n X, meaning: erase n characters starting at current position, effectively turning them into spaces. Bug in Kermit 95 1.1.2 and earlier. Fixed in 1.1.3.

89. XYZMODEM and Kermit file transfer screens and stats are inconsistent (K).

Restriction
the file transfer display code and statistics displays of the XYZMODEM protocol code are not yet hooked in with those of the Kermit protocol code. This will be remedied in a future release.

Resolution
Remedy is new code in 1.1.5.

91. Messed up colors on initial Terminal screen (K).

SYMPTOM: The selected terminal colors (if they are not the default blue on light gray) are not effective on the initial Terminal screen. Instead, the initial terminal screen has the default background color rather than the selected one. All new material has the right coloration, and as soon as your host service or application sends a "clear screen" escape sequence, or the first screen's worth of material scrolls away, the problem resolves itself, so only the first screen looks funny. Diagnosis: Bug. Fixed in 1.1.4.

92. Colors behave differently than in MS-DOS Kermit (K)

Symptom: Certain host applications were coded to take advantage of MS-DOS Kermit's detailed strategies for handling colors. These applications might not work as expected with Kermit 95. Cure: a new command, SET MSKERMIT COLOR, was added in 1.1.4 to select between the two styles of color handling. (NOTE: THIS COMMAND REMOVED in 1.1.5 and replaced with several new commands.) See DOCS\UPDATES.TXT for details.

93. Printing to PostScript printers doesn't work (K)

When Kermit 95 sends transparent-print or autoprint material to the printer, the Windows printer driver is bypassed entirely, and plain text is sent to the printer. This works OK with printers that can print plain text, but it does not work, for example, with PostScript printers. Version 1.1.4 includes a new command to let printer output be redirected through any desired input/ output filter, and such a filter, TEXTPS.EXE, is supplied for converting plain text to PostScript.

94. Redialing on a SET HOST / SET MODEM / DIAL connection didn't work (K).

When dialing out through a modem on a "reverse terminal server", neither REDIAL nor DIALing again would work unless another SET HOST command was given. Fixed in 1.1.4.

95. Command-file line numbers not reset (K).

The command-file line displayed by SET TAKE ECHO ON were not always reset when starting a new command file. Fixed in 1.1.4.

96. ASSIGN/DEFINE failed to fail if definition too long (K).

IF FAIL or IF SUCCESS tests were ineffective after DEFINE or ASSIGN commands, which always succeeded, even if the definition was too long for Kermit's internal buffer. In 1.1.4 these commands properly fail if the definition is too long.

97. Dialer temporary files called .SCR instead of .KSC (K).

The temporary files created by the Dialer to launch to launch K95.EXE on a certain connection were given the extension .SCR (script), which conflicts with Windows 95's use of .SCR to denote a screensaver. Beginning in version 1.1.4 they are created with extension .KSC (Kermit script).

Thus, if you save one of these files (using SET STARTUP-FILE KEEP in K95.INI), and if you create an association between .KSC files and K95.EXE, you can launch K95.EXE on a particular connection simply by clicking on the KSC file. You can create the association in Explorer -> View -> Options -> FileTypes. Call it "Kermit script" and Associate Open with 'c:\k95\k95.exe -C "take %1"'.

98. The MSEND command did not work with ZMODEM (K).

The MSEND command, which sends a list of files in a single operation, failed to process the second and subsequent file specifications in the list if the protocol was not Kermit. This is fixed in version 1.1.4 so that now MSEND can be used with YMODEM or ZMODEM protocol. It can't be used with XMODEM because XMODEM, by definition, can transfer only one file at a time.

99. Backspace key didn't work with "set term char finnish" (K)

Bug. Fixed in 1.1.4.

105. VT emulation DCS/OSC/APC/etc bugs (K)

VT220/320 string-bearing escape sequences, of the sort that end with String Terminator (ST), were parsed erroneously if the data field happened to contain control characters, e.g. inserted by VMS terminal line wrapping. The control characters should be sent to the screen and otherwise ignored. If a control character was inserted between the ESC and \ of a 7-bit ST, the emulator would hang because it did not recognize the ST. This affected transparent print also, even though the emulator is supposed to ignore all escape sequences up to CSI 4 i (but it still has to parse them). Fixed in 1.1.5.

106. Terminal color bugs in version 1.1.4 (K)

Even after the color-related fixes in 1.1.4, there were still problems when reverse-video cells (or screens) had material erased from them by host escape sequences; the cells would be cleared using the foreground rather than the background attribute. Fixed in 1.1.5.

108. SET TERMINAL CHARACTER-SET PORTUGUESE didn't work (K)

Bug. Fixed in 1.1.5.

109. VT emulation and SET TERMINAL CHARACTER-SET FINNISH (etc) bug (K)

When the VT emulator was in DECNRCM (7-bit ISO 646 National Replacement Character-set Mode), and the NRC set was designated via any of the standard DEC / ISO-2022 escape sequences, the set was assigned only to the single area, G0..G3, indicated by the escape sequence, and not to all four of G0..G3, as required by DEC terminal specs.

110. Autodownload versus SET TERM CHARACTER-SET (K)

Autodownload did not work if the terminal character-set was any of the 7-bit ISO 646 national versions (Canadian-French, etc). Fixed in 1.1.5.

112. Dialer radio buttons not lined up (Z)

Fixed in 1.1.5 by a new release of our GUI application development system.

113. Multiple sessions to same Dialer entry don't work (K)

The Dialer only allows one active session per entry. This is simply so that it will know which process should receive the Hangup signal when you click the Dialer's Hangup button. Workaround: If you want to start multiple sessions to the same host from the Dialer, use the Clone button to create multiple entries that are identical, but with different names, like "myhost1", "myhost2", "myhost3", etc. Fixed in version 1.1.8.

114. Can't select a Dialer entry from the keyboard (M/K/Z)

Keyboard shortcuts for Dialer buttons and notebook tabs were added in version 1.1.5.

115. Dialer crash after editing an entry entry name (K)

The Dialer would crash if you edited an entry name and then selected the entry. Fixed in 1.1.5.

116. Dialer PBX configuration problems (K)

All of the PBX strings were mushed together into a single string. Fixed in 1.1.5.

118. No way to make LAT connections from the Dialer (K)

Fixed in 1.1.5.

120. Unreasonable delays in SET HOST / TELNET to numeric IP address (K)

Microsoft gethostbyname() calls DNS to resolve the hostname even if it is already a numeric IP address. If DNS is unavailable or not working right (which is probably why you used a numeric address in the first place), this causes unacceptable delays, or fails outright. Fixed in 1.1.5 by not calling gethostbyname() if the address was already numeric.

123. Errors in built-in modem support (K)

Various minor errors in Practical Peripherals, Multitech, and AT&T Paradyne modem support (mostly due to incompatibilities in new models) fixed in 1.1.5.

124. SEND did not work with filename completion (K)

If you used filename completion in a SEND command, the SEND command tended to fail. Diagnosis: Bug. Fixed in 1.1.5.

125. OUTPUT could not send backslash characters (K)

Fixed in 1.1.5. Backslashes can now be used in the normal in OUTPUT commands, e.g. "output \\" sends one backslash.

126. OUTPUT could not send long strings (K)

There was a bug preventing transmission of more strings longer than 80 characters, fixed in 1.1.5.

127. Extraneous material in session log during INPUT (K)

If a session log was active during an INPUT command, all incoming characters were recorded twice in the log, and character sequences could sometimes appear out of out of order. Fixed in 1.1.5.

128. INPUT buffer too short (K)

The fixed 256-byte size of the INPUT buffer was too small for some scripting applications. In version 1.1.5, the size can be selected with the new SET INPUT BUFFER-LENGTH command.

129. SEND foo\%a did not work (K)

Kermit 95 1.1.4 failed to correctly evaluate a filename if it was composed of a mixture of literal characters and variable names. Fixed in 1.1.5.

130. No way to print on A4 paper using textps (K)

Fixed in 1.1.5. See DOCS\TEXTPS.TXT.

131. Invalid Page Fault after using command recall a lot (K)

Bug. Fixed in 1.1.5.

135. VT100 reverse scrolling broken (K)

Bug introduced in version 1.1.5. Workaround: set your terminal type to VT102, VT220, or VT320. Fixed in 1.1.6.

136. SET KEY commands became slow (K)

The multilevel keyboard maps that were introduced in version 1.1.5 resulted in SET KEY commands taking longer than before. Thus files that contained many SET KEY commands could take a long time to execute, sometimes 30 to 60 seconds. SET KEY has been accelerated in version 1.1.6.

138. SET MSKERMIT KEYCODES ON did not work with some gray keys (K)

Bug, fixed in version 1.1.6.

139. Array elements could not be used for file names (K)

Constructions such as "open read \&@[5]" would fail due to a bug introduced in the fix to bug 129, in version 1.1.5. The new bug is fixed in 1.1.6.

140. Keyboard modes can't be modified (K)

The layout of keyboard modes like EMACS, Hebrew, and Russian can not be modified at all, period. Also, the layout of the terminal-dependent keymaps, such as VT220, Wyse, etc, can not be modified without disabling automatic mode switching for the affected keys. This is a restriction of the new multilevel key mapping feature of version 1.1.5. You can always get around it with SET KEY (or files or macros full of SET KEY commands). A more flexible approach is under consideration for future releases. This is fixed by the addition of the SET TERMINAL KEY command in version 1.1.8.

142. SCOANSI and AT386 emulation vs Code Page 437 (K)

The SCOANSI, AT386, and Avatar emulations, which were added in version 1.1.5, as well as the original ANSI (ANSI-BBS) emulation, always issued a complaint if your code page was not CP437. In version 1.1.6, the complaint is not issued. Whatever your code page is -- 850, 852, 862, 866 -- it is used as the local end of your terminal character-set. Every code page includes a full complement of single-line and double-line box characters, as well as solid and shaded boxes of various shapes. The double-line-to-single-line characters that are found in CP437 are not included in CP850 or CP852, but hopefully most applications avoid these characters.

143. SCOANSI and AT386 emulation vs CSI 10/11/12 m (K)

The SCOANSI and AT386 terminal types did not properly switch among G1-G3 in response to CSI 10/11/12 m escape sequences. Bug, fixed in 1.1.6.

144. Bad characters in Registration name (K)

The GUI registration program that runs during SETUP stores your name and company name in Latin-1 (or Latin-2, etc, depending on your locale). If it contains accented or non-Roman letters, they appear correctly in GUI programs (such as the Dialer) but they appear incorrectly in K95.EXE, because the console window uses a PC code page and not "Windows Latin" character sets. This is problem is fixed in K95.EXE 1.1.6 by translating the characters to the current code page.

145. SET MODEM commands in K95CUSTOM.INI are ignored by Dialer (K)

146. Completion does not work with directory names (K)

You can't use ESC or TAB in the command parser to complete a directory name, as you can to complete a filename or a keyword. Fixed in 1.1.12.

149. DIRECTORY command gives spurious error message (K)

DIRECTORY xxx, where "xxx" is the name of a nonexistent file or directory, gave a spurious "invalid command" message, instead of a "no files match" message. Also, "directory xyz" did not work in K95 as it does in DOS. Both fixed in 1.1.6.

150. XYZMODEM transfer statistics are off (K)

Bug, fixed in version 1.1.6. Also, incorrect placement of some messages on the file transfer display, also fixed in 1.1.6.

151. SET TERMINAL ESCAPE-CHARACTER DISABLED didn't work (K)

Bug, fixed in version 1.1.6. Also, the command did not wait for confirmation; also fixed in 1.1.6.

153. Cursor disappears after Ctrl-C interruption of file transfer (K)

Bug, fixed in 1.1.6.

154. \v(sysid) was garbage (K)

Bug, fixed in version 1.1.6.

155. SHOW KEY ALL did not show keys that had string definitions (K)

Bug, fixed in version 1.1.6.

156. Dialer File Transfer page items spuriously grayed out (K)

File Transfer Settings page grayed out fields that are now legal choices for XYZMODEM protocol. Fixed in version 1.1.6.

157. SET TERM COLOR ERASE CURRENT-COLOR didn't work (K)

Bug, fixed in version 1.1.6.

159. XYZMODEM file transfers gave incorrect status codes (K)

XYZMODEM file transfer commands (SEND, RECEIVE, etc) always returned the same status code, regardless of whether the transfer succeeded or failed. Fixed in 1.1.6. Now IF FAIL / IF SUCCESS works with these protocols too.

160. XYZMODEM transfers made no transaction log entries (K)

Beginning in version 1.1.6, they do.

161. TELNET negotiations were sometimes skipped (K)

On new connections that are opened after the first connection is closed. Bug. Fixed in 1.1.6.

162. Data loss during file transfer (K)

Data could be lost during uploads on high-speed serial connections. This is partially due to a bug that first appeared in version 1.1.5, fixed in 1.1.6, and partially because the default flow control for serial connections has always been whatever the port device driver had been set to. In 1.1.6, the default flow control has been changed to AUTOMATIC, which picks the most appropriate and effective type of flow control for each connection, automatically.

163. K95 could not send a file that was already open (K)

Prior to version 1.1.6, Kermit 95 could not send (or otherwise read) a file that was open, either by another process or even by itself. Now files that are to be accessed read-only are opened in shared mode.

164. Dynamic packet timeout values were sometimes too high (K)

The algorithm used for calculating timeouts during Kermit file transfer, introduced in version 1.1.5, was too conservative. In version 1.1.6, the values should be more realistic. Also, now you can specify the minimum and maximum timeout values: SET SEND TIMEOUT DYNAMIC .

165. Character attributes not shown in Televideo emulation (K)

Bug. Fixed in 1.1.6.

167. TEXTPS.EXE was broken in version 1.1.5 (K)

No matter how it was invoked, it would only print its help message. Bug. Fixed in 1.1.6.

168. File transfer efficiency number is misleading (K)

The percent efficiency that is shown after a file transfer is, in general, meaningless on dialup connections, since Kermit only knows the interface speed, but not the actual connection speed. Therefore in 1.1.6, the efficiency is not shown except on direct serial connections, where the connection speed is known.

169. VT220/320 DCS string cancellation didn't work (K)

Bug, fixed in 1.1.7.

170. SCOANSI and AT386 emulation conflict with Dialer (K)

Because of a Windows 95 bug (Entry 2 in this file), "odd" screen sizes are written without attributes, such as colors. SCOANSI and AT386 emulation do not have a status line, therefore use 25 lines. But the Dialer would show 24 unless you changed it by hand, and 24 is an "odd" size, and so SCOANSI and AT386 screens would come out monochrome, and fractured in several other ways. Fixed in 1.1.7. The Dialer now adjusts the other parameters on the Terminal page appropriately for any emulation you select. Of course you can then readjust the parameters separately after that. Also, Kermit 95 now takes into account whether there is a status line when deciding whether the screen is an "odd" size.

171. Server GET fails if a SEND-LIST had previously been used (K)

Bug. Fixed in 1.1.7.

172. PUSH from Terminal screen to shell could not be returned from (K)

Bug. Fixed in 1.1.7.

173. K95DIAL window minimizes to desktop instead of task bar (Z)

A change in the latest release of our GUI development system. Worked around in 1.1.7.

175. Televideo and Wyse printing didn't work right (K)

Bug. Fixed in 1.1.7.

176. Wrong default character-set for VT terminals in Dialer (K)

It should have been Latin-1. Transparent is only for ANSI terminal types. Using Transparent with VT emulation results in badly fractured screens when using VMS applications that send C1 control characters. Fixed in 1.1.7 by having the Dialer automatically set Latin-1 when VT220, VT320, or WY370 terminal type is chosen.

178. The Dialer can seem to disappear (K)

Under some circumstances, bad screen coordinates or size information can be saved, and then they are used when the Dialer is next started. Workaround: Maximize the Dialer, change the View options, exit from the Dialer, start the Dialer again. Version 1.1.8 makes additional checks upon startup.

179. The "Chess" entry in the Dialer is wrong (K)

The IP address changed. The new one is ics.onenet.net:5000. Fixed in version 1.1.8.

181. Renaming downloaded files with XYZMODEM doesn't work (K)

The original file was always overwritten. Fixed in 1.1.8.

182. XYZMODEM downloads are somewhat slower than expected (K)

Bug, fixed in 1.1.8.

183. Scroll Lock doesn't work in version 1.1.7 (K)

When you press Scroll Lock, the screen and keyboard stay locked forever; pressing another key does not release it. Bug. Workaround: SET KEY \401 \Kignore. Fixed in 1.1.8.

184. No way to change the default key map for each terminal type (K)

Fixed by addition of SET TERMINAL KEY command in version 1.1.8.

185. CTRL2CAP instructions misleading (U)

CTRL2CAP.TXT says to add the "device=" statement to the [enhanced] or [386enh] section of WINDOWS\SYSTEM.INI. In fact, it should go in the [386enh] section.

186. LOG SESSION erroneously translates character sets (K)

LOG SESSION translates character sets and C1 control characters before writing them to the log. This prevents proper replay of the log. Bug. Fixed in 1.1.8.

187. VT102 insert character function doesn't work (K)

VT terminal ICH function is implemented for VT220 and 320, but not 102. Bug. Fixed in 1.1.8.

188. Spurious keyboard locks in VT220/320 emulation (K)

The VT emulator treats CSI ? ; 2 h as CSI 0 ; 2 h. This can result in a keyboard lock condition in at least one emulation. Bug. Workaround: hit Alt-R (\Kreset) to reset the emulator. Fixed in 1.1.8.

189. Improper handling of Alternate ROM in VT emulation (K)

VT emulator does not preperly handle handle sequences for DEC Alternate ROM 1 (ASCII) and Alternate ROM 2 (Dec Technical), resulting in unpredictable character-set selection. Fixed in 1.1.8.

190. Erroneous VT emulator Secondary and Tertiary DA Reports (K)

VT emulator Secondary and Tertiary DA Reports (DA2 and DA3) are treated as Primary DA. Bug. Fixed in 1.1.8.

191. Erroneous DECID reports in VT220/320 emulation (K)

DECID returns the wrong sequence when executed in a VT mode greater than VT102. Bug. Fixed in 1.1.8.

192. VT emulation Horizontal Position Absolute (HPA) ignored (K)

Fixed in 1.1.8.

193. Failure of K95 to start on certain Windows NT systems (K/C)

On NT systems, if the screen buffer had dimensions H x W > 8192, as when the user sets up a large scrolling virtual console window, Kermit 95 crashes when started. This is because K95 only supports an active screen of up to 8192 cells. Workaround: Don't create huge windows; use K95's built-in scrollback feature instead (even though it doesn't have scroll bars). NT users should not start K95 in a window larger than H x W = 8192, or with more than 100 lines, or more than 155 columns. Version 1.1.8 checks these conditions and handles them gracefully.

194. Simultaneous LAT sessions don't work (K)

There can be only one active LAT session at a time, even if you are running multiple copies of K95. Bug. Fixed in 1.1.8.

196. SHOW KEY does not properly display C0 and 8bit characters (K)

Fixed in 1.1.8.

197. "set command more-prompting" could not be parsed (K)

Fixed in 1.1.8.

198. No way to specify 0 or no timeout in INPUT (K)

There is no way to specify an unlimited or infinite timeout for INPUT or MINPUT. Fixed in 1.1.8: 0 = no timeout, -1 = infinite timeout.

199. INPUT ignores autodownload sequences (K)

INPUT and MINPUT are documented as running all sequences through the emulator. However, APC and autodownload sequences are ignored. Fixed in 1.1.8.

200. Problems entering commands that end with backslash (K)

Such as "echo My current directory is C:\K95\". Backslash, when used at the end of a command, is a little-known synonym for "-", the command continuation character. In 1.1.8, backslash was eliminated as a continuation character; only "-" can be used for continuation.

201. Spurious invisible Z command that does nothing (K)

Removed in 1.1.8.

202. Close box in K95 title bar doesn't work in Windows 95 (M)

The Close box [x] does not make the K95.EXE window go away without putting up a warning box first (Windows 95 only). This is a Yet Another Feature of Windows 95 in its treatment of Console windows. If you use the close box to shut down K95, and answer OK in the warning box, Windows terminates K95 immediately without passing a Close Application message to it, and thus K95 is completely unable to release any resources that it might have in its possession such as a TAPI modem handle. K95 can do nothing to either disable the close box or trap the event, so all we can tell you is: don't use it. Exit from K95 by giving it an EXIT command at its prompt, or by using the \Kquit verb (assigned to Alt-Q by default), or by using the SET EXIT ON-DISCONNECT option if you prefer that.

Worked around in 1.1.19, in which a way was found to disable the Close box.

205. Statusline OFF vs TELNET NAWS bug

If the statusline was disabled with SET TERM STATUSLINE OFF or via use of a terminal type that requires it be off (SCOANSI,AT386), then in a Telnet session to a host that supports NAWS, the size of the screen would be reduced by one line each time the terminal size was reported to the host. Fixed in 1.1.8.

206. Page faults in K95 version 1.1.8 (K)

The SET TERM CHARACTER-SET TRANSPARENT command results in page faults later on during program operation. Workaround: Use SET TERM REMOTE-CHARACTER-SET and SET TERM LOCAL-CHARACTER-SET instead. Fixed in 1.1.9.

207. Keyboard translations don't work in Windows NT in K95 1.1.8 (K)

Workaround: SET TERMINAL UNICODE OFF. Fixed in 1.1.9.

208. Printing did not work right in version 1.1.8 (K)

Transparent printing, print-screen, and print-line operations were printing the wrong data. Symptom: only the left half of the screen would be printed, perhaps with garbage characters inserted between each real character, and the right half of the screen would not be printed at all. An artifact of the Unicode conversion. Fixed in 1.1.9.

209. Dead-key and Alt-Gr broken in 1.1.8 (K)

Dead-key and Alt-Gr broken combinations stopped working again in version 1.1.8. Another artifact of the Unicode conversion. Fixed in 1.1.9.

210. APC during INPUT broken in 1.1.8 (K)

APC command handling and character set translation during the INPUT command were not working. Fixed in 1.1.9.

211. Redundant terminal-type change in 1.1.8 (K)

K95's terminal type is set (redundantly) the first time it is sent to the host in a Telnet terminal-type negotiation. No harm done. Fixed in 1.1.9.

212. CD to nonexistent directory can cause errors (K)

CD \xXXXXXX, where \xXXXXXX is the name of a directory that does not exist, and x is one of the backslash-code introduction letters (such as k), can produce unpredictable results. Workaround: Use forward slash (/) instead of backslash as the directory separator. Or use double backslashes. (Also see Bug 174.)

213. Problems with host-based WordPerfect (V)

Host-based WordPerfect (e.g. on AIX), when used in VT320 mode, was sending a "made up" escape sequence, ESC ) ?, to designate CP437 to G1 -- something obviously not supported by a real VT320, nor by ISO 2022 rules. However, since this worked with MS-DOS Kermit, we now allow in K95 too, as of K95 version 1.1.9.

214. Russian and Hebrew keyboard modes don't work

Bug. Fixed in 1.1.9.

218. VERSION command did not display copyright notice (K)

Fixed in 1.1.9.

219. Alt-: and Alt-; missing from EMACS mode (K)

Fixed in 1.1.9.

220. Dialer would not start if any database entries were corrupt (K)

Fixed in 1.1.9 -- Now, if the Dialer detects a corrupt entry, it gives you a choice of deleting the bad entry or leaving it in the database. If the entry is kept, it is ignored.

221. Russian and Hebrew keyboard mode conversions broken (K)

Bug, fixed in 1.1.9.

222. Latin-2 Compose sequences broken in 1.1.8 (K)

Bug, fixed in 1.1.9.

225. LOGIN.KSC broken in version 1.1.8 (K)

LOGIN.KSC, Kermit 95's "universal login script", was modified for version 1.1.8 to allow for the possibility that the user ID prompt might not appear if TELNET NEW-ENVIRONMENT or RLOGIN protocol was used, but the new version failed to work when launched from the Dialer and a password was included. Fixed in version 1.1.9, LOGIN.KSC V3.0.

226. ADD SEND-LIST followed by MOVE did not delete source files (K)

If you build up a list of files to be sent using ADD SEND-LIST and then give a SEND command with no operands, it sends the files in the send list. If you give a MOVE command with no operands, it does the same thing. But unlike SEND, MOVE should delete each original after sending it successfully; fixed in version 1.1.9.

227. Marking text on bottom line of terminal screen didn't work (K)

Bug, fixed in version 1.1.9.

228. Sending data from terminal screen when SEND-DATA OFF (K)

If TERMINAL SEND-DATA is OFF and the host requests the terminal to send data, Kermit 95 1.1.8 would simply not send it. But this tended to confuse the host application. Kermit 1.1.9 sends the data, but replaces the actual data characters with blanks.

229. Kermit file-transfer packets sent out of window (K)

When sending a file with a window size greater than 2, Kermit 95 could send data packets beyond the end of its window if acknowledgements were received out of order when the window was blocked AND there was a long round-trip delay. Bug, fixed in version 1.1.9.

230. VMS SET TERM/WIDTH did not clear the screen (K)

The VMS command SET TERMINAL/WIDTH={80,132} sends a screen-size changing escape sequence, which is supposed to change the screen size AND clear the screen. Kermit 95 was not clearing its screen when the new size was equal to the current size. Bug, fixed in 1.1.9.

231. k95 "file name with spaces" did not work in 1.1.8 (K)

When the first command-line argument to K95 is a filename, K95 should execute the commands from the file, e.g.

k95 filename

But if the filename contains spaces, this doesn't work in version 1.1.8, even if the filename is properly quoted to the shell:

  k95 "this is a file name"

Workaround: Don't use files that have spaces in their names for this purpose. In fact, filenames with spaces are a bad idea to begin with and confuse many programs, not just K95. This bug is fixed in version 1.1.9.

232. k95 command screen could be frozen or corrupted in 1.1.8 (K)

In version 1.1.8, if K95 was started with a command file as its first command-line argument, and the command file was not given a full pathname, then under certain circumstances, the command screen would be corrupted or frozen. Most typically this would happen when starting K95 from a shortcut. Bug, fixed in 1.1.9.

233. Spurious cursor in 1.1.9 (K)

If your logical screen is wider than your physical screen, and the cursor is placed one column to the right of the rightmost visible column (where you should not be able to see it), a "ghost" cursor will appear at some other position on your screen. This is a cosmetic bug only. If you position the window to show the part of the screen where the cursor really is, it will appear in the correct place. Fixed in 1.1.10

236. Windows 95 long screens don't work in 1.1.9

During the development of 1.1.9, it was discovered that the dynamic changing of console window sizes in Windows 95 (not NT) was much more dangerous than we ever imagined, due to the Windows 95 bug noted in the BUGS.TXT file, item 2. If the width is not 80 and the height is not 25, 43, or 50 (24, 42, or 49 plus status line), screens could become jumbled, confused, or frozen; Kermit could crash; Windows 95 itself could crash. This could happen even with our "ugly workaround" to the Windows 95 bug, namely not writing any attributes into "odd-sized" screens (because if we did, there would be an invalid page fault in the Windows 95 kernel).

So to prevent the corruption of Kermit 95 or Windows 95, the default for the SET TERMINAL VIDEO-CHANGE command was changed from ENABLED to DISABLED. Thus sessions that you had previously set up to have long and/or wide screens now have 24x80 screens, and a new distinction was made between the "logical screen" (e.g. 24x132) and the "physical screen" (e.g. 24x80). Thus you could scroll the physical screen horizontally back and forth across the logical screen, and there were even new visual cues in the status line to this effect. So far so good.

UNFORTUNATELY, this concept was also applied -- mistakenly -- to the vertical screen dimensions as well as the horizontal ones. So if you started a sessions with (say) a 42-line screen (43 including the status line), and with VIDEO-CHANGE disabled (the new default), the bottom 18 lines of the logical screen would be hidden from view, and the cursor would be stuck in the status line, resulting in an essentially useless terminal session.

RESOLUTION: In version 1.1.10, a new command was added:

  SET TERMINAL VIDEO-CHANGE WIN95-SAFE

and WIN95-SAFE was made the default for SET TERM VIDEO-CHANGE. When this setting is in effect, your TERMINAL HEIGHT or COMMAND HEIGHT may be set to 25, 43, or 50 lines (24, 42, or 49 if your terminal emulation window has a status line). You may set your TERMINAL WIDTH to any reasonable value, but this will become its logical width, not its physical one, and you can use horizontal scrolling to view portions that are not visible.

In the Dialer, if you choose a terminal screen height that is not 24, 42, or 49 (plus status line), or 25, 43, or 50 (without status line), then a new alert box will warn you about the situation. Of course, you have to go out of your way to select an unsafe height to begin with...

237. Problems with TES32 (K)

If you make a TES32 connection to a VMS system but then you don't log in within VMS's timeout interval, K95 can crash when VMS disconnects the TES session. Bug. Fixed in Kermit 95 1.1.10.

240. HPTERM and HP2621 screens were fractured (K)

There were some bugs in HP terminal emulation, fixed in version 1.1.10. Mostly involving the application of character attributes and line wrap. Now the HP emulator works satisfactorily with SAM (the HP system administration tool) in terminal mode.

241. Overzealous recording in session log (K)

Session logs were recording data being sent to the host when even though local echo was off. Bug, fixed in 1.1.10.

242. VT100/102 keypad not mapped to PC keypad by default (K)

In version 1.1.9 and earlier, the VT100 and VT102 numeric keypads were not mapped to the PC numeric keypad by default (even though the VT220 and VT320 keypads were). Fixed in 1.1.10.

243. Assorted window sizing problems in 1.1.9 (K)

In 1.1.9, the size of the console window was not being restored to its initial conditions under some circumstances, and if the height of the terminal screen was greater than that of the command screen and the width was greater than that of the command screen, then the command screen would be set to the wrong size. Bugs, fixed in 1.1.10.

244. SET TERMINAL CURSOR did not enable the cursor (K)

If the host sent an escape sequence to turn off the cursor, the SET TERMINAL CURSOR did not turn it back on. Bug, fixed in 1.1.10.

245. Autoupload problems with XMODEM and YMODEM (K)

The full path was being sent when only the file name should have been used. Bug, fixed in 1.1.10. But note the following "gotcha" in XMODEM and YMODEM protocols: If the file name contains an uppercase letter 'C' or 'G', then the wrong CRC check algorithm will be used if the name is echoed back from the receiver. There is nothing Kermit 95 can do about this.

246. Data General DASHER terminal emulation problems (K)

The following bugs were fixed in 1.1.10: DG210 was sending the same terminal ID as DG200; DG emulations were sending ID in wrong format; TELNET terminal type for DG200 and DG210 should have been D200 and D210; the default assignment for the Enter key was CR when it should have been LF.

247. Default editor set in K95.INI might be wrong (K)

The commands to set the default editor (for the K95 EDIT command) used hardwired directory and filenames that might be wrong for some PCs, especially in Windows NT. Fixed in 1.1.10 by using more flexible definitions suggested by Patrick Russell, K95.INI V2.1.

248. Dial-in host mode did not agree with user-defined modems (K)

The HOSTMDM.KSC script, which waits for incoming host-mode calls, would override any SET MODEM commands you might have given in your K95CUSTOM.INI file; this was particularly serious for user-defined modems, since it would wipe out the entire definition. Fixed in 1.1.10, HOSTMDM.KSC V2.0.

251. Unwanted alert box from K95CINIT (K)

On some Windows 95 systems, but not others, the new K95CINIT program pops up an error box containing the message "Port COMx, Status: Unable to SetCommStat", which must be closed manually. After the box is closed, the port is usable, so the utility is working. The problem is caused by bugs in the Windows APIs. Fixed in 1.1.11 by issuing a different K95CINIT.EXE.

252. Problems when switching from VT to ANSI terminal type (K)

Suppose your terminal type is vt320, and your terminal character-set is Latin1. Then you "set term type ansi" (or any of the other ANSI types). K95 switches character sets properly, but still treats C1 controls (0x80-0x9F) as controls, rather than graphics, as they should be in ANSI emulation. This only happens when switching from a non-ANSI type (and a character set that uses C1 controls) to an ANSI terminal type. It does not happen if you initial terminal type is ANSI. Workaround: tell K95 to "set term char transparent" and all is OK; for example:

  set terminal type ansi ; (or scoansi, at386, or avatar)
  set terminal character-set transparent

This problem does not affect users of the Dialer unless they use K95 commands to switch emulations after starting a session. Fixed in 1.1.11.

257. Problems with arrow keys and command recall (K)

Emulations that define the Arrow keys to be something other than \Kuparr, \Kdnarr, ... such as SCOANSI and AT386 terminals that define them as function keys like \Kansif50, ... do not work as expected for command recall. These terminal types allow their arrow keys to be programmed by the host, which is why they must be assigned Kverbs from the User Defined Key list rather than the regular arrow Kverbs. Workaround: use Ctrl-B and Ctrl-N rather than up and down arrow, respectively. Fixed in 1.1.11.

258. Misleading Dialer error message about screen dimensions (K)

In Windows 95, if you choose unsafe screen dimensions (i.e. anything other than 24x80, 42x80, or 49x80 plus status line, or 25x80, 43x80, or 50x80 without status line) in the Dialer Terminal page, an alert box pops up saying "heights ... are unsafe". It should say "heights other than ... are unsafe" (that is, it should say "other than"). Fixed in 1.1.11.

260. Wildcard sends don't work right in XYZMODEM (K)

If you tell K95 to "set protocol zmodem" (or ymodem, ymodem-g, or xmodem) and then give it a SEND command specifying a wildcard, the transfer will fail if the wildcard matches any directory names, including "." and "..". Thus, for example, "send *.*" always fails because it always matches ".".

This bug will be fixed in the next release. In the meantime, various workarounds can be used. Here's one you can use to send all the files from the current directory, provided (a) it has no subdirectories, and (b) all files have an extension or filetype (the part after the dot) at least one character long:

send \?*.\?*

Other workarounds involve MSEND; e.g.:

msend a* b* c* ...

(specifying the first letter of each group of files that you want to send that does not also match a directory name).

A general workaround with no "but-ifs" is to write a little macro that gets all the filenames that are not directory names, builds a send list, and then sends it:

---(cut here)---
declare \&f[100]			; An array is needed
define ZSEND {				; Define a ZSEND macro
    local \%i \%j \%n \%f		; Local variables
    if not def \%1 end 1 ZSEND what?	; Check for a filespec
    asg \%n \ffiles(\%1)		; Expand wildcards if any
    asg \%j 0				; Counter for regular files
    for \%i 1 \%n 1 {			; Loop through file list
	asg \%f \fnextfile()		; Get next file name
	xif not directory \%f {		; If it's not a directory name...
	    increment \%j		; Count it
	    asg \&f[\%j] \%f		; and store it in the array.
	}
    }
    clear send-list			; Now make a send list
    for \%i 1 \%j 1 {			; Loop through regular file list
        echo \%i. \&f[\%i]		; Remove this for silent running
        add send-list \&f[\%i]		; Add this file to the send-list
    }
    echo Sending:			; Remove for silent running
    show send-list			; Ditto
    send				; Send from the send-list
}
---(cut here)---

Put this in your K95CUSTOM.INI file and then use ZSEND instead of SEND if you need to use wildcards in your SEND commands when using X-, Y-, or ZMODEM protocol to upload files. Increase the size of the \&f[] array if you ever need to send more than 100 files at once.

262. DEC NRCs are forgotten in Multinational Mode (K)

DEC 7-bit National Replacement Character (NRC) sets are supposed to be used instead of ASCII when the host requests US ASCII and the terminal is in Multinational Mode (i.e. the mode which supports 8-bit character sets like Latin-1 and DEC MCS), but with an NRC defined. This could only happen if the terminal was set up in National mode using (say) the Swedish NRC, but then the host switched it into Multinational mode, and then designated ASCII into G0, G1, G2, and/or G3. Kermit 95 really does use ASCII in this case, whereas a real international-model DEC VT320 or higher uses the previously-designated NRC. Fixed in 1.1.11.

263. ZMODEM crash recovery versus some FILE COLLISION settings (K)

ZMODEM crash recovery worked when the FILE COLLISION setting is UPDATE or OVERWRITE, but not when it is BACKUP, RENAME, DISCARD, etc. It should work no matter what the FILE COLLISION setting is. Fixed in 1.1.11.

266. VT terminal emulation wrapping problem (K)

In any VT terminal emulation, VT100 or higher, if a character is written when the cursor is in the rightmost column, The cursor stays put and a flag is set to indicate that the next character written should auto-wrap. When the flag set, and the host sends CR LF ESC [ 79 C, which in effect moves the cursor down one line, the flag should be turned off but in Kermit 95 it isn't, so the next character that arrives causes a spurious auto-wrap. Fixed in 1.1.11.

267. WP51.INI (WordPerfect 5.1 key mapping file) had a typo (K)

The definition for Shift-F8 contained a typo; an apostrophe instead of a semicolon where the comment introducer was supposed to be, thus making the intended comment part of the definition. Fixed in 1.1.11.

270. Popup printer-error boxes causes Kermit 95 to hang (K)

An error box would pop up if an attempt was made to print to a nonexistent or nonready printer; however, there was no way to remove the error box or continue Kermit 95. This feature was removed in 1.1.11 for Windows 95 and NT, but remains in the OS/2 version, where it works correctly.

271. Host-directed printing did not work in DG emulation (K)

DASHER 200 and 210 terminal types do not support printing. In Kermit 95 1.1.11, the D217 type was added, which does allow printing.

272. INPUT/MINPUT did not handle Telnet negotiations correctly (K)

Telnet negotiations received during INPUT/MINPUT, although handled correctly, could interfere with proper recognition of the target string. Fixed in 1.1.11.

273. Dialer Options->Dialing page PBX values handled incorrectly (K)

In K95 1.1.10 and earlier, the PBX entry fields would be ignored if the PBX Checkbox was not selected and the data in those boxes would be lost. Starting with 1.1.11, the PBX data fields are used and the data is grayed out and preserved when the checkbox is not selected.

274. Wyse character graphics bug (K)

Wyse Graphics characters may be specified as any character above '0' mod 16 instead of just the first 16 characters starting with '0'. Fixed in 1.1.11.

275. Transparent printing of binary files did not work (K)

Characters in the range 128-159 were being improperly converted to escape sequences during transparent-print operations before being passed to the printer, in VT220/320 and Wyse 370 emulation, when using character sets with C1 controls. Fixed in 1.1.11.

276. VT100 terminal ID was incomplete (K)

Kermit 95 was sending <ESC>[?1c when it should have been sending <ESC>[?1;2c (the ";2" indicates 132-column and attribute support). Fixed in 1.1.11.

280. DIALINF.DAT can't be read-only (K)

The unmodifiable part of the K95 Dialer database, DIALINF.DAT, could not be installed as a read-only file or on a read-only disk since it was mistakenly opened in read-write mode. Fixed in 1.1.12.

282. Serial-port file transfer fails with large packet x window size (K)- FIXED

On a serial connection, when sending a file with a large window and/or packet size and with SET WIN95 OVERLAPPED-IO ON, transmit buffer overruns could cause the transfer to fail. Workaround: SET WIN95 OVERLAPPED-IO OFF. Also see bug number 336. Fixed in 1.1.12.

284. K95 does not delete startup file generated by the Dialer (K)

Bug, fixed in 1.1.12.

285. Dialer can leave temporary files behind (K)

If the Dialer was closed before all K95 sessions it had started were terminated, it could leave temporary files behind. Bug, fixed in 1.1.12.

287. Problems with incoming TCP connections in OS/2 (K)

(See entry 320.)

288. Dialer could crash if an entry's view status changed (K)

If the type of the current entry was edited such that it would no longer be visible based on the active View filters, the Dialer could crash upon exit or a change in the View filters. Bug, fixed in 1.1.12.

289. SHOW KEY did not always give accurate results (K)

In version 1.1.11 and earlier, SHOW KEY, since it was executed in the Command screen, displayed the key's value in that context, rather than what it would send if used in the Terminal screen, which is what most people would expect. Misleading displays would occur most frequently when a special keyboard was selected in the Terminal screen, such as EMACS, Hebrew, or Russian. In version 1.1.12 and later, the Terminal-screen context mapping is displayed, and it is now also possible to display the mapping from modes that are not current (see UPDATES.TXT).

288. Dialer could crash if an entry's view status changed (K)

If the type of the current entry was edited such that it would no longer be visible based on the active View filters, the Dialer could crash upon exit or a change in the View filters. Bug, fixed in 1.1.12.

289. SHOW KEY did not always give accurate results (K)

In version 1.1.11 and earlier, SHOW KEY, since it was executed in the Command screen, displayed the key's value in that context, rather than what it would send if used in the Terminal screen, which is what most people would expect. Misleading displays would occur most frequently when a special keyboard was selected in the Terminal screen, such as EMACS, Hebrew, or Russian. In version 1.1.12 and later, the Terminal-screen context mapping is displayed, and it is now also possible to display the mapping from modes that are not current (see UPDATES.TXT).

290. REDIRECT command didn't work (K)

Due to difficulties with i/o redirection in Windows 95 and NT, the REDIRECT command did not work in all cases. Workarounds were discovered and added in version 1.1.12, and REDIRECT now works on any connection type, provided the redirected command is truly redirectable, and in OS/2 too.

291. Incoming NUL (0) characters confuse INPUT command (K)

The low-level communications device input routines were erroneously discarding NUL (ASCII 0) characters. This could cause the INPUT command to hang under certain conditions, and might have had some other undersirable effects. Fixed in 1.1.12.

292. RECEIVE as-name did not work with XYZMODEM (K)

Bug, fixed in 1.1.12.

293. Various EMACS mode bugs (K)

PgUp and PgDn sent the wrong sequences. Definitions were missing for Alt ?+=/ Ctrl-Alt-SP, Alt-DEL. Fixed in 1.1.12.

294. Kermit protocol might send packet out of window (K)

When sending a file with a window size greater than 1 under conditions of packet loss, C-Kermit might send packets outside the current window. This should not cause file corruption, and in many cases (depending on the Kermit implementation on the receiving end), it won't even cause a noticeable problem, but in other cases it might cause the transfer to stop unnecessarily. Fixed in 1.1.12.

295. MOVE from SEND-LIST did not delete original files (K)

If you build up a list of files to be sent using ADD SEND-LIST and then give a SEND command with no operands, it sends the files in the send list. If you give a MOVE command with no operands, it does the same thing. But unlike SEND, MOVE should delete each original after sending it successfully; in Kermit 95 1.1.11 and earlier, it did not. Fixed in 1.1.12.

296. Application filename could not contain spaces (K)

When the first command-line argument to Kermit 95 is a filename, Kermit 95 should execute the commands from the file, e.g.

k95 filename

But if the filename contains spaces, this didn't work in version 1.1.11 and earlier, even if the filename is properly quoted to the shell:

k95 "this is a file name"

Fixed in 1.1.12.

297. Hayes high-speed-modem init string problem (K)

Hayes removed an S register (S82) from its newer model Accura modems, and probably also the others in its high-speed line. "hayes-high-speed" init string adjusted in version 1.1.12 to account for this.

298. READ command does not fail if file not open (K)

IF FAILURE did not work after a READ command that was executed before the READ file was opened. Fixed in 1.1.12.

299. Problems with long function arguments (K)

The 1023-byte limit on function arguments was overly restrictive for Kermit 95. In version 1.1.12, it was increased to 10238 (approximately 10K).

300. Certain \function()s can misbehave (K)

Certain \f...() functions returned incorrect values, or even caused crashes or invalid page faults when arguments were missing (especially the first one), or when they were too long. Also:

  • The \fverify() function did not work right when given a starting position as the third argument.
  • \fbreak() did not pay attention to the SET CASE setting
  • fverify() did not pay attention to the SET CASE setting
  • fverify() would crash if given a huge number as the 3rd argument
  • \flpad() and \frpad() erroneously truncated their arguments if they were longer than the padding length
  • \ftrim() and \fltrim() erroneously returned "0" if given an empty argument
  • \ttrim() and \fltrim() ignored SET CASE

Also, some of the string functions were inconsistent as to whether they allowed a starting position -- e.g. \fverify() did, but \fbreak() didn't. So an optional starting position was added as the 3rd argument to \fbreak() and \fspan(). These are not documented in manual.

All these problems were fixed in 1.1.12.

301. X MOD 0 crashes program (K)

"\feval(number%0)", "\fmod(number,0)", or "EVALUATE number % 0" would crash C-Kermit. Also, dividing by zero would return -1 without issuing any kind of warning. Now both return -1 and always print a "?Divide by zero" warning. Version 1.1.12.

302. ANSWER doesn't automatically CONNECT (K)

The DIAL and REDIAL commands, if given from top level with DIAL CONNECT set to ON or AUTO, and if they succeed, cause C-Kermit to enter CONNECT mode automatically. ANSWER should behave the same way. It does as of 1.1.12.

303. Overzealous EXIT warning (K)

When SET EXIT WARNING is ON, C-Kermit can sometimes warn you about a connection being open when it couldn't possibly be open. This can happen, for example, if you SET LINE to a serial device and then HANGUP, but the serial device is still getting the Carrier Detect signal (e.g. because it is connected to a modem that never drops CD). However, if C-Kermit has been told to HANGUP, or to close the connection via SET HOST or SET LINE with no argument, then it knows the connection is closed and so it should not warn. This is the case as of version 1.1.12.

304. OUTPUT doesn't echo when DUPLEX is HALF (K)

Bug, fixed in 1.1.12.

305. Minor problems with REMOTE DIRECTORY/DELETE/etc (K)

The REMOTE DELETE summary report counted files as being deleted when they actually were not (e.g. if write-protected). Fixed in 1.1.12.

306. CHECK command broken (K)

The CHECK command was not reliable. Fixed in 1.1.12.

307. Problem with SET TRANSMIT ECHO (K)

SET TRANSMIT ECHO ON didn't work when PARITY was NONE. Fixed in 1.1.12.

308. Dialing results were sometimes incorrect (K)

In versions 1.1.11 and earlier, Kermit 95 deliberately did not force the modem to issue "word result codes", but allowed the modem to retain its current result-code selection (word or digit). If the modem issued digit result codes, Kermit 95 would try to act on them. However, each make and model of modem has dozens of incompatible digit result codes. So when dialing a modem that issues digit result codes, Kermit 95 would sometimes misinterpret the result and declare that a call failed when it succeeded, or vice versa. Fixed in 1.1.12 by (a) adding lots of new modem-specific digit results, and (b) forcing word result codes since these are relatively consistent across most makes and models. Also in 1.1.12, K95 forces modem commands to be echoed, for help when debugging problem modem connections with SET DIAL DISPLAY ON.

309. IF EXIST and IF DIRECTORY versus spaces in filenames (K)

IF EXIST and IF DIRECTORY were fixed in version 1.1.12 to properly strip braces from around their arguments, so "if directory {C:\Program Files}", etc, would work as expected. Previously such commands caused parse errors.

310. CD, SET FILE DOWNLOAD-DIR, etc, don't provide full service (K)

Commands that parsed directory names did not provide the same services as commands that parsed file names, in particular name completion, and name lists upon "?". Fixed in 1.1.12.

311. READ command too picky about last or only line in file (K)

The READ command was overly picky about "last line lacks terminator". It was changed in 1.1.12 to allow the last or only line to lack a terminator. This is also a sneaky way of allowing even binary files to be read into a variable (all at once) if the READ buffer is set large enough (and the file does not contain NUL characters).

312. No way to include braces in function arguments (K)

Since braces are used in function calls to indicate grouping, there is no way to pass literal braces to the function itself. Solution: Define a variable containing the string that has braces. Example:

  define \%a ab{cd
  echo \fsubstring(\%a)
  ab{cd  

If the string is to start with a leading brace and end with a closing brace, then double braces must appear around the string (which itself is enclosed in braces):

  define \%a {{{foo}}}
  echo \fsubstring(\%a)
  {foo}

This also works for any other kind of string:

  define \%a {{ab{cd}}
  echo \fsubstring(\%a)
  ab{cd  

313. DIALINF.DAT file opened in READ/WRITE mode (K)

The Dialer would open the file DIALINF.DAT in Read/Write mode. This would prevent it from being installed on a network file server with Read Only and File Scan privileges. Fixed in 1.1.12.

314. Missing and incorrect key definitions in EMACS mode (K)

EMACS mode had incorrect definitions for PgUp/PgDn and was missing definitions for Alt versions of '?','+','=','/', and DEL and Ctrl-Alt-SP. Fixed in 1.1.12.

315. NULs were being stripping during file transfers and printing (K)

The Windows versions of K95 were stripping NULs from the input stream during file transfers and transparent printing when they shouldn't have been. This did not cause problems for many users since most file transfer protocol implementations quote the NUL character, and it is insignificant to most printers. Fixed in 1.1.12.

316. XYZMODEM RECEIVE was ignored (K)

The was ignored when used with XYZMODEM file transfers. Fixed in 1.1.12.

317. SET STARTUP-FILE DISCARD did not always delete the file (K)

Kermit-95 did not always delete startup files depending upon how the program was terminated and the type of connection that was made. Fixed in 1.1.12.

318. SHOW MODEM didn't quote backslashes (K)

The SHOW MODEM command did not quote backslashes when displaying modem command strings. Therefore, new commands could not be created using cut and paste.

319. WIN32 COMM TX BUFFER SIZE set too small (K)

The TX Buffer has been increased to 20000 bytes. This is large enough that all file transfer packets may be written without Windows 95 or NT truncating the write request. 1.1.12.

320. K2DC.EXE accidentally closed socket of incoming connection (K)

If INETD.EXE was executing in the background and not the foreground, K2DC.EXE would close the incoming socket before K2.EXE was able to access it. OS/2 only. Fixed in 1.1.12.

321. Auto-print Formfeed bugs (K)

When auto-print was active, form feeds would result in the current terminal line being printed twice. Wyse and Televideo terminals would print every line twice. Fixed in 1.1.12.

322. SAVE KEYMAP and SHOW KEY replaced RS with ESC (K)

Data General emulations use RS instead of ESC as the prefix character for keyboard command strings. This was not displayed properly by SAVE KEYMAP or SHOW KEY. Fixed in 1.1.12.

325. Data loss on Meridian Technology SuperLAT connections (V)

Fixed in 1.1.12. See bug 336.

329. Hazeltine 1500 emulation did not work at all (K)

Hazeltine 1500 emulation was completely broken in 1.1.11 and earlier. Fixed and tested against real Hazeltine 1500 terminals and applications in 1.1.12.

330. Problems with Wyse 50 emulation (K)

<ESC> z value string DEL was prematurely terminated by CR. <ESC> f text CR was not placing text into the status line. <ESC> F text CR now places text into the Title Bar. Switching to/from 132-col mode should not have cleared the screen. Fixed in 1.1.12.

331. Problems in DG DASHER 217 emulation (K)

DG WordProcessing, Greek/Math, and LineDrawing character sets did not work. UNIX mode did not work. And: DG cursor positioning uses pure binary characters to indicate cursor positioning. Over a NVT TELNET connection we must beware of the possibility that a NUL will be inserted into the stream after a CR, an instruction to move to column or line 14. All fixed in 1.1.12.

332. HPTERM emulation did not handle line-drawing & math (K)

HPTERM did not handle HP Math/Special and Line-drawing character sets. These were added in 1.1.12.

333. Many Dialer entries were obsolete (K)

All Dialer entries were checked and obsolete ones were removed in 1.1.12.

334. Unwanted triangles in Wyse, TVI, and Hazeltine emulation (K)

The ASCII DEL character (127) is supposed to be used for padding in Wyse, Televideo, and Hazeltine emulations, but instead it was being displayed, usually as a triangle (or house). Fixed in 1.1.12.

335. Spurious spaces in ANSI emulations (K)

NUL characters embedded in escape sequences were erroneously displayed as spaces. Fixed in 1.1.12.

336. Data loss/corruption on Windows 95 serial connections (K)

Overlapped i/o, which is used by Kermit 95 unless you say otherwise, could conflict with the SuperLAT Gateway COM port redirectors. Data could also be lost, corrupted, or duplicated in serial (direct or dialed) connection during file transfer and scripting (e.g. host mode). Diagnosis: bug. Fixed in 1.1.12.

339. Commands like "SEND \\K95\\TMP\\OOFA.TXT" did not work (K)

Again with the backslashes! When parsing an input filename, K95 went to great lengths to allow single backslashes as directory separators. Thus: "send \k95\tmp\oofa.txt" worked correctly, so did "send /k95/tmp/oofa.txt". However, this command did not work if the backslashes were doubled. This was a bug, fixed in 1.1.13. However, note that you can not mix double and single backslashes in the same filename.

340. Problems with help and completion in filenames with \\ (K,M)

If you typed Tab or Esc in the middle of input file specification containing double backslashes, e.g. "send \\k95\\docs\\upda<ESC>", K95 would seem to hang for a long period of time. When a double backslash was passed to Windows file lookup service, this would evidently make Windows scan the entire disk. Eventually it would report that the file was not found. The fix listed in item 339 also fixes this problem.

343. K95 might not be able to exit on some Windows 95 systems (M)

The sequence for shutting down K95's various threads could sometimes tickle a bug in Windows, in which a request to close a handle would never return. This is worked around in 1.1.13 by adding Yet Another Pause to avoid the race condition, which in turn requires K95 termination to take a little bit (milliseconds) longer.

344. Dialer might crash if no modem was defined (K)

It is possible to have no modems defined in the Dialer. But this could result in an invalid pointer error when editing entries. Bug, fixed in 1.1.13.

345. Memory leak in Dialer (K)

Under certain circumstances, the Dialer could fail to free allocated memory and so under heavy use, memory or swap space could run low. Bug, fixed in 1.1.13.

346. URL hot spot could fail if URL at end of sentence (K)

If a URL ended with a period because it was at the end of a sentence, and you Ctrl-clicked it, the period would be included (because period is a valid character in a URL). This is not exactly a bug, but it makes more sense to strip a trailing period since real URLs hardly ever have one. Trailing periods are stripped from Ctrl-clicked-on URLs in 1.1.13.

347. EDIT and NETEDIT might have stopped working in 1.1.12 (K)

In 1.1.12, the Windows version of Kermit 95 picks up your preferred editor from the Windows Registry based on the association for ".txt". In some cases, "%1" might be listed as a command-line option (when really it is a placeholder for the filename). In this case, SHOW EDITOR in K95 displays something like:

  editor:   C:\WINDOWS\NOTEPAD.EXE
  options:  %1
  file:     (none)

If you give an EDIT command, e.g. "edit read.me", the editor (NotePad in this example) is likely to pop up an error box:

  Cannot open the %1 D:\K95\READ.ME file.

To work around, put a specific SET EDITOR command in your K95CUSTOM.INI file to override the value picked up from the registry, e.g.

  SET EDITOR C:\WINDOWS\NOTEPAD.EXE

In K95 1.1.13, the "%1" is correctly interpreted as a placeholder for the filename, and the filename is substituted for it.

Note, however, that if the application has installed itself such that the "%1" notation is enclosed in quotes with the application filename in the Registry, this means it is part of the filename, literally. In this case, SHOW EDITOR in K95 displays something like:

  editor:   "C:\WINDOWS\SOMENAME.EXE %1"
  options:  (none)
  file:     (none)

We have had reports of several applications that install themselves this way, which is wrong. But there is nothing K95 can do about it, since there is no way for K95 to distinguish command-line options from pieces of the filename. For example:

  editor:   "C:\Windows\Program Files\Some Editor.EXE %1 /X/Y/Z"
  options:  (none)
  file:     (none)

348. Telnet negotiations could become frozen (K)

If the host sends DO LOCATION but K95 does not have a location string, K95 would say WILL LOCATION, but then not send one. But some hosts would wait forever for the string to arrive (they shouldn't). Corrected in 1.1.13, in which K95 says WONT LOCATION if it does not have location string.

349. K95 could become stuck in marking mode (K)

If a mouse action was undefined, but that action is used, K95 could become stuck in marking (text selection) mode. Bug in 1.1.12, fixed in 1.1.13.

350. HP terminal emulation problems in 1.1.12 (K)

Tab and Backtab did not properly wrap. Left/right screen margins and host-directed printer requests were ignored. Bugs, fixed in 1.1.13.

351. Wyse terminal emulation problems in 1.1.12 (K)

Wyse emulations did not properly default to autoscroll mode. Wyse 50 emulation failed to update character attributes if DeleteChar is used to clear an attribute cell. Bugs, fixed in 1.1.13.

352. K95 could hang upon screen-size change request (K)

If K95 was requested to change its screen dimensions to a legal combination, but could not do so (e.g. because it was running in fullscreen mode), it could become stuck. Bug, fixed in 1.1.13.

353. SET MOUSE ACTIVATE command broken in 1.1.12 (K)

SET MOUSE ACTIVATE did not allow ON or OFF to be specified. Bug, fixed in 1.1.13. (The synonym, SET TERMINAL MOUSE { ON, OFF }, still worked, and still does.)

354. Character set versus copy/paste from/to Clipboard (K)

In Windows 95, console windows are required to use DOS (OEM) code pages (also known as "IBM extended character sets"), whereas GUI windows use Windows ("ANSI") code pages, or "fonts", but not DOS code pages. These two do not agree, neither in repertoire nor encoding. In 1.1.12 and earlier, if you used K95's built-in mouse actions to paste from a K95 window to the Clipboard or vice versa, non-ASCII characters (such as accented or non-Roman letters) were copied literally, without translation, resulting in "garbage". This is fixed in 1.1.13 by asking Windows 95 to convert the character set between the two environments during the copy or paste operation. All translations are done by Windows, and are exactly the same as you would get between any other console window (not involving Kermit at all) the Clipboard. Note that in Windows 95, a code page and a Windows font generally do not have all the same characters, so some of the translations will necessarily be approximations. There is no problem in Windows NT or OS/2, because the same character set is used in the K95 window and the Clipboard.

358. Transparent print problems using 8-bit CSI (K)

On ANSI-based terminals (VT100, etc): although transparent printing could be initiated with an 8-bit CSI, it could only be terminated with a 7-bit CSI. Thus, 8-bit CSI requests to terminate transparent printing would be ignored. Bug, fixed in 1.1.13.

359. APC did not block terminal emulator (K)

The terminal emulator thread did not block during execution of an APC. So (for example), if K95 received an APC command to change its terminal type, which requires some time to execute, escape sequences for the new terminal type might be processed in the terminal emulator before the switch was complete. In 1.1.13, the terminal emulator blocks during APC execution.

360. Conflict between INPUT and APC (K)

If K95 was executing an APC command sent by the host which contained an INPUT command, it would go into an infinite loop until its command stack filled up, and then it would begin printing spurious error messages. Bug, fixed in 1.1.13 by not allowing additional APCs to be defined if one was already in progress.

361. K95 might not work with certain third-party TCP/IP stacks (V)

Certain TCP/IP (Winsock) products do not implement the full Winsock specification -- in particular the ability of the select() call to check for writability of a socket, which K95 uses to avoid deadlocks; this select() call always returns a code saying the socket is not writable, which results in TRANSMISSION BLOCKED messages and an overall failure to communicate. This has been observed with the Iware Connect from Quarterdeck (v1.7) and Cisco (TGV) TCP/IP products. Quarterdeck reportedly has fixed this bug in their stack in a subsequent unreleased version available as an Alpha test upon request.

Workaround: None known, other than putting back the original Microsoft Winsock stack.

Fixed in 1.1.14 with the addition of SET WIN95 SELECT-BUG {ON,OFF}.

362. Another problem with filenames containing spaces (K)

File names with spaces in them can not be read by K95.EXE as part of scripts generated by the Dialer. This applies to names of key mapping files, names of login scripts, etc, that are specified in the Dialer. Fixed in 1.1.14.

363. CONNECT hangs when host drops connection or \Kquit is used (K)

An infinite loop could be entered if the connection was dropped while the emulator was in the process of reading a character. Fixed in 1.1.14.

364. Problem with Num Lock and SET MSKERMIT KEYCODES ON (K)

MS-DOS Kermit keycode compatibility mode used the NumLock Off Unshifted keycodes instead of the NumLock On Unshifted keycodes; this will be changed in the next patch. However, it should still be noted that MS-DOS Kermit has one keycode for NumLock Off Shifted and NumLock On Unshifted whereas K95 has separate keycodes for each. Therefore, it is not possible to assign a definition to NumLock Off Shifted while in MS-DOS Kermit compatibility mode. Fixed in 1.1.14.

365. Problem with OUTPUT command when there is no connection (K)

The OUTPUT command would act like ECHO if there was no connection. And it would echo text twice if SET INPUT ECHO ON and SET DUPLEX HALF. Fixed in 1.1.14.

366. END from within SWITCH doesn't work (K)

Instead of terminating the current macro or command file, the END command, when given in a SWITCH statement, just exits from the SWITCH statement. Workaround: use STOP instead of END if it doesn't make a difference, or else GOTO a common error exit. Fixed in 1.1.14.

386. Problems with Dead Keys and Alt-Gr keys in Windows 95 (M,K)

ANSI values produced by Dead key and Alt-Gr key combinations (since 1.1.8) have been mistranslated in the routines meant to work around Microsoft's failure to provide support for Dead Keys and Alt-Gr key combinations to 32-bit console applications. Fixed in 1.1.14.

387. Kermit vs TAPI Dialing in the Dialer (K)

In the K95 Dialer, the meaning of Options->Dialing->TAPI Modem Dialing is reversed; when checked it means Kermit dialing, when unchecked TAPI dialing is used. Workaround: check the opposite box from the one you mean. If the modem in use is a TAPI modem and if the Registry defines "speed adjustment" on/off entries, the Dialer provides no way to defeat this; if the speed adjustment is selected in TAPI and the modem reports (for example) CONNECT 21600, Kermit tries to change its interface speed to 21600 and fails. Fixed in 1.1.14.

390. Wrong system type in Telnet NEW-ENVIRONMENT negotiation (K)

K-95 says that it is UNIX when it should say either WIN32 or OS2 depending on the system type. Fixed in 1.1.14.

391. IF ALARM might not work (K)

SET ALARM and IF ALARM, when used with times between midnight and 2:46:40am will not work due to an internal error. Fixed in 1.1.14.

392. SET TERM REMOTE-CHAR LATIN6 doesn't work (K)

Fixed in 1.1.14.

393. Single-click mouse actions generate an extraneous error beep (K)

Fixed in 1.1.14.

394. Various terminal emulation bugs (K)

  • DG emulation "Load Time of Day" command sequence was being parsed incorrectly.

  • DG and HP Line Drawing characters were not being displayed properly using OEM character sets (i.e. console code pages).

  • ASCII emulations (HP,DG,TVI,Wyse,HZ,...) failed to apply parity to characters read while parsing Escape command sequences.

  • All emulations would fail to display graphics characters properly in NT due to missing characters in the Lucida Console Unicode font.

  • ANSI emulations (SCO,AT386,ANSI-BBS) would not reset the active color when colors were reset by the host.

  • HP emulation was unable to access many functions.

All fixed in 1.1.14.

395. Ctrl-C caught by 4NT.EXE instead of K95 in Windows NT (K,V)

K95 failed to capture all Ctrl-C events and NT would pass them onto the parent process (4NT.EXE). 4NT.EXE would receive the event and think that the child process (K95.EXE) terminated and would attempt to read keyboard input and update the display which would compete with K95. Fixed in 1.1.14.

396. OS/2 K2DIAL loses data in the Login Script text box (K)

When editing an entry in the dialer, if the Login page of the notebook is not viewed and the printer setting is edited, the contents of the Login Script Text box will be truncated. Status: Fixed in 1.1.14.

397. Various errors in Windows Telephony (TAPI) support (K)

  • The "Only connect at this speed" control in the Modems control panel allows the user to specify whether "Speed Negotiation" of modem to modem data rates is to be performed by the local modem. This feature was being misinterpreted by K95 as "Speed Matching". This would prevent K95 from being able to successfully dial that modem.

  • TAPI's "No Flow Control" modem command was not being imported by K95.

  • Values for Speed, Flow Control, and other communication line parameters were not always utilized by TAPI when K95 would assign them.

  • K95 rules for importing Flow Control settings from TAPI could result in a mismatch of the Serial Port and Modem Flow Control settings.

All Fixed in 1.1.14.

398. Dialing fails due to garbled modem command (K)

K95 had trouble with the high-speed single-character writes used in the dial routines (Windows only). Fixed in 1.1.14.

399. Dialer Modem Commands reset when modem selected for editing (K)

Modem Commands in the Dialer should only be reset upon user request. Fixed in 1.1.14.

400. SHOW KEY interrupted by Ctrl-C would cause keyboard problems (K)

If SHOW KEY was terminated with Ctrl-C, future attempts to translate keycode values into characters, Kverbs, and Macros would fail. Fixed in 1.1.14.

401. SET HOST * results in 100% CPU Utilization (K)

If a Winsock stack did not implement select() to wait for the specified timeout period before returning (it didn't block), it was possible for K95 to enter an infinite Spin Loop which would utilize large quantities of high priority CPU time. This situation cannot occur with the Microsoft Winsock stacks on Windows 95 or NT. Fixed in 1.1.14.

402. Telnet to non-23 port might fail to produce a login prompt (K)

Telnet negotiation parameters were not properly reset between Telnet sessions to ports other than the standard telnet port (23). Depending on the results of the previous sessions negotiations a dead lock situation could occur on subsequent attempts to connect to the host from the same K95 session. Fixed in 1.1.14.

403. SET MODEM TYPE to certain types didn't work (K)

Suprasonic, Best Data, AT&T Secure Data, and Keep In-Touch modem definitions were incorrectly referenced and would utilize the wrong definition. Fixed in 1.1.14.

404. SETUP.EXE would crash while displaying summary of choices (K)

On Windows 95 or Windows NT 4.0, if Windows Telephony (TAPI) has not been configured the SETUP.EXE program would crash unexpectedly. Fixed simultaneous to the release of 1.1.14. However, since 1.1.14 is not shipped on diskettes (1.1.13 is) users must contact Kermit Tech Support to receive access to the new SETUP.EXE. Workaround: Use Control Panel->Modems to configure a modem even if you do not have one.

405. Default AT386 and SCOANSI keymaps reference DEC Kverbs (K)

AT386 and SCOANSI had DEC Kverbs assigned to the keypad and Alt-1 through Alt-0 keys in the default keymap. Of course this could be worked around with SET KEY commands. Fixed in 1.1.14.

406. SET TERMINAL DEBUG ON interferes with TELNET negotiations (K)

If SET TERMINAL DEBUG ON was used to view Telnet negotiations to a host that implements Terminal Type negotiation and the host did not recognize the current terminal type identification string, K95 would enter an infinite loop. Fixed in 1.1.14.

407. OS/2 FTP PC/TCP stack would cause K2 to crash (K)

FTP PC/TCP is a 16-bit stack which does not specify the size of the parameters to be used during ioctl() calls as do Winsock and the IBM stacks. Passing the stack a parameter of the wrong size would corrupt the process stack causing a runtime exception. Fixed in 1.1.14.

408. K95's -N command-line option in OS/2 would not accept parameters (K) FIXED

Fixed in 1.1.14

409. SET BROWSER ignored by \KmouseURL keyboard verb (K)

Options assigned for use with the assigned browser were ignored by the MouseURL kverb used to autostart the browser when a URL is clicked. Fixed in 1.1.14.

410. K95 could not be the Telnet client for Netscape Communicator (V)

When Netscape Navigator 4.x (Communicator) starts the Telnet client it no longer passes just the host name and port but also includes the protocol tag at the beginning. This breaks not just K95 but any other Telnet client including Microsoft Telnet that ships with Windows 95 and NT. As of 1.1.14, K95 is now capable of parsing these misformatted hostnames. SET HOST [:[:][[:] is now accepted. This form can also be passed on the command line to "-j" or "-J". is ignored.

411. The PRINT command no longer uses DOS COPY to print a file (K)

Not really a bug but now that K95 supports a variety of printer types it is not possible for DOS COPY to be used to print files so it is now done internally.

412. DIAL DISPLAY ON didn't work with TAPI modems (K,M)

TAPI always puts the modem into no-echo mode so SET DIAL DISPLAY ON did not show you the commands that were being sent to the modem. Fixed in 1.1.14.

413. TAP alpha paging script was not robust enough (K)

A new version is included with 1.1.14 that is more tolerant of bad or lossy connections.

414. Incorrect setup of Telebit modems (K)

BREAK action was incorrectly specified as "return to command mode" rather than "pass through transparently". Fixed in 1.1.14.

415. File transfers could fail when using very short packets (K)

K95 could send packets of certain types that were longer than the maximum length requested by the other Kermit, particularly S and I (parameter negotiation) and A (attribute) packets. This could be a problem when the maximum packet length was less than about 40. Fixed in 1.1.14.

416. Screen-printing problems in Windows NT (K)

Windows NT uses Unicode to represent on-screen characters. But when a screen dump was requested by \Kdump the Unicode characters used to represent non-ASCII text (accented or non-Roman letters, box-drawing characters, etc) were not translated back to the local OEM Code Page before being printed. Fixed in 1.1.14

420. HPTERM and VIP7809 selection didn't work in the Dialer (K)

If HPTERM or VIP7809 are specified as the terminal type in the Dialer, the resulting script would not contain a SET TERMINAL TYPE command, and VT320 (K95's default terminal type) would be used instead. Fixed in 1.1.14.

421. File-transfer problem using undefined variable for as-name (K)

"send \%1 \%2", when \%2 was undefined, would improperly act as if the file had no name and make one up, rather than sending it with its own name. Fixed in 1.1.14.

422. Overzealous EXIT WARNING (K)

This one never quite ends. In 1.1.14 we are very careful never to issue an exit warning unless we are REALLY SURE that it's needed.

423. K95 program exit status codes were not always correct (K)

Most notably when a file-transfer failed because there was no Kermit program on the other end. Fixed in 1.1.14.

425. EDIT command succeeds only on first attempt (K)

If the options field of the default EDITOR (as obtained from the Windows Registry at startup) was "%s", K95 would fail to substitute the filename for the "%s". This could result in a failure of the editor to load the file. Fixed in 1.1.14

427. Mixups in certain terminal-specific line-drawing character sets (K) FIXED

Wyse graphics, DEC Special, and DEC Technical could produce the wrong characters depending on the operating system and local code pages. Fixed 1.1.14.

428. Unnecessarily difficult to get big window and packet sizes (K)

In 1.1.13 and earlier, large combinations of sliding window and packet sizes for Kermit transfers required a prior SET BUFFERS command to allocate a bigger packet window. This is no longer necessary as of 1.1.14.

429. Host mode would not send file groups (K)

If you told the host-mode menu to download a wildcard specification, it would fail. Bug, fixed in 1.1.14.

431. Various problems with the 1.1.14 Patch (K)

The 1.1.14 patch might have corrupted the resulting K95.EXE executable and other files in subtle ways. One effect that was noted in the Windows 95/NT Intel version was that hostmode logins stopped working. Fixed in 1.1.15.

432. SET TELNET TERMINAL TYPE affects actual terminal type (K)

SET TELNET TERMINAL erroneously resulted in a SET TERMINAL TYPE command whenever a Telnet terminal type negotiation occurred. Fixed in 1.1.15.

433. Problems with Kermit transfers on some Telnet connections (K)

If the remote telnet server did not send the CR-NUL sequence together and Kermit's window size was 1, Kermit transfers could time out waiting for the NUL. Fixed in 1.1.15.

434. AIX and HFT arrow keys didn't work in the Command screen (K)

AIX and HFT emulation Gray arrow keys did not manipulate the command history list in the Command screen. Fixed in 1.1.15.

435. AIX and HFT emulation versus Autowrap (K)

AIX and HFT terminals are not supposed to wrap like a VT terminal. Fixed in 1.1.15.

436. Assorted problems caused by faulty optimization (M)

At least the following problems showed up in 1.1.14 and 1.1.15:

  • Failure to update sections of the screen during terminal emulation;
  • Coloration mixups;
  • In Wyse emulation, entry into protected mode caused an infinite loop;
  • VT scrolling region problems;
  • GET would fail after an XMODEM SEND.

These were traced to bugs in the optimizer of the new release of the Microsoft Visual C/C++ compiler SP2 that was used to build Kermit 95 1.1.15 for Windows. Rebuilding the program without optimization makes these problems disappear. K95 1.1.16 was built with SP3, with optimization turned off. Thus the K95.EXE file is considerably bigger, but the risks are lower (the optimization bugs in 1.1.15 were quite subtle and took a good while to show up and to be properly diagnosed).

518. SET TERMINAL IDLE-xxx command misdocumented

Fixed in the SET TERMINAL command list.

[ Top ] [ Index ] [ K95 Home ] [ Kermit Home ]


Kermit 95 Fixed Bug List / Columbia University / kermit@kermitproject.org / 2 April 2002