Copyright ã1992,1993,1994,1995,1996 by Scott Hess.  All Rights Reserved.

Stuart2.6.3+ Bug Fix

·	Fix graphics character drawing.  Some experimental code got out of hand and effectively disabled graphics characters by default.  Since this was a one-line change, a new version number is barely worthwhile.

Stuart2.6.3 Bug Fixes

·	Fix to the search code.  The search code wouldn't find certain patterns correctly.  For instance, given `-DDEBUG', it couldn't find `debug' in a next search, though it could with a previous search.  The problem was the duplicate D.  Now it correctly handles this case.

·	Mail should no longer launch if you are using a mailreader that listens to the MailSendDemo port.

·	Workarounds for certain signal problems.  Something changed in the pty-related signal handling under NeXTSTEP3.2, and again under NeXTSTEP3.3.  As of yet, I really don't understand what the change was (perhaps I should swing the entrails counterclockwise?), but I've found a fix for at least one of the problems.  `gnutar -ztvf barf.tar.gz' should no longer complain about broken pipes when run in a Stuart window.

Stuart2.6.2 Bug Fixes

·	TermcapSpoofing wasn't spoofing.  When you telnet into a remote site, it left the cursor at the top of the screen.  Now it stays in one place.

·	Miniwindow problems.  Sometimes Stuart  crashed when unminiaturizing a window.  This appeared to be related to title changes while the window was miniaturized.  It usually seemed to happen when the window was Miniaturized within Stuartrc, and unminiaturized from the Windows menu or with a command-key.

·	OmniWeb `zaps' now can be dropped into Stuart windows, and are pasted as text.

·	Mail should no longer launch if you are using a mailreader that listens to the MailSendDemo port.

·	Graphics characters print.  Previously, graphics characters printed as the corrosponding ASCII characters.

·	Color drawing, gray colors.  When the colors are grayscale (red==green==blue), Stuart uses PSsetgray() instead of NXSetColor().  So long as you don't introduce colors (on a shelf, for instance), windows keep a low depth limit.  This should speed things up for people who don't use color on a color system (mono systems don't use color depths in their windows in any case).

Stuart2.6.1 Bug Fixes

·	Cursor misdraw.  In some cases the code to redraw the "normal" text when the cursor moves drew a "phantom" selection.  This has been fixed.

·	Selection misdrawing without scrollback.  Selections in a window without scrollback were not correctly moving with the text, resulting in "persistent" selections, and visible selections not matching the internal selections.

·	DeleteSendsBackspace.  Wasn't working before, now it is.

Stuart2.6 Bug Fixes

·	ShortLineSpacing off.  When ShortLineSpacing was turned off, the code wasn't calculating the correct line height, resulting in periodic off-by-one type errors and general garbage.

·	Cursor movement w/in selections.  When moving the cursor within the current selection, it didn't redraw the selected background.

·	ISOLatin and copy/paste.  Paste wasn't translating to ISOLatin, resulting in garbled input.

·	Backgrounds and printing.  The print panel attributes button can now select printing of attributes without background.  Currently this facility is not "smart" in that the foreground colors are printed as-is.  Use "No Atttributes" if your color scheme doesn't print well.

Stuart2.5.3 Bug Fixes

·	Buffer searches with extended characters.  When searching for characters such as Ú, Stuart didn't ignore case.  † wouldn't find Ú.

·	Word definition for double-click.  Double-click wasn't considering characters like Ú to be part of a word.

·	The cursor and extended characters.  When the cursor went over characters such as Ú, it drew the background but not the character itself.

·	Inability to kill non-shell Shell on NS3.3.  For some reason, using a Shell like "tail -f /tmp/console.log" caused  Stuart problems because it couldn't kill the shell when closing the window or quitting.  During the course of research, I stumbled across a fix which appears to work, but since I don't understand why, I'd appreciate if people who had this problem bang on things.

	For  those who want to know, I was checking the value of the SIGHUP signal handler by printing out the return value from signal( SIGHUP, SIG_DFL).  As a side effect, this fixed the problem.  The return value from the call?  SIG_DFL.  So changing SIGHUP's signal handler from SIG_DFL to SIG_DFL fixed the problem.  Sigh.

·	Changes to scrollback limits didn't immediately take effect.  The size limit wasn't being applied until the next scrolling event.  Now it's forced out immediately.

·	Trash under the emulation  area.  In certain causes, when the scrollback limit was causing removal of lines, trash (actually partial lines) were drawn under the last line of the emulation area.

·	Delete menu item is back.  The Delete menu item now allows deletion of completely selected lines in the scrollback buffer.  Partial lines cannot be deleted, nor can lines in the emulation area.

·	Print panel console output.  Printing caused console output on the order of "lockFocus sent to a view which is not in a window".

Stuart2.5.2 Bug Fixes

·	Search from a triple-click selection.  If you tried to run a find when the current selection was a triple-click (complete line) selection, Stuart crashed.

·	Paste Selection.  This menu item was enabled when it wasn't usable and disabled when it was.  It crashed if you tried to use it.

·	Turning off scrollback.  Stuart crashed quickly if you turned off scrollback entirely in a window.  I spent too much time testing scrollback limits, and didn't test the zero case :-(.

·	Resizing with a selection crash.  If you resized the window vertically such that selected empty lines at the end of the scrollback pushed off the bottom of the window, Stuart crashed.

·	Invalid OSC length assertion.  If the subprocess sent ``\E]\E'', the parser came through with an empty OSC sequence ``\E]'', and the handler code asserted that the shortest possible OSC was three characters.  Now the handler assumptions match the parser assumptions.

