summaryrefslogtreecommitdiff
path: root/elisp/geiser-syntax.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-10-15 03:22:49 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-10-15 03:22:49 +0200
commita134dcaeb6d218482f5eb186eec3288571bec89f (patch)
tree3a4e5588509b1178b4f6523efc8a4196c850b107 /elisp/geiser-syntax.el
parent6114d9e682c946596ca899e5a44425b5f300d01a (diff)
downloadgeiser-a134dcaeb6d218482f5eb186eec3288571bec89f.tar.gz
geiser-a134dcaeb6d218482f5eb186eec3288571bec89f.tar.bz2
Autodoc fix: dots in arglists were causing a parsing error.
Diffstat (limited to 'elisp/geiser-syntax.el')
-rw-r--r--elisp/geiser-syntax.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el
index e22344e..6be186a 100644
--- a/elisp/geiser-syntax.el
+++ b/elisp/geiser-syntax.el
@@ -195,6 +195,9 @@
(defsubst geiser-syntax--nesting-level ()
(or (nth 0 (syntax-ppss)) 0))
+(defsubst geiser-syntax--pair-length (p)
+ (if (cdr (last p)) (1+ (safe-length p)) (length p)))
+
(defun geiser-syntax--scan-sexps ()
(save-excursion
(geiser-syntax--skip-comment/string)
@@ -206,7 +209,7 @@
(let ((form
(nth-value 0 (geiser-syntax--form-after-point boundary))))
(when (and (listp form) (car form) (symbolp (car form)))
- (let* ((len-1 (1- (length form)))
+ (let* ((len-1 (1- (geiser-syntax--pair-length form)))
(prev (and (> len-1 1) (nth (1- len-1) form)))
(prev (and prev
(geiser-syntax--read/keyword-value prev))))