diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-02 23:01:17 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-02 23:01:17 +0100 |
commit | 95e744b614398b2955143121e7b5da5748e833ee (patch) | |
tree | af719f08fcc29621a5eb1e8d95cd85b689dcb093 /elisp/geiser-syntax.el | |
parent | 3124c25768b107233497acc009e378bd6a044339 (diff) | |
download | geiser-chez-95e744b614398b2955143121e7b5da5748e833ee.tar.gz geiser-chez-95e744b614398b2955143121e7b5da5748e833ee.tar.bz2 |
Autodoc enhancements:
* Use argument names from guile-procedures.txt when available.
* Highlihgt #:opt with a face of its own.
Diffstat (limited to 'elisp/geiser-syntax.el')
-rw-r--r-- | elisp/geiser-syntax.el | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el index e050503..01dd151 100644 --- a/elisp/geiser-syntax.el +++ b/elisp/geiser-syntax.el @@ -83,12 +83,14 @@ (when (not (eq (char-after (point)) ?\()) (skip-syntax-backward "-<>") (delete-region (point) (point-max))) - (let ((pps (parse-partial-sexp (point-min) (point)))) - (when (nth 8 pps) ;; inside a comment or string - (delete-region (nth 8 pps) (point-max)))) + (let ((p (nth 8 (syntax-ppss)))) + (when p ;; inside a comment or string + (let ((str (nth 3 (syntax-ppss)))) + (delete-region p (point-max)) + (when str (insert "XXXpointXXX"))))) (when (cond ((eq (char-after (1- (point))) ?\)) (geiser-syntax--del-sexp -1) t) ((eq (char-after (point)) ?\() (delete-region (point) (point-max)) t) - ((memq (char-after (1- (point))) (list ?. ?@ ?, ?\' ?\` ?\#)) + ((memq (char-after (1- (point))) (list ?. ?@ ?, ?\' ?\` ?\# ?\\)) (skip-syntax-backward "^-(") (delete-region (point) (point-max)) t)) @@ -101,7 +103,7 @@ (defsubst geiser-syntax--get-partial-sexp () (unless (zerop (nth 0 (syntax-ppss))) (let* ((end (if (eq (char-after (point)) ?\() (1+ (point)) - (save-excursion (skip-syntax-forward "^-()") (point)))) + (save-excursion (skip-syntax-forward "^-\"<>()") (point)))) (begin (save-excursion (beginning-of-defun) (point)))) (geiser-syntax--complete-partial-sexp (current-buffer) begin end)))) |