* lisp/org-agenda.el (org-agenda-list): Condition the call to
`recenter` only when the buffer has a window associated.
This permit to call `org-agenda-list` in a `with-temp-buffer` like
below:
(with-temp-buffer
(let ((org-agenda-sticky nil)
(org-agenda-buffer-tmp-name (buffer-name)))
(org-agenda-list 1)
(buffer-string))
* lisp/org-agenda.el (org-agenda-mode): Only set `org-agenda-show-log'
and `org-agenda-clock-report-mode' to their default values when
constructing an agenda buffer, and not when redoing it.
* lisp/org-agenda.el (org-agenda-log-mode,
org-agenda-clockreport-mode): Do not set the global default value
`org-agenda-start-with-log-mode' (respectively
`org-agenda-start-with-clockreport-mode') with the current value of
`org-agenda-log-mode' (respectively `org-agenda-clockreport-mode'),
which, with sticky agendas is even buffer local.
`org-agenda-show-log' indicates if the the current agenda buffer has
log-mode enabled. When building a new agenda buffer, it gets its
value from `org-agenda-start-with-log-mode'. It is is semantically a
buffer local variable: when creating a new agenda buffer you expect it
to be set to the value in `org-agenda-start-with-log-mode'. However,
2e9c2d71 while fixing an issue with sticky agendas rendered the
variable `org-agenda-log-mode' effectively global: toggling log mode
in a given agenda buffer modifies the global default for all agenda
buffers. The same reasoning holds for clockreport mode.
This change ensures that a log or clockreport mode change made in one
agenda buffer does not propagate to other agenda buffers, existing or
new. The change is however preserved on org-agenda-redo in the
initial agenda buffer, whether using sticky agendas or not.
TINYCHANGE
* lisp/org-agenda.el (org-agenda-lprops): New variable.
(org-agenda-local-vars): Add it.
(org-agenda-prepare): Set lprops from symbol property.
(org-agenda-redo): Get lprops from variable, not property.
* lisp/ox-org.el (org-org-publish-to-org):
* lisp/ox-html.el (org-html-htmlize-generate-css):
(org-html-fontify-code):
* lisp/org-agenda.el (org-agenda-write): Throw an error
requesting the user to install htmlize.el.
* doc/org.texi (Exporting agenda views, Literal examples):
Don’t assume htmlize.el is available.
You need to install it from https://github.com/hniksic/emacs-htmlize
See https://github.com/hniksic/emacs-htmlize/issues/7 for this issue.
* lisp/org-agenda.el (org-agenda-bulk-action): Fix the prefix argument
checks introduced by 4f578a3f7 to avoid inadvertently setting
org-agenda-schedule or org-agenda-deadline's time argument to ARG's
value when ARG is non-nil.
Reported-by: Julien Cubizolles <j.cubizolles@free.fr>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00263.html>
* lisp/org-agenda.el (org-agenda--mark-blocked-entry): Always return
the entry passed to `org-agenda--mark-blocked-entry' (previously
returned nil if entry did not have todo-state text property).
* org-agenda.el (org-agenda-filter-by-tag): Pass t for the
require-match argument of completing-read because the collection
includes all valid tags.
In addition to preventing a user from filtering on a value that
doesn't match any entries, this makes the default Emacs completion
more convenient because a tag can be selected by entering its unique
prefix.
Composite agenda views could not separately specify whether to dim
blocked tasks.
* lisp/org-agenda.el (org-agenda--mark-blocked-entry): New function.
(org-agenda-dim-blocked-tasks): Modified to work with text properties
set by org-agenda--marked-blocked-entry.
* lisp/org-agenda.el (org-agenda-time-grid): Users may now customize
the string to display after the time in the agenda. The order of
items was updated to reflect the order that they are displayed in the
agenda.
TINYCHANGE
* lisp/org.el (org-time-string-to-time): Remove optional POS and
BUFFER arguments. Accept new optional ZONE argument.
(org-time-string-to-seconds): Accept optional ZONE argument.
(org-check-before-date):
(org-check-after-date):
(org-check-dates-range):
(org-goto-calendar):
* lisp/ob-gnuplot.el (org-time-string-to-time):
* lisp/org-agenda.el (org-agenda-get-blocks):
* lisp/org-clock.el (org-clock-timestamps-change):
* lisp/org-list.el (org-time-string-to-seconds): Use UTC for time
difference and time comparison.
* testing/lisp/test-org-clock.el (org-test-clock-create-clock): Use
UTC for time differences.
* lisp/org.el (org-activate-links): New function.
(org-set-font-lock-defaults): Use new function.
(org-activate-angle-links):
(org-activate-bracket-links):
(org-activate-plain-links): Remove functions.
* lisp/org-agenda.el (org-agenda-get-some-entry-text):
(org-agenda-finalize): Use new function.
Reported-by: 林镇国 <mistkafka@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113485>