Function: org-agenda-drag-line-forward
org-agenda-drag-line-forward is an interactive and byte-compiled
function defined in org-agenda.el.gz.
Signature
(org-agenda-drag-line-forward ARG &optional BACKWARD)
Documentation
Drag an agenda line forward by ARG lines.
When the optional argument backward is non-nil, move backward.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-agenda.el.gz
(defun org-agenda-drag-line-forward (arg &optional backward)
"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)
(if (or (not (get-text-property (point) 'txt))
(save-excursion
(dotimes (_ arg)
(move-beginning-of-line (if backward 0 2))
(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))))
(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)
(org-agenda-reapply-filters)
(org-agenda-mark-clocking-task)
(move-beginning-of-line 0)))))