Function: org-agenda-set-tags

org-agenda-set-tags is an interactive and byte-compiled function defined in org-agenda.el.gz.

Signature

(org-agenda-set-tags &optional TAG ONOFF)

Documentation

Set tags for the current headline.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-agenda.el.gz
;; FIXME: should fix the tags property of the agenda line.
(defun org-agenda-set-tags (&optional tag onoff)
  "Set tags for the current headline."
  (interactive)
  (org-agenda-check-no-diary)
  (if (and (org-region-active-p) (called-interactively-p 'any))
      (call-interactively 'org-change-tag-in-region)
    (let* ((hdmarker (or (org-get-at-bol 'org-hd-marker)
			 (org-agenda-error)))
	   (buffer (marker-buffer hdmarker))
	   (pos (marker-position hdmarker))
	   (inhibit-read-only t)
	   newhead)
      (org-with-remote-undo buffer
	(with-current-buffer buffer
	  (widen)
	  (goto-char pos)
	  (org-fold-show-context 'agenda)
	  (if tag
	      (org-toggle-tag tag onoff)
	    (call-interactively #'org-set-tags-command))
	  (end-of-line 1)
	  (setq newhead (org-get-heading)))
	(org-agenda-change-all-lines newhead hdmarker)
	(beginning-of-line 1)))))