Skip to content

Fixing the rectangular area operations! - #549

Merged
davidrg merged 21 commits into
masterfrom
rectarea-fixes
Jul 31, 2026
Merged

Fixing the rectangular area operations!#549
davidrg merged 21 commits into
masterfrom
rectarea-fixes

Conversation

@davidrg

@davidrg davidrg commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Failing tests from the test suite linked in #547:

  • 1.2 DECFRA: Default parameters - current behaviour matches VT520, but not VT420
  • 1.3 DECFRA: Invalid parameters - current behaviour matches VT520, but not VT420
  • 1.4 DECFRA: Origin Mode
  • 2.4 DECERA: Origin Mode
  • 3.4 DECSERA: Origin Mode
  • 4.4 DECCRA: Origin mode
  • 4.5 DECCRA: Double-width/height lines
  • 4.6 DECCRA: Overflowing page boundary
  • 5.4 DECCARA: Origin mode
  • 5.6 DECCARA: Overflowing page boundary
  • 6.2 DECRARA: Default parameters
  • 6.3 DECRARA: Invalid parameters
  • 6.4 DECRARA: Origin mode
  • 6.6 DECRARA: Overflowing page boundary
  • 7.1 Attributes: Default
  • 7.2 Attributes: All Off / Reverse All
  • 7.3 Attributes: Increased Intensity (1)
  • 7.4 Attributes: Negative image (has extra underlining?)
  • 7.10 Attributes: All Off + Negative
  • 7.11 Attributes: Default + Negative
  • 7.12 Attributes: Negative+Positive - I think this is probably failing currently
  • Bonus: should probably check DECRQCRA - probably has the same DECOM issues as all the rest.

A lot of the issues so far are resolved by reducing the copy&paste by moving all of the rectangular area validation, etc, into a function shared by all the rectangular area operations, and then fixing the bug once rather than six times

@davidrg davidrg linked an issue Jul 22, 2026 that may be closed by this pull request
davidrg added 12 commits July 25, 2026 09:05
For VT420 and K95 terminal types at least. While the VT520s behaviour is probably the result of a bug, its still the way the VT520 behaves so when those terminal emulations eventually appear they'll behave as the hardware does.
…bold attribute to apply to the background rather than the foreground. I assume this is true for the VT100 and VT320 as well.

Kermit 95 has never done this in the past. Now it does.
I can't see there being any risk of compatibility issues in doing this.
…or the K95 terminal type only. The "Reverse All" operation excludes these attributes (Reverse most?) just in case there is anything out there that might be relying on the specific attributes Reverse All reverses.
@davidrg
davidrg marked this pull request as ready for review July 28, 2026 09:52
davidrg added 3 commits July 29, 2026 21:50
… things. Also reduced wait times for some tests now that K95s telnet client has somewhat higher throughput.
Also, move parameter validation for the non-DECOM case to outside the loop as it only needs to happen once.
@davidrg
davidrg merged commit 632060e into master Jul 31, 2026
6 checks passed
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.

Rectangular area operation edge cases

1 participant