GNU bug report logs -
#14395
24.3; [PATCH] new feature smie-highlight-matching-block
Previous Next
Reported by: Leo Liu <sdl.web <at> gmail.com>
Date: Tue, 14 May 2013 02:51:03 UTC
Severity: wishlist
Tags: patch
Found in version 24.3
Done: Leo Liu <sdl.web <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #26 received at 14395 <at> debbugs.gnu.org (full text, mbox):
>>> +(define-minor-mode smie-highlight-matching-block-mode nil
>> Please provide a docstring.
> Is the automatically-provided docstring good enough?
Oh, right, I guess it is, sorry I forgot that I tried to make
define-minor-mode DTRT.
> +(define-minor-mode smie-highlight-matching-block-mode nil :global t
> + (when (timerp smie--highlight-matching-block-timer)
> + (cancel-timer smie--highlight-matching-block-timer))
> + (if smie-highlight-matching-block-mode
> + (setq smie--highlight-matching-block-timer
> + (run-with-idle-timer 0.2 t #'smie-highlight-matching-block))
> + (when (timerp smie--highlight-matching-block-timer)
> + (cancel-timer smie--highlight-matching-block-timer))
> + (setq smie--highlight-matching-block-timer nil)))
No, need to "cancel" twice when disabling the mode.
> - (add-hook 'post-self-insert-hook
> - #'smie-blink-matching-open 'append 'local)
> + (if smie-highlight-matching-block-mode
> + (remove-hook 'post-self-insert-hook
> + #'smie-blink-matching-open 'local)
> + (add-hook 'post-self-insert-hook
> + #'smie-blink-matching-open 'append 'local))
I think the `remove-hook' should be done within the body of the
smie-highlight-matching-block-mode minor mode rather than here.
In here, you just need to wrap the add-hook within a test of
smie-highlight-matching-block-mode.
BTW. Is there a non-SMIE version of "highlight-matching-block-mode",
which does it for parentheses? If yes, maybe
smie-highlight-matching-block-mode should integrate into it.
One more thought, maybe you were right that futzing around with
add/remove-hook is too complicated and it's easier to check a variable.
But then maybe smie-highlight-matching-block-mode should set
blink-matching-paren to nil (which brings us back to whether there's
a global highlight-matching-block-mode working not just for modes using
SMIE).
Stefan
This bug report was last modified 12 years and 58 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.