kill-ring starts like a DOI, then that is the intial
prompt. Otherwise, you have to type or pste in a DOI."
(interactive
- (list (read-input "DOI: "
+ (list (read-string "DOI: "
;; now set initial input
(cond
;; If region is active and it starts like a doi we want it.
;; Wrap in save-window-excursion to restore your window arrangement after this
;; is done.
(save-window-excursion
- (find-file bibfile)
- ;; Check if the doi already exists
- (goto-char (point-min))
- (if (search-forward doi nil t)
- (message "%s is already in this file" doi)
- (end-of-buffer)
- (insert "\n\n")
- (doi-utils-insert-bibtex-entry-from-doi doi)
- (save-buffer))))
+ (with-current-buffer
+ (find-file-noselect bibfile)
+ ;; Check if the doi already exists
+ (goto-char (point-min))
+ (if (search-forward doi nil t)
+ (message "%s is already in this file" doi)
+ (end-of-buffer)
+ (insert "\n\n")
+ (doi-utils-insert-bibtex-entry-from-doi doi)
+ (save-buffer)))))
;; * Updating bibtex entries
(defun plist-get-keys (plist)
"Return keys in a PLIST."
- (loop
+ (cl-loop
for key in results by #'cddr collect key))
(defun doi-utils-update-bibtex-entry-from-doi (doi)
(defun doi-utils-add-entry-from-crossref-query (query bibtex-file)
"Search Crossref with QUERY and use helm to select an entry to add to BIBTEX-FILE."
(interactive (list
- (read-input
+ (read-string
"Query: "
;; now set initial input
(cond