Helmut Eller writes:
Luke Gorrie luke@bluetail.com writes:
This would be good. Right now I don't know of the right mechanism by which to do it. Anyone have ideas?
The code below works in Emacs but I was unable to get it to work in XEmacs. Evaluating reader conditionals doesn't work so well if the file isn't written for the connected Lisp, e.g. the wrong expressions will be highlighted in CMUCL sources files, if you are connected to ACL.
(defvar slime-highlight-suppressed-forms t "*If true then highlight reader conditionalized forms where the test evaluates to false.")
(defun slime-search-suppressed-forms (limit) "Find reader conditionalized forms where the test is false." (when (and slime-highlight-suppressed-forms (slime-connected-p) (re-search-forward "#[-+]" limit t))
Actually, # is a non-terminating macro character, and as for all non-terminating macro characters, if the character before # is a constituent character then the # is too.
CL-USER> 'toto#-titi TOTO#-TITI
http://www.lispworks.com/reference/HyperSpec/Body/02_ad.html
Perhaps: - swank get the read-table, - swank tries to extract information from it, (it's not COMMON-LISP), - swank sends some regexps to slime, - slime uses these regexp.
In the mean-time: (re-search-forward "<#[-+]" limit t)