From c36f6fd63a7b0c736f7c597be18615db9cbabdc8 Mon Sep 17 00:00:00 2001 From: Nathaniel Nicandro Date: Wed, 8 Apr 2020 08:09:04 -0500 Subject: [PATCH] Query for a kernel with `point` at the last place a user left it `jupyter-org-closest-jupyter-language` falls back to asking a user for a kernel, when it does so `point` is at the beginning of the buffer. Make sure `point` is at the location where the user last left it. * jupyter-org-extensions.el (jupyter-org-closest-jupyter-language): Do it. --- jupyter-org-extensions.el | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/jupyter-org-extensions.el b/jupyter-org-extensions.el index 8991e54..7384928 100644 --- a/jupyter-org-extensions.el +++ b/jupyter-org-extensions.el @@ -65,8 +65,8 @@ blocks could be found in the buffer. Distance is line based, not character based. Also, `point' is assumed to not be inside a source block." (org-save-outline-visibility nil - (save-excursion - (or (and (null query) + (or (save-excursion + (and (null query) (cl-loop with start = (line-number-at-pos) with previous = (ignore-errors @@ -102,12 +102,12 @@ assumed to not be inside a source block." (funcall maybe-return-lang) (setq next (ignore-errors (org-babel-next-src-block) - (point))))))) - ;; If all else fails, query for the language to use - (let* ((kernelspec (jupyter-completing-read-kernelspec)) - (lang (plist-get (cddr kernelspec) :language))) - (if (org-babel-jupyter-language-p lang) lang - (format "jupyter-%s" lang))))))) + (point)))))))) + ;; If all else fails, query for the language to use + (let* ((kernelspec (jupyter-completing-read-kernelspec)) + (lang (plist-get (cddr kernelspec) :language))) + (if (org-babel-jupyter-language-p lang) lang + (format "jupyter-%s" lang)))))) (defun jupyter-org-between-block-end-and-result-p () "If `point' is between a src-block and its result, return the result end.