z

On Fri, May 24, 2019 at 8:51 AM Brian Beckman <bc.beckman@gmail.com> wrote:
To: emacs-orgmode@gnu.org
Subject: Bug: "nil" prepended to all results in clojure [9.2.2 (9.2.2-13-g0007df-elpaplus @ /home/brianbeckman/.emacs.d/elpa/org-plus-contrib-20190318/)]
From: Brian Beckman <brianbeckman@pop-os.i-did-not-set--mail-host-address--so-tickle-me>
--text follows this line--

Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

     https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.
------------------------------------------------------------------------

I originally submitted this to the nrepl / cider group in github because my workaround entailed a (most likely bogus) change to nrepl, but they closed it and told me to submit it here. My original submission is copied below. The response of the nrepl maintainer can be found at https://github.com/nrepl/nrepl/issues/146

## Expected behavior

in org-babel, I expect the following
```
#+begin_src clojure
(* 6 (+ 6 2))
#+end_src

#+RESULTS:
: 48
```
## Actual behavior
```
#+begin_src clojure
(* 6 (+ 6 2))
#+end_src

#+RESULTS:
: nil48

```
## Steps to reproduce the problem

Make sure your emacs init.el (or other startup fixture like .spacemacs) has org-babel support for Cider and Clojure, as with the following

```
  (require 'ob-clojure)
  (org-babel-do-load-languages
   'org-babel-load-languages
   '(
     (C           . t)
     (awk         . t)
     (clojure     . t) ))
```
Make a lein new app foo so that you have a project.clj file.
Create any old .org file in the foo project directory.
Put the code snippet above in the .org file.
Do M-x cider-jack-in with the cursor in that code block.
Do C-c C-c with cursor in the code block to evaluate the code block.
See the prepended "nil?" It's the same with every other code block. Every result gets a prepended "nil."

## my workaround

I changed `elpa/cider-20190321.2129/nrepl-dict.el::nrepl--merge` as follows to get my stuff to work. No idea whether this is a robust or worthwhile change.

```
(defun nrepl--merge (dict1 dict2 &optional no-join)
  "Join nREPL dicts DICT1 and DICT2 in a meaningful way.
String values for non \"id\" and \"session\" keys are concatenated. Lists
are appended. nREPL dicts merged recursively. All other objects are
accumulated into a list. DICT1 is modified destructively and
then returned.
If NO-JOIN is given, return the first non nil dict."
  (if no-join
      (or dict1 dict2)
    (cond ((null dict1) dict2)
          ((null dict2) dict1)
          ((stringp dict1) (concat dict1 dict2))
          ((nrepl-dict-p dict1)
           (nrepl-dict-map
            (lambda (k2 v2)
              (nrepl-dict-put dict1 k2
                              (nrepl--merge (nrepl-dict-get dict1 k2)
                                            ;; bbeckman bug?  CHANGED RIGHT HERE *****
                                            (if (and (string= k2 "value")
                                                     (stringp v2)
                                                     (string= v2 "nil"))
                                                "" v2)
                                            (member k2 '("id" "session")))))
            dict2)
           dict1)
          ((and (listp dict2) (listp dict1)) (append dict1 dict2))
          ((listp dict1) (append dict1 (list dict2)))
          (t `(,dict1 ,dict2)))))

```

## Environment & Version information

```
: Emacs version: GNU Emacs 26.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.4)
:  of 2019-04-12
: org version: 9.2.2

