summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-chicken.el20
1 files changed, 11 insertions, 9 deletions
diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index 88d60cf..0d9c8e7 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -67,7 +67,7 @@
(geiser-custom--defcustom geiser-chicken-prefix-delimiters
'("^:" "^#")
- "Regex to match symbol prefix delimiters."
+ "Regex to match symbol prefix delimiters. Consider that it will be placed inside []."
:type '(repeat string)
:group 'geiser-chicken)
@@ -189,16 +189,18 @@ This function uses `geiser-chicken-init-file' if it exists."
(defun geiser-chicken--exit-command () ",q")
(defun geiser-chicken--symbol-begin (module)
- (let ((distance-to-beginning-of-line (- (point) (line-beginning-position))))
- (apply
- 'max
- (append
- (list (save-excursion (skip-syntax-backward "^'(>" distance-to-beginning-of-line)
- (point)))
+ (apply
+ 'max
+ (cons
+ (if module
+ (max (save-excursion (beginning-of-line) (point))
+ (save-excursion (skip-syntax-backward "^(>") (1- (point))))
+ (save-excursion (skip-syntax-backward "^'-()>") (point)))
+ (let ((distance-to-beginning-of-line (- (point) (line-beginning-position))))
(mapcar
(lambda (match-string)
- (save-excursion (skip-chars-backward match-string distance-to-beginning-of-line)
- (point)))
+ (save-excursion
+ (skip-chars-backward match-string distance-to-beginning-of-line) (point)))
geiser-chicken-prefix-delimiters)))))