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

[pull] main from microsoft:main #154

Merged
merged 3 commits into from
Apr 11, 2024
Merged

[pull] main from microsoft:main #154

merged 3 commits into from
Apr 11, 2024

Commits on Apr 10, 2024

  1. Remove dependency on IsGlyphFullWidth for IRM/DECSWL (#16903)

    This gets rid off the implicit dependency on `IsGlyphFullWidth`
    for the IRM and DECSWL/DECDWL/DECDHL implementations.
    
    ## Validation Steps Performed
    In pwsh:
    * ``"`e[31mab`e[m`b`e[4h`e[32m$('*'*10)`e[m`e[4l"``
      prints a red "a", 10 green "*" and a red "b" ✅
    * ``"`e[31mab`e[m`b`e[4h`e[32m$('*'*1000)`e[m`e[4l"``
      prints a red "a" and a couple lines of green "*" ✅
    * ``"`e[31mf$('o'*70)`e[m`e#6`e#5"``
      the right half of the row is erased ✅
    lhecker authored Apr 10, 2024
    Configuration menu
    Copy the full SHA
    4fd15c9 View commit details
    Browse the repository at this point in the history
  2. Reduce cost of cursor invalidation (#15500)

    Performance of printing enwik8.txt at the following block sizes:
    4KiB (printf): 53MB/s -> 58MB/s
    128KiB (cat): 170MB/s -> 235MB/s
    
    This commit is imperfect. Support for more than one rendering
    engine was "hacked" into `Renderer` and is not quite correct.
    As such, this commit cannot fix cursor invalidation correctly either,
    and while some bugs are fixed (engines may see highly inconsistent
    TextBuffer and Cursor states), it introduces others (an error in the
    first engine may result in the second engine not executing).
    Neither of those are good and the underlying issue remains to be fixed.
    
    ## Validation Steps Performed
    * Seems ok? ✅
    lhecker authored Apr 10, 2024
    Configuration menu
    Copy the full SHA
    20b0bed View commit details
    Browse the repository at this point in the history
  3. Replace WinRT clipboard API with Win32 for copying (#17006)

    In the spirit of #15360 this implements the copy part.
    The problem is that we have an issue accessing the clipboard while
    other applications continue to work just fine. The major difference
    between us and the others is that we use the WinRT clipboard APIs.
    So, the idea is that we just use the Win32 APIs instead.
    
    The feel-good side-effect is that this is (no joke) 200-1000x faster,
    but I suspect no one will notice the -3ms difference down to <0.01ms.
    
    The objective effect however is that it just works.
    
    This may resolve #16982.
    
    ## Validation Steps Performed
    * Cycle through Text/HTML/RTF-only in the Interaction settings
    * Paste the contents into Word each time
    * Text is plain and HTML/RTF are colored ✅
    lhecker authored Apr 10, 2024
    Configuration menu
    Copy the full SHA
    5f3a857 View commit details
    Browse the repository at this point in the history