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)
This commit is contained in:
2026-03-03 13:17:54 +01:00
parent aa0388d485
commit bbeb4d87ac
4 changed files with 17 additions and 10 deletions

View File

@@ -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))

View File

@@ -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.

View File

@@ -3,9 +3,9 @@ From: Daneel <daneel@sukany.cz>
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))

View File

@@ -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