mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
Merge Org 7.9.3e (commit b07a9bb).
This commit is contained in:
parent
e364bc673c
commit
d351707783
@ -1,3 +1,10 @@
|
||||
2013-02-07 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org.texi (References): Clarify an example.
|
||||
(Installation): Fix instructions.
|
||||
(Org-Plot): Fix link.
|
||||
(Checkboxes, Radio lists): Fix typos.
|
||||
|
||||
2013-02-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* cl.texi (Equality Predicates): Mention memql.
|
||||
|
@ -2,7 +2,7 @@
|
||||
@c %**start of header
|
||||
@setfilename ../../info/org
|
||||
@settitle The Org Manual
|
||||
@set VERSION 7.9.3d (GNU Emacs 24.3)
|
||||
@set VERSION 7.9.3e (GNU Emacs 24.3)
|
||||
|
||||
@c Use proper quote and backtick for code sections in PDF output
|
||||
@c Cf. Texinfo manual 14.2
|
||||
@ -903,17 +903,20 @@ $ git clone git://orgmode.org/org-mode.git
|
||||
$ make autoloads
|
||||
@end example
|
||||
|
||||
Note that @code{make autoloads} is mandatory: it defines Org's version and
|
||||
Org's autoloaded functions, respectively in @file{org-version.el} and in
|
||||
Note that in this case, @code{make autoloads} is mandatory: it defines Org's
|
||||
version in @file{org-version.el} and Org's autoloads in
|
||||
@file{org-loaddefs.el}.
|
||||
|
||||
Remember to add the correct load-path as described in the method above.
|
||||
|
||||
You can also compile and install Org from this git repository: check
|
||||
@code{make help} to get the list of compilation/installation options.
|
||||
You can also compile with @code{make}, generate the documentation with
|
||||
@code{make doc}, create a local configuration with @code{make config} and
|
||||
install Org with @code{make install}. Please run @code{make help} to get
|
||||
the list of compilation/installation options.
|
||||
|
||||
For more detailed explanations on Org's build system, please check the Org
|
||||
Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html, Worg}.
|
||||
Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html,
|
||||
Worg}.
|
||||
|
||||
@node Activation, Feedback, Installation, Introduction
|
||||
@section Activation
|
||||
@ -2444,7 +2447,7 @@ $1..$3 @r{first three fields in the current row}
|
||||
$P..$Q @r{range, using column names (see under Advanced)}
|
||||
$<<<..$>> @r{start in third column, continue to the one but last}
|
||||
@@2$1..@@4$3 @r{6 fields between these two fields (same as @code{A2..C4})}
|
||||
@@-1$-2..@@-1 @r{3 numbers from the column to the left, 2 up to current row}
|
||||
@@-1$-2..@@-1 @r{in the first row up, 3 fields from 2 columns on the left}
|
||||
@@I..II @r{between first and second hline, short for @code{@@I..@@II}}
|
||||
@end example
|
||||
|
||||
@ -3023,9 +3026,9 @@ functions.
|
||||
|
||||
Org-Plot can produce 2D and 3D graphs of information stored in org tables
|
||||
using @file{Gnuplot} @uref{http://www.gnuplot.info/} and @file{gnuplot-mode}
|
||||
@uref{http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html}. To see
|
||||
this in action, ensure that you have both Gnuplot and Gnuplot mode installed
|
||||
on your system, then call @code{org-plot/gnuplot} on the following table.
|
||||
@uref{http://xafs.org/BruceRavel/GnuplotMode}. To see this in action, ensure
|
||||
that you have both Gnuplot and Gnuplot mode installed on your system, then
|
||||
call @code{org-plot/gnuplot} on the following table.
|
||||
|
||||
@example
|
||||
@group
|
||||
@ -4486,7 +4489,7 @@ off a box while there are unchecked boxes above it.
|
||||
@orgcmd{C-c C-c,org-toggle-checkbox}
|
||||
Toggle checkbox status or (with prefix arg) checkbox presence at point.
|
||||
With a single prefix argument, add an empty checkbox or remove the current
|
||||
one@footnote{`C-u C-c C-c' on the @emph{first} item of a list with no checkbox
|
||||
one@footnote{@kbd{C-u C-c C-c} on the @emph{first} item of a list with no checkbox
|
||||
will add checkboxes to the rest of the list.}. With a double prefix argument, set it to @samp{[-]}, which is
|
||||
considered to be an intermediate state.
|
||||
@orgcmd{C-c C-x C-b,org-toggle-checkbox}
|
||||
@ -15987,7 +15990,7 @@ Here is a @LaTeX{} example. Let's say that you have this in your
|
||||
\end@{comment@}
|
||||
@end example
|
||||
|
||||
Pressing `C-c C-c' on @code{a new house} and will insert the converted
|
||||
Pressing @kbd{C-c C-c} on @code{a new house} and will insert the converted
|
||||
@LaTeX{} list between the two marker lines.
|
||||
|
||||
@node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking
|
||||
|
@ -1,3 +1,120 @@
|
||||
2013-02-07 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org-agenda.el (org-agenda-get-deadlines)
|
||||
(org-agenda-get-scheduled): Fix bug: use text properties for the
|
||||
headline text since we rely on properties to get e.g. the effort.
|
||||
|
||||
* org-exp.el (org-export-normalize-links): Don't match links
|
||||
within tags.
|
||||
|
||||
* org-html.el (org-export-html-preamble-format)
|
||||
(org-export-html-postamble-format): Mention that
|
||||
org-export-html-preamble/postamble need to be `t' in order for
|
||||
these variables to have any effect.
|
||||
|
||||
* org-html.el (org-html-handle-links): When the link description
|
||||
is an image and the attribute is "width", pass the attribute to
|
||||
the <img ...> tag.
|
||||
|
||||
* org.el (org-mode): Always honor `org-startup-indented', even
|
||||
when `org-inhibit-startup' is non-nil.
|
||||
|
||||
* org-indent.el (org-indent-mode): Don't check
|
||||
`org-inhibit-startup'.
|
||||
|
||||
* org.el (org-fontify-meta-lines-and-blocks-1): Don't try to add
|
||||
text properties outside of the buffer.
|
||||
|
||||
* org.el (org-agenda-inhibit-startup): Rename from
|
||||
`org-agenda-inhibit-startup-visibility-cycling'.
|
||||
(org-agenda-prepare-buffers): Bind `org-inhibit-startup' to
|
||||
`org-agenda-inhibit-startup'.
|
||||
|
||||
* org.el (org-mode): Don't initialize `org-beamer-mode' when
|
||||
`org-inhibit-startup' is non-nil.
|
||||
|
||||
* org-footnote.el (org-footnote-create-definition): Prevent
|
||||
`electric-indent-mode' from inserting the definition at the wrong
|
||||
place.
|
||||
|
||||
* org-agenda.el (org-agenda-no-heading-message): Delete.
|
||||
(org-agenda-get-timestamps, org-agenda-get-progress)
|
||||
(org-agenda-get-deadlines, org-agenda-get-scheduled)
|
||||
(org-agenda-get-blocks): Don't use
|
||||
`org-agenda-no-heading-message', skip the entry.
|
||||
|
||||
* org.el (org-agenda-inhibit-startup-visibility-cycling): New
|
||||
option.
|
||||
(org-agenda-prepare-buffers): Use it to speed up the agenda
|
||||
generation.
|
||||
|
||||
* org-agenda.el (org-agenda-skip): Fix bug by correctly skipping
|
||||
commented scheduled/deadline lines.
|
||||
|
||||
* org-clock.el (org-clock-in): Fix bug when fetching the effort
|
||||
value.
|
||||
|
||||
* ob-python.el (org-babel-python-command): Fix docstring.
|
||||
(org-babel-python-initiate-session-by-key): Fix bug: `run-python'
|
||||
from Emacs >24.1 requires a python command as an argument.
|
||||
|
||||
* org-element.el (org-element-at-point): Fix typo in docstring.
|
||||
|
||||
* org-agenda.el (org-agenda-get-deadlines): Fix bug: use
|
||||
`org-agenda-show-inherited-tags'.
|
||||
|
||||
* org-agenda.el (org-agenda-skip): Correctly handle commented out
|
||||
scheduled/deadline lines. Refactor.
|
||||
|
||||
* org-install.el: Do not warn users.
|
||||
|
||||
* org.el (org-adaptive-fill-function): In message-mode, don't
|
||||
lines in the message header, nor table lines in the body.
|
||||
Correctly fill lines starting with `org-outline-regexp' in the
|
||||
body.
|
||||
|
||||
* org-agenda.el (org-agenda-open-link): Fix bug with opening all
|
||||
links.
|
||||
|
||||
2013-02-07 Francesco Pizzolante <fpz-djc/iPCCuDYQheJpep6IedvLeJWuRmrY@public.gmane.org> (tiny change)
|
||||
|
||||
* org-clock.el (org-clock-sum): Protect with `org-unmodified'.
|
||||
|
||||
* org-macs.el (org-unmodified): Inhibit modification hooks.
|
||||
|
||||
2013-02-07 John K. Luebs <jkluebs@luebsphoto.com> (tiny change)
|
||||
|
||||
* org.el (org-get-wdays): Handle matching a lead time specified in
|
||||
hours.
|
||||
|
||||
2013-02-07 Muchenxuan Tong <demon386@gmail.com> (tiny change)
|
||||
|
||||
* org-agenda.el (org-agenda-quit): Delete indirect buffer's window
|
||||
only when it exists.
|
||||
|
||||
2013-02-07 Nicolas Goaziou <n.goaziou@gmail.com>
|
||||
|
||||
* org-element.el (org-element-macro-parser): Fix error when last
|
||||
argument ends with a protected comma.
|
||||
|
||||
* org-element.el (org-element-parse-buffer, org-element-map)
|
||||
(org-element-at-point, org-element-context): Be more verbose in
|
||||
docstrings. Also fix typos.
|
||||
|
||||
* org-list.el (org-list-struct-fix-box): When a checkbox has to be
|
||||
resetted because of a non-nil ORDERED property value, make sure it
|
||||
had a checkbox already.
|
||||
|
||||
2013-02-07 Tokuya Kameshima <kametoku@gmail.com> (tiny change)
|
||||
|
||||
* org-agenda.el (org-search-view): Fix checking
|
||||
`org-agenda-show-inherited-tags'.
|
||||
|
||||
2013-02-07 racin <racin@free.fr> (tiny change)
|
||||
|
||||
* org-bibtex.el (org-bibtex-search): Don't throw an error when
|
||||
`org-bibtex-prefix' is nil.
|
||||
|
||||
2013-01-13 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org-compat.el (org-condition-case-unless-debug): Delete.
|
||||
|
@ -44,7 +44,7 @@
|
||||
(defvar org-babel-default-header-args:python '())
|
||||
|
||||
(defvar org-babel-python-command "python"
|
||||
"Name of command for executing Python code.")
|
||||
"Name of the command for executing Python code.")
|
||||
|
||||
(defvar org-babel-python-mode (if (featurep 'xemacs) 'python-mode 'python)
|
||||
"Preferred python mode for use in running python interactively.
|
||||
@ -143,7 +143,9 @@ then create. Return the initialized session."
|
||||
(cond
|
||||
((and (eq 'python org-babel-python-mode)
|
||||
(fboundp 'run-python)) ; python.el
|
||||
(run-python))
|
||||
(if (version< "24.1" emacs-version)
|
||||
(run-python org-babel-python-command)
|
||||
(run-python)))
|
||||
((and (eq 'python-mode org-babel-python-mode)
|
||||
(fboundp 'py-shell)) ; python-mode.el
|
||||
;; Make sure that py-which-bufname is initialized, as otherwise
|
||||
|
@ -530,7 +530,7 @@ This is a list of four items:
|
||||
the project is considered to be not stuck. If you specify \"*\" as
|
||||
a tag, any tag will mark the project unstuck. Note that this is about
|
||||
the explicit presence of a tag somewhere in the subtree, inherited
|
||||
tags to not count here. If inherited tags make a project not stuck,
|
||||
tags do not count here. If inherited tags make a project not stuck,
|
||||
use \"-TAG\" in the tags part of the matcher under (1.) above.
|
||||
4. An arbitrary regular expression matching non-stuck projects.
|
||||
|
||||
@ -3728,19 +3728,18 @@ A good way to set it is through options in `org-agenda-custom-commands'.")
|
||||
Also moves point to the end of the skipped region, so that search can
|
||||
continue from there."
|
||||
(let ((p (point-at-bol)) to)
|
||||
(when (org-in-src-block-p t) (throw :skip t))
|
||||
(and org-agenda-skip-archived-trees (not org-agenda-archives-mode)
|
||||
(get-text-property p :org-archived)
|
||||
(org-end-of-subtree t)
|
||||
(throw :skip t))
|
||||
(and org-agenda-skip-comment-trees
|
||||
(get-text-property p :org-comment)
|
||||
(org-end-of-subtree t)
|
||||
(throw :skip t))
|
||||
(if (equal (char-after p) ?#) (throw :skip t))
|
||||
(when (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global)
|
||||
(org-agenda-skip-eval org-agenda-skip-function)))
|
||||
(goto-char to)
|
||||
(when (or
|
||||
(save-excursion (goto-char p) (looking-at comment-start-skip))
|
||||
(and org-agenda-skip-archived-trees (not org-agenda-archives-mode)
|
||||
(get-text-property p :org-archived)
|
||||
(org-end-of-subtree t))
|
||||
(and org-agenda-skip-comment-trees
|
||||
(get-text-property p :org-comment)
|
||||
(org-end-of-subtree t))
|
||||
(and (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global)
|
||||
(org-agenda-skip-eval org-agenda-skip-function)))
|
||||
(goto-char to))
|
||||
(org-in-src-block-p t))
|
||||
(throw :skip t))))
|
||||
|
||||
(defun org-agenda-skip-eval (form)
|
||||
@ -4479,7 +4478,8 @@ in `org-agenda-text-search-extra-files'."
|
||||
category-pos (get-text-property (point) 'org-category-position)
|
||||
inherited-tags
|
||||
(or (eq org-agenda-show-inherited-tags 'always)
|
||||
(memq 'todo org-agenda-show-inherited-tags)
|
||||
(and (listp org-agenda-show-inherited-tags)
|
||||
(memq 'todo org-agenda-show-inherited-tags))
|
||||
(and (eq org-agenda-show-inherited-tags t)
|
||||
(or (eq org-agenda-use-tag-inheritance t)
|
||||
(memq 'todo org-agenda-use-tag-inheritance))))
|
||||
@ -5406,9 +5406,6 @@ Do we have a reason to ignore this TODO entry because it has a time stamp?
|
||||
|
||||
\(fn &optional END)" nil nil)
|
||||
|
||||
(defconst org-agenda-no-heading-message
|
||||
"No heading for this item in buffer or region.")
|
||||
|
||||
(defun org-agenda-get-timestamps (&optional deadline-results)
|
||||
"Return the date stamp information for agenda display."
|
||||
(let* ((props (list 'face 'org-agenda-calendar-event
|
||||
@ -5488,7 +5485,7 @@ Do we have a reason to ignore this TODO entry because it has a time stamp?
|
||||
category-pos (get-text-property b0 'org-category-position))
|
||||
(save-excursion
|
||||
(if (not (re-search-backward org-outline-regexp-bol nil t))
|
||||
(setq txt org-agenda-no-heading-message)
|
||||
(throw :skip nil)
|
||||
(goto-char (match-beginning 0))
|
||||
(if (and (eq t org-agenda-skip-timestamp-if-deadline-is-shown)
|
||||
(assoc (point) deadline-position-alist))
|
||||
@ -5724,7 +5721,7 @@ please use `org-class' instead."
|
||||
(and (looking-at ".*\n[ \t]*-[ \t]+\\([^-\n \t].*?\\)[ \t]*$")
|
||||
(match-string 1)))))
|
||||
(if (not (re-search-backward org-outline-regexp-bol nil t))
|
||||
(setq txt org-agenda-no-heading-message)
|
||||
(throw :skip nil)
|
||||
(goto-char (match-beginning 0))
|
||||
(setq hdmarker (org-agenda-new-marker)
|
||||
inherited-tags
|
||||
@ -5892,7 +5889,7 @@ See also the user option `org-agenda-clock-consistency-checks'."
|
||||
(d1 (calendar-absolute-from-gregorian date)) ; DATE bound by calendar
|
||||
d2 diff dfrac wdays pos pos1 category category-pos
|
||||
tags suppress-prewarning ee txt head face s todo-state
|
||||
show-all upcomingp donep timestr warntime)
|
||||
show-all upcomingp donep timestr warntime inherited-tags)
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward regexp nil t)
|
||||
(setq suppress-prewarning nil)
|
||||
@ -5941,11 +5938,18 @@ See also the user option `org-agenda-clock-consistency-checks'."
|
||||
warntime (get-text-property (point) 'org-appt-warntime)
|
||||
category-pos (get-text-property (point) 'org-category-position))
|
||||
(if (not (re-search-backward "^\\*+[ \t]+" nil t))
|
||||
(setq txt org-agenda-no-heading-message)
|
||||
(throw :skip nil)
|
||||
(goto-char (match-end 0))
|
||||
(setq pos1 (match-beginning 0))
|
||||
(setq tags (org-get-tags-at pos1 t))
|
||||
(setq head (buffer-substring-no-properties
|
||||
(setq inherited-tags
|
||||
(or (eq org-agenda-show-inherited-tags 'always)
|
||||
(and (listp org-agenda-show-inherited-tags)
|
||||
(memq 'agenda org-agenda-show-inherited-tags))
|
||||
(and (eq org-agenda-show-inherited-tags t)
|
||||
(or (eq org-agenda-use-tag-inheritance t)
|
||||
(memq 'agenda org-agenda-use-tag-inheritance))))
|
||||
tags (org-get-tags-at pos1 (not inherited-tags)))
|
||||
(setq head (buffer-substring
|
||||
(point)
|
||||
(progn (skip-chars-forward "^\r\n")
|
||||
(point))))
|
||||
@ -6059,7 +6063,7 @@ FRACTION is what fraction of the head-warning time has passed."
|
||||
(setq category (org-get-category)
|
||||
category-pos (get-text-property (point) 'org-category-position))
|
||||
(if (not (re-search-backward "^\\*+[ \t]+" nil t))
|
||||
(setq txt org-agenda-no-heading-message)
|
||||
(throw :skip nil)
|
||||
(goto-char (match-end 0))
|
||||
(setq pos1 (match-beginning 0))
|
||||
(if habitp
|
||||
@ -6082,7 +6086,7 @@ FRACTION is what fraction of the head-warning time has passed."
|
||||
(or (eq org-agenda-use-tag-inheritance t)
|
||||
(memq 'agenda org-agenda-use-tag-inheritance))))
|
||||
tags (org-get-tags-at nil (not inherited-tags)))
|
||||
(setq head (buffer-substring-no-properties
|
||||
(setq head (buffer-substring
|
||||
(point)
|
||||
(progn (skip-chars-forward "^\r\n") (point))))
|
||||
(if (string-match " \\([012]?[0-9]:[0-9][0-9]\\)" s)
|
||||
@ -6160,7 +6164,7 @@ FRACTION is what fraction of the head-warning time has passed."
|
||||
(setq category (org-get-category)
|
||||
category-pos (get-text-property (point) 'org-category-position))
|
||||
(if (not (re-search-backward org-outline-regexp-bol nil t))
|
||||
(setq txt org-agenda-no-heading-message)
|
||||
(throw :skip nil)
|
||||
(goto-char (match-beginning 0))
|
||||
(setq hdmarker (org-agenda-new-marker (point))
|
||||
inherited-tags
|
||||
@ -6892,7 +6896,10 @@ Allowed types are 'agenda 'timeline 'todo 'tags 'search."
|
||||
(interactive)
|
||||
(if (and (eq org-indirect-buffer-display 'other-window)
|
||||
org-last-indirect-buffer)
|
||||
(delete-window (get-buffer-window org-last-indirect-buffer)))
|
||||
(let ((org-last-indirect-window
|
||||
(get-buffer-window org-last-indirect-buffer)))
|
||||
(if org-last-indirect-window
|
||||
(delete-window org-last-indirect-window))))
|
||||
(if org-agenda-columns-active
|
||||
(org-columns-quit)
|
||||
(if org-agenda-sticky
|
||||
@ -8012,32 +8019,34 @@ It also looks at the text of the entry itself."
|
||||
(let* ((marker (or (org-get-at-bol 'org-hd-marker)
|
||||
(org-get-at-bol 'org-marker)))
|
||||
(buffer (and marker (marker-buffer marker)))
|
||||
(prefix (buffer-substring
|
||||
(point-at-bol) (point-at-eol)))
|
||||
(prefix (buffer-substring (point-at-bol) (point-at-eol)))
|
||||
(lkall (org-offer-links-in-entry buffer marker arg prefix))
|
||||
(lk (car lkall))
|
||||
(lk0 (car lkall))
|
||||
(lk (if (stringp lk0) (list lk0) lk0))
|
||||
(lkend (cdr lkall))
|
||||
trg)
|
||||
(cond
|
||||
((and buffer (stringp lk))
|
||||
(with-current-buffer buffer
|
||||
(setq trg (and (string-match org-bracket-link-regexp lk)
|
||||
(match-string 1 lk)))
|
||||
(if (or (not trg) (string-match org-any-link-re trg))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(goto-char marker)
|
||||
(when (search-forward lk nil lkend)
|
||||
(goto-char (match-beginning 0))
|
||||
(org-open-at-point))))
|
||||
;; This is an internal link, widen the buffer
|
||||
(switch-to-buffer-other-window buffer)
|
||||
(widen)
|
||||
(goto-char marker)
|
||||
(when (search-forward lk nil lkend)
|
||||
(goto-char (match-beginning 0))
|
||||
(org-open-at-point)))))
|
||||
((and buffer lk)
|
||||
(mapcar (lambda(l)
|
||||
(with-current-buffer buffer
|
||||
(setq trg (and (string-match org-bracket-link-regexp l)
|
||||
(match-string 1 l)))
|
||||
(if (or (not trg) (string-match org-any-link-re trg))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(goto-char marker)
|
||||
(when (search-forward l nil lkend)
|
||||
(goto-char (match-beginning 0))
|
||||
(org-open-at-point))))
|
||||
;; This is an internal link, widen the buffer
|
||||
(switch-to-buffer-other-window buffer)
|
||||
(widen)
|
||||
(goto-char marker)
|
||||
(when (search-forward l nil lkend)
|
||||
(goto-char (match-beginning 0))
|
||||
(org-open-at-point)))))
|
||||
lk))
|
||||
((or (org-in-regexp (concat "\\(" org-bracket-link-regexp "\\)"))
|
||||
(save-excursion
|
||||
(beginning-of-line 1)
|
||||
|
@ -679,7 +679,7 @@ This function relies `org-search-view' to locate results."
|
||||
(org-agenda-search-view-always-boolean t))
|
||||
(org-search-view nil
|
||||
(format "%s +{:%s%s:}"
|
||||
string org-bibtex-prefix
|
||||
string (or org-bibtex-prefix "")
|
||||
org-bibtex-type-property-name))))
|
||||
|
||||
(provide 'org-bibtex)
|
||||
|
@ -1204,7 +1204,7 @@ make this the default behavior.)"
|
||||
(setq org-clock-start-time
|
||||
(apply 'encode-time
|
||||
(org-parse-time-string (match-string 1))))
|
||||
(setq org-clock-effort (get-text-property (point) 'org-effort))
|
||||
(setq org-clock-effort (org-entry-get (point) org-effort-property))
|
||||
(setq org-clock-total-time (org-clock-sum-current-item
|
||||
(org-clock-get-sum-start))))
|
||||
((eq org-clock-in-resume 'auto-restart)
|
||||
@ -1224,7 +1224,7 @@ make this the default behavior.)"
|
||||
(beginning-of-line 1)
|
||||
(org-indent-line-to (- (org-get-indentation) 2)))
|
||||
(insert org-clock-string " ")
|
||||
(setq org-clock-effort (get-text-property (point) 'org-effort))
|
||||
(setq org-clock-effort (org-entry-get (point) org-effort-property))
|
||||
(setq org-clock-total-time (org-clock-sum-current-item
|
||||
(org-clock-get-sum-start)))
|
||||
(setq org-clock-start-time
|
||||
@ -1675,86 +1675,85 @@ each headline in the time range with point at the headline. Headlines for
|
||||
which HEADLINE-FILTER returns nil are excluded from the clock summation.
|
||||
PROPNAME lets you set a custom text property instead of :org-clock-minutes."
|
||||
(interactive)
|
||||
(let* ((bmp (buffer-modified-p))
|
||||
(re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*"
|
||||
org-clock-string
|
||||
"[ \t]*\\(?:\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)\\|=>[ \t]+\\([0-9]+\\):\\([0-9]+\\)\\)"))
|
||||
(lmax 30)
|
||||
(ltimes (make-vector lmax 0))
|
||||
(t1 0)
|
||||
(level 0)
|
||||
ts te dt
|
||||
time)
|
||||
(if (stringp tstart) (setq tstart (org-time-string-to-seconds tstart)))
|
||||
(if (stringp tend) (setq tend (org-time-string-to-seconds tend)))
|
||||
(if (consp tstart) (setq tstart (org-float-time tstart)))
|
||||
(if (consp tend) (setq tend (org-float-time tend)))
|
||||
(remove-text-properties (point-min) (point-max)
|
||||
`(,(or propname :org-clock-minutes) t
|
||||
:org-clock-force-headline-inclusion t))
|
||||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(while (re-search-backward re nil t)
|
||||
(cond
|
||||
((match-end 2)
|
||||
;; Two time stamps
|
||||
(setq ts (match-string 2)
|
||||
te (match-string 3)
|
||||
ts (org-float-time
|
||||
(apply 'encode-time (org-parse-time-string ts)))
|
||||
te (org-float-time
|
||||
(apply 'encode-time (org-parse-time-string te)))
|
||||
ts (if tstart (max ts tstart) ts)
|
||||
te (if tend (min te tend) te)
|
||||
dt (- te ts)
|
||||
t1 (if (> dt 0) (+ t1 (floor (/ dt 60))) t1)))
|
||||
((match-end 4)
|
||||
;; A naked time
|
||||
(setq t1 (+ t1 (string-to-number (match-string 5))
|
||||
(* 60 (string-to-number (match-string 4))))))
|
||||
(t ;; A headline
|
||||
;; Add the currently clocking item time to the total
|
||||
(when (and org-clock-report-include-clocking-task
|
||||
(equal (org-clocking-buffer) (current-buffer))
|
||||
(equal (marker-position org-clock-hd-marker) (point))
|
||||
tstart
|
||||
tend
|
||||
(>= (org-float-time org-clock-start-time) tstart)
|
||||
(<= (org-float-time org-clock-start-time) tend))
|
||||
(let ((time (floor (- (org-float-time)
|
||||
(org-float-time org-clock-start-time)) 60)))
|
||||
(setq t1 (+ t1 time))))
|
||||
(let* ((headline-forced
|
||||
(get-text-property (point)
|
||||
:org-clock-force-headline-inclusion))
|
||||
(headline-included
|
||||
(or (null headline-filter)
|
||||
(save-excursion
|
||||
(save-match-data (funcall headline-filter))))))
|
||||
(setq level (- (match-end 1) (match-beginning 1)))
|
||||
(when (or (> t1 0) (> (aref ltimes level) 0))
|
||||
(when (or headline-included headline-forced)
|
||||
(if headline-included
|
||||
(loop for l from 0 to level do
|
||||
(aset ltimes l (+ (aref ltimes l) t1))))
|
||||
(setq time (aref ltimes level))
|
||||
(goto-char (match-beginning 0))
|
||||
(put-text-property (point) (point-at-eol)
|
||||
(or propname :org-clock-minutes) time)
|
||||
(if headline-filter
|
||||
(save-excursion
|
||||
(save-match-data
|
||||
(while
|
||||
(> (funcall outline-level) 1)
|
||||
(outline-up-heading 1 t)
|
||||
(put-text-property
|
||||
(point) (point-at-eol)
|
||||
:org-clock-force-headline-inclusion t))))))
|
||||
(setq t1 0)
|
||||
(loop for l from level to (1- lmax) do
|
||||
(aset ltimes l 0)))))))
|
||||
(setq org-clock-file-total-minutes (aref ltimes 0)))
|
||||
(set-buffer-modified-p bmp)))
|
||||
(org-unmodified
|
||||
(let* ((re (concat "^\\(\\*+\\)[ \t]\\|^[ \t]*"
|
||||
org-clock-string
|
||||
"[ \t]*\\(?:\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)\\|=>[ \t]+\\([0-9]+\\):\\([0-9]+\\)\\)"))
|
||||
(lmax 30)
|
||||
(ltimes (make-vector lmax 0))
|
||||
(t1 0)
|
||||
(level 0)
|
||||
ts te dt
|
||||
time)
|
||||
(if (stringp tstart) (setq tstart (org-time-string-to-seconds tstart)))
|
||||
(if (stringp tend) (setq tend (org-time-string-to-seconds tend)))
|
||||
(if (consp tstart) (setq tstart (org-float-time tstart)))
|
||||
(if (consp tend) (setq tend (org-float-time tend)))
|
||||
(remove-text-properties (point-min) (point-max)
|
||||
`(,(or propname :org-clock-minutes) t
|
||||
:org-clock-force-headline-inclusion t))
|
||||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(while (re-search-backward re nil t)
|
||||
(cond
|
||||
((match-end 2)
|
||||
;; Two time stamps
|
||||
(setq ts (match-string 2)
|
||||
te (match-string 3)
|
||||
ts (org-float-time
|
||||
(apply 'encode-time (org-parse-time-string ts)))
|
||||
te (org-float-time
|
||||
(apply 'encode-time (org-parse-time-string te)))
|
||||
ts (if tstart (max ts tstart) ts)
|
||||
te (if tend (min te tend) te)
|
||||
dt (- te ts)
|
||||
t1 (if (> dt 0) (+ t1 (floor (/ dt 60))) t1)))
|
||||
((match-end 4)
|
||||
;; A naked time
|
||||
(setq t1 (+ t1 (string-to-number (match-string 5))
|
||||
(* 60 (string-to-number (match-string 4))))))
|
||||
(t ;; A headline
|
||||
;; Add the currently clocking item time to the total
|
||||
(when (and org-clock-report-include-clocking-task
|
||||
(equal (org-clocking-buffer) (current-buffer))
|
||||
(equal (marker-position org-clock-hd-marker) (point))
|
||||
tstart
|
||||
tend
|
||||
(>= (org-float-time org-clock-start-time) tstart)
|
||||
(<= (org-float-time org-clock-start-time) tend))
|
||||
(let ((time (floor (- (org-float-time)
|
||||
(org-float-time org-clock-start-time)) 60)))
|
||||
(setq t1 (+ t1 time))))
|
||||
(let* ((headline-forced
|
||||
(get-text-property (point)
|
||||
:org-clock-force-headline-inclusion))
|
||||
(headline-included
|
||||
(or (null headline-filter)
|
||||
(save-excursion
|
||||
(save-match-data (funcall headline-filter))))))
|
||||
(setq level (- (match-end 1) (match-beginning 1)))
|
||||
(when (or (> t1 0) (> (aref ltimes level) 0))
|
||||
(when (or headline-included headline-forced)
|
||||
(if headline-included
|
||||
(loop for l from 0 to level do
|
||||
(aset ltimes l (+ (aref ltimes l) t1))))
|
||||
(setq time (aref ltimes level))
|
||||
(goto-char (match-beginning 0))
|
||||
(put-text-property (point) (point-at-eol)
|
||||
(or propname :org-clock-minutes) time)
|
||||
(if headline-filter
|
||||
(save-excursion
|
||||
(save-match-data
|
||||
(while
|
||||
(> (funcall outline-level) 1)
|
||||
(outline-up-heading 1 t)
|
||||
(put-text-property
|
||||
(point) (point-at-eol)
|
||||
:org-clock-force-headline-inclusion t))))))
|
||||
(setq t1 0)
|
||||
(loop for l from level to (1- lmax) do
|
||||
(aset ltimes l 0)))))))
|
||||
(setq org-clock-file-total-minutes (aref ltimes 0))))))
|
||||
|
||||
(defun org-clock-sum-current-item (&optional tstart)
|
||||
"Return time, clocked on current item in total."
|
||||
|
@ -2893,10 +2893,13 @@ Assume point is at the macro."
|
||||
(end (point))
|
||||
(args (let ((args (org-match-string-no-properties 3)) args2)
|
||||
(when args
|
||||
(setq args (org-split-string args ","))
|
||||
;; Do not use `org-split-string' since empty
|
||||
;; strings are meaningful here.
|
||||
(setq args (split-string args ","))
|
||||
(while args
|
||||
(while (string-match "\\\\\\'" (car args))
|
||||
;; Repair bad splits.
|
||||
;; Repair bad splits, when comma is protected,
|
||||
;; and thus not a real separator.
|
||||
(setcar (cdr args) (concat (substring (car args) 0 -1)
|
||||
"," (nth 1 args)))
|
||||
(pop args))
|
||||
@ -3611,7 +3614,32 @@ recursion. It can be set to the following symbols:
|
||||
When VISIBLE-ONLY is non-nil, don't parse contents of hidden
|
||||
elements.
|
||||
|
||||
Assume buffer is in Org mode."
|
||||
An element or an objects is represented as a list with the
|
||||
pattern (TYPE PROPERTIES CONTENTS), where :
|
||||
|
||||
TYPE is a symbol describing the element or object. See
|
||||
`org-element-all-elements' and `org-element-all-objects' for an
|
||||
exhaustive list of such symbols. One can retrieve it with
|
||||
`org-element-type' function.
|
||||
|
||||
PROPERTIES is the list of attributes attached to the element or
|
||||
object, as a plist. Although most of them are specific to the
|
||||
element or object type, all types share `:begin', `:end',
|
||||
`:post-blank' and `:parent' properties, which respectively
|
||||
refer to buffer position where the element or object starts,
|
||||
ends, the number of white spaces or blank lines after it, and
|
||||
the element or object containing it. Properties values can be
|
||||
obtained by using `org-element-property' function.
|
||||
|
||||
CONTENTS is a list of elements, objects or raw strings
|
||||
contained in the current element or object, when applicable.
|
||||
One can access them with `org-element-contents' function.
|
||||
|
||||
The Org buffer has `org-data' as type and nil as properties.
|
||||
`org-element-map' function can be used to find specific elements
|
||||
or objects within the parse tree.
|
||||
|
||||
This function assumes that current major mode is `org-mode'."
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(org-skip-whitespace)
|
||||
@ -3640,11 +3668,12 @@ containing the secondary string. It is used to set correctly
|
||||
(defun org-element-map (data types fun &optional info first-match no-recursion)
|
||||
"Map a function on selected elements or objects.
|
||||
|
||||
DATA is the parsed tree, as returned by, i.e,
|
||||
DATA is an Org buffer parse tree, as returned by, i.e,
|
||||
`org-element-parse-buffer'. TYPES is a symbol or list of symbols
|
||||
of elements or objects types. FUN is the function called on the
|
||||
matching element or object. It must accept one arguments: the
|
||||
element or object itself.
|
||||
of elements or objects types (see `org-element-all-elements' and
|
||||
`org-element-all-objects' for a complete list of types). FUN is
|
||||
the function called on the matching element or object. It has to
|
||||
accept one argument: the element or object itself.
|
||||
|
||||
When optional argument INFO is non-nil, it should be a plist
|
||||
holding export options. In that case, parts of the parse tree
|
||||
@ -3658,7 +3687,37 @@ representing elements or objects types. `org-element-map' won't
|
||||
enter any recursive element or object whose type belongs to that
|
||||
list. Though, FUN can still be applied on them.
|
||||
|
||||
Nil values returned from FUN do not appear in the results."
|
||||
Nil values returned from FUN do not appear in the results.
|
||||
|
||||
|
||||
Examples:
|
||||
--------
|
||||
|
||||
Assuming TREE is a variable containing an Org buffer parse tree,
|
||||
the following example will return a flat list of all `src-block'
|
||||
and `example-block' elements in it:
|
||||
|
||||
\(org-element-map tree '(example-block src-block) 'identity)
|
||||
|
||||
The following snippet will find the first headline with a level
|
||||
of 1 and a \"phone\" tag, and will return its beginning position:
|
||||
|
||||
\(org-element-map
|
||||
tree 'headline
|
||||
\(lambda (hl)
|
||||
\(and (= (org-element-property :level hl) 1)
|
||||
\(member \"phone\" (org-element-property :tags hl))
|
||||
\(org-element-property :begin hl)))
|
||||
nil t)
|
||||
|
||||
Eventually, this last example will return a flat list of all
|
||||
`bold' type objects containing a `latex-snippet' type object:
|
||||
|
||||
\(org-element-map
|
||||
tree 'bold
|
||||
\(lambda (b)
|
||||
\(and (org-element-map b 'latex-snippet 'identity nil t)
|
||||
b)))"
|
||||
;; Ensure TYPES and NO-RECURSION are a list, even of one element.
|
||||
(unless (listp types) (setq types (list types)))
|
||||
(unless (listp no-recursion) (setq no-recursion (list no-recursion)))
|
||||
@ -4168,8 +4227,8 @@ of the element and PROPS a plist of properties associated to the
|
||||
element.
|
||||
|
||||
Possible types are defined in `org-element-all-elements'.
|
||||
Properties depend on element or object type, but always
|
||||
include :begin, :end, :parent and :post-blank properties.
|
||||
Properties depend on element or object type, but always include
|
||||
`:begin', `:end', `:parent' and `:post-blank' properties.
|
||||
|
||||
As a special case, if point is at the very beginning of a list or
|
||||
sub-list, returned element will be that list instead of the first
|
||||
@ -4178,8 +4237,8 @@ row of a table, returned element will be the table instead of the
|
||||
first row.
|
||||
|
||||
If optional argument KEEP-TRAIL is non-nil, the function returns
|
||||
a list of of elements leading to element at point. The list's
|
||||
CAR is always the element at point. Following positions contain
|
||||
a list of elements leading to element at point. The list's CAR
|
||||
is always the element at point. The following positions contain
|
||||
element's siblings, then parents, siblings of parents, until the
|
||||
first element of current section."
|
||||
(org-with-wide-buffer
|
||||
@ -4268,8 +4327,8 @@ associated to it.
|
||||
|
||||
Possible types are defined in `org-element-all-elements' and
|
||||
`org-element-all-objects'. Properties depend on element or
|
||||
object type, but always include :begin, :end, :parent
|
||||
and :post-blank properties."
|
||||
object type, but always include `:begin', `:end', `:parent' and
|
||||
`:post-blank'."
|
||||
(org-with-wide-buffer
|
||||
(let* ((origin (point))
|
||||
(element (org-element-at-point))
|
||||
|
@ -2113,7 +2113,8 @@ Also, store forced alignment information found in such lines."
|
||||
(put-text-property (match-beginning 0) (match-end 0) 'org-normalized-link t))
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward re-plain-link nil t)
|
||||
(unless (get-text-property (match-beginning 0) 'org-normalized-link)
|
||||
(unless (or (get-text-property (match-beginning 0) 'org-normalized-link)
|
||||
(assoc :tags (org-context)))
|
||||
(goto-char (1- (match-end 0)))
|
||||
(org-if-unprotected-at (1+ (match-beginning 0))
|
||||
(let* ((s (concat (match-string 1)
|
||||
|
@ -486,7 +486,8 @@ or new, let the user edit the definition of the footnote."
|
||||
(defun org-footnote-create-definition (label)
|
||||
"Start the definition of a footnote with label LABEL."
|
||||
(interactive "sLabel: ")
|
||||
(let ((label (org-footnote-normalize-label label)))
|
||||
(let ((label (org-footnote-normalize-label label))
|
||||
electric-indent-mode) ;; Prevent wrong indentation
|
||||
(cond
|
||||
;; In an Org file.
|
||||
((derived-mode-p 'org-mode)
|
||||
|
@ -464,6 +464,9 @@ precedence over this variable."
|
||||
(defcustom org-export-html-preamble-format '(("en" ""))
|
||||
"Alist of languages and format strings for the HTML preamble.
|
||||
|
||||
To enable the HTML exporter to use these formats, you need to set
|
||||
`org-export-html-preamble' to `t'.
|
||||
|
||||
The first element of each list is the language code, as used for
|
||||
the #+LANGUAGE keyword.
|
||||
|
||||
@ -510,6 +513,9 @@ precedence over this variable."
|
||||
"))
|
||||
"Alist of languages and format strings for the HTML postamble.
|
||||
|
||||
To enable the HTML exporter to use these formats, you need to set
|
||||
`org-export-html-postamble' to `t'.
|
||||
|
||||
The first element of each list is the language code, as used for
|
||||
the #+LANGUAGE keyword.
|
||||
|
||||
@ -1030,7 +1036,10 @@ OPT-PLIST is the export options list."
|
||||
(if (string-match "^file:" desc)
|
||||
(setq desc (substring desc (match-end 0)))))
|
||||
(setq desc (org-add-props
|
||||
(concat "<img src=\"" desc "\" alt=\""
|
||||
(concat "<img src=\"" desc "\" "
|
||||
(when (save-match-data (string-match "width=" attr))
|
||||
(prog1 (concat attr " ") (setq attr "")))
|
||||
"alt=\""
|
||||
(file-name-nondirectory desc) "\"/>")
|
||||
'(org-protected t))))
|
||||
(cond
|
||||
|
@ -159,69 +159,68 @@ properties, after each buffer modification, on the modified zone.
|
||||
|
||||
The process is synchronous. Though, initial indentation of
|
||||
buffer, which can take a few seconds on large buffers, is done
|
||||
during idle time." nil " Ind" nil
|
||||
(cond
|
||||
((org-bound-and-true-p org-inhibit-startup)
|
||||
(setq org-indent-mode nil))
|
||||
((and org-indent-mode (featurep 'xemacs))
|
||||
(message "org-indent-mode does not work in XEmacs - refusing to turn it on")
|
||||
(setq org-indent-mode nil))
|
||||
((and org-indent-mode
|
||||
(not (org-version-check "23.1.50" "Org Indent mode" :predicate)))
|
||||
(message "org-indent-mode can crash Emacs 23.1 - refusing to turn it on!")
|
||||
(ding)
|
||||
(sit-for 1)
|
||||
(setq org-indent-mode nil))
|
||||
(org-indent-mode
|
||||
;; mode was turned on.
|
||||
(org-set-local 'indent-tabs-mode nil)
|
||||
(or org-indent-strings (org-indent-initialize))
|
||||
(org-set-local 'org-indent-initial-marker (copy-marker 1))
|
||||
(when org-indent-mode-turns-off-org-adapt-indentation
|
||||
(org-set-local 'org-adapt-indentation nil))
|
||||
(when org-indent-mode-turns-on-hiding-stars
|
||||
(org-set-local 'org-hide-leading-stars-before-indent-mode
|
||||
org-hide-leading-stars)
|
||||
(org-set-local 'org-hide-leading-stars t))
|
||||
(make-local-variable 'filter-buffer-substring-functions)
|
||||
(add-hook 'filter-buffer-substring-functions
|
||||
(lambda (fun start end delete)
|
||||
(org-indent-remove-properties-from-string
|
||||
(funcall fun start end delete))))
|
||||
(org-add-hook 'after-change-functions 'org-indent-refresh-maybe nil 'local)
|
||||
(org-add-hook 'before-change-functions
|
||||
'org-indent-notify-modified-headline nil 'local)
|
||||
(and font-lock-mode (org-restart-font-lock))
|
||||
(org-indent-remove-properties (point-min) (point-max))
|
||||
;; Submit current buffer to initialize agent. If it's the first
|
||||
;; buffer submitted, also start the agent. Current buffer is
|
||||
;; pushed in both cases to avoid a race condition.
|
||||
(if org-indent-agentized-buffers
|
||||
during idle time."
|
||||
nil " Ind" nil
|
||||
(cond
|
||||
((and org-indent-mode (featurep 'xemacs))
|
||||
(message "org-indent-mode does not work in XEmacs - refusing to turn it on")
|
||||
(setq org-indent-mode nil))
|
||||
((and org-indent-mode
|
||||
(not (org-version-check "23.1.50" "Org Indent mode" :predicate)))
|
||||
(message "org-indent-mode can crash Emacs 23.1 - refusing to turn it on!")
|
||||
(ding)
|
||||
(sit-for 1)
|
||||
(setq org-indent-mode nil))
|
||||
(org-indent-mode
|
||||
;; mode was turned on.
|
||||
(org-set-local 'indent-tabs-mode nil)
|
||||
(or org-indent-strings (org-indent-initialize))
|
||||
(org-set-local 'org-indent-initial-marker (copy-marker 1))
|
||||
(when org-indent-mode-turns-off-org-adapt-indentation
|
||||
(org-set-local 'org-adapt-indentation nil))
|
||||
(when org-indent-mode-turns-on-hiding-stars
|
||||
(org-set-local 'org-hide-leading-stars-before-indent-mode
|
||||
org-hide-leading-stars)
|
||||
(org-set-local 'org-hide-leading-stars t))
|
||||
(make-local-variable 'filter-buffer-substring-functions)
|
||||
(add-hook 'filter-buffer-substring-functions
|
||||
(lambda (fun start end delete)
|
||||
(org-indent-remove-properties-from-string
|
||||
(funcall fun start end delete))))
|
||||
(org-add-hook 'after-change-functions 'org-indent-refresh-maybe nil 'local)
|
||||
(org-add-hook 'before-change-functions
|
||||
'org-indent-notify-modified-headline nil 'local)
|
||||
(and font-lock-mode (org-restart-font-lock))
|
||||
(org-indent-remove-properties (point-min) (point-max))
|
||||
;; Submit current buffer to initialize agent. If it's the first
|
||||
;; buffer submitted, also start the agent. Current buffer is
|
||||
;; pushed in both cases to avoid a race condition.
|
||||
(if org-indent-agentized-buffers
|
||||
(push (current-buffer) org-indent-agentized-buffers)
|
||||
(push (current-buffer) org-indent-agentized-buffers)
|
||||
(push (current-buffer) org-indent-agentized-buffers)
|
||||
(setq org-indent-agent-timer
|
||||
(run-with-idle-timer 0.2 t #'org-indent-initialize-agent))))
|
||||
(t
|
||||
;; mode was turned off (or we refused to turn it on)
|
||||
(kill-local-variable 'org-adapt-indentation)
|
||||
(setq org-indent-agentized-buffers
|
||||
(delq (current-buffer) org-indent-agentized-buffers))
|
||||
(when (markerp org-indent-initial-marker)
|
||||
(set-marker org-indent-initial-marker nil))
|
||||
(when (boundp 'org-hide-leading-stars-before-indent-mode)
|
||||
(org-set-local 'org-hide-leading-stars
|
||||
org-hide-leading-stars-before-indent-mode))
|
||||
(remove-hook 'filter-buffer-substring-functions
|
||||
(lambda (fun start end delete)
|
||||
(org-indent-remove-properties-from-string
|
||||
(funcall fun start end delete))))
|
||||
(remove-hook 'after-change-functions 'org-indent-refresh-maybe 'local)
|
||||
(remove-hook 'before-change-functions
|
||||
'org-indent-notify-modified-headline 'local)
|
||||
(org-with-wide-buffer
|
||||
(org-indent-remove-properties (point-min) (point-max)))
|
||||
(and font-lock-mode (org-restart-font-lock))
|
||||
(redraw-display))))
|
||||
(setq org-indent-agent-timer
|
||||
(run-with-idle-timer 0.2 t #'org-indent-initialize-agent))))
|
||||
(t
|
||||
;; mode was turned off (or we refused to turn it on)
|
||||
(kill-local-variable 'org-adapt-indentation)
|
||||
(setq org-indent-agentized-buffers
|
||||
(delq (current-buffer) org-indent-agentized-buffers))
|
||||
(when (markerp org-indent-initial-marker)
|
||||
(set-marker org-indent-initial-marker nil))
|
||||
(when (boundp 'org-hide-leading-stars-before-indent-mode)
|
||||
(org-set-local 'org-hide-leading-stars
|
||||
org-hide-leading-stars-before-indent-mode))
|
||||
(remove-hook 'filter-buffer-substring-functions
|
||||
(lambda (fun start end delete)
|
||||
(org-indent-remove-properties-from-string
|
||||
(funcall fun start end delete))))
|
||||
(remove-hook 'after-change-functions 'org-indent-refresh-maybe 'local)
|
||||
(remove-hook 'before-change-functions
|
||||
'org-indent-notify-modified-headline 'local)
|
||||
(org-with-wide-buffer
|
||||
(org-indent-remove-properties (point-min) (point-max)))
|
||||
(and font-lock-mode (org-restart-font-lock))
|
||||
(redraw-display))))
|
||||
|
||||
(defun org-indent-indent-buffer ()
|
||||
"Add indentation properties to the accessible part of the buffer."
|
||||
|
@ -1,10 +1,12 @@
|
||||
;;; org-install.el --- backward compatibility file for obsolete configuration
|
||||
;;
|
||||
;;; Code:
|
||||
(warn "The file org-install is obsolete.
|
||||
It is provided here so that (require 'org-install) does not
|
||||
trigger an error for users with obsolete Emacs configuration.
|
||||
You can safely remove (require 'org-install) from your config.")
|
||||
;;
|
||||
;; The file org-install is obsolete.
|
||||
;;
|
||||
;; It is provided here so that (require 'org-install) does not
|
||||
;; trigger an error for users with obsolete Emacs configuration.
|
||||
;; You can safely remove (require 'org-install) from your config."
|
||||
|
||||
(provide 'org-install)
|
||||
|
||||
|
@ -1802,7 +1802,9 @@ This function modifies STRUCT."
|
||||
;; There are boxes checked after an unchecked one: fix that.
|
||||
(when (member "[X]" after-unchecked)
|
||||
(let ((index (- (length struct) (length after-unchecked))))
|
||||
(mapc (lambda (e) (org-list-set-checkbox e struct "[ ]"))
|
||||
(mapc (lambda (e)
|
||||
(when (org-list-get-checkbox e struct)
|
||||
(org-list-set-checkbox e struct "[ ]")))
|
||||
(nthcdr index all-items))
|
||||
;; Verify once again the structure, without ORDERED.
|
||||
(org-list-struct-fix-box struct parents prevs nil)
|
||||
|
@ -93,7 +93,7 @@ Also, do not record undo information."
|
||||
`(set-buffer-modified-p
|
||||
(prog1 (buffer-modified-p)
|
||||
(let ((buffer-undo-list t)
|
||||
before-change-functions after-change-functions)
|
||||
(inhibit-modification-hooks t))
|
||||
,@body))))
|
||||
(def-edebug-spec org-unmodified (body))
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
(defun org-release ()
|
||||
"The release version of org-mode.
|
||||
Inserted by installing org-mode or when a release is made."
|
||||
(let ((org-release "7.9.3d"))
|
||||
(let ((org-release "7.9.3e"))
|
||||
org-release))
|
||||
;;;###autoload
|
||||
(defun org-git-version ()
|
||||
"The Git version of org-mode.
|
||||
Inserted by installing org-mode or when a release is made."
|
||||
(let ((org-git-version "7.9.3d-GNU-Emacs-24-3 (commit e8f5b0ad)"))
|
||||
(let ((org-git-version "7.9.3e-3-gb07a9b"))
|
||||
org-git-version))
|
||||
;;;###autoload
|
||||
(defvar org-odt-data-dir "/usr/share/emacs/etc/org"
|
||||
|
121
lisp/org/org.el
121
lisp/org/org.el
@ -4915,6 +4915,7 @@ The following commands are available:
|
||||
(org-set-local 'calc-embedded-open-mode "# ")
|
||||
(modify-syntax-entry ?@ "w")
|
||||
(if org-startup-truncated (setq truncate-lines t))
|
||||
(when org-startup-indented (require 'org-indent) (org-indent-mode 1))
|
||||
(org-set-local 'font-lock-unfontify-region-function
|
||||
'org-unfontify-region)
|
||||
;; Activate before-change-function
|
||||
@ -4970,9 +4971,6 @@ The following commands are available:
|
||||
(org-set-local 'outline-isearch-open-invisible-function
|
||||
(lambda (&rest ignore) (org-show-context 'isearch))))
|
||||
|
||||
;; Turn on org-beamer-mode?
|
||||
(and org-startup-with-beamer-mode (org-beamer-mode))
|
||||
|
||||
;; Setup the pcomplete hooks
|
||||
(set (make-local-variable 'pcomplete-command-completion-function)
|
||||
'org-pcomplete-initial)
|
||||
@ -4992,15 +4990,13 @@ The following commands are available:
|
||||
(= (point-min) (point-max)))
|
||||
(insert "# -*- mode: org -*-\n\n"))
|
||||
(unless org-inhibit-startup
|
||||
(and org-startup-with-beamer-mode (org-beamer-mode))
|
||||
(when org-startup-align-all-tables
|
||||
(let ((bmp (buffer-modified-p)))
|
||||
(org-table-map-tables 'org-table-align 'quietly)
|
||||
(set-buffer-modified-p bmp)))
|
||||
(when org-startup-with-inline-images
|
||||
(org-display-inline-images))
|
||||
(when org-startup-indented
|
||||
(require 'org-indent)
|
||||
(org-indent-mode 1))
|
||||
(unless org-inhibit-startup-visibility-stuff
|
||||
(org-set-startup-visibility)))
|
||||
;; Try to set org-hide correctly
|
||||
@ -5422,7 +5418,7 @@ by a #."
|
||||
'(font-lock-fontified t invisible t)
|
||||
'(font-lock-fontified t face org-document-info-keyword)))
|
||||
(add-text-properties
|
||||
(match-beginning 6) (1+ (match-end 6))
|
||||
(match-beginning 6) (min (point-max) (1+ (match-end 6)))
|
||||
(if (string-equal dc1 "+title:")
|
||||
'(font-lock-fontified t face org-document-title)
|
||||
'(font-lock-fontified t face org-document-info))))
|
||||
@ -15925,7 +15921,8 @@ Don't touch the rest."
|
||||
(floor (* (string-to-number (match-string 1 ts))
|
||||
(cdr (assoc (match-string 2 ts)
|
||||
'(("d" . 1) ("w" . 7)
|
||||
("m" . 30.4) ("y" . 365.25)))))))
|
||||
("m" . 30.4) ("y" . 365.25)
|
||||
("h" . 0.041667)))))))
|
||||
;; go for the default.
|
||||
(t org-deadline-warning-days)))
|
||||
|
||||
@ -16662,6 +16659,15 @@ effort string \"2hours\" is equivalent to 120 minutes."
|
||||
:type '(alist :key-type (string :tag "Modifier")
|
||||
:value-type (number :tag "Minutes")))
|
||||
|
||||
(defcustom org-agenda-inhibit-startup t
|
||||
"Inhibit startup when preparing agenda buffers.
|
||||
When this variable is `t' (the default), the initialization of
|
||||
the Org agenda buffers is inhibited: e.g. the visibility state
|
||||
is not set, the tables are not re-aligned, etc."
|
||||
:type 'boolean
|
||||
:version "24.3"
|
||||
:group 'org-agenda)
|
||||
|
||||
(defun org-duration-string-to-minutes (s &optional output-to-string)
|
||||
"Convert a duration string S to minutes.
|
||||
|
||||
@ -17001,6 +17007,7 @@ When a buffer is unmodified, it is just killed. When modified, it is saved
|
||||
(pc '(:org-comment t))
|
||||
(pall '(:org-archived t :org-comment t))
|
||||
(inhibit-read-only t)
|
||||
(org-inhibit-startup org-agenda-inhibit-startup)
|
||||
(rea (concat ":" org-archive-tag ":"))
|
||||
bmp file re)
|
||||
(save-excursion
|
||||
@ -20984,58 +20991,62 @@ hierarchy of headlines by UP levels before marking the subtree."
|
||||
|
||||
(declare-function message-in-body-p "message" ())
|
||||
(defvar org-element--affiliated-re) ; From org-element.el
|
||||
(defvar orgtbl-line-start-regexp) ; From org-table.el
|
||||
(defun org-adaptive-fill-function ()
|
||||
"Compute a fill prefix for the current line.
|
||||
Return fill prefix, as a string, or nil if current line isn't
|
||||
meant to be filled."
|
||||
(let (prefix)
|
||||
(when (and (derived-mode-p 'message-mode) (message-in-body-p))
|
||||
(save-excursion
|
||||
(beginning-of-line)
|
||||
(cond ((looking-at message-cite-prefix-regexp)
|
||||
(setq prefix (match-string-no-properties 0)))
|
||||
((looking-at org-outline-regexp)
|
||||
(setq prefix "")))))
|
||||
(or prefix
|
||||
(org-with-wide-buffer
|
||||
(let* ((p (line-beginning-position))
|
||||
(element (save-excursion (beginning-of-line) (org-element-at-point)))
|
||||
(type (org-element-type element))
|
||||
(post-affiliated
|
||||
(save-excursion
|
||||
(goto-char (org-element-property :begin element))
|
||||
(while (looking-at org-element--affiliated-re) (forward-line))
|
||||
(point))))
|
||||
(unless (< p post-affiliated)
|
||||
(case type
|
||||
(comment (looking-at "[ \t]*# ?") (match-string 0))
|
||||
(footnote-definition "")
|
||||
((item plain-list)
|
||||
(make-string (org-list-item-body-column post-affiliated) ? ))
|
||||
(paragraph
|
||||
;; Fill prefix is usually the same as the current line,
|
||||
;; except if the paragraph is at the beginning of an item.
|
||||
(let ((parent (org-element-property :parent element)))
|
||||
(cond ((eq (org-element-type parent) 'item)
|
||||
(make-string (org-list-item-body-column
|
||||
(org-element-property :begin parent))
|
||||
? ))
|
||||
((save-excursion (beginning-of-line) (looking-at "[ \t]+"))
|
||||
(match-string 0))
|
||||
(t ""))))
|
||||
(comment-block
|
||||
;; Only fill contents if P is within block boundaries.
|
||||
(let* ((cbeg (save-excursion (goto-char post-affiliated)
|
||||
(forward-line)
|
||||
(point)))
|
||||
(cend (save-excursion
|
||||
(goto-char (org-element-property :end element))
|
||||
(skip-chars-backward " \r\t\n")
|
||||
(line-beginning-position))))
|
||||
(when (and (>= p cbeg) (< p cend))
|
||||
(if (save-excursion (beginning-of-line) (looking-at "[ \t]+"))
|
||||
(match-string 0)
|
||||
"")))))))))))
|
||||
(catch 'exit
|
||||
(when (derived-mode-p 'message-mode)
|
||||
(save-excursion
|
||||
(beginning-of-line)
|
||||
(cond ((or (not (message-in-body-p))
|
||||
(looking-at orgtbl-line-start-regexp))
|
||||
(throw 'exit nil))
|
||||
((looking-at message-cite-prefix-regexp)
|
||||
(throw 'exit (match-string-no-properties 0)))
|
||||
((looking-at org-outline-regexp)
|
||||
(throw 'exit (make-string (length (match-string 0)) ? ))))))
|
||||
(org-with-wide-buffer
|
||||
(let* ((p (line-beginning-position))
|
||||
(element (save-excursion (beginning-of-line) (org-element-at-point)))
|
||||
(type (org-element-type element))
|
||||
(post-affiliated
|
||||
(save-excursion
|
||||
(goto-char (org-element-property :begin element))
|
||||
(while (looking-at org-element--affiliated-re) (forward-line))
|
||||
(point))))
|
||||
(unless (< p post-affiliated)
|
||||
(case type
|
||||
(comment (looking-at "[ \t]*# ?") (match-string 0))
|
||||
(footnote-definition "")
|
||||
((item plain-list)
|
||||
(make-string (org-list-item-body-column post-affiliated) ? ))
|
||||
(paragraph
|
||||
;; Fill prefix is usually the same as the current line,
|
||||
;; except if the paragraph is at the beginning of an item.
|
||||
(let ((parent (org-element-property :parent element)))
|
||||
(cond ((eq (org-element-type parent) 'item)
|
||||
(make-string (org-list-item-body-column
|
||||
(org-element-property :begin parent))
|
||||
? ))
|
||||
((save-excursion (beginning-of-line) (looking-at "[ \t]+"))
|
||||
(match-string 0))
|
||||
(t ""))))
|
||||
(comment-block
|
||||
;; Only fill contents if P is within block boundaries.
|
||||
(let* ((cbeg (save-excursion (goto-char post-affiliated)
|
||||
(forward-line)
|
||||
(point)))
|
||||
(cend (save-excursion
|
||||
(goto-char (org-element-property :end element))
|
||||
(skip-chars-backward " \r\t\n")
|
||||
(line-beginning-position))))
|
||||
(when (and (>= p cbeg) (< p cend))
|
||||
(if (save-excursion (beginning-of-line) (looking-at "[ \t]+"))
|
||||
(match-string 0)
|
||||
"")))))))))))
|
||||
|
||||
(declare-function message-goto-body "message" ())
|
||||
(defvar message-cite-prefix-regexp) ; From message.el
|
||||
|
Loading…
Reference in New Issue
Block a user