summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-chicken.el16
1 files changed, 15 insertions, 1 deletions
diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index 5bf45f2..c086b17 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -46,6 +46,12 @@
"Customization for Geiser's Chicken flavour."
:group 'geiser)
+(geiser-custom--defcustom geiser-chicken-prefix-delimiters
+ '("^:" "^#")
+ "Regex to match symbol prefix delimiters."
+ :type '(repeat string)
+ :group 'geiser-chicken)
+
(geiser-custom--defcustom geiser-chicken-binary
(cond ((eq system-type 'windows-nt) '("csi.exe" "-:c"))
((eq system-type 'darwin) "csi")
@@ -165,7 +171,15 @@ This function uses `geiser-chicken-init-file' if it exists."
(defun geiser-chicken--exit-command () ",q")
(defun geiser-chicken--symbol-begin (module)
- (save-excursion (skip-syntax-backward "^-()>") (point)))
+ (apply
+ 'max
+ (append
+ (list (save-excursion (beginning-of-line) (point))
+ (save-excursion (skip-syntax-backward "^-()>") (point)))
+ (mapcar
+ (lambda (match-string)
+ (save-excursion (skip-chars-backward match-string) (point)))
+ geiser-chicken-prefix-delimiters))))
;;; Error display