Commit Graph

325 Commits

Author SHA1 Message Date
edad606809 patches: fix double-speech and evil block cursor char reading
- SelectedTextChanged posted only for focused element: prevents completion
  buffer from triggering double-speech (old-candidate + new-candidate)
- AnnouncementRequested for char navigation restored (evil block cursor fix):
  posted AFTER SelectedTextChanged so VoiceOver cancels its own reading
  and uses our explicit char-at-point announcement
- Priority: Medium (was High)
2026-02-27 12:16:32 +01:00
5f98a78467 patches: fix 5 critical issues in VoiceOver patch
- Remove static Lisp_Object locals; use DEFSYM in syms_of_nsterm (GC-safe)
- Replace Lisp calls in accessibilityIndexForCharpos / charposForAccessibilityIndex
  with NSString composed-character traversal (thread-safe, no Lisp needed)
- isAccessibilityFocused reads cachedPoint instead of marker_position off-thread
- Remove double-announcement: character nav uses only SelectedTextChanged
- Line announcement priority: High → Medium (avoid suppressing VO feedback)
2026-02-27 12:07:19 +01:00
3df5dc94b1 patches: fix char nav — announce char AT point, not before it (evil block cursor) 2026-02-27 11:48:42 +01:00
75c1b471c4 patches: fix granularity — line comparison not delta, fixes org-mode empty lines 2026-02-27 11:36:08 +01:00
8890e659e1 patches: systematic line announcement (granularity=line, all modes) 2026-02-27 11:14:30 +01:00
0110670734 patches: fix broken function insertion (build error) 2026-02-27 11:06:14 +01:00
Martin Sukany
ab4367c459 update 2026-02-27 11:05:28 +01:00
f306599d94 patches: fix completion announcement (CONSP completion--string, focused+unfocused paths) 2026-02-27 11:01:22 +01:00
c138bdc6d5 patches: remove accessibilityChildren override (C-n/C-p line nav regression fix) 2026-02-27 10:47:54 +01:00
5f08e0a315 patches: fix completion span boundary (completion--string vs mouse-face) 2026-02-27 10:42:31 +01:00
23102444d4 patches: fix build errors (Fplist_get arity, MRC weak, duplicate decl) 2026-02-27 10:31:02 +01:00
92ef24332f patches: add EmacsAccessibilityInteractiveSpan (VoiceOver Tab nav, buttons, links, completions) 2026-02-27 10:26:29 +01:00
7a0e7722f7 patches: fix Tab navigation in completion buffer (probe order + Tab detection) 2026-02-27 10:10:39 +01:00
1245253e15 patches: fix B1 (live window ref), B2 (matrix guard), B3 (invisibility-spec), H1 (thread safety), H4 (main thread assert) 2026-02-27 09:57:10 +01:00
081d1c01e7 patches: restore postAccessibilityUpdates in ns_update_end (VoiceOver broken after rebase) 2026-02-27 09:39:42 +01:00
d11aa168b9 patches: fix Vreal_this_command linker error, squash into single patch 2026-02-27 07:43:13 +01:00
f37e06b00f patches: rebase on upstream f0dbe25 + fix NSRange return type 2026-02-27 07:38:18 +01:00
7419d9b0e4 patches: regenerate from actual emacs repo (fix src/ path prefix) 2026-02-27 07:31:44 +01:00
368f9600df patches: fix NSRange return type bug in accessibilitySelectedTextRange 2026-02-27 07:29:56 +01:00
97776b5141 Fix patch after 3-reviewer pipeline review
- BLOCKER: real_this_command → Vreal_this_command (DEFVAR_LISP uses V prefix)
- Thread safety: setAccessibilitySelectedTextRange dispatches to main thread
- Defensive: 7 new BUFFERP(w->contents) guards before XBUFFER calls

Reviewed by: symbol checker, logic/memory reviewer, ABI/build reviewer
Verified: git apply --check OK, zero real_this_command refs, dispatch_async present
2026-02-26 22:27:25 +01:00
3c0a68cfb9 Fix patch: adjust subsequent hunk offsets after 2-line removal 2026-02-26 21:52:48 +01:00
Martin Sukany
9a08f01066 removed 2026-02-26 21:51:50 +01:00
Martin Sukany
20d9605afa Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 21:50:36 +01:00
35a5326c18 Fix corrupt patch: correct hunk line counts after extern removal 2026-02-26 21:50:23 +01:00
Martin Sukany
f6c4328cf6 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 21:43:12 +01:00
220e90144f Fix build errors in Zoom/VoiceOver patch
- Remove 'extern Lisp_Object last_command_event' - last_command_event
  is a macro in globals.h (expands to globals.f_last_command_event),
  so an extern declaration conflicts with the existing
  'extern struct emacs_globals globals'
