summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/org/oc-basic.el32
-rw-r--r--lisp/org/oc-csl.el4
-rw-r--r--lisp/org/oc.el2
-rw-r--r--lisp/org/org-keys.el2
-rw-r--r--lisp/org/org-macro.el2
-rw-r--r--lisp/org/org-version.el2
-rw-r--r--lisp/org/org.el15
-rw-r--r--lisp/org/ox-beamer.el2
-rw-r--r--lisp/org/ox-icalendar.el4
-rw-r--r--lisp/org/ox-koma-letter.el2
-rw-r--r--lisp/org/ox-man.el2
-rw-r--r--lisp/org/ox-texinfo.el2
-rw-r--r--lisp/org/ox.el11
13 files changed, 50 insertions, 32 deletions
diff --git a/lisp/org/oc-basic.el b/lisp/org/oc-basic.el
index 7b09db5f8b4..7c83bdc27c0 100644
--- a/lisp/org/oc-basic.el
+++ b/lisp/org/oc-basic.el
@@ -68,6 +68,7 @@
(require 'bibtex)
(require 'json)
+(require 'map)
(require 'oc)
(require 'seq)
@@ -704,11 +705,18 @@ Return chosen style as a string."
(defun org-cite-basic--key-completion-table ()
"Return completion table for cite keys, as a hash table.
-In this hash table, keys are a strings with author, date, and title of the
-reference. Values are the cite key."
- (let ((cache-key (mapcar #'car org-cite-basic--bibliography-cache)))
- (if (gethash cache-key org-cite-basic--completion-cache)
- org-cite-basic--completion-cache
+
+In this hash table, keys are a strings with author, date, and
+title of the reference. Values are the cite keys.
+
+Return nil if there are no bibliography files or no entries."
+ ;; Populate bibliography cache.
+ (let ((entries (org-cite-basic--parse-bibliography)))
+ (cond
+ ((null entries) nil) ;no bibliography files
+ ((gethash entries org-cite-basic--completion-cache)
+ org-cite-basic--completion-cache)
+ (t
(clrhash org-cite-basic--completion-cache)
(dolist (key (org-cite-basic--all-keys))
(let ((completion
@@ -725,14 +733,16 @@ reference. Values are the cite key."
org-cite-basic-column-separator
(org-cite-basic--get-field 'title key nil t))))
(puthash completion key org-cite-basic--completion-cache)))
- (puthash cache-key t org-cite-basic--completion-cache)
- org-cite-basic--completion-cache)))
+ (unless (map-empty-p org-cite-basic--completion-cache) ;no key
+ (puthash entries t org-cite-basic--completion-cache)
+ org-cite-basic--completion-cache)))))
(defun org-cite-basic--complete-key (&optional multiple)
"Prompt for a reference key and return a citation reference string.
-When optional argument MULTIPLE is non-nil, prompt for multiple keys, until one
-of them is nil. Then return the list of reference strings selected.
+When optional argument MULTIPLE is non-nil, prompt for multiple
+keys, until one of them is nil. Then return the list of
+reference strings selected.
Raise an error when no bibliography is set in the buffer."
(let* ((table
@@ -748,9 +758,9 @@ Raise an error when no bibliography is set in the buffer."
(build-prompt
(lambda ()
(if keys
- (format "Key (\"\" to exit) %s: "
+ (format "Key (empty input exits) %s: "
(mapconcat #'identity (reverse keys) ";"))
- "Key (\"\" to exit): "))))
+ "Key (empty input exits): "))))
(let ((key (funcall prompt (funcall build-prompt))))
(while (org-string-nw-p key)
(push (gethash key table) keys)
diff --git a/lisp/org/oc-csl.el b/lisp/org/oc-csl.el
index 7f078d139b1..a92ea8a63e8 100644
--- a/lisp/org/oc-csl.el
+++ b/lisp/org/oc-csl.el
@@ -605,10 +605,10 @@ property list."
(with-temp-buffer
(save-excursion (insert output))
(when (search-forward "\\begin{document}" nil t)
- ;; Ensure that \citeprocitem is defined for citeproc-el
+ (goto-char (match-beginning 0))
+ ;; Ensure that \citeprocitem is defined for citeproc-el.
(insert "\\makeatletter\n\\newcommand{\\citeprocitem}[2]{\\hyper@linkstart{cite}{citeproc_bib_item_#1}#2\\hyper@linkend}\n\\makeatother\n\n")
;; Ensure there is a \usepackage{hanging} somewhere or add one.
- (goto-char (match-beginning 0))
(let ((re (rx "\\usepackage" (opt "[" (*? nonl) "]") "{hanging}")))
(unless (re-search-backward re nil t)
(insert "\\usepackage[notquote]{hanging}\n"))))
diff --git a/lisp/org/oc.el b/lisp/org/oc.el
index 427c087c036..a77daa7e122 100644
--- a/lisp/org/oc.el
+++ b/lisp/org/oc.el
@@ -1540,7 +1540,7 @@ The generated function inserts or edit a citation at point. More specifically,
On a citation reference:
- - on the prefix or right before th \"@\" character, insert a new reference
+ - on the prefix or right before the \"@\" character, insert a new reference
before the current one,
- on the suffix, insert it after the reference,
- otherwise, update the cite key, preserving both affixes.
diff --git a/lisp/org/org-keys.el b/lisp/org/org-keys.el
index a10db7e6667..a3d95768278 100644
--- a/lisp/org/org-keys.el
+++ b/lisp/org/org-keys.el
@@ -444,7 +444,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names."
;;;; TAB key with modifiers
(org-defkey org-mode-map (kbd "TAB") #'org-cycle)
-(org-defkey org-mode-map (kbd "C-c C-TAB") #'org-force-cycle-archived)
+(org-defkey org-mode-map (kbd "C-c C-<tab>") #'org-force-cycle-archived)
;; Override text-mode binding to expose `complete-symbol' for
;; pcomplete functionality.
(org-defkey org-mode-map (kbd "M-TAB") nil)
diff --git a/lisp/org/org-macro.el b/lisp/org/org-macro.el
index c38a07b69af..c0287a25a55 100644
--- a/lisp/org/org-macro.el
+++ b/lisp/org/org-macro.el
@@ -368,7 +368,7 @@ Return value as a string."
date)
(unwind-protect
(progn
- (vc-call print-log file buf nil nil 1)
+ (vc-call print-log (list file) buf nil nil 1)
(with-current-buffer buf
(vc-exec-after
(lambda ()
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index de75519ec61..b009b9691fd 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -11,7 +11,7 @@ Inserted by installing Org mode or when a release is made."
(defun org-git-version ()
"The Git version of Org mode.
Inserted by installing Org or when a release is made."
- (let ((org-git-version "release_9.5.1-15-gdb4805"))
+ (let ((org-git-version "release_9.5.1-25-g9ca3bc"))
org-git-version))
(provide 'org-version)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index df79d57f2c6..00bbc076881 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -11323,13 +11323,14 @@ or a character."
(setq
new
(if nump
- (let ((msg (format "Priority %s-%s, SPC to remove: "
- (number-to-string org-priority-highest)
- (number-to-string org-priority-lowest))))
- (if (< 9 org-priority-lowest)
- (string-to-number (read-string msg))
- (message msg)
- (string-to-number (char-to-string (read-char-exclusive)))))
+ (let* ((msg (format "Priority %s-%s, SPC to remove: "
+ (number-to-string org-priority-highest)
+ (number-to-string org-priority-lowest)))
+ (s (if (< 9 org-priority-lowest)
+ (read-string msg)
+ (message msg)
+ (char-to-string (read-char-exclusive)))))
+ (if (equal s " ") ?\s (string-to-number s)))
(progn (message "Priority %c-%c, SPC to remove: "
org-priority-highest org-priority-lowest)
(save-match-data
diff --git a/lisp/org/ox-beamer.el b/lisp/org/ox-beamer.el
index ca0f1c71ab3..77de0aa5bfe 100644
--- a/lisp/org/ox-beamer.el
+++ b/lisp/org/ox-beamer.el
@@ -1059,7 +1059,7 @@ Return PDF file's name."
(let ((file (org-export-output-file-name ".tex" subtreep)))
(org-export-to-file 'beamer file
async subtreep visible-only body-only ext-plist
- (lambda (file) (org-latex-compile file)))))
+ #'org-latex-compile)))
;;;###autoload
(defun org-beamer-select-environment ()
diff --git a/lisp/org/ox-icalendar.el b/lisp/org/ox-icalendar.el
index 081a28317f6..16c3dc9a029 100644
--- a/lisp/org/ox-icalendar.el
+++ b/lisp/org/ox-icalendar.el
@@ -888,8 +888,8 @@ Return ICS file name."
(org-export-to-file 'icalendar outfile
async subtreep visible-only body-only
'(:ascii-charset utf-8 :ascii-links-to-notes nil)
- (lambda (file)
- (run-hook-with-args 'org-icalendar-after-save-hook file) nil))))
+ '(lambda (file)
+ (run-hook-with-args 'org-icalendar-after-save-hook file) nil))))
;;;###autoload
(defun org-icalendar-export-agenda-files (&optional async)
diff --git a/lisp/org/ox-koma-letter.el b/lisp/org/ox-koma-letter.el
index 6a895a6a24d..978e4e41f56 100644
--- a/lisp/org/ox-koma-letter.el
+++ b/lisp/org/ox-koma-letter.el
@@ -982,7 +982,7 @@ Return PDF file's name."
(org-koma-letter-special-contents))
(org-export-to-file 'koma-letter file
async subtreep visible-only body-only ext-plist
- (lambda (file) (org-latex-compile file)))))
+ #'org-latex-compile)))
(provide 'ox-koma-letter)
diff --git a/lisp/org/ox-man.el b/lisp/org/ox-man.el
index 6d3476cdae5..9a1f00f352b 100644
--- a/lisp/org/ox-man.el
+++ b/lisp/org/ox-man.el
@@ -1117,7 +1117,7 @@ Return PDF file's name."
(let ((outfile (org-export-output-file-name ".man" subtreep)))
(org-export-to-file 'man outfile
async subtreep visible-only body-only ext-plist
- (lambda (file) (org-latex-compile file)))))
+ #'org-latex-compile)))
(defun org-man-compile (file)
"Compile a Groff file.
diff --git a/lisp/org/ox-texinfo.el b/lisp/org/ox-texinfo.el
index 8b949b361aa..46077ece4b8 100644
--- a/lisp/org/ox-texinfo.el
+++ b/lisp/org/ox-texinfo.el
@@ -1701,7 +1701,7 @@ Return INFO file's name."
(org-export-coding-system org-texinfo-coding-system))
(org-export-to-file 'texinfo outfile
async subtreep visible-only body-only ext-plist
- (lambda (file) (org-texinfo-compile file)))))
+ #'org-texinfo-compile)))
;;;###autoload
(defun org-texinfo-publish-to-texinfo (plist filename pub-dir)
diff --git a/lisp/org/ox.el b/lisp/org/ox.el
index b27ec56c08c..80202b08500 100644
--- a/lisp/org/ox.el
+++ b/lisp/org/ox.el
@@ -6373,7 +6373,11 @@ use it to set a major mode there, e.g,
(&optional async subtreep visible-only body-only ext-plist)
(interactive)
(org-export-to-buffer \\='latex \"*Org LATEX Export*\"
- async subtreep visible-only body-only ext-plist (lambda () (LaTeX-mode))))
+ async subtreep visible-only body-only ext-plist
+ #'LaTeX-mode))
+
+When expressed as an anonymous function, using `lambda',
+POST-PROCESS needs to be quoted.
This function returns BUFFER."
(declare (indent 2))
@@ -6436,7 +6440,10 @@ to send the output file through additional processing, e.g,
(let ((outfile (org-export-output-file-name \".tex\" subtreep)))
(org-export-to-file \\='latex outfile
async subtreep visible-only body-only ext-plist
- (lambda (file) (org-latex-compile file)))
+ #'org-latex-compile)))
+
+When expressed as an anonymous function, using `lambda',
+POST-PROCESS needs to be quoted.
The function returns either a file name returned by POST-PROCESS,
or FILE."