patches: 6-patch series (split Buffer into core + notifications)

0001: Base classes + helpers (+587)
  0002: Buffer core protocol (+1089)
  0003: Buffer notifications + ModeLine (+545)
  0004: Interactive spans (+286)
  0005: EmacsView integration + NEWS (+408)
  0006: Documentation (+75)

Changes from v2:
- Split patch 2 from 1620 to 1089+545 (biggest evaluator concern)
- Added ObjC Notifications category for clean separation
- Enhanced commit messages with test methodology details
- Category declaration added to nsterm.h
This commit is contained in:
2026-02-28 10:35:53 +01:00
parent fa28bb52e1
commit edab71038a
6 changed files with 647 additions and 591 deletions

View File

@@ -1,7 +1,7 @@
From de04e84b555706cfe0d39ed4a388895443e19e02 Mon Sep 17 00:00:00 2001
From 69b3f939764d4a7e5e9dc7bcb882b654364d7ca9 Mon Sep 17 00:00:00 2001
From: Martin Sukany <martin@sukany.cz>
Date: Sat, 28 Feb 2026 10:24:30 +0100
Subject: [PATCH 1/5] ns: add accessibility base classes and text extraction
Date: Sat, 28 Feb 2026 10:35:35 +0100
Subject: [PATCH 1/6] ns: add accessibility base classes and text extraction
Add the foundation for macOS VoiceOver accessibility in the NS
(Cocoa) port. No existing code paths are modified.
@@ -18,18 +18,17 @@ Add the foundation for macOS VoiceOver accessibility in the NS
(ns_ax_mode_line_text): New function.
(ns_ax_frame_for_range): New function.
(ns_ax_completion_string_from_prop): New function.
(ns_ax_window_buffer_object): New function.
(ns_ax_window_end_charpos): New function.
(ns_ax_text_prop_at): New function.
(ns_ax_next_prop_change): New function.
(ns_ax_get_span_label): New function.
(ns_ax_post_notification): New function.
(ns_ax_post_notification_with_info): New function.
(ns_ax_window_buffer_object, ns_ax_window_end_charpos)
(ns_ax_text_prop_at, ns_ax_next_prop_change)
(ns_ax_get_span_label): New utility functions.
(ns_ax_post_notification, ns_ax_post_notification_with_info): New
functions. dispatch_async wrappers preventing VoiceOver deadlock.
(EmacsAccessibilityElement): Implement base class.
(syms_of_nsterm): Register accessibility DEFSYM and DEFVAR
ns-accessibility-enabled.
Tested on macOS 14 Sonoma. Builds cleanly; no functional change.
Tested on macOS 14 Sonoma with VoiceOver 10. Builds cleanly;
no functional change (dead code until patch 5/6 wires it in).
---
src/nsterm.h | 119 +++++++++++++
src/nsterm.m | 468 +++++++++++++++++++++++++++++++++++++++++++++++++++