From bbeb4d87ac13d102df829776c6e24a5af2b27a9d Mon Sep 17 00:00:00 2001 From: Daneel Date: Tue, 3 Mar 2026 13:17:54 +0100 Subject: [PATCH] patches: fix commit msg line lengths, add remaining fixes - 0007/0008: rewrap long commit message lines (>78 chars created by package name generalization); Emacs commit-msg hook enforces 78 char limit - 0006: add paragraph break before 'Block-style cursors' sentence in macos.texi VoiceOver section; update hunk count accordingly - 0000/0007: add comment documenting intentional ns_zoom_face_is_selected / ns_ax_face_is_selected duplication (independent series design) --- ...ntegrate-with-macOS-Zoom-for-cursor-tracking.patch | 5 ++++- ...VoiceOver-accessibility-section-to-macOS-app.patch | 3 ++- ...nce-overlay-completion-candidates-for-VoiceO.patch | 11 +++++++---- ...nce-child-frame-completion-candidates-for-Vo.patch | 8 ++++---- 4 files changed, 17 insertions(+), 10 deletions(-) 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 a893c59..0d1272a 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 @@ -86,7 +86,7 @@ index 932d209f56..88c9251c18 100644 #endif static EmacsMenu *dockMenu; -@@ -1081,6 +1086,281 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) +@@ -1081,6 +1086,284 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) } @@ -130,6 +130,9 @@ index 932d209f56..88c9251c18 100644 + Defined here so the Zoom patch compiles independently of the + VoiceOver patches. */ +static bool ++/* Note: ns_ax_face_is_selected in the VoiceOver series has identical ++ logic. The duplication is intentional: both series are ++ independent and must compile standalone. */ +ns_zoom_face_is_selected (Lisp_Object face) +{ + if (SYMBOLP (face)) 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 e6bda59..f37df74 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 @@ -27,7 +27,7 @@ index 6bd334f48e..8d4a7825d8 100644 * GNUstep Support:: Details on status of GNUstep support. @end menu -@@ -272,6 +273,81 @@ and return the result as a string. You can also use the Lisp function +@@ -272,6 +273,82 @@ services and receive the results back. Note that you may need to restart Emacs to access newly-available services. @@ -101,6 +101,7 @@ index 6bd334f48e..8d4a7825d8 100644 + + This support is available only on the Cocoa build. GNUstep has a +different accessibility model and is not yet supported. ++ +Block-style cursors are handled +correctly: character navigation announces the character at the cursor +position, not the character before it. 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 3ac6f8a..99a23ee 100644 --- a/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch +++ b/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch @@ -3,9 +3,9 @@ From: Daneel Date: Mon, 2 Mar 2026 18:39:46 +0100 Subject: [PATCH 7/8] ns: announce overlay completion candidates for VoiceOver -Completion frameworks such as overlay-based completion frameworks, Ivy, and Icomplete render -candidates via overlay before-string/after-string properties. Without -this change VoiceOver cannot read overlay-based completion UIs. +Overlay-based completion UIs (Vertico, Ivy, Icomplete) render candidates +via overlay before-string/after-string properties. Without this change +VoiceOver cannot read overlay-based completion UIs. * src/nsterm.m (ns_ax_face_is_selected): New static function; matches 'current', 'selected', 'selection' in face symbol names. @@ -37,7 +37,7 @@ diff --git a/src/nsterm.m b/src/nsterm.m index 8e5cc7e1d7..8ef344d9fe 100644 --- a/src/nsterm.m +++ b/src/nsterm.m -@@ -7263,11 +7263,154 @@ Accessibility virtual elements (macOS / Cocoa only) +@@ -7263,11 +7263,157 @@ Accessibility virtual elements (macOS / Cocoa only) /* ---- Helper: extract buffer text for accessibility ---- */ @@ -46,6 +46,9 @@ index 8e5cc7e1d7..8ef344d9fe 100644 + completion candidate. Works for vertico-current, + icomplete-selected-match, ivy-current-match, etc. */ +static bool ++/* Note: ns_zoom_face_is_selected in the Zoom series has identical ++ logic. The duplication is intentional: both series are ++ independent and must compile standalone. */ +ns_ax_face_is_selected (Lisp_Object face) +{ + if (SYMBOLP (face) && !NILP (face)) 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 f60f6d9..74e03ce 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 @@ -4,10 +4,10 @@ Date: Mon, 2 Mar 2026 18:49:13 +0100 Subject: [PATCH 8/8] ns: announce child frame completion candidates for VoiceOver -Child frame popups (child-frame completion frameworks, Company-mode child frames) render completion -candidates in a separate frame whose buffer is not accessible via the -minibuffer overlay path. This patch scans child frame buffers for -selected candidates and announces them via VoiceOver. +Child frame popups (Corfu, Company-mode) render completion candidates in +a separate frame whose buffer is not accessible via the minibuffer +overlay path. This patch scans child frame buffers for selected +candidates and announces them via VoiceOver. * src/nsterm.h (EmacsView): Add childFrameLastBuffer, childFrameLastModiff, childFrameLastCandidate, childFrameCompletionActive, lastEchoCharsModiff