- Replace invalid C escape sequences '\C-n' and '\C-p' with
  ('n' & 0x1f) and ('p' & 0x1f) respectively
2026-02-26 21:43:04 +01:00
Martin Sukany
c8d7d11136 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 21:38:10 +01:00
3bad798541 patches: fix v16.4 build errors (extern redecl + invalid C-n/C-p escape) 2026-02-26 21:37:41 +01:00
Martin Sukany
259ec157d1 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 19:14:20 +01:00
7c01587079 patches: isolate C-n/C-p keypath from arrow navigation 2026-02-26 18:41:35 +01:00
059ee5a0ea patches: target C-n/C-p vs arrow VoiceOver line-read mismatch 2026-02-26 18:37:06 +01:00
Martin Sukany
fde9454f41 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 18:25:13 +01:00
1b42d553a2 patches: completion candidate-aware VoiceOver announce fix 2026-02-26 18:25:04 +01:00
Martin Sukany
b691e804d2 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 18:08:03 +01:00
74b9691856 patches: fix AX enum mapping + completion announcement source 2026-02-26 18:06:14 +01:00
Martin Sukany
f95d06dc82 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 17:51:20 +01:00
b3a6141831 patches: robust AX/VoiceOver fix after full audit pipeline 2026-02-26 17:49:56 +01:00
Martin Sukany
c0a9bc8c62 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 17:32:55 +01:00
8720a43d04 patches: fix paths to src/nsterm.{m,h} 2026-02-26 17:32:31 +01:00
Martin Sukany
e6608d9813 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 17:31:27 +01:00
8ae3f0b367 patches: update VoiceOver patch (v15.9 candidate) 2026-02-26 17:30:21 +01:00
Martin Sukany
bae4368d9e Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 17:05:52 +01:00
fa4748eb4c voiceover: refresh ns accessibility patch to v15.8 2026-02-26 17:02:49 +01:00
Martin Sukany
ef18e6ef7b Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 16:08:05 +01:00
25e2a21245 v15.7: fix buffer gap corruption in visible text extraction
Root cause: ns_ax_buffer_text used BUF_BYTE_ADDRESS + raw pointer
read which crosses the buffer gap when visible runs span it. The gap
follows point, so completion cycling and dired navigation reliably
trigger corruption — VoiceOver reads wrong text.

Fix: Replace raw pointer extraction with Fbuffer_substring_no_properties
which handles the gap internally. Add ax_length field to visible run
struct for accurate UTF-16 length tracking (fixes supplementary
Unicode character offset drift).

Secondary: ax_offset accumulation now uses NSString length (UTF-16
units) instead of Emacs char count, preventing progressive drift in
index mapping for subsequent visible runs.
anthropic-working
2026-02-26 16:07:42 +01:00
Martin Sukany
4449c5a3bd Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 15:45:38 +01:00
f09f6dd0f3 v15.6: replace TEXT_PROP_MEANS_INVISIBLE (xdisp.c only) with !NILP check 2026-02-26 15:44:55 +01:00
Martin Sukany
f9403bc6a4 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 15:40:40 +01:00
4a0c35a52c v15.6: skip invisible text, charpos↔index mapping, completions overlay
Major architectural change: ns_ax_buffer_text now skips text with
the 'invisible' property using TEXT_PROP_MEANS_INVISIBLE. Accessibility
text matches what the user sees on screen.

New ns_ax_visible_run struct tracks charpos↔ax-index mapping for each
visible text run. All 8 index conversion sites updated. Fixes wrong
line reading in dired, completions, and any buffer with invisible text.

Completions announcement now detects completions-highlight overlay
and reads the full highlighted candidate text instead of partial line.

2000-line patch, 54 references to new mapping infrastructure.
2026-02-26 15:40:28 +01:00
Martin Sukany
14a0b703ec Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-26 15:22:33 +01:00