diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2016-06-12 04:33:04 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2016-06-12 04:33:04 +0200 |
commit | 48c0cb1f5ceeb12824c9465d0549583e970ab983 (patch) | |
tree | 3f5ca6c0a9e6b8b08d624b101ae58aeedb251684 /elisp/geiser-syntax.el | |
parent | 570146fd77ab6764986bedce7b035471f8592d8d (diff) | |
download | geiser-48c0cb1f5ceeb12824c9465d0549583e970ab983.tar.gz geiser-48c0cb1f5ceeb12824c9465d0549583e970ab983.tar.bz2 |
Removing stale keywords when switching to another scheme
Addresses github's #158, and its implementation is really easy (kudos to
fice-t, also for telling me about bound-and-true-p).
Diffstat (limited to 'elisp/geiser-syntax.el')
-rw-r--r-- | elisp/geiser-syntax.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el index ce64171..79f899b 100644 --- a/elisp/geiser-syntax.el +++ b/elisp/geiser-syntax.el @@ -1,6 +1,6 @@ ;;; geiser-syntax.el -- utilities for parsing scheme syntax -;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Jose Antonio Ortega Ruiz ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the Modified BSD License. You should @@ -135,13 +135,19 @@ implementation-specific entries for font-lock-keywords.") "A flag saying whether keywords are case sensitive.") (defun geiser-syntax--add-kws (&optional global-p) - (when (not (and (boundp 'quack-mode) quack-mode)) + (unless (bound-and-true-p quack-mode) (let ((kw (geiser-syntax--impl-kws geiser-impl--implementation)) (cs (geiser-syntax--case-sensitive geiser-impl--implementation))) (when kw (font-lock-add-keywords nil kw)) (when global-p (font-lock-add-keywords nil (geiser-syntax--keywords))) (setq font-lock-keywords-case-fold-search (not cs))))) +(defun geiser-syntax--remove-kws () + (unless (bound-and-true-p quack-mode) + (let ((kw (geiser-syntax--impl-kws geiser-impl--implementation))) + (when kw + (font-lock-remove-keywords nil kw))))) + ;;; A simple scheme reader |