summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2014-03-20 17:07:03 +0100
committerBastien Guerry <bzg@altern.org>2014-03-20 17:07:03 +0100
commit3559ff84b244dae2109131507804b21126e0b07c (patch)
treebc986a96cdaf470445746faddc7c9468a4c75d11
parenta3ec854cabae7d02fc06ee317606771892f9f729 (diff)
downloadorg-mode-3559ff84b244dae2109131507804b21126e0b07c.tar.gz
org-agenda.el: Fix bug when using `org-agenda-do-date-later' in filtered agendas
* org-agenda.el (org-agenda-filter-hide-line): Hide from the beginning of the line to the beginning of the next line. (org-agenda-show-new-time): Use `move-beginning-of-line' and `move-end-of-line'. (org-agenda-drag-line-forward): Adapt to the new definition of hidden filtered lines. Thanks to Igor Sosa Mayor for reporting this bug and to Nick Dokos and Matt Lundin for providing further information.
-rw-r--r--lisp/org-agenda.el26
1 files changed, 14 insertions, 12 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 7055ff0..048937b 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -7658,8 +7658,8 @@ When NO-OPERATOR is non-nil, do not add the + operator to returned tags."
(defun org-agenda-filter-hide-line (type)
"Hide lines with TYPE in the agenda buffer."
(let (ov)
- (setq ov (make-overlay (max (point-min) (1- (point-at-bol)))
- (point-at-eol)))
+ (setq ov (make-overlay (max (point-min) (point-at-bol))
+ (1+ (point-at-eol))))
(overlay-put ov 'invisible t)
(overlay-put ov 'type type)
(cond ((eq type 'tag) (push ov org-agenda-tag-filter-overlays))
@@ -9177,8 +9177,8 @@ Called with a universal prefix arg, show the priority instead of setting it."
(1- (point)) (point-at-eol)
(list 'display (org-add-props stamp nil
'face 'secondary-selection))))
- (beginning-of-line 1))
- (beginning-of-line 0)))))
+ (move-beginning-of-line 1))
+ (move-beginning-of-line 0)))))
(defun org-agenda-date-prompt (arg)
"Change the date of this item. Date is prompted for, with default today.
@@ -9940,23 +9940,25 @@ current HH:MM time."
"Drag an agenda line forward by ARG lines.
When the optional argument `backward' is non-nil, move backward."
(interactive "p")
- (let ((inhibit-read-only t) lst line)
+ (let ((inhibit-read-only t) lst)
(if (or (not (get-text-property (point) 'txt))
(save-excursion
(dotimes (n arg)
(move-beginning-of-line (if backward 0 2))
+ (forward-char 1)
(push (not (get-text-property (point) 'txt)) lst))
(delq nil lst)))
- (message "Cannot move line forward")
- (let ((end (save-excursion (move-beginning-of-line 2) (point))))
+ (message "Cannot move line %s" (if backward "backward" "forward"))
+ (let ((end (save-excursion (move-end-of-line 1) (point)))
+ (col (current-column)) line)
(move-beginning-of-line 1)
(setq line (buffer-substring (point) end))
- (delete-region (point) end)
- (move-beginning-of-line (funcall (if backward '1- '1+) arg))
- (insert line)
+ (delete-region (point) (1+ end))
+ (move-end-of-line (funcall (if backward '1- '1+) (1- arg)))
+ (insert "\n" line)
+ (org-move-to-column col)
(org-agenda-reapply-filters)
- (org-agenda-mark-clocking-task)
- (move-beginning-of-line 0)))))
+ (org-agenda-mark-clocking-task)))))
(defun org-agenda-drag-line-backward (arg)
"Drag an agenda line backward by ARG lines."