Update to Org 9.5.1-25-g9ca3bc

This commit is contained in:
Kyle Meyer 2021-12-11 12:31:13 -05:00
parent a374849926
commit 30dd5c9acc
13 changed files with 50 additions and 32 deletions

View file

@ -68,6 +68,7 @@
(require 'bibtex) (require 'bibtex)
(require 'json) (require 'json)
(require 'map)
(require 'oc) (require 'oc)
(require 'seq) (require 'seq)
@ -704,11 +705,18 @@ Return chosen style as a string."
(defun org-cite-basic--key-completion-table () (defun org-cite-basic--key-completion-table ()
"Return completion table for cite keys, as a hash 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." In this hash table, keys are a strings with author, date, and
(let ((cache-key (mapcar #'car org-cite-basic--bibliography-cache))) title of the reference. Values are the cite keys.
(if (gethash cache-key org-cite-basic--completion-cache)
org-cite-basic--completion-cache 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) (clrhash org-cite-basic--completion-cache)
(dolist (key (org-cite-basic--all-keys)) (dolist (key (org-cite-basic--all-keys))
(let ((completion (let ((completion
@ -725,14 +733,16 @@ reference. Values are the cite key."
org-cite-basic-column-separator org-cite-basic-column-separator
(org-cite-basic--get-field 'title key nil t)))) (org-cite-basic--get-field 'title key nil t))))
(puthash completion key org-cite-basic--completion-cache))) (puthash completion key org-cite-basic--completion-cache)))
(puthash cache-key t org-cite-basic--completion-cache) (unless (map-empty-p org-cite-basic--completion-cache) ;no key
org-cite-basic--completion-cache))) (puthash entries t org-cite-basic--completion-cache)
org-cite-basic--completion-cache)))))
(defun org-cite-basic--complete-key (&optional multiple) (defun org-cite-basic--complete-key (&optional multiple)
"Prompt for a reference key and return a citation reference string. "Prompt for a reference key and return a citation reference string.
When optional argument MULTIPLE is non-nil, prompt for multiple keys, until one When optional argument MULTIPLE is non-nil, prompt for multiple
of them is nil. Then return the list of reference strings selected. 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." Raise an error when no bibliography is set in the buffer."
(let* ((table (let* ((table
@ -748,9 +758,9 @@ Raise an error when no bibliography is set in the buffer."
(build-prompt (build-prompt
(lambda () (lambda ()
(if keys (if keys
(format "Key (\"\" to exit) %s: " (format "Key (empty input exits) %s: "
(mapconcat #'identity (reverse keys) ";")) (mapconcat #'identity (reverse keys) ";"))
"Key (\"\" to exit): ")))) "Key (empty input exits): "))))
(let ((key (funcall prompt (funcall build-prompt)))) (let ((key (funcall prompt (funcall build-prompt))))
(while (org-string-nw-p key) (while (org-string-nw-p key)
(push (gethash key table) keys) (push (gethash key table) keys)

View file

@ -605,10 +605,10 @@ property list."
(with-temp-buffer (with-temp-buffer
(save-excursion (insert output)) (save-excursion (insert output))
(when (search-forward "\\begin{document}" nil t) (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") (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. ;; Ensure there is a \usepackage{hanging} somewhere or add one.
(goto-char (match-beginning 0))
(let ((re (rx "\\usepackage" (opt "[" (*? nonl) "]") "{hanging}"))) (let ((re (rx "\\usepackage" (opt "[" (*? nonl) "]") "{hanging}")))
(unless (re-search-backward re nil t) (unless (re-search-backward re nil t)
(insert "\\usepackage[notquote]{hanging}\n")))) (insert "\\usepackage[notquote]{hanging}\n"))))

View file

@ -1540,7 +1540,7 @@ The generated function inserts or edit a citation at point. More specifically,
On a citation reference: 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, before the current one,
- on the suffix, insert it after the reference, - on the suffix, insert it after the reference,
- otherwise, update the cite key, preserving both affixes. - otherwise, update the cite key, preserving both affixes.

View file

@ -444,7 +444,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names."
;;;; TAB key with modifiers ;;;; TAB key with modifiers
(org-defkey org-mode-map (kbd "TAB") #'org-cycle) (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 ;; Override text-mode binding to expose `complete-symbol' for
;; pcomplete functionality. ;; pcomplete functionality.
(org-defkey org-mode-map (kbd "M-TAB") nil) (org-defkey org-mode-map (kbd "M-TAB") nil)

View file

@ -368,7 +368,7 @@ Return value as a string."
date) date)
(unwind-protect (unwind-protect
(progn (progn
(vc-call print-log file buf nil nil 1) (vc-call print-log (list file) buf nil nil 1)
(with-current-buffer buf (with-current-buffer buf
(vc-exec-after (vc-exec-after
(lambda () (lambda ()

View file

@ -11,7 +11,7 @@ Inserted by installing Org mode or when a release is made."
(defun org-git-version () (defun org-git-version ()
"The Git version of Org mode. "The Git version of Org mode.
Inserted by installing Org or when a release is made." 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)) org-git-version))
(provide 'org-version) (provide 'org-version)

View file

@ -11323,13 +11323,14 @@ or a character."
(setq (setq
new new
(if nump (if nump
(let ((msg (format "Priority %s-%s, SPC to remove: " (let* ((msg (format "Priority %s-%s, SPC to remove: "
(number-to-string org-priority-highest) (number-to-string org-priority-highest)
(number-to-string org-priority-lowest)))) (number-to-string org-priority-lowest)))
(if (< 9 org-priority-lowest) (s (if (< 9 org-priority-lowest)
(string-to-number (read-string msg)) (read-string msg)
(message msg) (message msg)
(string-to-number (char-to-string (read-char-exclusive))))) (char-to-string (read-char-exclusive)))))
(if (equal s " ") ?\s (string-to-number s)))
(progn (message "Priority %c-%c, SPC to remove: " (progn (message "Priority %c-%c, SPC to remove: "
org-priority-highest org-priority-lowest) org-priority-highest org-priority-lowest)
(save-match-data (save-match-data

View file

@ -1059,7 +1059,7 @@ Return PDF file's name."
(let ((file (org-export-output-file-name ".tex" subtreep))) (let ((file (org-export-output-file-name ".tex" subtreep)))
(org-export-to-file 'beamer file (org-export-to-file 'beamer file
async subtreep visible-only body-only ext-plist async subtreep visible-only body-only ext-plist
(lambda (file) (org-latex-compile file))))) #'org-latex-compile)))
;;;###autoload ;;;###autoload
(defun org-beamer-select-environment () (defun org-beamer-select-environment ()

View file

@ -888,8 +888,8 @@ Return ICS file name."
(org-export-to-file 'icalendar outfile (org-export-to-file 'icalendar outfile
async subtreep visible-only body-only async subtreep visible-only body-only
'(:ascii-charset utf-8 :ascii-links-to-notes nil) '(:ascii-charset utf-8 :ascii-links-to-notes nil)
(lambda (file) '(lambda (file)
(run-hook-with-args 'org-icalendar-after-save-hook file) nil)))) (run-hook-with-args 'org-icalendar-after-save-hook file) nil))))
;;;###autoload ;;;###autoload
(defun org-icalendar-export-agenda-files (&optional async) (defun org-icalendar-export-agenda-files (&optional async)

View file

@ -982,7 +982,7 @@ Return PDF file's name."
(org-koma-letter-special-contents)) (org-koma-letter-special-contents))
(org-export-to-file 'koma-letter file (org-export-to-file 'koma-letter file
async subtreep visible-only body-only ext-plist async subtreep visible-only body-only ext-plist
(lambda (file) (org-latex-compile file))))) #'org-latex-compile)))
(provide 'ox-koma-letter) (provide 'ox-koma-letter)

View file

@ -1117,7 +1117,7 @@ Return PDF file's name."
(let ((outfile (org-export-output-file-name ".man" subtreep))) (let ((outfile (org-export-output-file-name ".man" subtreep)))
(org-export-to-file 'man outfile (org-export-to-file 'man outfile
async subtreep visible-only body-only ext-plist async subtreep visible-only body-only ext-plist
(lambda (file) (org-latex-compile file))))) #'org-latex-compile)))
(defun org-man-compile (file) (defun org-man-compile (file)
"Compile a Groff file. "Compile a Groff file.

View file

@ -1701,7 +1701,7 @@ Return INFO file's name."
(org-export-coding-system org-texinfo-coding-system)) (org-export-coding-system org-texinfo-coding-system))
(org-export-to-file 'texinfo outfile (org-export-to-file 'texinfo outfile
async subtreep visible-only body-only ext-plist async subtreep visible-only body-only ext-plist
(lambda (file) (org-texinfo-compile file))))) #'org-texinfo-compile)))
;;;###autoload ;;;###autoload
(defun org-texinfo-publish-to-texinfo (plist filename pub-dir) (defun org-texinfo-publish-to-texinfo (plist filename pub-dir)

View file

@ -6373,7 +6373,11 @@ use it to set a major mode there, e.g,
(&optional async subtreep visible-only body-only ext-plist) (&optional async subtreep visible-only body-only ext-plist)
(interactive) (interactive)
(org-export-to-buffer \\='latex \"*Org LATEX Export*\" (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." This function returns BUFFER."
(declare (indent 2)) (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))) (let ((outfile (org-export-output-file-name \".tex\" subtreep)))
(org-export-to-file \\='latex outfile (org-export-to-file \\='latex outfile
async subtreep visible-only body-only ext-plist 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, The function returns either a file name returned by POST-PROCESS,
or FILE." or FILE."