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 2792c6c..a801e44 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 @@ -30,7 +30,7 @@ set non-nil automatically when an AT is detected at startup. --- src/nsterm.h | 131 +++++++++++++++ src/nsterm.m | 456 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 587 insertions(+) + 2 files changed, 583 insertions(+) diff --git a/src/nsterm.h b/src/nsterm.h index ea6e7ba..5746e9e 100644 @@ -326,7 +326,7 @@ index fc75910..852e7f9 100644 + +/* TODO: Only CHAR_GLYPH characters (>= 32) are extracted. Image + glyphs, stretch glyphs, and composed glyphs are silently skipped. -+ Mode lines using icon fonts (e.g. doom-modeline with nerd-font) ++ Mode lines using icon fonts (e.g. nerd-font icons) + will produce incomplete accessibility text. */ +static NSString * +ns_ax_mode_line_text (struct window *w) @@ -631,7 +631,7 @@ index fc75910..852e7f9 100644 /* ========================================================================== EmacsView implementation -@@ -11665,6 +12090,28 @@ Convert an X font name (XLFD) to an NS font name. +@@ -11665,6 +12090,24 @@ Convert an X font name (XLFD) to an NS font name. DEFSYM (Qns_drag_operation_generic, "ns-drag-operation-generic"); DEFSYM (Qns_handle_drag_motion, "ns-handle-drag-motion"); @@ -641,10 +641,6 @@ index fc75910..852e7f9 100644 + DEFSYM (Qns_ax_previous_line, "previous-line"); + DEFSYM (Qns_ax_dired_next_line, "dired-next-line"); + DEFSYM (Qns_ax_dired_previous_line, "dired-previous-line"); -+ DEFSYM (Qns_ax_evil_next_line, "evil-next-line"); -+ DEFSYM (Qns_ax_evil_previous_line, "evil-previous-line"); -+ DEFSYM (Qns_ax_evil_next_visual_line, "evil-next-visual-line"); -+ DEFSYM (Qns_ax_evil_previous_visual_line, "evil-previous-visual-line"); + + /* Accessibility span scanning symbols. */ + DEFSYM (Qns_ax_widget, "widget"); 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 76a7aab..6503541 100644 --- a/patches/0002-ns-implement-buffer-accessibility-element-core-proto.patch +++ b/patches/0002-ns-implement-buffer-accessibility-element-core-proto.patch @@ -24,13 +24,13 @@ loop is safe: it runs only on actual character modifications. (setAccessibilityFocused:): Implement NSAccessibility protocol methods. --- src/nsterm.m | 1127 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 1127 insertions(+) + 1 file changed, 1123 insertions(+) diff --git a/src/nsterm.m b/src/nsterm.m index 852e7f9..3e1ac74 100644 --- a/src/nsterm.m +++ b/src/nsterm.m -@@ -7631,6 +7631,1133 @@ - (id)accessibilityTopLevelUIElement +@@ -7631,6 +7631,1129 @@ - (id)accessibilityTopLevelUIElement @end @@ -151,8 +151,6 @@ index 852e7f9..3e1ac74 100644 + /* Forward line commands. */ + if (EQ (cmd, Qns_ax_next_line) + || EQ (cmd, Qns_ax_dired_next_line) -+ || EQ (cmd, Qns_ax_evil_next_line) -+ || EQ (cmd, Qns_ax_evil_next_visual_line)) + { + if (which) *which = 1; + return true; @@ -160,8 +158,6 @@ index 852e7f9..3e1ac74 100644 + /* Backward line commands. */ + if (EQ (cmd, Qns_ax_previous_line) + || EQ (cmd, Qns_ax_dired_previous_line) -+ || EQ (cmd, Qns_ax_evil_previous_line) -+ || EQ (cmd, Qns_ax_evil_previous_visual_line)) + { + if (which) *which = -1; + return true; 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 dcfa7b5..919818a 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 @@ -109,7 +109,7 @@ index 3e1ac74..d3015e2 100644 + moveInfo[@"AXTextChangeElement"] = self; + /* Omit granularity for character moves so VoiceOver does not + derive its own speech (it would read the wrong character -+ for evil block-cursor mode). Include it for word/line/ ++ for block-cursor mode). Include it for word/line/ + selection so VoiceOver reads the appropriate text. */ + if (!isCharMove) + moveInfo[@"AXTextSelectionGranularity"] = @(granularity); @@ -121,7 +121,7 @@ index 3e1ac74..d3015e2 100644 + + /* For character moves: explicit announcement of char AT point. + This is the ONLY speech source for character navigation. -+ Correct for evil block-cursor (cursor ON the character) ++ Correct for block-cursor (cursor ON the character) + and harmless for insert-mode. */ + if (isCharMove && cachedText) + { 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 b646836..5f5edf7 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 @@ -88,7 +88,7 @@ index 6bd334f..6514dfc 100644 +are fast. +@item +Mode-line text extraction handles only character glyphs. Mode lines -+using icon fonts (e.g., @code{doom-modeline} with nerd-font icons) ++using icon fonts (e.g., icon-based mode-lines) +produce incomplete accessibility text. +@item +The accessibility virtual element tree is rebuilt automatically on @@ -101,7 +101,7 @@ index 6bd334f..6514dfc 100644 + + This support is available only on the Cocoa build; GNUstep has a +different accessibility model and is not yet supported; -+@xref{GNUstep Support}. Evil-mode block cursors are handled ++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 423ac22..3d27a9f 100644 --- a/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch +++ b/patches/0007-ns-announce-overlay-completion-candidates-for-VoiceO.patch @@ -202,7 +202,7 @@ index 426b029..8d44b5f 100644 include garbage bytes when the run spans the gap position. */ Lisp_Object lstr = Fbuffer_substring_no_properties ( make_fixnum (pos), make_fixnum (run_end)); -@@ -7427,7 +7570,7 @@ Mode lines using icon fonts (e.g. doom-modeline with nerd-font) +@@ -7427,7 +7570,7 @@ Mode lines using icon fonts (e.g. nerd-font icons) return NSZeroRect; /* charpos_start and charpos_len are already in buffer charpos 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 9740a6a..49202a5 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 @@ -63,7 +63,7 @@ index 6514dfc..bcf74b3 100644 -different accessibility model and is not yet supported; + This support is available only on the Cocoa build. GNUstep has a +different accessibility model and is not yet supported. - @xref{GNUstep Support}. Evil-mode block cursors are handled + Block-style cursors are handled correctly: character navigation announces the character at the cursor position, not the character before it. diff --git a/etc/NEWS b/etc/NEWS