mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-30 17:03:09 +00:00
Merge branch 'maint'
This commit is contained in:
commit
5eee6bbe6f
|
@ -2093,11 +2093,8 @@ When nil, `q' will kill the single agenda buffer."
|
||||||
org-agenda-info
|
org-agenda-info
|
||||||
org-agenda-pre-window-conf
|
org-agenda-pre-window-conf
|
||||||
org-agenda-columns-active
|
org-agenda-columns-active
|
||||||
org-agenda-tag-filter-overlays
|
|
||||||
org-agenda-tag-filter
|
org-agenda-tag-filter
|
||||||
org-agenda-cat-filter-overlays
|
|
||||||
org-agenda-category-filter
|
org-agenda-category-filter
|
||||||
org-agenda-re-filter-overlays
|
|
||||||
org-agenda-regexp-filter
|
org-agenda-regexp-filter
|
||||||
org-agenda-markers
|
org-agenda-markers
|
||||||
org-agenda-last-search-view-search-was-boolean
|
org-agenda-last-search-view-search-was-boolean
|
||||||
|
@ -3332,19 +3329,12 @@ If AGENDA-BUFFER-NAME, use this as the buffer name for the agenda to write."
|
||||||
(org-let (if nosettings nil org-agenda-exporter-settings)
|
(org-let (if nosettings nil org-agenda-exporter-settings)
|
||||||
'(save-excursion
|
'(save-excursion
|
||||||
(save-window-excursion
|
(save-window-excursion
|
||||||
(org-agenda-mark-filtered-text)
|
|
||||||
(let ((bs (copy-sequence (buffer-string))) beg content)
|
(let ((bs (copy-sequence (buffer-string))) beg content)
|
||||||
(org-agenda-unmark-filtered-text)
|
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
(rename-buffer org-agenda-write-buffer-name t)
|
(rename-buffer org-agenda-write-buffer-name t)
|
||||||
(set-buffer-modified-p nil)
|
(set-buffer-modified-p nil)
|
||||||
(insert bs)
|
(insert bs)
|
||||||
(org-agenda-remove-marked-text 'org-filtered)
|
(org-agenda-remove-marked-text 'org-filtered)
|
||||||
(while (setq beg (text-property-any (point-min) (point-max)
|
|
||||||
'org-filtered t))
|
|
||||||
(delete-region
|
|
||||||
beg (or (next-single-property-change beg 'org-filtered)
|
|
||||||
(point-max))))
|
|
||||||
(run-hooks 'org-agenda-before-write-hook)
|
(run-hooks 'org-agenda-before-write-hook)
|
||||||
(cond
|
(cond
|
||||||
((org-bound-and-true-p org-mobile-creating-agendas)
|
((org-bound-and-true-p org-mobile-creating-agendas)
|
||||||
|
@ -3410,28 +3400,6 @@ If AGENDA-BUFFER-NAME, use this as the buffer name for the agenda to write."
|
||||||
org-agenda-buffer-name)))
|
org-agenda-buffer-name)))
|
||||||
(when open (org-open-file file)))
|
(when open (org-open-file file)))
|
||||||
|
|
||||||
(defvar org-agenda-tag-filter-overlays nil)
|
|
||||||
(defvar org-agenda-cat-filter-overlays nil)
|
|
||||||
(defvar org-agenda-re-filter-overlays nil)
|
|
||||||
|
|
||||||
(defun org-agenda-mark-filtered-text ()
|
|
||||||
"Mark all text hidden by filtering with a text property."
|
|
||||||
(let ((inhibit-read-only t))
|
|
||||||
(mapc
|
|
||||||
(lambda (o)
|
|
||||||
(when (equal (overlay-buffer o) (current-buffer))
|
|
||||||
(put-text-property
|
|
||||||
(overlay-start o) (overlay-end o)
|
|
||||||
'org-filtered t)))
|
|
||||||
(append org-agenda-tag-filter-overlays
|
|
||||||
org-agenda-cat-filter-overlays
|
|
||||||
org-agenda-re-filter-overlays))))
|
|
||||||
|
|
||||||
(defun org-agenda-unmark-filtered-text ()
|
|
||||||
"Remove the filtering text property."
|
|
||||||
(let ((inhibit-read-only t))
|
|
||||||
(remove-text-properties (point-min) (point-max) '(org-filtered t))))
|
|
||||||
|
|
||||||
(defun org-agenda-remove-marked-text (property &optional value)
|
(defun org-agenda-remove-marked-text (property &optional value)
|
||||||
"Delete all text marked with VALUE of PROPERTY.
|
"Delete all text marked with VALUE of PROPERTY.
|
||||||
VALUE defaults to t."
|
VALUE defaults to t."
|
||||||
|
@ -3440,7 +3408,7 @@ VALUE defaults to t."
|
||||||
(while (setq beg (text-property-any (point-min) (point-max)
|
(while (setq beg (text-property-any (point-min) (point-max)
|
||||||
property value))
|
property value))
|
||||||
(delete-region
|
(delete-region
|
||||||
beg (or (next-single-property-change beg 'org-filtered)
|
beg (or (next-single-property-change beg property)
|
||||||
(point-max))))))
|
(point-max))))))
|
||||||
|
|
||||||
(defun org-agenda-add-entry-text ()
|
(defun org-agenda-add-entry-text ()
|
||||||
|
@ -7406,7 +7374,8 @@ With two prefix arguments, remove the regexp filters."
|
||||||
(when org-agenda-category-filter
|
(when org-agenda-category-filter
|
||||||
(org-agenda-filter-show-all-cat))
|
(org-agenda-filter-show-all-cat))
|
||||||
(when org-agenda-regexp-filter
|
(when org-agenda-regexp-filter
|
||||||
(org-agenda-filter-show-all-re)))
|
(org-agenda-filter-show-all-re))
|
||||||
|
(org-agenda-finalize))
|
||||||
|
|
||||||
(defun org-agenda-filter-by-tag (strip &optional char narrow)
|
(defun org-agenda-filter-by-tag (strip &optional char narrow)
|
||||||
"Keep only those lines in the agenda buffer that have a specific tag.
|
"Keep only those lines in the agenda buffer that have a specific tag.
|
||||||
|
@ -7678,50 +7647,31 @@ When NO-OPERATOR is non-nil, do not add the + operator to returned tags."
|
||||||
(defun org-agenda-filter-hide-line (type)
|
(defun org-agenda-filter-hide-line (type)
|
||||||
"Hide lines with TYPE in the agenda buffer."
|
"Hide lines with TYPE in the agenda buffer."
|
||||||
(let* ((b (max (point-min) (1- (point-at-bol))))
|
(let* ((b (max (point-min) (1- (point-at-bol))))
|
||||||
(e (point-at-eol))
|
(e (point-at-eol)))
|
||||||
(ov (make-overlay b e)))
|
(let ((inhibit-read-only t))
|
||||||
(overlay-put ov 'invisible t)
|
(add-text-properties
|
||||||
(overlay-put ov 'intangible t)
|
b e `(invisible t org-filtered t org-filter-type ,type)))))
|
||||||
(overlay-put ov 'type type)
|
|
||||||
(cond ((eq type 'tag) (push ov org-agenda-tag-filter-overlays))
|
|
||||||
((eq type 'category) (push ov org-agenda-cat-filter-overlays))
|
|
||||||
((eq type 'regexp) (push ov org-agenda-re-filter-overlays)))))
|
|
||||||
|
|
||||||
(defun org-agenda-fix-tags-filter-overlays-at (&optional pos)
|
(defun org-agenda-remove-filter (type)
|
||||||
(setq pos (or pos (point)))
|
(interactive)
|
||||||
(save-excursion
|
"Remove filter of type TYPE from the agenda buffer."
|
||||||
(dolist (ov (overlays-at pos))
|
(goto-char (point-min))
|
||||||
(when (and (overlay-get ov 'invisible)
|
(let ((inhibit-read-only t) pos)
|
||||||
(eq (overlay-get ov 'type) 'tag))
|
(while (setq pos (text-property-any (point) (point-max) 'org-filter-type type))
|
||||||
(goto-char pos)
|
(goto-char pos)
|
||||||
(if (< (overlay-start ov) (point-at-eol))
|
(remove-text-properties
|
||||||
(move-overlay ov (point-at-eol)
|
(point) (next-single-property-change (point) 'org-filter-type)
|
||||||
(overlay-end ov)))))))
|
`(invisible t org-filter-type ,type))))
|
||||||
|
(set (intern (format "org-agenda-%s-filter" (intern-soft type))) nil)
|
||||||
|
(setq org-agenda-filter-form nil)
|
||||||
|
(org-agenda-set-mode-name))
|
||||||
|
|
||||||
(defun org-agenda-filter-show-all-tag nil
|
(defun org-agenda-filter-show-all-tag nil
|
||||||
"Remove tag filter overlays from the agenda buffer."
|
(org-agenda-remove-filter 'tag))
|
||||||
(mapc 'delete-overlay org-agenda-tag-filter-overlays)
|
|
||||||
(setq org-agenda-tag-filter-overlays nil
|
|
||||||
org-agenda-tag-filter nil
|
|
||||||
org-agenda-filter-form nil)
|
|
||||||
(org-agenda-set-mode-name))
|
|
||||||
|
|
||||||
(defun org-agenda-filter-show-all-re nil
|
(defun org-agenda-filter-show-all-re nil
|
||||||
"Remove regexp filter overlays from the agenda buffer."
|
(org-agenda-remove-filter 'regexp))
|
||||||
(mapc 'delete-overlay org-agenda-re-filter-overlays)
|
|
||||||
(setq org-agenda-re-filter-overlays nil
|
|
||||||
org-agenda-regexp-filter nil
|
|
||||||
org-agenda-filter-form nil)
|
|
||||||
(org-agenda-set-mode-name))
|
|
||||||
|
|
||||||
(defun org-agenda-filter-show-all-cat nil
|
(defun org-agenda-filter-show-all-cat nil
|
||||||
"Remove category filter overlays from the agenda buffer."
|
(org-agenda-remove-filter 'category))
|
||||||
(mapc 'delete-overlay org-agenda-cat-filter-overlays)
|
|
||||||
(setq org-agenda-cat-filter-overlays nil
|
|
||||||
org-agenda-filtered-by-category nil
|
|
||||||
org-agenda-category-filter nil
|
|
||||||
org-agenda-filter-form nil)
|
|
||||||
(org-agenda-set-mode-name))
|
|
||||||
|
|
||||||
(defun org-agenda-manipulate-query-add ()
|
(defun org-agenda-manipulate-query-add ()
|
||||||
"Manipulate the query by adding a search term with positive selection.
|
"Manipulate the query by adding a search term with positive selection.
|
||||||
|
@ -9196,8 +9146,6 @@ Called with a universal prefix arg, show the priority instead of setting it."
|
||||||
(when (equal marker (org-get-at-bol 'org-marker))
|
(when (equal marker (org-get-at-bol 'org-marker))
|
||||||
(remove-text-properties (point-at-bol) (point-at-eol) '(display))
|
(remove-text-properties (point-at-bol) (point-at-eol) '(display))
|
||||||
(org-move-to-column (- (window-width) (length stamp)) t)
|
(org-move-to-column (- (window-width) (length stamp)) t)
|
||||||
|
|
||||||
(org-agenda-fix-tags-filter-overlays-at (point))
|
|
||||||
(if (featurep 'xemacs)
|
(if (featurep 'xemacs)
|
||||||
;; Use `duplicable' property to trigger undo recording
|
;; Use `duplicable' property to trigger undo recording
|
||||||
(let ((ex (make-extent nil nil))
|
(let ((ex (make-extent nil nil))
|
||||||
|
|
Loading…
Reference in a new issue