Here is a very gross implementation of reader conditional highlighting for xemacs. This is a really cool feature, but it should use something besides font-lock-comment-face, I think. It would also be nice if the conditional expression were also highlighed the same way. Then I could ignore it completely.
Ray
(defun slime-activate-font-lock-magic () (if (featurep 'xemacs) (let ((pattern '((slime-search-suppressed-forms (0 font-lock-comment-face t))))) (setf lisp-font-lock-keywords (append lisp-font-lock-keywords pattern)) (setf lisp-font-lock-keywords-1 (append lisp-font-lock-keywords pattern)) (setf lisp-font-lock-keywords-2 (append lisp-font-lock-keywords pattern))) (font-lock-add-keywords 'lisp-mode '((slime-search-suppressed-forms 0 font-lock-comment-face t)))))
(when slime-highlight-suppressed-forms (slime-activate-font-lock-magic))
Raymond Toy raymond.toy@ericsson.com writes:
Here is a very gross implementation of reader conditional highlighting for xemacs. This is a really cool feature, but it should use something besides font-lock-comment-face, I think. It would also be nice if the conditional expression were also highlighed the same way. Then I could ignore it completely.
Oh, that's nice. Thanks. I installed it. I also added a new face: slime-reader-conditional-face. As defface doesn't like me, I was unable to set a reasonable default color for XEmacs. It looks just like the default face. So you have to configure it.
(defun slime-activate-font-lock-magic () (if (featurep 'xemacs) (let ((pattern '((slime-search-suppressed-forms (0 font-lock-comment-face t))))) (setf lisp-font-lock-keywords (append lisp-font-lock-keywords pattern)) (setf lisp-font-lock-keywords-1 (append lisp-font-lock-keywords pattern)) (setf lisp-font-lock-keywords-2 (append lisp-font-lock-keywords pattern)))
This sets all three variables to the same value. I assume meant to add the pattern to each variable. At least that seems to work too.
Helmut.