.emacs-my
changeset 1188 bdb5c65b3213
parent 1187 81ffdea5bfb1
child 1189 dd8bad2fe8ae
equal deleted inserted replaced
1187:81ffdea5bfb1 1188:bdb5c65b3213
  1484 (setq org-agenda-include-diary t)
  1484 (setq org-agenda-include-diary t)
  1485 
  1485 
  1486 (defun my-org-kill-by-tag (tag)
  1486 (defun my-org-kill-by-tag (tag)
  1487   "Put all entries that matches TAG from current org-file to `kill-ring'."
  1487   "Put all entries that matches TAG from current org-file to `kill-ring'."
  1488   (interactive (list (completing-read "Enter tag: " (org-get-buffer-tags))))
  1488   (interactive (list (completing-read "Enter tag: " (org-get-buffer-tags))))
  1489   (kill-new "")
  1489   (let ( rs (last-command 'kill-region) )
  1490   (org-scan-tags
  1490     (setq rs (org-scan-tags
  1491    (lambda ()
  1491               (lambda ()
  1492      (let ( (last-command 'kill-region) )
  1492                 (org-mark-subtree)
  1493        (org-cut-subtree)))
  1493                 (list (point) (mark)))
  1494    '(member tag tags-list)
  1494               '(member tag tags-list) nil))
  1495    nil) )
  1495     (kill-new "")
       
  1496     (dolist (r (reverse rs))            ; Kill from the end so upcoming regions still valid.
       
  1497       (apply #'kill-region r))))
  1496 
  1498 
  1497 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1499 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1498 (message "TODO, XXX, FIXME highlight")
  1500 (message "TODO, XXX, FIXME highlight")
  1499 
  1501 
  1500 (defface my-contrasty-face
  1502 (defface my-contrasty-face