[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Proposal to change cursor appearance to indicate region acti
From: |
David Kastrup |
Subject: |
Re: [PATCH] Proposal to change cursor appearance to indicate region activation |
Date: |
Wed, 28 Jan 2015 12:24:56 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Kelly Dean <address@hidden> writes:
> +(define-minor-mode dynamic-cursor-mode
> + "Toggle Dynamic Cursor mode.
> +With a prefix argument ARG, enable Dynamic Cursor mode if ARG is
> +positive, and disable it otherwise. If called from Lisp, enable
> +Dynamic Cursor mode if ARG is omitted or nil.
> +
> +Dynamic Cursor mode is a global minor mode. When enabled,
> +`cursor-type' is set dynamically to reflect `mark-active'.
> +
> +Dynamic Cursor mode can be enabled or disabled buffer-locally
> +using (setq-local dynamic-cursor-mode t)
> +or (setq-local dynamic-cursor-mode nil).
> +This will override the global setting.
> +
> +Setting `cursor-type' globally or buffer-locally will automatically
> +disable Dynamic Cursor mode in the same environment."
> + :global t
> + :init-value t)
> +
> +(defvar cursor-type-varhook nil)
> +(add-hook 'cursor-type-varhook
> + (lambda (_sym env)
> + (if (eq env 'global)
> + (setq-default dynamic-cursor-mode nil)
> + (if (eq env 'buffer-local)
> + (setq-local dynamic-cursor-mode nil)))))
> +(put 'cursor-type 'varhook 'cursor-type-varhook)
Ugh. That's implementing and using a sledgehammer (and one which slows
down any variable access on a symbol with properties) on a comparatively
straightforward problem, resulting in pretty inscrutable code. I don't
think that this approach is worth the complexity.
As to the varhook feature itself: apart from the performance impact, it
also has the problem that one cannot usefully manipulate such a varhook
using add-hook or remove-hook. That makes it a feature that does not
scale to multiple applications (like variable profiling).
--
David Kastrup
- [PATCH] Run hook when variable is set, Kelly Dean, 2015/01/28
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, Kelly Dean, 2015/01/28
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation,
David Kastrup <=
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, David Kastrup, 2015/01/28
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, Kelly Dean, 2015/01/29
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, David Kastrup, 2015/01/29
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, Kelly Dean, 2015/01/30
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, David Kastrup, 2015/01/30
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, Kelly Dean, 2015/01/30
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, David Kastrup, 2015/01/30
- Re: [PATCH] Proposal to change cursor appearance to indicate region activation, Kelly Dean, 2015/01/30
Re: [PATCH] Run hook when variable is set, Stefan Monnier, 2015/01/28