From ed222c502b1a0043a8bc606482a11516568a54b6 Mon Sep 17 00:00:00 2001 From: Stephen Berman Date: Mon, 29 May 2017 20:26:49 +0200 Subject: [PATCH] Make `todo-toggle-item-highlighting' work on multiline items (bug#27133) * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function, replacing an anonymous function for the sake of `describe-variable'. (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function and remove boundp test of this variable, so its value is available on invoking `todo-toggle-item-highlighting'. --- lisp/calendar/todo-mode.el | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index 8155a4241a7..7b27e7049d1 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el @@ -6583,17 +6583,19 @@ Added to `window-configuration-change-hook' in Todo mode." (visual-line-mode) (setq wrap-prefix (make-string todo-indent-to-here 32)))) +(defun todo-hl-line-range () + "Make `todo-toggle-item-highlighting' highlight entire item." + (save-excursion + (when (todo-item-end) + (cons (todo-item-start) + (todo-item-end))))) + (defun todo-modes-set-2 () "Make some settings that apply to multiple Todo modes." (add-to-invisibility-spec 'todo) (setq buffer-read-only t) (setq-local desktop-save-buffer 'todo-desktop-save-buffer) - (when (boundp 'hl-line-range-function) - (setq-local hl-line-range-function - (lambda() (save-excursion - (when (todo-item-end) - (cons (todo-item-start) - (todo-item-end)))))))) + (setq-local hl-line-range-function 'todo-hl-line-range)) (defun todo-modes-set-3 () "Make some settings that apply to multiple Todo modes." -- 2.39.2