       (re-search-forward search-pattern end t))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; highlight other namespace functions 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; highlight "plc" types 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(defvar *pjs-plc-types-cache* nil)
-(defvar *pjs-plc-types-to-kernel-cache* nil)
-(defvar *pjs-plc-types-cache-regexp* nil)
+(defvar-resetable *pjs-plc-types-cache* nil 'pjs-compile)
+(defvar-resetable *pjs-plc-types-to-kernel-cache* nil 'pjs-compile)
+(defvar-resetable *pjs-plc-types-cache-regexp* nil 'pjs-compile)
 
 (defvar *pjs-plc-types-present* t)
 

;; TODO: if it is a member of a classe, check the type from the class.
;; we consider we are at the point between the var and its "father"
;; we return a cons (namespace . classname)
(defun get-variable-type-in-context (point )
  ;; use the parser
  (save-match-data
    (save-excursion

(defvar pjs-var-definition-face
  'pjs-var-definition-face)


(defface pjs-member-face
  '((t :foreground "#5f9ea0"))
  "PJS member fonts"
  )

(defvar pjs-member-face 'pjs-member-face)

;; functions of the current namespace

