   (cond (*pjs-kernel-functions-cache*
 	 *pjs-kernel-functions-cache*)
 	((pjs-configuration-ok)
-	 (setq *pjs-kernel-functions-cache* (format "\\(\\(?:plw\\)?\\.%s\\)\\s-*(" (js--regexp-opt-symbol (when (fi::lep-open-connection-p) (fi:eval-in-lisp "(jvs::list-all-js-functions t)"))))))
+	 (setq *pjs-kernel-functions-cache* (format "\\(\\(?:plw\\)?\\.%s\\)\\s-*(" (pjs--regexp-opt-symbol (when (fi::lep-open-connection-p) (fi:eval-in-lisp "(jvs::list-all-js-functions t)"))))))
 	(t
 	 nil)))
 

     "new"
     "return values")))

;; pjs types
(defconst pjs-font-lock-types
  (js--regexp-opt-symbol
   '(
     "int32"
     "int"
     "longfloat"
     "shortfloat"
     "string"
     "vector"
     "boolean"
     "hashtable"
     )))

(defconst *pjs-function-qualifiers*
  (js--regexp-opt-symbol
   '("wrappable" "cached")))

(defconst *pjs-function-keyword*

;;;; * pjs mode
;;;;  (header added automatically)
;;;;

(defun pjs--regexp-opt-symbol (list &optional prefix)
  "Like `regexp-opt', but surround the result with `\\\\_<' and `\\\\_>'."
  (cond ((stringp prefix)
	 (concat prefix "\\_<" (regexp-opt list) "\\_>"))
	(t
	 (concat "\\_<" (regexp-opt list) "\\_>"))))

(defvar *pjs-font-lock-debug* nil)

