Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rmk36 tedit fifth round #1857

Open
wants to merge 67 commits into
base: master
Choose a base branch
from
Open

Rmk36 tedit fifth round #1857

wants to merge 67 commits into from

Conversation

rmkaplan
Copy link
Contributor

This is the long awaited, next major release candidate for Tedit. Many changes to address many lingering issues, improve maintainabilty, robustness, and performance in some areas. TEDIT-RELEASENOTES.TEDIT highlights some of the changes.

This is a draft, may have lingering problems--testing of screen/mouse interactions is difficult. But please give it a try.

@nbriggs
Copy link
Contributor

nbriggs commented Oct 23, 2024

Try opening the attached Slides.tedit.txt (remove the .txt) and scrolling it. Older TEdit scrolls OK, latest TEdit dies with an arg not non-complex number (IQUOTIENT 0 NIL) under SCROLLW
Slides.tedit.txt

The Slides file is from https://xeroxparcarchive.computerhistory.org/phylum/ctamarin/doc/talks/.index.html

@rmkaplan
Copy link
Contributor Author

Try opening the attached Slides.tedit.txt (remove the .txt) and scrolling it. Older TEdit scrolls OK, latest TEdit dies with an arg not non-complex number (IQUOTIENT 0 NIL) under SCROLLW Slides.tedit.txt

The Slides file is from https://xeroxparcarchive.computerhistory.org/phylum/ctamarin/doc/talks/.index.html

Default tab was not always initialized properly, now fixed. File was a little bit odd: a run of tabs coded as 2-bytes (255 255 0 0 9), but that was more amusing than problematic.

@nbriggs
Copy link
Contributor

nbriggs commented Oct 24, 2024

After this fix, again using Slides.tedit, if the TEdit window is not as tall as the image object (e.g., shorter than the Internal Stack Frame sketch) then it is impossible to scroll past the image object - either in the scroll bar, or using the scroll wheel/trackpad.

@rmkaplan
Copy link
Contributor Author

After this fix, again using Slides.tedit, if the TEdit window is not as tall as the image object (e.g., shorter than the Internal Stack Frame sketch) then it is impossible to scroll past the image object - either in the scroll bar, or using the scroll wheel/trackpad.

This is somewhere on the list--I think Frank raised it quite some time ago. The venuesysout shows a little bit more, but is goofy in a different way.

The question is whether to show a line that would be partially out of the window, either above or below. The current strategy is to suppress the line completely, so that you don't see half of the characters on an overflow line. That's pretty clean because most windows are much higher than the typical fonts, so a line is all or nothing. But doesn't work well with characters in a very high font...and a high image object is treated essentially as a character in a very high font. A line doesn't show at all if any part of its image would be outside the window.

I'm not sure what the right heuristic should be. Turn off the filter for any line containing an object? Turn it off for lines above a given height, whether due to a font or an object? Suggestions?

@nbriggs
Copy link
Contributor

nbriggs commented Oct 24, 2024

A line doesn't show at all if any part of its image would be outside the window.

That doesn't seem to be quite what it is doing -- as you scroll into the large sketch object it does display the top part of the image, but won't allow you scroll past it (you can scroll towards the beginning but not towards the end). And when playing around with scrolling it after reshaping the window to be a little bigger (but not big enough to get the whole thing) I got another arg not non-complex number: NIL -- this time in \TEDIT.SCROLLDOWN. BTV! attached.
tedit-scroll.txt

@nbriggs
Copy link
Contributor

nbriggs commented Oct 24, 2024

If it knows that the total height of a line (font, or image object) is larger than the height of the window could it not filter it out? Looking at modern apps, they don't filter at all - they jump by the height of the font you're in for input, but once the (large) text is there you can scroll to expose only a partial character.
image

The other complication is that the size of the "visible area of document" in the scroll bar keeps changing in size as you scroll:
Screenshot 2024-10-24 at 10 02 44 AM
Screenshot 2024-10-24 at 10 03 24 AM

SAVE.SYSOUT Outdated
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this SAVE.SYSOUT supposed to be checked in as part of this?

@rmkaplan
Copy link
Contributor Author

No, sorry about that.

@nbriggs
Copy link
Contributor

nbriggs commented Nov 22, 2024

Try this: Open a moderate sized TEDIT window and type

asdf
asdf
asdf
qwer

leaving the caret at the end of qwer, and then in the left margin area (so it flips to the right slanted cursor) shift-select the qwer, and without moving the cursor or caret, shift-select it (the line, or where the line might have been) again and again and again.

@rmkaplan
Copy link
Contributor Author

On the SAVE.SYSOUT: I think the problem is that .gitignore only excludes *.sysout, not also *.SYSOUT

@rmkaplan
Copy link
Contributor Author

(Actually, it only excludes the specific lisp.sysout, full.sysout, fuller.sysout, and apps.sysout. Should it exclude all sysout files?)

@rmkaplan
Copy link
Contributor Author

On the qwer, is the problem that it shows the highlighting of the insertion (maybe as a line below) but it doesn't actually display the characters?

@nbriggs
Copy link
Contributor

nbriggs commented Nov 22, 2024

Screen recording attached...

TEditShiftSelect.mov

@nbriggs
Copy link
Contributor

nbriggs commented Nov 22, 2024

(Actually, it only excludes the specific lisp.sysout, full.sysout, fuller.sysout, and apps.sysout. Should it exclude all sysout files?)

It ignores the named sysouts in the loadups/ directory, but nothing at the top level.

@masinter masinter marked this pull request as ready for review December 19, 2024 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants