diff options
| -rw-r--r-- | elisp/geiser-base.el | 4 | ||||
| -rw-r--r-- | elisp/geiser-completion.el | 2 | ||||
| -rw-r--r-- | elisp/geiser-doc.el | 10 | ||||
| -rw-r--r-- | elisp/geiser-edit.el | 2 | ||||
| -rw-r--r-- | elisp/geiser-mode.el | 12 | ||||
| -rw-r--r-- | elisp/geiser-repl.el | 10 | ||||
| -rw-r--r-- | elisp/geiser-xref.el | 4 | 
7 files changed, 25 insertions, 19 deletions
| diff --git a/elisp/geiser-base.el b/elisp/geiser-base.el index 41fb6fc..65ab061 100644 --- a/elisp/geiser-base.el +++ b/elisp/geiser-base.el @@ -70,6 +70,10 @@      (dolist (e lst (nreverse result))        (unless (member e result) (push e result))))) +(defsubst geiser--symbol-at-point () +  (let ((thing (thing-at-point 'symbol))) +    (and thing (make-symbol thing)))) +  (provide 'geiser-base)  ;;; geiser-base.el ends here diff --git a/elisp/geiser-completion.el b/elisp/geiser-completion.el index c04cc34..0deb76c 100644 --- a/elisp/geiser-completion.el +++ b/elisp/geiser-completion.el @@ -81,7 +81,7 @@                                    nil nil nil                                    (or history                                        geiser-completion--symbol-history) -                                  (or default (symbol-at-point)))))) +                                  (or default (geiser--symbol-at-point))))))  (defvar geiser-completion--module-history nil) diff --git a/elisp/geiser-doc.el b/elisp/geiser-doc.el index 19e2075..e975484 100644 --- a/elisp/geiser-doc.el +++ b/elisp/geiser-doc.el @@ -310,9 +310,9 @@ help (e.g. browse an HTML page) implementing this method.")    "Get docstring for symbol at point.  With prefix argument, ask for symbol (with completion)."    (interactive "P") -  (let ((symbol (or (and (not arg) (symbol-at-point)) -                    (geiser-completion--read-symbol "Symbol: " -                                                    (symbol-at-point))))) +  (let ((symbol (or (and (not arg) (geiser--symbol-at-point)) +                    (geiser-completion--read-symbol +                     "Symbol: " (geiser--symbol-at-point)))))      (when symbol (geiser-doc-symbol symbol))))  (defun geiser-doc-look-up-manual (&optional arg) @@ -321,7 +321,7 @@ With prefix argument, ask for the lookup symbol (with completion)."    (interactive "P")    (unless (geiser-doc--manual-available-p)      (error "No manual available")) -  (let ((symbol (or (and (not arg) (symbol-at-point)) +  (let ((symbol (or (and (not arg) (geiser--symbol-at-point))                      (geiser-completion--read-symbol "Symbol: "))))      (geiser-doc--external-help geiser-impl--implementation                                 symbol @@ -453,7 +453,7 @@ With prefix, the current page is deleted from history."    ("Refresh" ("g" "r") geiser-doc-refresh "Refresh current page")    --    ("Edit symbol" ("." "\M-.") geiser-doc-edit-symbol-at-point -   :enable (symbol-at-point)) +   :enable (geiser--symbol-at-point))    --    ("Kill item" "k" geiser-doc-kill-page "Kill this page")    ("Clear history" "c" geiser-doc-clean-history) diff --git a/elisp/geiser-edit.el b/elisp/geiser-edit.el index 8c34c28..8fa979f 100644 --- a/elisp/geiser-edit.el +++ b/elisp/geiser-edit.el @@ -201,7 +201,7 @@ or following links in error buffers.")    "Opens a new window visiting the definition of the symbol at point.  With prefix, asks for the symbol to edit."    (interactive "P") -  (let* ((symbol (or (and (not arg) (symbol-at-point)) +  (let* ((symbol (or (and (not arg) (geiser--symbol-at-point))                       (geiser-completion--read-symbol "Edit symbol: ")))           (cmd `(:eval (:ge symbol-location ',symbol)))           (marker (point-marker))) diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el index 9759c7b..a933963 100644 --- a/elisp/geiser-mode.el +++ b/elisp/geiser-mode.el @@ -281,7 +281,7 @@ interacting with the Geiser REPL is at your disposal.          ("Definition" ("\C-c\C-m\C-x" "\C-c\C-mx") geiser-expand-definition))    --    ("Symbol documentation" ("\C-c\C-d\C-d" "\C-c\C-dd") -   geiser-doc-symbol-at-point :enable (symbol-at-point)) +   geiser-doc-symbol-at-point :enable (geiser--symbol-at-point))    ("Module documentation" ("\C-c\C-d\C-m" "\C-c\C-dm") geiser-doc-module)    ("Symbol manual lookup" ("\C-c\C-d\C-i" "\C-c\C-di")     geiser-doc-look-up-manual :enable (geiser-doc--manual-available-p)) @@ -294,19 +294,21 @@ interacting with the Geiser REPL is at your disposal.    ("Set Scheme..." "\C-c\C-s" geiser-set-scheme)    --    ("Edit symbol at point" "\M-." geiser-edit-symbol-at-point -   :enable (symbol-at-point)) +   :enable (geiser--symbol-at-point))    ("Go to previous definition" "\M-," geiser-pop-symbol-stack)    ("Complete symbol" ((kbd "M-TAB")) completion-at-point -   :enable (symbol-at-point)) +   :enable (geiser--symbol-at-point))    ("Complete module name" ((kbd "M-`") (kbd "C-."))     geiser-completion--complete-module)    ("Edit module" ("\C-c\C-e\C-m" "\C-c\C-em") geiser-edit-module)    ("Toggle ()/[]" ("\C-c\C-e\C-[" "\C-c\C-e[") geiser-squarify)    --    ("Callers" ((kbd "C-c <")) geiser-xref-callers -   :enable (and (geiser-eval--supported-p 'callers) (symbol-at-point))) +   :enable (and (geiser-eval--supported-p 'callers) +                (geiser--symbol-at-point)))    ("Callees" ((kbd "C-c >")) geiser-xref-callees -   :enable (and (geiser-eval--supported-p 'callees) (symbol-at-point))) +   :enable (and (geiser-eval--supported-p 'callees) +                (geiser--symbol-at-point)))    --    (mode "Smart TAB mode" nil geiser-smart-tab-mode)    -- diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 7c89df2..b9c47f5 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -520,11 +520,11 @@ buffer."  (geiser-menu--defmenu repl geiser-repl-mode-map    ("Complete symbol" ((kbd "M-TAB")) -   geiser-repl--tab :enable (symbol-at-point)) +   geiser-repl--tab :enable (geiser--symbol-at-point))    ("Complete module name" ((kbd "C-.") (kbd "M-`")) -   geiser-completion--complete-module :enable (symbol-at-point)) +   geiser-completion--complete-module :enable (geiser--symbol-at-point))    ("Edit symbol" "\M-." geiser-edit-symbol-at-point -   :enable (symbol-at-point)) +   :enable (geiser--symbol-at-point))    --    ("Switch to module..." "\C-c\C-m" switch-to-geiser-module)    ("Import module..." "\C-c\C-i" geiser-repl-import-module) @@ -539,9 +539,9 @@ buffer."    (mode "Autodoc mode" ("\C-c\C-da" "\C-c\C-d\C-a") geiser-autodoc-mode)    ("Symbol documentation" ("\C-c\C-dd" "\C-c\C-d\C-d")     geiser-doc-symbol-at-point -   "Documentation for symbol at point" :enable (symbol-at-point)) +   "Documentation for symbol at point" :enable (geiser--symbol-at-point))    ("Module documentation" ("\C-c\C-dm" "\C-c\C-d\C-m") geiser-repl--doc-module -   "Documentation for module at point" :enable (symbol-at-point)) +   "Documentation for module at point" :enable (geiser--symbol-at-point))    --    ("Kill Scheme interpreter" "\C-c\C-q" geiser-repl-exit     :enable (geiser-repl--live-p)) diff --git a/elisp/geiser-xref.el b/elisp/geiser-xref.el index a93b7a8..661c625 100644 --- a/elisp/geiser-xref.el +++ b/elisp/geiser-xref.el @@ -104,8 +104,8 @@    (goto-char (point-min)))  (defun geiser-xref--read-name (ask prompt) -  (let ((name (or (and (not ask) (symbol-at-point)) -                  (read-string prompt nil nil (symbol-at-point))))) +  (let ((name (or (and (not ask) (geiser--symbol-at-point)) +                  (read-string prompt nil nil (geiser--symbol-at-point)))))      (and name (format "%s" name))))  (defun geiser-xref--fetch-xrefs (ask kind rkind proc) | 
