summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/org-agenda.el5
-rw-r--r--lisp/org-capture.el4
-rw-r--r--lisp/org-clock.el11
-rw-r--r--lisp/org-element.el39
-rw-r--r--lisp/org-loaddefs.el32
-rw-r--r--lisp/org-table.el14
-rw-r--r--lisp/org-version.el4
-rw-r--r--lisp/org.el8
-rw-r--r--lisp/ox-ascii.el33
-rw-r--r--lisp/ox-latex.el6
-rw-r--r--lisp/ox-odt.el52
-rw-r--r--lisp/ox-publish.el17
-rw-r--r--lisp/ox.el25
-rw-r--r--mk/targets.mk4
-rw-r--r--mk/version.mk4
15 files changed, 147 insertions, 111 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 42d62f3..0067165 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -3618,6 +3618,9 @@ FILTER-ALIST is an alist of filters we need to apply when
`(car . ,org-agenda-category-filter)))))
(if (org-agenda-use-sticky-p)
(progn
+ (put 'org-agenda-tag-filter :preset-filter nil)
+ (put 'org-agenda-category-filter :preset-filter nil)
+ (put 'org-agenda-regexp-filter :preset-filter nil)
;; Popup existing buffer
(org-agenda-prepare-window (get-buffer org-agenda-buffer-name)
filter-alist)
@@ -5677,7 +5680,7 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
(setq txt (org-agenda-format-item extra txt level category tags 'time))
(org-add-props txt props 'org-marker marker
'org-category category 'date date 'todo-state todo-state
- 'org-category-position category-pos 'tags tags
+ 'org-category-position category-pos
'level level
'type "sexp" 'warntime warntime)
(push txt ee)))))
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index d8617d1..c708683 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -1529,8 +1529,8 @@ The template may still contain \"%?\" for cursor positioning."
(v-x (or (org-get-x-clipboard 'PRIMARY)
(org-get-x-clipboard 'CLIPBOARD)
(org-get-x-clipboard 'SECONDARY)))
- (v-t (format-time-string (car org-time-stamp-formats) ct))
- (v-T (format-time-string (cdr org-time-stamp-formats) ct))
+ (v-t (format-time-string (car org-time-stamp-formats) ct1))
+ (v-T (format-time-string (cdr org-time-stamp-formats) ct1))
(v-u (concat "[" (substring v-t 1 -1) "]"))
(v-U (concat "[" (substring v-T 1 -1) "]"))
;; `initial' and `annotation' might habe been passed.
diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index f2a3748..892ae18 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -2556,13 +2556,10 @@ from the dynamic block definition."
total-time))
(defun org-clocktable-indent-string (level)
- (if (= level 1)
- ""
- (let ((str "\\__"))
- (while (> level 2)
- (setq level (1- level)
- str (concat str "___")))
- (concat str " "))))
+ (if (= level 1) ""
+ (let ((str " "))
+ (dotimes (k (1- level) str)
+ (setq str (concat "\\emsp" str))))))
(defun org-clocktable-steps (params)
"Step through the range to make a number of clock tables."
diff --git a/lisp/org-element.el b/lisp/org-element.el
index 0c959c0..bbed67a 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -360,11 +360,6 @@ still has an entry since one of its properties (`:title') does.")
(footnote-reference . :inline-definition))
"Alist between element types and location of secondary value.")
-(defconst org-element-object-variables '(org-link-abbrev-alist-local)
- "List of buffer-local variables used when parsing objects.
-These variables are copied to the temporary buffer created by
-`org-export-secondary-string'.")
-
;;; Accessors and Setters
@@ -3112,16 +3107,20 @@ Assume point is at the beginning of the link."
(cond
;; File type.
((or (file-name-absolute-p raw-link)
- (string-match "^\\.\\.?/" raw-link))
+ (string-match "\\`\\.\\.?/" raw-link))
(setq type "file" path raw-link))
;; Explicit type (http, irc, bbdb...). See `org-link-types'.
- ((string-match org-link-re-with-space3 raw-link)
- (setq type (match-string 1 raw-link) path (match-string 2 raw-link)))
+ ((string-match org-link-types-re raw-link)
+ (setq type (match-string 1 raw-link)
+ ;; According to RFC 3986, extra whitespace should be
+ ;; ignored when a URI is extracted.
+ path (replace-regexp-in-string
+ "[ \t]*\n[ \t]*" "" (substring raw-link (match-end 0)))))
;; Id type: PATH is the id.
- ((string-match "^id:\\([-a-f0-9]+\\)" raw-link)
+ ((string-match "\\`id:\\([-a-f0-9]+\\)" raw-link)
(setq type "id" path (match-string 1 raw-link)))
;; Code-ref type: PATH is the name of the reference.
- ((string-match "^(\\(.*\\))$" raw-link)
+ ((string-match "\\`(\\(.*\\))\\'" raw-link)
(setq type "coderef" path (match-string 1 raw-link)))
;; Custom-id type: PATH is the name of the custom id.
((= (aref raw-link 0) ?#)
@@ -3890,8 +3889,7 @@ element it has to parse."
(goto-char (car affiliated))
(org-element-keyword-parser limit nil))
;; LaTeX Environment.
- ((looking-at
- "[ \t]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ \t]*$")
+ ((looking-at "[ \t]*\\\\begin{\\([A-Za-z0-9]+\\*?\\)}\\(\\[.*?\\]\\|{.*?}\\)*[ \t]*$")
(org-element-latex-environment-parser limit affiliated))
;; Drawer and Property Drawer.
((looking-at org-drawer-regexp)
@@ -4090,21 +4088,18 @@ looked after.
Optional argument PARENT, when non-nil, is the element or object
containing the secondary string. It is used to set correctly
`:parent' property within the string."
- ;; Copy buffer-local variables listed in
- ;; `org-element-object-variables' into temporary buffer. This is
- ;; required since object parsing is dependent on these variables.
- (let ((pairs (delq nil (mapcar (lambda (var)
- (when (boundp var)
- (cons var (symbol-value var))))
- org-element-object-variables))))
+ (let ((local-variables (buffer-local-variables)))
(with-temp-buffer
- (mapc (lambda (pair) (org-set-local (car pair) (cdr pair))) pairs)
+ (dolist (v local-variables)
+ (ignore-errors
+ (if (symbolp v) (makunbound v)
+ (org-set-local (car v) (cdr v)))))
(insert string)
+ (restore-buffer-modified-p nil)
(let ((secondary (org-element--parse-objects
(point-min) (point-max) nil restriction)))
(when parent
- (mapc (lambda (obj) (org-element-put-property obj :parent parent))
- secondary))
+ (dolist (o secondary) (org-element-put-property o :parent parent)))
secondary))))
(defun org-element-map
diff --git a/lisp/org-loaddefs.el b/lisp/org-loaddefs.el
index 809ba41..4695dad 100644
--- a/lisp/org-loaddefs.el
+++ b/lisp/org-loaddefs.el
@@ -292,7 +292,7 @@ used to limit the exported source code blocks by language.
;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views
;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda
;;;;;; org-agenda org-toggle-sticky-agenda) "org-agenda" "org-agenda.el"
-;;;;;; (21415 46785))
+;;;;;; (21464 32404))
;;; Generated autoloads from org-agenda.el
(autoload 'org-toggle-sticky-agenda "org-agenda" "\
@@ -644,8 +644,8 @@ Extract anniversaries from BBDB for display in the agenda.
;;;***
;;;### (autoloads (org-capture-import-remember-templates org-capture
-;;;;;; org-capture-string) "org-capture" "org-capture.el" (21415
-;;;;;; 46785))
+;;;;;; org-capture-string) "org-capture" "org-capture.el" (21464
+;;;;;; 32404))
;;; Generated autoloads from org-capture.el
(autoload 'org-capture-string "org-capture" "\
@@ -692,7 +692,7 @@ Set `org-capture-templates' to be similar to `org-remember-templates'.
;;;;;; org-clock-remove-overlays org-clock-display org-clock-sum
;;;;;; org-clock-goto org-clock-cancel org-clock-out org-clock-in-last
;;;;;; org-clock-in org-resolve-clocks) "org-clock" "org-clock.el"
-;;;;;; "6ae449662a35e619f6e6a13fa193d5dd")
+;;;;;; "32564b628bbb84d0342715e3d7097a29")
;;; Generated autoloads from org-clock.el
(autoload 'org-resolve-clocks "org-clock" "\
@@ -821,7 +821,7 @@ Otherwise, return nil.
;;;### (autoloads (org-agenda-columns org-insert-columns-dblock org-dblock-write:columnview
;;;;;; org-columns-number-to-string org-columns-compute org-columns
;;;;;; org-columns-get-format-and-top-level org-columns-remove-overlays)
-;;;;;; "org-colview" "org-colview.el" (21415 46785))
+;;;;;; "org-colview" "org-colview.el" (21464 32404))
;;; Generated autoloads from org-colview.el
(autoload 'org-columns-remove-overlays "org-colview" "\
@@ -885,7 +885,7 @@ Turn on or update column view in the agenda.
;;;***
;;;### (autoloads (org-check-version) "org-compat" "org-compat.el"
-;;;;;; (21415 46785))
+;;;;;; (21464 32404))
;;; Generated autoloads from org-compat.el
(autoload 'org-check-version "org-compat" "\
@@ -910,7 +910,7 @@ tree can be found.
;;;***
;;;### (autoloads (org-element-context org-element-at-point org-element-interpret-data)
-;;;;;; "org-element" "org-element.el" "8da6b3f915a04009e99d11787fab5bae")
+;;;;;; "org-element" "org-element.el" "54914322a8abcdde97acf3e16c5153bb")
;;; Generated autoloads from org-element.el
(autoload 'org-element-interpret-data "org-element" "\
@@ -1156,7 +1156,7 @@ Dispatch to the appropriate function to store a link to an IRC session.
;;;***
;;;### (autoloads (org-load-noerror-mustsuffix) "org-macs" "org-macs.el"
-;;;;;; (21406 31790))
+;;;;;; (21464 32404))
;;; Generated autoloads from org-macs.el
(autoload 'org-load-noerror-mustsuffix "org-macs" "\
@@ -1219,7 +1219,7 @@ line directly before or after the table.
;;;;;; org-table-begin org-table-align org-table-export org-table-import
;;;;;; org-table-convert-region org-table-create org-table-create-or-convert-from-region
;;;;;; org-table-create-with-table\.el) "org-table" "org-table.el"
-;;;;;; "01951e73ebf6c1b8f499bd5bd6222b1b")
+;;;;;; "eb0c58570f974a880afb6dbc990b4604")
;;; Generated autoloads from org-table.el
(autoload 'org-table-create-with-table\.el "org-table" "\
@@ -1891,7 +1891,7 @@ replace any running timer.
;;;***
;;;### (autoloads (org-git-version org-release) "org-version" "org-version.el"
-;;;;;; (21416 16891))
+;;;;;; (21464 43563))
;;; Generated autoloads from org-version.el
(autoload 'org-release "org-version" "\
@@ -1917,7 +1917,7 @@ The location of ODT styles.")
;;;;;; org-run-like-in-org-mode turn-on-orgstruct++ turn-on-orgstruct
;;;;;; orgstruct-mode org-global-cycle org-cycle org-mode org-clock-persistence-insinuate
;;;;;; turn-on-orgtbl org-version org-babel-load-file org-babel-do-load-languages)
-;;;;;; "org" "org.el" (21415 46785))
+;;;;;; "org" "org.el" (21464 32405))
;;; Generated autoloads from org.el
(autoload 'org-babel-do-load-languages "org" "\
@@ -2140,7 +2140,7 @@ Call the customize function with org as argument.
;;;### (autoloads (org-ascii-publish-to-utf8 org-ascii-publish-to-latin1
;;;;;; org-ascii-publish-to-ascii org-ascii-export-to-ascii org-ascii-export-as-ascii)
-;;;;;; "ox-ascii" "ox-ascii.el" "5a2dd4135dfb852f9f7696cfda217c3d")
+;;;;;; "ox-ascii" "ox-ascii.el" "b6167fea7127509f3138b6133b279333")
;;; Generated autoloads from ox-ascii.el
(autoload 'org-ascii-export-as-ascii "ox-ascii" "\
@@ -2545,7 +2545,7 @@ The file is stored under the name chosen in
;;;### (autoloads (org-latex-publish-to-pdf org-latex-publish-to-latex
;;;;;; org-latex-export-to-pdf org-latex-export-to-latex org-latex-convert-region-to-latex
-;;;;;; org-latex-export-as-latex) "ox-latex" "ox-latex.el" "8a65033d4b2c7667e8069256a6810fb1")
+;;;;;; org-latex-export-as-latex) "ox-latex" "ox-latex.el" "89b0609c28a8054b8c4bb3c76caaa41e")
;;; Generated autoloads from ox-latex.el
(autoload 'org-latex-export-as-latex "ox-latex" "\
@@ -2733,7 +2733,7 @@ Return output file's name.
;;;***
;;;### (autoloads (org-odt-convert org-odt-export-to-odt org-odt-export-as-odf-and-open
-;;;;;; org-odt-export-as-odf) "ox-odt" "ox-odt.el" "4bf1573f61a2d77ff60afa5a3a44dbcc")
+;;;;;; org-odt-export-as-odf) "ox-odt" "ox-odt.el" "5c27e9fcb578e9179a9788880e547448")
;;; Generated autoloads from ox-odt.el
(put 'org-odt-preferred-output-format 'safe-local-variable 'stringp)
@@ -2870,7 +2870,7 @@ Return output file name.
;;;### (autoloads (org-publish-current-project org-publish-current-file
;;;;;; org-publish-all org-publish) "ox-publish" "ox-publish.el"
-;;;;;; "3d4fae80fdc7404aab25d5ce512024bc")
+;;;;;; "4ebb7ea664336aa5b508cba81203f819")
;;; Generated autoloads from ox-publish.el
(defalias 'org-publish-project 'org-publish)
@@ -2940,7 +2940,7 @@ this command to convert it.
;;;### (autoloads (org-export-dispatch org-export-to-file org-export-to-buffer
;;;;;; org-export-insert-default-template org-export-replace-region-by
-;;;;;; org-export-string-as org-export-as) "ox" "ox.el" "829116ef2e793a50081ae7245ef6c047")
+;;;;;; org-export-string-as org-export-as) "ox" "ox.el" "94545423f577521d4c74654b04f13148")
;;; Generated autoloads from ox.el
(autoload 'org-export-as "ox" "\
diff --git a/lisp/org-table.el b/lisp/org-table.el
index 6d649ab..f19c027 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -436,15 +436,11 @@ available parameters."
"[ \t]*|[ \t]*")))))))
(defvar org-table-clean-did-remove-column nil) ; dynamically scoped
-(defun org-table-clean-before-export (lines &optional maybe-quoted)
+(defun org-table-clean-before-export (lines)
"Check if the table has a marking column.
If yes remove the column and the special lines."
- (let ((special (if maybe-quoted
- "^[ \t]*| *\\\\?[\#!$*_^/ ] *|"
- "^[ \t]*| *[\#!$*_^/ ] *|"))
- (ignore (if maybe-quoted
- "^[ \t]*| *\\\\?[!$_^/] *|"
- "^[ \t]*| *[!$_^/] *|")))
+ (let ((special "^[ \t]*| *[#!$*_^/] *|")
+ (ignore "^[ \t]*| *[!$_^/] *|"))
(setq org-table-clean-did-remove-column
(not (memq nil
(mapcar
@@ -3863,10 +3859,10 @@ With prefix ARG, apply the new formulas to the table."
(push org-table-current-begin-pos org-show-positions)
(let ((min (apply 'min org-show-positions))
(max (apply 'max org-show-positions)))
- (set-window-start (selected-window) (point-min))
+ (set-window-start (selected-window) min)
(goto-char max)
(or (pos-visible-in-window-p max)
- (set-window-start (selected-window) (point-max)))))
+ (set-window-start (selected-window) max))))
(select-window win))))
(defun org-table-force-dataline ()
diff --git a/lisp/org-version.el b/lisp/org-version.el
index c36220c..ee0a178 100644
--- a/lisp/org-version.el
+++ b/lisp/org-version.el
@@ -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 "8.2.7b"))
+ (let ((org-release "8.2.7c"))
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 "8.2.7b-dist"))
+ (let ((org-git-version "8.2.7c-dist"))
org-git-version))
;;;###autoload
(defvar org-odt-data-dir "/usr/share/emacs/etc/org"
diff --git a/lisp/org.el b/lisp/org.el
index adfbeaa..9c18677 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8318,7 +8318,7 @@ the inserted text when done."
(string-match
"^\\*+$" (buffer-substring
(point-at-bol) (point))))
- (- (match-end 1) (match-beginning 1)))
+ (- (match-end 0) (match-beginning 0)))
((and (bolp)
(looking-at org-outline-regexp))
(- (match-end 0) (point) 1))))
@@ -17764,9 +17764,9 @@ This requires Emacs >= 24.1, build with imagemagick support."
(defcustom org-agenda-inhibit-startup nil
"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."
+When this variable is `t', 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)
diff --git a/lisp/ox-ascii.el b/lisp/ox-ascii.el
index b4efa53..4a6696e 100644
--- a/lisp/ox-ascii.el
+++ b/lisp/ox-ascii.el
@@ -1665,20 +1665,25 @@ are ignored."
(or (gethash key cache)
(puthash
key
- (or (and (not org-ascii-table-widen-columns)
- (org-export-table-cell-width table-cell info))
- (let* ((max-width 0))
- (org-element-map table 'table-row
- (lambda (row)
- (setq max-width
- (max (string-width
- (org-export-data
- (org-element-contents
- (elt (org-element-contents row) col))
- info))
- max-width)))
- info)
- max-width))
+ (let ((cookie-width (org-export-table-cell-width table-cell info)))
+ (or (and (not org-ascii-table-widen-columns) cookie-width)
+ (let ((contents-width
+ (let ((max-width 0))
+ (org-element-map table 'table-row
+ (lambda (row)
+ (setq max-width
+ (max (string-width
+ (org-export-data
+ (org-element-contents
+ (elt (org-element-contents row) col))
+ info))
+ max-width)))
+ info)
+ max-width)))
+ (cond ((not cookie-width) contents-width)
+ (org-ascii-table-widen-columns
+ (max cookie-width contents-width))
+ (t cookie-width)))))
cache))))
(defun org-ascii-table-cell (table-cell contents info)
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index 2c0152b..5f171da 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -524,7 +524,7 @@ When nil, no transformation is made."
:package-version '(Org . "8.0")
:type '(choice
(string :tag "Format string")
- (const :tag "No formatting")))
+ (const :tag "No formatting" nil)))
;;;; Text markup
@@ -689,9 +689,9 @@ These options are supplied as a comma-separated list to the
a list containing two strings: the name of the option, and the
value. For example,
- (setq org-latex-listings-options
+ \(setq org-latex-listings-options
'((\"basicstyle\" \"\\\\small\")
- (\"keywordstyle\" \"\\\\color{black}\\\\bfseries\\\\underbar\")))
+ \(\"keywordstyle\" \"\\\\color{black}\\\\bfseries\\\\underbar\")))
will typeset the code in a small size font with underlined, bold
black keywords.
diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el
index 772017c..6640e8a 100644
--- a/lisp/ox-odt.el
+++ b/lisp/ox-odt.el
@@ -1741,7 +1741,8 @@ CONTENTS is nil. INFO is a plist holding contextual information."
:transcoders
'((paragraph . (lambda (p c i)
(org-odt--format-paragraph
- p c "Footnote"
+ p c i
+ "Footnote"
"OrgFootnoteCenter"
"OrgFootnoteQuotations")))))
info))))
@@ -2832,33 +2833,44 @@ INFO is a plist holding contextual information. See
;;;; Paragraph
-(defun org-odt--format-paragraph (paragraph contents default center quote)
+(defun org-odt--paragraph-style (paragraph)
+ "Return style of PARAGRAPH.
+Style is a symbol among `quoted', `centered' and nil."
+ (let ((up paragraph))
+ (while (and (setq up (org-element-property :parent up))
+ (not (memq (org-element-type up)
+ '(center-block quote-block section)))))
+ (case (org-element-type up)
+ (center-block 'centered)
+ (quote-block 'quoted))))
+
+(defun org-odt--format-paragraph (paragraph contents info default center quote)
"Format paragraph according to given styles.
PARAGRAPH is a paragraph type element. CONTENTS is the
-transcoded contents of that paragraph, as a string. DEFAULT,
-CENTER and QUOTE are, respectively, style to use when paragraph
-belongs to no special environment, a center block, or a quote
-block."
- (let* ((parent (org-export-get-parent paragraph))
- (parent-type (org-element-type parent))
- (style (case parent-type
- (quote-block quote)
- (center-block center)
- (t default))))
- ;; If this paragraph is a leading paragraph in an item and the
- ;; item has a checkbox, splice the checkbox and paragraph contents
- ;; together.
- (when (and (eq (org-element-type parent) 'item)
- (eq paragraph (car (org-element-contents parent))))
- (setq contents (concat (org-odt--checkbox parent) contents)))
- (format "\n<text:p text:style-name=\"%s\">%s</text:p>" style contents)))
+transcoded contents of that paragraph, as a string. INFO is
+a plist used as a communication channel. DEFAULT, CENTER and
+QUOTE are, respectively, style to use when paragraph belongs to
+no special environment, a center block, or a quote block."
+ (format "\n<text:p text:style-name=\"%s\">%s</text:p>"
+ (case (org-odt--paragraph-style paragraph)
+ (quoted quote)
+ (centered center)
+ (otherwise default))
+ ;; If PARAGRAPH is a leading paragraph in an item that has
+ ;; a checkbox, splice checkbox and paragraph contents
+ ;; together.
+ (concat (let ((parent (org-element-property :parent paragraph)))
+ (and (eq (org-element-type parent) 'item)
+ (not (org-export-get-previous-element paragraph info))
+ (org-odt--checkbox parent)))
+ contents)))
(defun org-odt-paragraph (paragraph contents info)
"Transcode a PARAGRAPH element from Org to ODT.
CONTENTS is the contents of the paragraph, as a string. INFO is
the plist used as a communication channel."
(org-odt--format-paragraph
- paragraph contents
+ paragraph contents info
(or (org-element-property :style paragraph) "Text_20_body")
"OrgCenter"
"Quotations"))
diff --git a/lisp/ox-publish.el b/lisp/ox-publish.el
index b38fca9..1dc790d 100644
--- a/lisp/ox-publish.el
+++ b/lisp/ox-publish.el
@@ -805,9 +805,14 @@ Default for SITEMAP-FILENAME is 'sitemap.org'."
(visiting (find-buffer-visiting file))
(buffer (or visiting (find-file-noselect file))))
(with-current-buffer buffer
- (org-mode)
(let ((title
- (let ((property (plist-get (org-export-get-environment) :title)))
+ (let ((property
+ (plist-get
+ ;; protect local variables in open buffers
+ (if visiting
+ (org-export-with-buffer-copy (org-export-get-environment))
+ (org-export-get-environment))
+ :title)))
(if property
(org-no-properties (org-element-interpret-data property))
(file-name-nondirectory (file-name-sans-extension file))))))
@@ -822,12 +827,14 @@ If FILE is an Org file and provides a DATE keyword use it. In
any other case use the file system's modification time. Return
time in `current-time' format."
(if (file-directory-p file) (nth 5 (file-attributes file))
- (let* ((visiting (find-buffer-visiting file))
+ (let* ((org-inhibit-startup t)
+ (visiting (find-buffer-visiting file))
(file-buf (or visiting (find-file-noselect file nil)))
(date (plist-get
(with-current-buffer file-buf
- (let ((org-inhibit-startup t)) (org-mode))
- (org-export-get-environment))
+ (if visiting
+ (org-export-with-buffer-copy (org-export-get-environment))
+ (org-export-get-environment)))
:date)))
(unless visiting (kill-buffer file-buf))
;; DATE is either a timestamp object or a secondary string. If it
diff --git a/lisp/ox.el b/lisp/ox.el
index 03bd8bb..6d07a2e 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -4134,8 +4134,29 @@ objects of the same type."
((funcall predicate el info) (incf counter) nil)))
info 'first-match)))))
-
-;;;; For Src-Blocks
+;;;; For Special Blocks
+;;
+;; `org-export-raw-special-block-p' check if current special block is
+;; an "export block", i.e., a block whose contents should be inserted
+;; as-is in the output. This should generally be the first check to
+;; do when handling special blocks in the export back-end.
+
+(defun org-export-raw-special-block-p (element info &optional no-inheritance)
+ "Non-nil if ELEMENT is an export block relatively to current back-end.
+An export block is a special block whose contents should be
+included as-is in the final output. Such blocks are defined
+through :export-block property in `org-export-define-backend',
+which see."
+ (and (eq (org-element-type element) 'special-block)
+ (let ((type (org-element-property :type element))
+ (b (plist-get info :back-end)))
+ (if no-inheritance (member type (org-export-backend-blocks b))
+ (while (and b (not (member type (org-export-backend-blocks b))))
+ (setq b (org-export-get-backend (org-export-backend-parent b))))
+ b))))
+
+
+;;;; For Src Blocks
;;
;; `org-export-get-loc' counts number of code lines accumulated in
;; src-block or example-block elements with a "+n" switch until
diff --git a/mk/targets.mk b/mk/targets.mk
index aef11eb..7f26d86 100644
--- a/mk/targets.mk
+++ b/mk/targets.mk
@@ -11,8 +11,8 @@ INSTSUB = $(SUBDIRS:%=install-%)
ORG_MAKE_DOC ?= info html pdf
ifneq ($(wildcard .git),)
- GITVERSION ?= $(shell git describe --abbrev=6 HEAD)
- ORGVERSION ?= $(subst release_,,$(shell git describe --abbrev=0 HEAD))
+ GITVERSION ?= $(shell git describe --match release\* --abbrev=6 HEAD)
+ ORGVERSION ?= $(subst release_,,$(shell git describe --match release\* --abbrev=0 HEAD))
GITSTATUS ?= $(shell git status -uno --porcelain)
else
-include mk/version.mk
diff --git a/mk/version.mk b/mk/version.mk
index e1f6173..bb6d0fe 100644
--- a/mk/version.mk
+++ b/mk/version.mk
@@ -1,2 +1,2 @@
-ORGVERSION ?= 8.2.7b
-GITVERSION ?= 8.2.7b-dist
+ORGVERSION ?= 8.2.7c
+GITVERSION ?= 8.2.7c-dist