```
### Clojure version
1.10.0

### Java version

openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.10.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.10.1, mixed mode, sharing)
 
### Operating system

Ubuntu 18.04

Emacs  : GNU Emacs 26.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.4)
 of 2019-04-12
Package: Org mode version 9.2.2 (9.2.2-13-g0007df-elpaplus @ /home/brianbeckman/.emacs.d/elpa/org-plus-contrib-20190318/)

current state:
==============
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
 org-babel-after-execute-hook '(spacemacs/ob-fix-inline-images)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-html-format-inlinetask-function 'org-html-format-inlinetask-default-function
 org-ref-create-notes-hook '((lambda nil (org-narrow-to-subtree)
                              (insert
                               (format "cite:%s\n" (org-entry-get (point)
                                                    "Custom_ID")))
                              )
                             )
 org-odt-format-headline-function 'org-odt-format-headline-default-function
 org-latex-pdf-process '("latexmk -shell-escape -bibtex -f -pdf %f")
 org-imenu-depth 8
 org-download-annotate-function 'org-download-annotate-default
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-ref-pdf-directory "~/Dropbox/bibliography/bibtex-pdfs/"
 org-plantuml-jar-path "/usr/share/plantuml/plantuml.jar"
 org-mode-hook '(org-ref-org-menu
                 (closure
                  (org-agenda-skip-regexp org-table1-hline-regexp
                   org-table-tab-recognizes-table\.el org-table-dataline-regexp
                   org-table-any-border-regexp
                   org-agenda-restriction-lock-overlay
                   org-agenda-overriding-restriction org-agenda-diary-file
                   org-complex-heading-regexp t)
                  nil (setq imenu-create-index-function (quote
                                                         org-imenu-get-tree)))
                 (closure
                  (org--rds reftex-docstruct-symbol orgtbl-line-start-regexp
                   org-element-greater-elements org-table-coordinate-overlays
                   org-table-auto-blank-field org-clock-history
                   org-agenda-current-date
                   org-with-time org-defdecode org-def org-read-date-inactive
                   org-ans2
                   org-ans1 org-columns-current-fmt-compiled
                   org-clock-current-task
                   org-clock-effort org-agenda-skip-function
                   org-agenda-skip-comment-trees
                   org-agenda-archives-mode org-end-time-was-given
                   org-time-was-given
                   org-log-note-extra org-log-note-purpose org-log-post-message
                   org-last-inserted-timestamp org-last-changed-timestamp
                   org-entry-property-inherited-from org-blocked-by-checkboxes
                   org-state
                   org-agenda-headline-snapshot-before-repeat
                   org-capture-last-stored-marker
                   org-agenda-start-on-weekday org-agenda-buffer-tmp-name
                   clean-buffer-list-kill-buffer-names org-id-link-to-org-use-id
                   org-agenda-buffer-name org-priority-regexp
                   org-mode-abbrev-table
                   org-mode-syntax-table buffer-face-mode-face org-mode-map
                   org-tbl-menu
                   org-org-menu org-struct-menu org-entities org-last-state
                   org-id-track-globally org-clock-start-time texmathp-why
                   remember-data-file org-agenda-tags-todo-honor-ignore-options
                   iswitchb-temp-buflist calc-embedded-open-mode
                   calc-embedded-open-formula
                   calc-embedded-close-formula align-mode-rules-list
                   org-emphasis-alist
                   org-emphasis-regexp-components org-export-registered-backends
                   org-modules
                   org-babel-load-languages org-indent-indentation-per-level
                   org-element-paragraph-separate org-inlinetask-min-level t)
                  nil
                  (add-hook (quote change-major-mode-hook) (quote org-show-all)
                   (quote append) (quote local))
                  )
                 (closure
                  (org-bracket-link-regexp org-src-window-setup *this*
                   org-babel-confirm-evaluate-answer-no
                   org-src-preserve-indentation
                   org-src-lang-modes org-link-file-path-type
                   org-edit-src-content-indentation org-babel-library-of-babel
                   t)
                  nil
                  (add-hook (quote change-major-mode-hook) (quote
                                                            org-babel-show-result-all)
                   (quote append) (quote local))
                  )
                 org-babel-result-hide-spec org-babel-hide-all-hashes
                 spacemacs/load-yasnippet toc-org-enable org-download-enable
                 org-bullets-mode spacemacs//org-babel-do-load-languages
                 flyspell-mode
                 spacemacs/add-org-surrounds evil-org-mode org-eldoc-load
                 spacemacs//init-company-org-mode company-mode)
 org-ref-insert-cite-function 'org-ref-helm-insert-cite-link
 org-odt-format-drawer-function '(closure
                                  (hfy-user-sheet-assoc hfy-html-quote-regex
                                   hfy-html-quote-map hfy-face-to-css
                                   hfy-begin-span-handler
                                   hfy-end-span-handler archive-zip-extract
                                   nxml-auto-insert-xml-declaration-flag t)
                                  (_name contents) contents)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-agenda-restore-windows-after-quit t
 org-confirm-elisp-link-function 'yes-or-no-p
 org-startup-with-inline-images t
 org-ref-clean-bibtex-key-function '(lambda (key) (replace-regexp-in-string ":" "" key))
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function '(closure
                                       (org-id-locations
                                        org-agenda-search-view-always-boolean
                                        org-agenda-overriding-header t)
                                       (entry) (cdr (assq :title entry)))
 org-latex-format-drawer-function '(closure (t) (_ contents) contents)
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
 org-ref-bibliography-notes "~/Dropbox/bibliography/notes.org"
 org-babel-load-languages '((C . t) (awk . t) (clojure . t) (ditaa . t) (dot .
                                                                         t)
                            (emacs-lisp . t) (js . t) (latex . t) (lisp . t)
                            (org . t)
                            (perl . t) (plantuml . t) (python . t) (scheme . t)
                            (sed . t)
                            (shell . t))
 org-ref-clean-bibtex-entry-hook '(org-ref-bibtex-format-url-if-doi
                                   orcb-key-comma
                                   org-ref-replace-nonascii orcb-& orcb-%
                                   org-ref-title-case-article orcb-clean-year
                                   orcb-key
                                   orcb-clean-doi orcb-clean-pages
                                   orcb-check-journal
                                   org-ref-sort-bibtex-entry orcb-fix-spacing)
 org-log-done 'time
 org-ref-insert-label-function 'org-ref-helm-insert-label-link
 org-ref-open-pdf-function 'org-ref-open-pdf-at-point
 org-ascii-format-drawer-function '(closure (t) (_name contents _width) contents)
 org-babel-python-command "python3"
 org-ref-open-notes-function '(lambda nil (org-show-entry)
                               (outline-show-branches)
                               (outline-show-children) (org-cycle (quote (64)))
                               (recenter-top-bottom 0))
 org-src-lang-modes '(("dot" . graphviz-dot) ("arduino" . arduino) ("redis" .
                                                                    redis)
                      ("php" . php) ("C" . c) ("C++" . c++) ("asymptote" . asy)
                      ("bash" . sh) ("beamer" . latex) ("calc" . fundamental)
                      ("cpp" . c++)
                      ("ditaa" . artist) ("elisp" . emacs-lisp) ("ocaml" .
                                                                 tuareg)
                      ("screen" . shell-script) ("shell" . sh) ("sqlite" . sql))
 org-occur-hook '(org-first-headline-recenter)
 org-ref-bibtex-assoc-pdf-with-entry-move-function 'rename-file
 org-ref-insert-link-function 'org-ref-helm-insert-cite-link
 org-ref-insert-ref-function 'org-ref-helm-insert-ref-link
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
                  org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
 org-ref-default-bibliography '("~/Dropbox/bibliography/references.bib")
 org-clock-persist-file "/home/brianbeckman/.emacs.d/.cache/org-clock-save.el"
 org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function
 org-latex-prefer-user-labels t
 org-babel-tangle-lang-exts '(("perl" . "pl") ("D" . "d") ("C++" . "cpp") ("sed"
                                                                           . "sed")
                              ("python" . "py") ("lisp" . "lisp") ("latex" .
                                                                   "tex")
                              ("clojure" . "clj") ("awk" . "awk") ("emacs-lisp"
                                                                   . "el")
                              ("elisp" . "el"))
 org-publish-timestamp-directory "/home/brianbeckman/.emacs.d/.cache/.org-timestamps/"
 org-export-async-init-file "/home/brianbeckman/.emacs.d/layers/+emacs/org/local/org-async-init.el"
 org-id-locations-file "/home/brianbeckman/.emacs.d/.cache/.org-id-locations"
 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("id" :follow org-id-open)
                       ("eww" :follow eww :store org-eww-store-link)
                       ("rmail" :follow org-rmail-open :store
                        org-rmail-store-link)
                       ("mhe" :follow org-mhe-open :store org-mhe-store-link)
                       ("irc" :follow org-irc-visit :store org-irc-store-link
                        :export
                        org-irc-export)
                       ("info" :follow org-info-open :export org-info-export
                        :store
                        org-info-store-link)
                       ("gnus" :follow org-gnus-open :store org-gnus-store-link)
                       ("docview" :follow org-docview-open :export
                        org-docview-export :store
                        org-docview-store-link)
                       ("bbdb" :follow org-bbdb-open :export org-bbdb-export
                        :complete
                        org-bbdb-complete-link :store org-bbdb-store-link)
                       ("w3m" :store org-w3m-store-link)
                       ("printindex" :follow org-ref-index :export
                        (lambda (path desc format)
                         (cond ((eq format (quote latex)) (format
                                                           "\\printindex"))))
                        )
                       ("index" :follow (lambda (path) (occur path)) :export
                        (lambda (path desc format)
                         (cond ((eq format (quote latex)) (format "\\index{%s}"
                                                           path))))
                        )
                       ("bibentry" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-bibentry :complete
                        org-bibentry-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("Autocites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-Autocites :complete
                        org-Autocites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("autocites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-autocites :complete
                        org-autocites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("supercites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-supercites :complete
                        org-supercites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("Textcites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-Textcites :complete
                        org-Textcites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("textcites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-textcites :complete
                        org-textcites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("Smartcites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-Smartcites :complete
                        org-Smartcites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("smartcites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-smartcites :complete
                        org-smartcites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("footcitetexts" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-footcitetexts :complete
                        org-footcitetexts-complete-link :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("footcites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-footcites :complete
                        org-footcites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("Parencites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-Parencites :complete
                        org-Parencites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("parencites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-parencites :complete
                        org-parencites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("Cites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-Cites :complete org-Cites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("cites" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-cites :complete org-cites-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("fnotecite" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-fnotecite :complete
                        org-fnotecite-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("Pnotecite" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-Pnotecite :complete
                        org-Pnotecite-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("pnotecite" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-pnotecite :complete
                        org-pnotecite-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("Notecite" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-Notecite :complete
                        org-Notecite-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("notecite" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-notecite :complete
                        org-notecite-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap
                        (keymap (S-up . org-ref-sort-citation-link)
                         (S-right lambda nil (interactive)
                          (org-ref-swap-citation-link 1))
                         (S-left lambda nil (interactive)
                          (org-ref-swap-citation-link -1))
                         (C-right . org-ref-next-key) (C-left .
                                                       org-ref-previous-key)
                         (16777337 lambda nil
                          "Paste key at point. Assumes the first thing in the
 killring is a key."
                          (interactive) (org-ref-insert-key-at-point (car
                                                                      kill-ring)))
                         (16777303 lambda nil "Copy all the keys at point."
                          (interactive)
                          (kill-new (org-element-property :path
                                     (org-element-context))))
                         (16777335 lambda nil (interactive)
                          (kill-new (car (org-ref-get-bibtex-key-and-file))))
                         (16777318 lambda nil (interactive)
                          (save-excursion (org-ref-open-citation-at-point)
                           (kill-new (org-ref-format-bibtex-entry-at-point)))
                          )
                         (16777319 . org-ref-google-scholar-at-point)
                         (16777317 lambda nil "Email entry at point"
                          (interactive)
                          (org-ref-open-citation-at-point)
                          (org-ref-email-bibtex-entry))
                         (16777315 . org-ref-wos-citing-at-point)
                         (16777330 . org-ref-wos-related-at-point)
                         (16777326 . org-ref-open-notes-at-point)
                         (16777328 . org-ref-open-pdf-at-point)
                         (16777333 . org-ref-open-url-at-point)
                         (16777314 . org-ref-open-citation-at-point)
                         (16777327 . org-ref-cite-hydra/body) (follow-link .
                                                               mouse-face)
                         (mouse-3 . org-find-file-at-mouse) (mouse-2 .
                                                             org-open-at-mouse))
                        )
                       ("footfullcite" :follow
                        (lambda (_) (funcall org-ref-cite-onclick-function nil))
                        :export
                        org-ref-format-footfullcite :complete
                        org-footfullcite-complete-link
                        :help-echo
                        (lambda (window object position)
                         (when org-ref-show-citation-on-enter
                          (save-excursion (goto-char position)
                           (let
                            ((s (org-ref-format-entry
                                 (org-ref-get-bibtex-key-under-cursor)))
                             )
                            (with-temp-buffer (insert s) (fill-paragraph)
                             (buffer-string)))
                           )
                          )
                         )
                        :face org-ref-cite-link-face-fn :display full :keymap