Daneel f961f46b9a v15.4: comprehensive VoiceOver fix — 9 bugs from 4-reviewer audit
P0 fixes (critical):
- accessibilityRangeForLine: include trailing newline — fixes
  zero-length ranges for empty lines causing 'end of text'
- accessibilityVisibleCharacterRange: return full buffer range —
  VoiceOver was treating visible window boundary as end of text
- ensureTextCache: invalidate when point moves outside cached region
  (stale cachedTextStart after scrolling without editing)
- ns_ax_frame_for_range: use row->height not visible_height, clip
  to text area — fixes VoiceOver cursor bleeding into adjacent lines

P1 fixes (important):
- Post SelectedTextChanged after FocusedUIElementChanged on focus
  acquisition (windowDidBecomeKey) and window switch (C-x o)
- Post LayoutChangedNotification after tree rebuild
- accessibilityRangeForIndex: rangeOfComposedCharacterSequenceAtIndex
  for emoji/combining marks
- Buffer accessibilityFrame excludes mode line height
- New elements init cachedPoint/cachedModiff=-1 to force first
  notification

Reviewed by: architect + 3 reviewers (text, notifications, frames)
2026-02-26 14:53:47 +01:00
2026-02-25 12:51:11 +01:00
2026-02-12 12:55:29 +01:00
2026-02-12 12:55:29 +01:00
2026-02-21 00:05:48 +01:00
2026-02-24 17:01:41 +01:00
2026-02-12 12:52:50 +01:00

# instalace mailu:
brew install mu isync msmtp

pak mbsync personal (musi existovat .mbsyncrc)

pak 
mu init --maildir=~/.mail --my-address=martin@sukany.cz
mu index
Description
No description provided
Readme 10 MiB
Languages
Emacs Lisp 95.3%
Shell 4.7%