diff --git a/patches/0000-ns-integrate-with-macOS-Zoom-for-cursor-tracking.patch b/patches/0000-ns-integrate-with-macOS-Zoom-for-cursor-tracking.patch index 3445573..b4bdd98 100644 --- a/patches/0000-ns-integrate-with-macOS-Zoom-for-cursor-tracking.patch +++ b/patches/0000-ns-integrate-with-macOS-Zoom-for-cursor-tracking.patch @@ -1,4 +1,4 @@ -From 1c0ca763f978e02dd7b3968c3515dd7b41136f8f Mon Sep 17 00:00:00 2001 +From 8a45d478b23b3bc2a1ae039493ba90b07eb89c72 Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 22:39:35 +0100 Subject: [PATCH 1/9] ns: integrate with macOS Zoom for cursor tracking diff --git a/patches/0001-ns-add-accessibility-base-classes-and-text-extractio.patch b/patches/0001-ns-add-accessibility-base-classes-and-text-extractio.patch index 138945b..cf022c0 100644 --- a/patches/0001-ns-add-accessibility-base-classes-and-text-extractio.patch +++ b/patches/0001-ns-add-accessibility-base-classes-and-text-extractio.patch @@ -1,4 +1,4 @@ -From 3b9fa3443a4a2527c45243f9d0f51f29e2715bd4 Mon Sep 17 00:00:00 2001 +From 67bf4786bb3896241bf7ab75cdada0e3da924ec5 Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 12:58:11 +0100 Subject: [PATCH 2/9] ns: add accessibility base classes and text extraction diff --git a/patches/0002-ns-implement-buffer-accessibility-element-core-proto.patch b/patches/0002-ns-implement-buffer-accessibility-element-core-proto.patch index c856d19..146fe30 100644 --- a/patches/0002-ns-implement-buffer-accessibility-element-core-proto.patch +++ b/patches/0002-ns-implement-buffer-accessibility-element-core-proto.patch @@ -1,4 +1,4 @@ -From a67b6d5c2597eb8e927228b9ed8a0d170a0ac8d2 Mon Sep 17 00:00:00 2001 +From 80e590420ce74bb886849d91c245d0c0bece39bf Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 12:58:11 +0100 Subject: [PATCH 3/9] ns: implement buffer accessibility element (core diff --git a/patches/0003-ns-add-buffer-notification-dispatch-and-mode-line-el.patch b/patches/0003-ns-add-buffer-notification-dispatch-and-mode-line-el.patch index e7848cf..2abc762 100644 --- a/patches/0003-ns-add-buffer-notification-dispatch-and-mode-line-el.patch +++ b/patches/0003-ns-add-buffer-notification-dispatch-and-mode-line-el.patch @@ -1,4 +1,4 @@ -From c8b569acd209271b60d95ffe8440f55ad0e90ab4 Mon Sep 17 00:00:00 2001 +From afadafa16eef6e8e6d01ef4f340c451132198ba8 Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 12:58:11 +0100 Subject: [PATCH 4/9] ns: add buffer notification dispatch and mode-line diff --git a/patches/0004-ns-add-interactive-span-elements-for-Tab-navigation.patch b/patches/0004-ns-add-interactive-span-elements-for-Tab-navigation.patch index 9821f17..7b87e6a 100644 --- a/patches/0004-ns-add-interactive-span-elements-for-Tab-navigation.patch +++ b/patches/0004-ns-add-interactive-span-elements-for-Tab-navigation.patch @@ -1,4 +1,4 @@ -From 00c1d32d52789b8c74d53adf58871cf9e8d899c5 Mon Sep 17 00:00:00 2001 +From 010ec7a6e568653e12b904c5bb812a1b3c8e52cf Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 12:58:11 +0100 Subject: [PATCH 5/9] ns: add interactive span elements for Tab navigation diff --git a/patches/0005-ns-integrate-accessibility-with-EmacsView-and-redisp.patch b/patches/0005-ns-integrate-accessibility-with-EmacsView-and-redisp.patch index 870a2fe..347a720 100644 --- a/patches/0005-ns-integrate-accessibility-with-EmacsView-and-redisp.patch +++ b/patches/0005-ns-integrate-accessibility-with-EmacsView-and-redisp.patch @@ -1,4 +1,4 @@ -From fc690cc07ee404cbc8a2733d4cdb6d9d19f30b2e Mon Sep 17 00:00:00 2001 +From f10036eeadf681cd87bbec7ec0581b572053c38a Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 12:58:11 +0100 Subject: [PATCH 6/9] ns: integrate accessibility with EmacsView and redisplay @@ -23,9 +23,8 @@ block cursor, org-mode folded headings, indirect buffers. Known limitations documented in patch 6 Texinfo node. --- etc/NEWS | 13 ++ - src/nsterm.h | 2 + src/nsterm.m | 369 +++++++++++++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 376 insertions(+), 8 deletions(-) + 2 files changed, 374 insertions(+), 8 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index f10d17e..f48d05b 100644 @@ -51,19 +50,6 @@ index f10d17e..f48d05b 100644 --- ** Re-introduced dictation, lost in Emacs v30 (macOS). We lost macOS dictation in v30 when migrating to NSTextInputClient. -diff --git a/src/nsterm.h b/src/nsterm.h -index 6e830de..dd4e3da 100644 ---- a/src/nsterm.h -+++ b/src/nsterm.h -@@ -593,6 +593,8 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType) - Lisp_Object lastRootWindow; - BOOL accessibilityTreeValid; - BOOL accessibilityUpdating; -+ @public /* Accessed by ns_draw_phys_cursor (C function). */ -+ NSRect lastCursorRect; - #endif - BOOL font_panel_active; - NSFont *font_panel_result; diff --git a/src/nsterm.m b/src/nsterm.m index 907ce47..d813274 100644 --- a/src/nsterm.m diff --git a/patches/0006-doc-add-VoiceOver-accessibility-section-to-macOS-app.patch b/patches/0006-doc-add-VoiceOver-accessibility-section-to-macOS-app.patch index bd5f4d2..ca831c6 100644 --- a/patches/0006-doc-add-VoiceOver-accessibility-section-to-macOS-app.patch +++ b/patches/0006-doc-add-VoiceOver-accessibility-section-to-macOS-app.patch @@ -1,4 +1,4 @@ -From f2e85cbcb428a0a405fe84f3342dcd1f88c7745e Mon Sep 17 00:00:00 2001 +From 40bf8a0163b876e1d8f71fa8bd3c4aaa2a28ad52 Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 12:58:11 +0100 Subject: [PATCH 7/9] doc: add VoiceOver accessibility section to macOS diff --git a/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch b/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch index dbc86b1..6f9c86e 100644 --- a/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch +++ b/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch @@ -1,4 +1,4 @@ -From 6e0de5153029aa55e8f62eddfe5cba7c25d74278 Mon Sep 17 00:00:00 2001 +From 456c6a734fb94943b1d9acfaa8c1ffd0f1321ab5 Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 14:46:25 +0100 Subject: [PATCH 8/9] ns: announce overlay completion candidates for VoiceOver @@ -49,7 +49,7 @@ Independent overlay branch, BUF_CHARS_MODIFF gating, candidate 2 files changed, 276 insertions(+), 31 deletions(-) diff --git a/src/nsterm.h b/src/nsterm.h -index dd4e3da..2daa885 100644 +index 6e830de..2102fb9 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -509,6 +509,7 @@ typedef struct ns_ax_visible_run diff --git a/patches/0008-ns-announce-child-frame-completion-candidates-for-Vo.patch b/patches/0008-ns-announce-child-frame-completion-candidates-for-Vo.patch index 982e3d2..e11e77f 100644 --- a/patches/0008-ns-announce-child-frame-completion-candidates-for-Vo.patch +++ b/patches/0008-ns-announce-child-frame-completion-candidates-for-Vo.patch @@ -1,4 +1,4 @@ -From 41ddfb0403ea43279fcadc6b1cd8a493629464bc Mon Sep 17 00:00:00 2001 +From 16e60a514212d8e5e541eb731db242b2bcd1bca2 Mon Sep 17 00:00:00 2001 From: Martin Sukany Date: Sat, 28 Feb 2026 16:01:29 +0100 Subject: [PATCH 9/9] ns: announce child frame completion candidates for @@ -86,13 +86,13 @@ index f48d05b..ec4b95e 100644 for the *Completions* buffer. The implementation uses a virtual accessibility tree with per-window elements, hybrid SelectedTextChanged diff --git a/src/nsterm.h b/src/nsterm.h -index 2daa885..f32d4b2 100644 +index 2102fb9..2fc4de4 100644 --- a/src/nsterm.h +++ b/src/nsterm.h -@@ -596,6 +596,10 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType) +@@ -594,6 +594,10 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType) + Lisp_Object lastRootWindow; + BOOL accessibilityTreeValid; BOOL accessibilityUpdating; - @public /* Accessed by ns_draw_phys_cursor (C function). */ - NSRect lastCursorRect; + BOOL childFrameCompletionActive; + char *childFrameLastCandidate; + struct buffer *childFrameLastBuffer; @@ -100,7 +100,7 @@ index 2daa885..f32d4b2 100644 #endif BOOL font_panel_active; NSFont *font_panel_result; -@@ -665,6 +669,7 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType) +@@ -663,6 +667,7 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType) - (void)rebuildAccessibilityTree; - (void)invalidateAccessibilityTree; - (void)postAccessibilityUpdates;