From b4162eba221b6123950df60e156f208b9b017830 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Fri, 1 Mar 2013 04:24:21 +0100 Subject: Configurable keyword case sensitivity By default, keywords are now not fontified in Scheme buffers unless they have the correct (lower) case. This behaviour can be altered by new, per-implementation customization variables. Thanks to Diogo F. S. Ramos for pointing this out. --- elisp/geiser-syntax.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'elisp/geiser-syntax.el') diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el index 46374a2..42e265e 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 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2011, 2012, 2013 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 @@ -61,10 +61,15 @@ "A variable (or thunk returning a value) giving additional, implementation-specific entries for font-lock-keywords.") +(geiser-impl--define-caller geiser-syntax--case-sensitive case-sensitive () + "A flag saying whether keywords are case sensitive.") + (defun geiser-syntax--add-kws () (when (not (and (boundp 'quack-mode) quack-mode)) - (let ((kw (geiser-syntax--impl-kws geiser-impl--implementation))) - (when kw (font-lock-add-keywords nil kw))))) + (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)) + (setq font-lock-keywords-case-fold-search (not cs))))) ;;; A simple scheme reader -- cgit v1.2.3