Skip to content

fix(mac): apply backspace to correct location 🍎 - #16634

Draft
sgschantz wants to merge 3 commits into
epic/mac-configfrom
fix/mac/erratic-backspace
Draft

sgschantz wants to merge 3 commits into
epic/mac-configfrom
fix/mac/erratic-backspace

Conversation

@sgschantz

@sgschantz sgschantz commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

When applying a backspace or delete by executing an insert with a replacement range, calculate the correct location for the insert to avoid deleting the incorrect characters.

Build-bot: release:mac

Fixes: #16440
Fixes: #16448

User Testing

Preparation: install the keyboard bksp_ldml.zip
All tests should be using compliant apps such as Apple's Pages, TextEdit or Stickies.

  • TEST_BKSP_D_ACUTE_VERIFY_CONTEXT: In a compliant app, with the BKSP keyboard selected, type:
    abc     d/
    Select the text, copy and paste it into a character viewer and verify that the last two characters are U+0064 U+0301.
  • TEST_BKSP_D_ACUTE: In a compliant app, with the BKSP keyboard selected, type:
    abc     d/
    Then press bksp. The result should be abc d.
  • TEST_EUROLATIN_E_ACUTE: In a compliant app, with the EuroLatin keyboard selected, type:
    caf'e
    The result should be café.
    Then press bksp. The result should be caf.
  • TEST_EUROLATIN_BACKSPACE: In a compliant app, with the EuroLatin keyboard selected, type:
    abcreturnab
    Then press bksp four times. The result should be ab.
  • TEST_REPLACE_SURROGATE_PAIR_CHARACTER: processing a character that causes the replacement of a surrogate pair produces the correct, uncorrupted output
  1. Open the Stickies app and create a new Note
  2. Switch to the Malar Tirhuta keyboard
  3. Type k
  4. Confirm that the letter 𑒏𑓂 was typed
  5. Type e
  6. Confirm that output now reads: 𑒏𑒹
  7. Confirm that the text can be selected and successfully copied into a TextEdit document
  8. Confirm that backspace deletes the letters in the order they were entered

@sgschantz sgschantz self-assigned this Sep 22, 2026
@sgschantz sgschantz added the mac/ label Sep 22, 2026
@sgschantz sgschantz added this to Keyman Sep 22, 2026
@github-project-automation github-project-automation Bot moved this to Todo in Keyman Sep 22, 2026
@keymanapp-test-bot keymanapp-test-bot Bot added the user-test-required User tests have not been completed label Sep 22, 2026
@keymanapp-test-bot

keymanapp-test-bot Bot commented Sep 22, 2026

Copy link
Copy Markdown

User Test Results

Test specification and instructions

  • TEST_BKSP_D_ACUTE_VERIFY_CONTEXT (OPEN)
  • TEST_BKSP_D_ACUTE (OPEN)
  • TEST_EUROLATIN_E_ACUTE (OPEN)
  • TEST_EUROLATIN_BACKSPACE (OPEN)
  • TEST_REPLACE_SURROGATE_PAIR_CHARACTER (OPEN)
Results Template
# Test Results

* **TEST_BKSP_D_ACUTE_VERIFY_CONTEXT (OPEN):** notes
* **TEST_BKSP_D_ACUTE (OPEN):** notes
* **TEST_EUROLATIN_E_ACUTE (OPEN):** notes
* **TEST_EUROLATIN_BACKSPACE (OPEN):** notes
* **TEST_REPLACE_SURROGATE_PAIR_CHARACTER (OPEN):** notes

@keymanapp-test-bot keymanapp-test-bot Bot changed the title fix(mac): apply backspace to correct location fix(mac): apply backspace to correct location 🍎 Sep 22, 2026
@keymanapp-test-bot keymanapp-test-bot Bot added this to the B19S2 milestone Sep 22, 2026
@github-actions github-actions Bot added the fix label Sep 22, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant