GNU bug report logs -
#51809
29.0.50; [PATCH] Support for outline default state in Diff buffers
Previous Next
Reported by: Matthias Meulien <orontee <at> gmail.com>
Date: Sat, 13 Nov 2021 13:10:02 UTC
Severity: normal
Tags: fixed, patch
Fixed in version 29.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
Message #74 received at 51809 <at> debbugs.gnu.org (full text, mbox):
Matthias Meulien <orontee <at> gmail.com> writes:
> I am now back to the origin of this bug report (toggling visibility of
> some diff hunks depending on long lines, chunks size, or file names) and
> I see there's a major drawback with the outline mode default visibility
> state approach: When outline minor mode is set through diff-mode-hook,
> the buffer is emtpy and applying the default state visibility is a
> no-op; It's a side-effect of the buffer content being generated
> asynchronously...
I fixed it using an advice to `vc-diff-finish', but wondering whether
there's a clean way to achieve the same...
For posterity, here is a sample configuration for *vc-diff* buffers to
hide hunks with long lines, long hunks or matching some regexp.
(add-hook 'diff-mode-hook #'(lambda ()
(setq diff-font-lock-prettify t
outline-default-state 1
outline-default-state-subtree-visibility
'(subtree-is-long
subtree-has-long-lines
(match-regexp . "NEWS\\|test")))
(outline-minor-mode)))
(defadvice vc-diff-finish (after ensure-outline-apply-default-state activate)
(when outline-minor-mode
(outline-apply-default-state)))
This bug report was last modified 3 years and 91 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.