summaryrefslogtreecommitdiff
path: root/elisp/geiser-syntax.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2016-06-12 17:51:28 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2016-06-12 17:51:28 +0200
commitbb990e11cd91956d10d156982d29cec50fee75bf (patch)
tree1326ec1d6a6f3f06a15e381237b628cd91166a96 /elisp/geiser-syntax.el
parent48c0cb1f5ceeb12824c9465d0549583e970ab983 (diff)
downloadgeiser-bb990e11cd91956d10d156982d29cec50fee75bf.tar.gz
geiser-bb990e11cd91956d10d156982d29cec50fee75bf.tar.bz2
REPLs not started by the font-lock buffer
This one should fix github's issue #132. There's still the glitch that scheme strings are fontified without taking into account extra keywords.
Diffstat (limited to 'elisp/geiser-syntax.el')
-rw-r--r--elisp/geiser-syntax.el22
1 files changed, 13 insertions, 9 deletions
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el
index 79f899b..0abd03c 100644
--- a/elisp/geiser-syntax.el
+++ b/elisp/geiser-syntax.el
@@ -472,16 +472,20 @@ implementation-specific entries for font-lock-keywords.")
(geiser-syntax--mapconcat 'geiser-syntax--display a " ")))
(t (format "%s" a))))
+(defconst geiser-syntax--font-lock-buffer-name " *geiser font lock*")
+
+(defun geiser-syntax--font-lock-buffer-p (&optional buffer)
+ (equal (buffer-name buffer) geiser-syntax--font-lock-buffer-name))
+
(defun geiser-syntax--font-lock-buffer ()
- (let ((name " *geiser font lock*"))
- (or (get-buffer name)
- (let ((buffer (get-buffer-create name)))
- (set-buffer buffer)
- (let ((geiser-default-implementation
- (or geiser-default-implementation
- (car geiser-active-implementations))))
- (scheme-mode))
- buffer))))
+ (or (get-buffer geiser-syntax--font-lock-buffer-name)
+ (let ((buffer (get-buffer-create geiser-syntax--font-lock-buffer)))
+ (set-buffer buffer)
+ (let ((geiser-default-implementation
+ (or geiser-default-implementation
+ (car geiser-active-implementations))))
+ (scheme-mode)))
+ buffer))
(defun geiser-syntax--scheme-str (str)
(save-current-buffer