update of packages
This commit is contained in:
258
lisp/org/org.el
258
lisp/org/org.el
@@ -1,15 +1,15 @@
|
||||
;;; org.el --- Outline-based notes management and organizer -*- lexical-binding: t; -*-
|
||||
|
||||
;; Carstens outline-mode for keeping track of everything.
|
||||
;; Copyright (C) 2004-2022 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2004-2023 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: Carsten Dominik <carsten.dominik@gmail.com>
|
||||
;; Maintainer: Bastien Guerry <bzg@gnu.org>
|
||||
;; Keywords: outlines, hypermedia, calendar, wp
|
||||
;; URL: https://orgmode.org
|
||||
;; Package-Requires: ((emacs "25.1"))
|
||||
;; Package-Requires: ((emacs "26.1"))
|
||||
|
||||
;; Version: 9.6
|
||||
;; Version: 9.6.11
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
@@ -102,6 +102,7 @@
|
||||
|
||||
(require 'org-cycle)
|
||||
(defvaralias 'org-hide-block-startup 'org-cycle-hide-block-startup)
|
||||
(defvaralias 'org-hide-drawer-startup 'org-cycle-hide-drawer-startup)
|
||||
(defvaralias 'org-pre-cycle-hook 'org-cycle-pre-hook)
|
||||
(defvaralias 'org-tab-first-hook 'org-cycle-tab-first-hook)
|
||||
(defalias 'org-global-cycle #'org-cycle-global)
|
||||
@@ -296,47 +297,49 @@ default, only Emacs Lisp is loaded, since it has no specific
|
||||
requirement."
|
||||
:group 'org-babel
|
||||
:set 'org-babel-do-load-languages
|
||||
:version "24.1"
|
||||
:package-version '(Org . "9.6")
|
||||
:type '(alist :tag "Babel Languages"
|
||||
:key-type
|
||||
(choice
|
||||
(const :tag "Awk" awk)
|
||||
(const :tag "C" C)
|
||||
(const :tag "C, D, C++, and cpp" C)
|
||||
(const :tag "R" R)
|
||||
(const :tag "Calc" calc)
|
||||
(const :tag "Clojure" clojure)
|
||||
(const :tag "Clojure and ClojureScript" clojure)
|
||||
(const :tag "CSS" css)
|
||||
(const :tag "Ditaa" ditaa)
|
||||
(const :tag "Dot" dot)
|
||||
(const :tag "Emacs Lisp" emacs-lisp)
|
||||
(const :tag "Eshell" eshell)
|
||||
(const :tag "Forth" forth)
|
||||
(const :tag "Fortran" fortran)
|
||||
(const :tag "Gnuplot" gnuplot)
|
||||
(const :tag "GnuPlot" gnuplot)
|
||||
(const :tag "Groovy" groovy)
|
||||
(const :tag "Haskell" haskell)
|
||||
(const :tag "Java" java)
|
||||
(const :tag "Javascript" js)
|
||||
(const :tag "LaTeX" latex)
|
||||
(const :tag "Lilypond" lilypond)
|
||||
(const :tag "JavaScript" js)
|
||||
(const :tag "Julia" julia)
|
||||
(const :tag "LaTeX" latex)
|
||||
(const :tag "LilyPond" lilypond)
|
||||
(const :tag "Lisp" lisp)
|
||||
(const :tag "Lua" lua)
|
||||
(const :tag "Makefile" makefile)
|
||||
(const :tag "Maxima" maxima)
|
||||
(const :tag "Matlab" matlab)
|
||||
(const :tag "Ocaml" ocaml)
|
||||
(const :tag "Octave" octave)
|
||||
(const :tag "OCaml" ocaml)
|
||||
(const :tag "Octave and MatLab" octave)
|
||||
(const :tag "Org" org)
|
||||
(const :tag "Perl" perl)
|
||||
(const :tag "Pico Lisp" picolisp)
|
||||
(const :tag "Processing" processing)
|
||||
(const :tag "PlantUML" plantuml)
|
||||
(const :tag "Python" python)
|
||||
(const :tag "Ruby" ruby)
|
||||
(const :tag "Sass" sass)
|
||||
(const :tag "Scala" scala)
|
||||
(const :tag "Scheme" scheme)
|
||||
(const :tag "Screen" screen)
|
||||
(const :tag "Sed" sed)
|
||||
(const :tag "Shell Script" shell)
|
||||
(const :tag "Sql" sql)
|
||||
(const :tag "Sqlite" sqlite)
|
||||
(const :tag "Stan" stan))
|
||||
(const :tag "Sqlite" sqlite))
|
||||
:value-type (boolean :tag "Activate" :value t)))
|
||||
|
||||
;;;; Customization variables
|
||||
@@ -722,6 +725,10 @@ defined in org-duration.el.")
|
||||
(set-default-toplevel-value var value)
|
||||
(when (featurep 'org)
|
||||
(org-load-modules-maybe 'force)
|
||||
;; FIXME: We can't have all the requires at top-level due to
|
||||
;; circular dependencies. Yet, this function might sometimes be
|
||||
;; called when 'org-element is not loaded.
|
||||
(require 'org-element)
|
||||
(org-element-cache-reset 'all)))
|
||||
|
||||
(defcustom org-modules '(ol-doi ol-w3m ol-bbdb ol-bibtex ol-docview ol-gnus ol-info ol-irc ol-mhe ol-rmail ol-eww)
|
||||
@@ -1383,13 +1390,13 @@ For more examples, see the system specific constants
|
||||
(defcustom org-resource-download-policy 'prompt
|
||||
"The policy applied to requests to obtain remote resources.
|
||||
|
||||
This affects keywords like #+setupfile and #+incude on export,
|
||||
This affects keywords like #+setupfile and #+include on export,
|
||||
`org-persist-write:url',and `org-attach-url' in non-interactive
|
||||
Emacs sessions.
|
||||
|
||||
This recognises four possible values:
|
||||
This recognizes four possible values:
|
||||
- t, remote resources should always be downloaded.
|
||||
- prompt, you will be prompted to download resources nt considered safe.
|
||||
- prompt, you will be prompted to download resources not considered safe.
|
||||
- safe, only resources considered safe will be downloaded.
|
||||
- nil, never download remote resources.
|
||||
|
||||
@@ -1408,7 +1415,7 @@ URI regexps are applied to both URLs and Org files requesting
|
||||
remote resources."
|
||||
:group 'org
|
||||
:package-version '(Org . "9.6")
|
||||
:type '(list regexp))
|
||||
:type '(repeat regexp))
|
||||
|
||||
(defcustom org-open-non-existing-files nil
|
||||
"Non-nil means `org-open-file' opens non-existing files.
|
||||
@@ -3476,13 +3483,17 @@ Make sure that you only list packages here which:
|
||||
:group 'org-export-latex
|
||||
:set 'org-set-packages-alist
|
||||
:get 'org-get-packages-alist
|
||||
:type '(repeat
|
||||
(choice
|
||||
(list :tag "options/package pair"
|
||||
(string :tag "options")
|
||||
(string :tag "package")
|
||||
(boolean :tag "Snippet"))
|
||||
(string :tag "A line of LaTeX"))))
|
||||
:type
|
||||
'(repeat
|
||||
(choice
|
||||
(list :tag "options/package pair"
|
||||
(string :tag "options")
|
||||
(string :tag "package")
|
||||
(boolean :tag "snippet")
|
||||
(choice
|
||||
(const :tag "All compilers include this package" nil)
|
||||
(repeat :tag "Only include from these compilers" string)))
|
||||
(string :tag "A line of LaTeX"))))
|
||||
|
||||
(defgroup org-appearance nil
|
||||
"Settings for Org mode appearance."
|
||||
@@ -3593,13 +3604,13 @@ following symbols:
|
||||
(const :tag "Entities" entities))))
|
||||
|
||||
(defcustom org-hide-emphasis-markers nil
|
||||
"Non-nil mean font-lock should hide the emphasis marker characters."
|
||||
"Non-nil means font-lock should hide the emphasis marker characters."
|
||||
:group 'org-appearance
|
||||
:type 'boolean
|
||||
:safe #'booleanp)
|
||||
|
||||
(defcustom org-hide-macro-markers nil
|
||||
"Non-nil mean font-lock should hide the brackets marking macro calls."
|
||||
"Non-nil means font-lock should hide the brackets marking macro calls."
|
||||
:group 'org-appearance
|
||||
:type 'boolean)
|
||||
|
||||
@@ -3611,7 +3622,7 @@ When nil, the \\name form remains in the buffer."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-pretty-entities-include-sub-superscripts t
|
||||
"Non-nil means, pretty entity display includes formatting sub/superscripts."
|
||||
"Non-nil means pretty entity display includes formatting sub/superscripts."
|
||||
:group 'org-appearance
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
@@ -4554,21 +4565,25 @@ is available. This option applies only if FILE is a URL."
|
||||
(cache)
|
||||
(is-url
|
||||
(if (org--should-fetch-remote-resource-p file)
|
||||
(with-current-buffer (url-retrieve-synchronously file)
|
||||
(goto-char (point-min))
|
||||
;; Move point to after the url-retrieve header.
|
||||
(search-forward "\n\n" nil :move)
|
||||
;; Search for the success code only in the url-retrieve header.
|
||||
(if (save-excursion
|
||||
(re-search-backward "HTTP.*\\s-+200\\s-OK" nil :noerror))
|
||||
;; Update the cache `org--file-cache' and return contents.
|
||||
(puthash file
|
||||
(buffer-substring-no-properties (point) (point-max))
|
||||
org--file-cache)
|
||||
(funcall (if noerror #'message #'user-error)
|
||||
"Unable to fetch file from %S"
|
||||
file)
|
||||
nil))
|
||||
(condition-case error
|
||||
(with-current-buffer (url-retrieve-synchronously file)
|
||||
(goto-char (point-min))
|
||||
;; Move point to after the url-retrieve header.
|
||||
(search-forward "\n\n" nil :move)
|
||||
;; Search for the success code only in the url-retrieve header.
|
||||
(if (save-excursion
|
||||
(re-search-backward "HTTP.*\\s-+200\\s-OK" nil :noerror))
|
||||
;; Update the cache `org--file-cache' and return contents.
|
||||
(puthash file
|
||||
(buffer-substring-no-properties (point) (point-max))
|
||||
org--file-cache)
|
||||
(funcall (if noerror #'message #'user-error)
|
||||
"Unable to fetch file from %S"
|
||||
file)
|
||||
nil))
|
||||
(error (if noerror
|
||||
(message "Org could't download \"%s\": %s %S" file (car error) (cdr error))
|
||||
(signal (car error) (cdr error)))))
|
||||
(funcall (if noerror #'message #'user-error)
|
||||
"The remote resource %S is considered unsafe, and will not be downloaded."
|
||||
file)))
|
||||
@@ -4596,8 +4611,8 @@ is available. This option applies only if FILE is a URL."
|
||||
This checks every pattern in `org-safe-remote-resources', and
|
||||
returns non-nil if any of them match."
|
||||
(let ((uri-patterns org-safe-remote-resources)
|
||||
(file-uri (and buffer-file-name
|
||||
(concat "file://" (file-truename buffer-file-name))))
|
||||
(file-uri (and (buffer-file-name (buffer-base-buffer))
|
||||
(concat "file://" (file-truename (buffer-file-name (buffer-base-buffer))))))
|
||||
match-p)
|
||||
(while (and (not match-p) uri-patterns)
|
||||
(setq match-p (or (string-match-p (car uri-patterns) uri)
|
||||
@@ -4608,7 +4623,8 @@ returns non-nil if any of them match."
|
||||
(defun org--confirm-resource-safe (uri)
|
||||
"Ask the user if URI should be considered safe, returning non-nil if so."
|
||||
(unless noninteractive
|
||||
(let ((current-file (and buffer-file-name (file-truename buffer-file-name)))
|
||||
(let ((current-file (and (buffer-file-name (buffer-base-buffer))
|
||||
(file-truename (buffer-file-name (buffer-base-buffer)))))
|
||||
(domain (and (string-match
|
||||
(rx (seq "http" (? "s") "://")
|
||||
(optional (+ (not (any "@/\n"))) "@")
|
||||
@@ -4625,7 +4641,7 @@ returns non-nil if any of them match."
|
||||
", which is not considered safe.\n\n"
|
||||
"Do you want to download this? You can type\n "
|
||||
(propertize "!" 'face 'success)
|
||||
" to download this resource, and permanantly mark it as safe.\n "
|
||||
" to download this resource, and permanently mark it as safe.\n "
|
||||
(if domain
|
||||
(concat
|
||||
(propertize "d" 'face 'success)
|
||||
@@ -4636,7 +4652,7 @@ returns non-nil if any of them match."
|
||||
(propertize "f" 'face 'success)
|
||||
(if current-file
|
||||
(concat
|
||||
" to download this resource, and permanantly mark all resources in "
|
||||
" to download this resource, and permanently mark all resources in "
|
||||
(propertize current-file 'face 'underline)
|
||||
" as safe.\n ")
|
||||
"")
|
||||
@@ -4764,7 +4780,7 @@ This is for getting out of special buffers like capture.")
|
||||
(defvar org-element-cache-persistent); Defined in org-element.el
|
||||
(defvar org-element-use-cache); Defined in org-element.el
|
||||
(defvar org-mode-loading nil
|
||||
"Non-nil during Org mode initialisation.")
|
||||
"Non-nil during Org mode initialization.")
|
||||
|
||||
(defvar org-agenda-file-menu-enabled t
|
||||
"When non-nil, refresh Agenda files in Org menu when loading Org.")
|
||||
@@ -4896,16 +4912,20 @@ The following commands are available:
|
||||
(= (point-min) (point-max)))
|
||||
(insert "# -*- mode: org -*-\n\n"))
|
||||
(unless org-inhibit-startup
|
||||
(when (or org-startup-align-all-tables org-startup-shrink-all-tables)
|
||||
(org-table-map-tables
|
||||
(cond ((and org-startup-align-all-tables
|
||||
org-startup-shrink-all-tables)
|
||||
(lambda () (org-table-align) (org-table-shrink)))
|
||||
(org-startup-align-all-tables #'org-table-align)
|
||||
(t #'org-table-shrink))
|
||||
t))
|
||||
;; Suppress modification hooks to speed up the startup.
|
||||
;; However, do it only when text properties/overlays, but not
|
||||
;; buffer text are actually modified. We still need to track text
|
||||
;; modifications to make cache updates work reliably.
|
||||
(org-unmodified
|
||||
(when org-startup-with-beamer-mode (org-beamer-mode))
|
||||
(when (or org-startup-align-all-tables org-startup-shrink-all-tables)
|
||||
(org-table-map-tables
|
||||
(cond ((and org-startup-align-all-tables
|
||||
org-startup-shrink-all-tables)
|
||||
(lambda () (org-table-align) (org-table-shrink)))
|
||||
(org-startup-align-all-tables #'org-table-align)
|
||||
(t #'org-table-shrink))
|
||||
t))
|
||||
(when org-startup-with-inline-images (org-display-inline-images))
|
||||
(when org-startup-with-latex-preview (org-latex-preview '(16)))
|
||||
(unless org-inhibit-startup-visibility-stuff (org-cycle-set-startup-visibility))
|
||||
@@ -5270,7 +5290,7 @@ This includes angle, plain, and bracket links."
|
||||
(progn
|
||||
(add-face-text-property start end face-property)
|
||||
(add-text-properties start end properties))
|
||||
;; Initialise folding when used outside org-mode.
|
||||
;; Initialize folding when used outside org-mode.
|
||||
(unless (or (derived-mode-p 'org-mode)
|
||||
(and (org-fold-folding-spec-p 'org-link-description)
|
||||
(org-fold-folding-spec-p 'org-link)))
|
||||
@@ -5287,7 +5307,7 @@ This includes angle, plain, and bracket links."
|
||||
(org-fold-core-set-folding-spec-property spec :visible t))
|
||||
(org-fold-region start end nil 'org-link)
|
||||
(org-fold-region start end nil 'org-link-description)
|
||||
;; We are folding the whole emphasised text with SPEC
|
||||
;; We are folding the whole emphasized text with SPEC
|
||||
;; first. It makes everything invisible (or whatever
|
||||
;; the user wants).
|
||||
(org-fold-region start end t spec)
|
||||
@@ -5671,7 +5691,7 @@ highlighting was done, nil otherwise."
|
||||
|
||||
If this is called at a normal headline, the level is the number
|
||||
of stars. Use `org-reduced-level' to remove the effect of
|
||||
`org-odd-levels'. Unlike to `org-current-level', this function
|
||||
`org-odd-levels-only'. Unlike `org-current-level', this function
|
||||
takes into consideration inlinetasks."
|
||||
(org-with-wide-buffer
|
||||
(end-of-line)
|
||||
@@ -5873,6 +5893,8 @@ needs to be inserted at a specific position in the font-lock sequence.")
|
||||
|
||||
(defvar-local org-custom-properties-overlays nil
|
||||
"List of overlays used for custom properties.")
|
||||
;; Preserve when switching modes or when restarting Org.
|
||||
(put 'org-custom-properties-overlays 'permanent-local t)
|
||||
|
||||
(defun org-toggle-custom-properties-visibility ()
|
||||
"Display or hide properties in `org-custom-properties'."
|
||||
@@ -6301,7 +6323,10 @@ unconditionally."
|
||||
(if (not level) (outline-next-heading) ;before first headline
|
||||
(org-back-to-heading invisible-ok)
|
||||
(when (equal arg '(16)) (org-up-heading-safe))
|
||||
(org-end-of-subtree)))
|
||||
(org-end-of-subtree invisible-ok 'to-heading)))
|
||||
;; At `point-max', if the file does not have ending newline,
|
||||
;; create one, so that we are not appending stars at non-empty
|
||||
;; line.
|
||||
(unless (bolp) (insert "\n"))
|
||||
(when (and blank? (save-excursion
|
||||
(backward-char)
|
||||
@@ -6313,7 +6338,9 @@ unconditionally."
|
||||
(backward-char))
|
||||
(unless (and blank? (org-previous-line-empty-p))
|
||||
(org-N-empty-lines-before-current (if blank? 1 0)))
|
||||
(insert stars " ")
|
||||
(insert stars " " "\n")
|
||||
;; Move point after stars.
|
||||
(backward-char)
|
||||
;; When INVISIBLE-OK is non-nil, ensure newly created headline
|
||||
;; is visible.
|
||||
(unless invisible-ok
|
||||
@@ -6407,7 +6434,7 @@ Return nil before first heading."
|
||||
"" h))
|
||||
(h h)))
|
||||
(tags (and (not no-tags) (match-string 5))))
|
||||
;; Restore cleared optimisation.
|
||||
;; Restore cleared optimization.
|
||||
(org-fold-core-update-optimisation (match-beginning 0) (match-end 0))
|
||||
(mapconcat #'identity
|
||||
(delq nil (list todo priority headline tags))
|
||||
@@ -6550,7 +6577,7 @@ See also `org-promote'."
|
||||
(interactive)
|
||||
(save-excursion
|
||||
(org-back-to-heading t)
|
||||
(combine-change-calls (point) (save-excursion (org-end-of-subtree t))
|
||||
(org-combine-change-calls (point) (save-excursion (org-end-of-subtree t))
|
||||
(org-with-limited-levels (org-map-tree 'org-promote))))
|
||||
(org-fix-position-after-promote))
|
||||
|
||||
@@ -6560,7 +6587,7 @@ See `org-demote' and `org-promote'."
|
||||
(interactive)
|
||||
(save-excursion
|
||||
(org-back-to-heading t)
|
||||
(combine-change-calls (point) (save-excursion (org-end-of-subtree t))
|
||||
(org-combine-change-calls (point) (save-excursion (org-end-of-subtree t))
|
||||
(org-with-limited-levels (org-map-tree 'org-demote))))
|
||||
(org-fix-position-after-promote))
|
||||
|
||||
@@ -6601,7 +6628,7 @@ headings in the region."
|
||||
"Return the level of the current entry, or nil if before the first headline.
|
||||
The level is the number of stars at the beginning of the
|
||||
headline. Use `org-reduced-level' to remove the effect of
|
||||
`org-odd-levels'. Unlike to `org-outline-level', this function
|
||||
`org-odd-levels-only'. Unlike `org-outline-level', this function
|
||||
ignores inlinetasks."
|
||||
(let ((level (org-with-limited-levels (org-outline-level))))
|
||||
(and (> level 0) level)))
|
||||
@@ -7129,7 +7156,7 @@ When REMOVE is non-nil, remove the subtree from the clipboard."
|
||||
(setq beg (point))
|
||||
;; Avoid re-parsing cache elements when i.e. level 1 heading
|
||||
;; is inserted and then promoted.
|
||||
(combine-change-calls beg beg
|
||||
(org-combine-change-calls beg beg
|
||||
(when (fboundp 'org-id-paste-tracker) (org-id-paste-tracker txt))
|
||||
(insert txt)
|
||||
(unless (string-suffix-p "\n" txt) (insert "\n"))
|
||||
@@ -8424,7 +8451,10 @@ a link."
|
||||
(dolist (link (if (stringp links) (list links) links))
|
||||
(search-forward link nil links-end)
|
||||
(goto-char (match-beginning 0))
|
||||
(org-open-at-point arg)))))))
|
||||
;; When opening file link, current buffer may be
|
||||
;; altered.
|
||||
(save-current-buffer
|
||||
(org-open-at-point arg))))))))
|
||||
;; On a footnote reference or at definition's label.
|
||||
((or (eq type 'footnote-reference)
|
||||
(and (eq type 'footnote-definition)
|
||||
@@ -8602,6 +8632,7 @@ or to another Org file, automatically push the old position onto the ring."
|
||||
(defvar org-agenda-buffer-name)
|
||||
(defun org-follow-timestamp-link ()
|
||||
"Open an agenda view for the time-stamp date/range at point."
|
||||
(require 'org-agenda)
|
||||
;; Avoid changing the global value.
|
||||
(let ((org-agenda-buffer-name org-agenda-buffer-name))
|
||||
(cond
|
||||
@@ -8853,7 +8884,7 @@ keywords relative to each registered export back-end."
|
||||
"EXCLUDE_TAGS:" "FILETAGS:" "INCLUDE:" "INDEX:" "KEYWORDS:" "LANGUAGE:"
|
||||
"MACRO:" "OPTIONS:" "PROPERTY:" "PRINT_BIBLIOGRAPHY" "PRIORITIES:"
|
||||
"SELECT_TAGS:" "SEQ_TODO:" "SETUPFILE:" "STARTUP:" "TAGS:" "TITLE:" "TODO:"
|
||||
"TYP_TODO:" "SELECT_TAGS:" "EXCLUDE_TAGS:"))
|
||||
"TYP_TODO:" "SELECT_TAGS:" "EXCLUDE_TAGS:" "EXPORT_FILE_NAME:"))
|
||||
|
||||
(defcustom org-structure-template-alist
|
||||
'(("a" . "export ascii")
|
||||
@@ -9126,7 +9157,8 @@ nil or a string to be used for the todo mark." )
|
||||
(replace-match "0" t nil nil 1)))))
|
||||
|
||||
(defvar org-state)
|
||||
(defvar org-blocked-by-checkboxes)
|
||||
;; FIXME: We should refactor this and similar dynamically scoped blocker flags.
|
||||
(defvar org-blocked-by-checkboxes nil) ; dynamically scoped
|
||||
(defun org-todo (&optional arg)
|
||||
"Change the TODO state of an item.
|
||||
|
||||
@@ -9684,7 +9716,7 @@ when there is a statistics cookie in the headline!
|
||||
|
||||
(defun org-summary-todo (n-done n-not-done)
|
||||
\"Switch entry to DONE when all subentries are done, to TODO otherwise.\"
|
||||
(let (org-log-done org-log-states) ; turn off logging
|
||||
(let (org-log-done org-todo-log-states) ; turn off logging
|
||||
(org-todo (if (= n-not-done 0) \"DONE\" \"TODO\"))))")
|
||||
|
||||
(defvar org-todo-statistics-hook nil
|
||||
@@ -10198,7 +10230,7 @@ nil."
|
||||
(replace-match "")
|
||||
(if (and (string-match "\\S-" (buffer-substring (line-beginning-position) (point)))
|
||||
(equal (char-before) ?\ ))
|
||||
(backward-delete-char 1)
|
||||
(delete-char -1)
|
||||
(when (string-match "^[ \t]*$" (buffer-substring
|
||||
(line-beginning-position) (line-end-position)))
|
||||
(delete-region (line-beginning-position)
|
||||
@@ -10648,6 +10680,7 @@ D Show deadlines and scheduled items between a date range."
|
||||
|
||||
(defvar-local org-occur-highlights nil
|
||||
"List of overlays used for occur matches.")
|
||||
(put 'org-occur-highlights 'permanent-local t)
|
||||
(defvar-local org-occur-parameters nil
|
||||
"Parameters of the active org-occur calls.
|
||||
This is a list, each call to org-occur pushes as cons cell,
|
||||
@@ -11380,7 +11413,7 @@ See also `org-scan-tags'."
|
||||
(pv (match-string 7 term))
|
||||
(regexp (eq (string-to-char pv) ?{))
|
||||
(strp (eq (string-to-char pv) ?\"))
|
||||
(timep (string-match-p "^\"[[<][0-9]+.*[]>]\"$" pv))
|
||||
(timep (string-match-p "^\"[[<]\\(?:[0-9]+\\|now\\|today\\|tomorrow\\|[+-][0-9]+[dmwy]\\).*[]>]\"$" pv))
|
||||
(po (org-op-to-function (match-string 6 term)
|
||||
(if timep 'time strp))))
|
||||
(setq pv (if (or regexp strp) (substring pv 1 -1) pv))
|
||||
@@ -11989,18 +12022,17 @@ Returns the new tags string, or nil to not change the current settings."
|
||||
(setq current nil)
|
||||
(when exit-after-next (setq exit-after-next 'now)))
|
||||
((= c ?\t)
|
||||
(condition-case nil
|
||||
(unless tab-tags
|
||||
(setq tab-tags
|
||||
(delq nil
|
||||
(mapcar (lambda (x)
|
||||
(let ((item (car-safe x)))
|
||||
(and (stringp item)
|
||||
(list item))))
|
||||
(org--tag-add-to-alist
|
||||
(with-current-buffer buf
|
||||
(org-get-buffer-tags))
|
||||
table))))))
|
||||
(unless tab-tags
|
||||
(setq tab-tags
|
||||
(delq nil
|
||||
(mapcar (lambda (x)
|
||||
(let ((item (car-safe x)))
|
||||
(and (stringp item)
|
||||
(list item))))
|
||||
(org--tag-add-to-alist
|
||||
(with-current-buffer buf
|
||||
(org-get-buffer-tags))
|
||||
table)))))
|
||||
(setq tg (completing-read "Tag: " tab-tags))
|
||||
(when (string-match "\\S-" tg)
|
||||
(cl-pushnew (list tg) tab-tags :test #'equal)
|
||||
@@ -14727,12 +14759,12 @@ is considered `day' (i.e. only `bracket', `day', and `after' return
|
||||
values are possible).
|
||||
|
||||
When matching, the match groups are the following:
|
||||
group 1: year, if any
|
||||
group 2: month, if any
|
||||
group 3: day number, if any
|
||||
group 4: day name, if any
|
||||
group 5: hours, if any
|
||||
group 6: minutes, if any"
|
||||
group 2: year, if any
|
||||
group 3: month, if any
|
||||
group 4: day number, if any
|
||||
group 5: day name, if any
|
||||
group 7: hours, if any
|
||||
group 8: minutes, if any"
|
||||
(let* ((regexp
|
||||
(if extended
|
||||
(if (eq extended 'agenda)
|
||||
@@ -16135,6 +16167,10 @@ SNIPPETS-P indicates if this is run to create snippet images for HTML."
|
||||
;; Image display
|
||||
|
||||
(defvar-local org-inline-image-overlays nil)
|
||||
;; Preserve when switching modes or when restarting Org.
|
||||
;; If we clear the overlay list and later enable Or mode, the existing
|
||||
;; image overlays will never be cleared by `org-toggle-inline-images'.
|
||||
(put 'org-inline-image-overlays 'permanent-local t)
|
||||
|
||||
(defun org--inline-image-overlays (&optional beg end)
|
||||
"Return image overlays between BEG and END."
|
||||
@@ -16229,7 +16265,8 @@ conventions:
|
||||
|
||||
2. Its description consists in a single link of the previous
|
||||
type. In this case, that link must be a well-formed plain
|
||||
or angle link, i.e., it must have an explicit \"file\" type.
|
||||
or angle link, i.e., it must have an explicit \"file\" or
|
||||
\"attachment\" type.
|
||||
|
||||
Equip each image with the key-map `image-map'.
|
||||
|
||||
@@ -16260,7 +16297,7 @@ buffer boundaries with possible narrowing."
|
||||
;; "file:" links. Also check link abbreviations since
|
||||
;; some might expand to "file" links.
|
||||
(file-types-re
|
||||
(format "\\[\\[\\(?:file%s:\\|attachment:\\|[./~]\\)\\|\\]\\[\\(<?file:\\)"
|
||||
(format "\\[\\[\\(?:file%s:\\|attachment:\\|[./~]\\)\\|\\]\\[\\(<?\\(?:file\\|attachment\\):\\)"
|
||||
(if (not link-abbrevs) ""
|
||||
(concat "\\|" (regexp-opt link-abbrevs))))))
|
||||
(while (re-search-forward file-types-re end t)
|
||||
@@ -16299,7 +16336,9 @@ buffer boundaries with possible narrowing."
|
||||
;; description.
|
||||
(= (org-element-property :contents-end link)
|
||||
(match-end 0))
|
||||
(match-string 2)))))))
|
||||
(progn
|
||||
(setq linktype (match-string 1))
|
||||
(match-string 2))))))))
|
||||
(when (and path (string-match-p file-extension-re path))
|
||||
(let ((file (if (equal "attachment" linktype)
|
||||
(progn
|
||||
@@ -16322,6 +16361,10 @@ buffer boundaries with possible narrowing."
|
||||
(org-element-property :end link))
|
||||
(skip-chars-backward " \t")
|
||||
(point)))))
|
||||
;; FIXME: See bug#59902. We cannot rely
|
||||
;; on Emacs to update image if the file
|
||||
;; has changed.
|
||||
(image-flush image)
|
||||
(overlay-put ov 'display image)
|
||||
(overlay-put ov 'face 'default)
|
||||
(overlay-put ov 'org-image-overlay t)
|
||||
@@ -16395,6 +16438,10 @@ buffer boundaries with possible narrowing."
|
||||
"Remove inline-display overlay if a corresponding region is modified."
|
||||
(when (and ov after)
|
||||
(delete ov org-inline-image-overlays)
|
||||
;; Clear image from cache to avoid image not updating upon
|
||||
;; changing on disk. See Emacs bug#59902.
|
||||
(when (overlay-get ov 'org-image-overlay)
|
||||
(image-flush (overlay-get ov 'display)))
|
||||
(delete-overlay ov)))
|
||||
|
||||
(defun org-remove-inline-images (&optional beg end)
|
||||
@@ -16507,7 +16554,7 @@ because, in this case the deletion might narrow the column."
|
||||
(looking-at-p ".*?|")
|
||||
(org-at-table-p))
|
||||
(progn (forward-char -1) (org-delete-char 1))
|
||||
(backward-delete-char N)
|
||||
(funcall-interactively #'backward-delete-char N)
|
||||
(org-fix-tags-on-the-fly))))
|
||||
|
||||
(defun org-delete-char (N)
|
||||
@@ -17621,6 +17668,8 @@ If INDENT is non-nil, call `newline-and-indent' with ARG to
|
||||
indent unconditionally; otherwise, call `newline' with ARG and
|
||||
INTERACTIVE, which can trigger indentation if
|
||||
`electric-indent-mode' is enabled."
|
||||
(when interactive
|
||||
(org-fold-check-before-invisible-edit 'insert))
|
||||
(if indent
|
||||
(org-newline-and-indent arg)
|
||||
(newline arg interactive)))
|
||||
@@ -18570,6 +18619,10 @@ block from point."
|
||||
(throw 'exit n)))))
|
||||
nil)))
|
||||
|
||||
;; Defined in org-agenda.el
|
||||
(defvar org-agenda-restrict)
|
||||
(defvar org-agenda-restrict-begin)
|
||||
(defvar org-agenda-restrict-end)
|
||||
(defun org-occur-in-agenda-files (regexp &optional _nlines)
|
||||
"Call `multi-occur' with buffers for all agenda files."
|
||||
(interactive "sOrg-files matching: ")
|
||||
@@ -18829,7 +18882,7 @@ Alignment is done according to `org-property-format', which see."
|
||||
(when (save-excursion
|
||||
(beginning-of-line)
|
||||
(looking-at org-property-re))
|
||||
(combine-change-calls (match-beginning 0) (match-end 0)
|
||||
(org-combine-change-calls (match-beginning 0) (match-end 0)
|
||||
(let ((newtext (concat (match-string 4)
|
||||
(org-trim
|
||||
(format org-property-format (match-string 1) (match-string 3))))))
|
||||
@@ -20203,7 +20256,10 @@ interactive command with similar behavior."
|
||||
(defun org-back-to-heading (&optional invisible-ok)
|
||||
"Go back to beginning of heading."
|
||||
(beginning-of-line)
|
||||
(or (org-at-heading-p (not invisible-ok))
|
||||
(or (and (org-at-heading-p (not invisible-ok))
|
||||
(not (and (featurep 'org-inlinetask)
|
||||
(fboundp 'org-inlinetask-end-p)
|
||||
(org-inlinetask-end-p))))
|
||||
(if (org-element--cache-active-p)
|
||||
(let ((heading (org-element-lineage (org-element-at-point)
|
||||
'(headline inlinetask)
|
||||
@@ -20617,7 +20673,7 @@ non-nil it will also look at invisible ones."
|
||||
(if backward? (goto-char (point-min)) (outline-next-heading))
|
||||
(org-back-to-heading invisible-ok)
|
||||
(unless backward? (end-of-line)) ;do not match current headline
|
||||
(let ((level (- (match-end 0) (match-beginning 0) 1))
|
||||
(let ((level (org-current-level))
|
||||
(f (if backward? #'re-search-backward #'re-search-forward))
|
||||
(count (if arg (abs arg) 1))
|
||||
(result (point)))
|
||||
|
||||
Reference in New Issue
Block a user