·	Odd font sizes.  Font sizes without screen fonts work again.  [For instance, Ohlfs-11.]  With an odd size, no text was being displayed.

·	Resizing window homes cursor.  If the cursor was in the zero column of the last line on resize, it was being sent to the home position by mistake.

·	PASS8 default.  ttys were being set up for 7-bit operation.  They've been changed to apply PASS8 and PASS8OUT (see stty manual page).

·	First word selection.  Double-clicking on a word who's first character is at the beginning of the scrollback buffer now selects the entire word.

·	Miniwindow activity indicator.  The miniwindow icon was only changing when a control character was output, but not if only printable text was output.

·	Address updates.  Updated the email address for Info/Bug Scott, and the postal address in Registration form.

·	No boldface works.  If you turned off all aspects of boldface, it defaulted to Overstrike since the code wasn't considering the empty case.

·	Print offsets cursor.  When the Print Panel was up, the cursor was being drawn in an odd place.  No longer.

Stuart2.5.1 Bug Fixes

·	NeXTSTEP printing support.  It's back online.  For now it's what Stuart's always had, but I'm considering addition of an attributes-printing selection which will print all attributes except for background colors (you might want to see underscores or boldface, but not large blocks of reverse video).

·	Find Prev.  There was a problem in the backwards-scanning code.  The problem is no more.

·	Clear Buffer.  This seems to be working well now.

·	Odd color wells.  The color wells are mostly normal.  The pop-up buttons in the background area of the colors inspector (Command-5) have a color well-like object embedded in them.  You can drag and drop colors to it, but you can't make it "current" at this time.

·	Color dragging with multiple inspector windows open.  This was actually crashing Workspace, which was a neat trick.  It's fixed now.

·	Periodic crashes.  Some are fixed, some remain.

·	Periodic display weirdisms.  These seem to all be gone.

Stuart2.5.0 Bug Fixes

None (or lots, depending on your point of view).  Since 2.5.0 has so many changes, I'm resetting the fixes so we can start finding new ones.  The following fixes should mostly apply.

Stuart2.45 Bug Fixes

·	Fixed the Meta key stuff.  Again.  This time it was a problem if you changed the setting at runtime.  It wasn't getting the new settings propagated correctly.  Really, it works this time.  I think.

·	If the user doesn't have an explicit value for the Shell preference, the value is retrieved from their passwd entry.

·	Keypad PF1-PF4 have been fixed to work correctly on Intel.  Unfortunately, it appears that under some circumstances on Intel machines, keydown events are incorrectly marked as not coming from the keypad, which means Stuart won't generate keypad sequences from them.  You can also use F1-F4 instead of PF1-PF4.

Stuart2.441 Bug Fixes

·	OK, so the VT200 function key stuff mentioned in Features.rtf didn't work.  NEXTSTEP sends different values for the code that indicates it's a function key under Intel than it does in NEXTSTEP.  Should work now.

·	The Meta key wasn't working correctly for new Stuart users.  Due to how the bug reports came in, there was a strong case for the problem being restricted to Intel systems, but it turns out that it happened for all systems where the user hadn't been using Stuart before.  Sigh.  It should work now.

Stuart2.44 Bug Fixes

