From bb990e11cd91956d10d156982d29cec50fee75bf Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Sun, 12 Jun 2016 17:51:28 +0200 Subject: 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. --- elisp/geiser-syntax.el | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'elisp/geiser-syntax.el') 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 -- cgit v1.2.3