# HG changeset patch # User Oleksandr Gavenko # Date 1576096753 -7200 # Node ID 72fa4385c7bab8f84137aebe9edb23ffb9f21d40 # Parent 23bc0ad590b946eff01b05739037e7bff762ab25 Fallback to selective-display if not in hs-minor-mode. Make corresponding key binding global. diff -r 23bc0ad590b9 -r 72fa4385c7ba .emacs-my --- a/.emacs-my Wed Dec 11 00:35:10 2019 +0200 +++ b/.emacs-my Wed Dec 11 22:39:13 2019 +0200 @@ -3807,7 +3807,23 @@ (require 'hideshow) -(define-key hs-minor-mode-map (kbd "s--") #'hs-toggle-hiding) +(defun my-selective-display-toggle () + "Better alternative to 'C-x $' using current column as threshold." + (interactive) + (set-selective-display + (unless selective-display + (1+ (current-column))))) + +(defun my-hs-toggle () + (interactive) + (if hs-minor-mode + (if (condition-case nil + (hs-toggle-hiding) + (error t)) + (hs-show-all)) + (my-selective-display-toggle))) + +(define-key global-map (kbd "s--") #'my-hs-toggle) (add-to-list 'hs-special-modes-alist