·	In the past if the first page of your scrollback had wrapped-around lines and you did a Edit/Clear Buffer, then the wrap information was retained so that later if you copied from that area lines were run together.  I believe this is fixed now (I just keep thinking that I thought I'd fixed it before ...).

Stuart2.431 Bug Fixes

·	Fixed a bug which caused a crash when a file was dropped in an emulation window and PasteOnDrop was YES (but not cd or pushd).

Stuart2.42 Bug Fixes

·	Fixed a bug which happened when the cursor was over a graphics character - it was drawing the character as the non-graphics version.

·	Fixed a bug where non-DarkCursor on ReverseBlack background would entirely erase characters as it passed over them (in emacs, for instance).

·	Stuart2.41 modified the clear-line algorithms to push the cleared line to the scrollback if the entire line was clear (ie, if the cursor was at the zero position and a clear-to-EOL was received).  Unfortunately, a number of people have noted that this causes problems with programs that optimize output and/or are interactive but really screen-based, because they often send the sequence `^M^[[K' to erase the current partially-entered line before overwriting it with new data.

A notable program which has problems with this is more(1).  If you've been noticing multiple `--More--' lines lately, it's because of this problem.  I'll leave out this option until such time as I do something weird like add a `Scrollback' pane to the inspectors :-).

Stuart2.41 Bug Fixes

·	Fixed a number of bugs which crashed Stuart if a window only exists for a few seconds, for instance if a soil command doesn't work correctly.

·	Fixed a bug which manifested if the subprocess died in multiple windows at very nearly the same time.

·	Fixed a number of bugs related to miniaturization of windows.  Sometimes titlebars would get confused, and in certain instances Stuart could be crashed, especially when using keyboard short-cuts to unminiaturize the window.

·	Fixed a bug which caused crashes in some cases when writing Stuartrc files while windows were miniaturized.

·	Force slog to complete logging before running the subprocess.  Previously, a race condition could occur and the subprocess could access the logfiles and pty device before slog had logged the user and fixed ownerships.

·	Fixed bug in slog which caused it to output `Bad file number' errors to the console.  Now errors should give a better indicator of what the problem really is.

·	Shelf icons are re-imaged when a Stuart window is moved between screens with different depths, such as on a two-headed NeXTdimension system.

·	The Bug Scott... menu item now leaves Mail as the active application after the send window is opened.

·	When running with -NXHost, a default keymapping is used since the one for the machine Stuart is running on will most likely be incorrect (and inaccessable).

·	Fixed a bug which sometimes left the mouse cursor in an invisible state when dynamically changing ReverseBlack modes.

·	You can no longer use Alternate-arrow sequences while modal panels such as the Print Panel are visible.

·	All previous Stuarts made an error in emulating the \E[20h and \E[20l newline mode set/reset sequences.  In fact, they did not emulate it at all, as I had mistook it for a vt100 private sequence starting with \E[?.  Bummer.

·	Version numbers are now consistant.  At least where it's important.

Stuart2.4 Bug Fixes

There are a number of bug and mis-feature fixes in Stuart2.4.  Some are related to NeXTSTEP3.0pr support, some are foreign keyboard support, and some are related to outright bugs.  There are not any NeXTSTEP3.0 features, per-se, unless you consider the ability to execute under NeXTSTEP3.0pr1 to be a feature.

·	Stuart2.3 contained a bug related to miniwindow icons that caused it to crash on startup under NeXTSTEP3.0pr1.

·	The miniwindow icon now correctly shows the NeXTSTEP3.0 shading.

·	When Meta is disabled, all main keyboard Alternate translation is disabled.

·	When Meta is disabled, dead-key supression is also disabled.

·	There is a flag to allow disabling Alternate translation on the keypad, also.

·	Stuart now emulates an apparent bug in Terminal's vt100 emulation which causes Terminal to not home the cursor when the scrolling region is set to the entire screen.  This emulation only occurs when TermcapSpoof is turned on.

·	Stuart contained a bug which could cause it to crash when the cursor "bounced" against the right hand side of the window before autowrapping.

·	The upper limit on the incoming text buffer has been raised from 64k to 4Gig.  This affects large Paste functions (obviously, those at or above 64k in size).  There will be no extensions beyond the 4Gig mark.

·	Large pastes now work, too - previsouly, even some sub-64k pastes did not work correctly.

·	Pty speed is initialized to 38.4kbaud rather than 9600baud.

·	Stuart can trace the executable's directory through symbolic links.  Thus, Stuart works correctly if you link to the Stuart.app/Stuart file.

·	Stuart no longer hardwires logging to utmp and fixing of pty ownerships to the SourceDotLogin flag.  These are seperate options now.

·	Stuart now uses a subprocess called slog to provide the functionality previous supplied by StuartLog.  At many sites, StuartLog would hang for no apparent reason causing a great deal of annoyance.  This hanging was apparently related to large netinfo databases, slow computers, and people with many autolaunch-on-login programs.  slog is a subprocess that runs continuously for the life of Stuart, with one slog process per running Stuart.  Source is still included.

·	Stuart now kills subprocesses on window close using SIGHUP.

·	Keypad now defaults to NeXT keypad instead of vt100 keypad.

·	Font Panel correctly allows Letter Gothic as a fixed-pitch font (it should work with all other fixed-pitch fonts, too).