From f57fab831252ebe5037ceabe9843623c4bd14f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Delafond?= Date: Wed, 27 Aug 2014 12:01:58 +0200 Subject: Imported Upstream version 8.2.7c --- lisp/org-agenda.el | 5 ++++- lisp/org-capture.el | 4 ++-- lisp/org-clock.el | 11 ++++------- lisp/org-element.el | 39 +++++++++++++++++---------------------- lisp/org-loaddefs.el | 32 ++++++++++++++++---------------- lisp/org-table.el | 14 +++++--------- lisp/org-version.el | 4 ++-- lisp/org.el | 8 ++++---- lisp/ox-ascii.el | 33 +++++++++++++++++++-------------- lisp/ox-latex.el | 6 +++--- lisp/ox-odt.el | 52 ++++++++++++++++++++++++++++++++-------------------- lisp/ox-publish.el | 17 ++++++++++++----- lisp/ox.el | 25 +++++++++++++++++++++++-- mk/targets.mk | 4 ++-- mk/version.mk | 4 ++-- 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%s" 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%s" + (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 -- cgit v1.2.3