From 23c3462311d0fd3da0bd2ffb924f237c620c80be Mon Sep 17 00:00:00 2001 From: Dan Leslie Date: Sat, 5 Dec 2015 08:01:06 -0800 Subject: Completions didn't work after first symbol in sexp --- elisp/geiser-chicken.el | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'elisp') 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))))) -- cgit v1.2.3