 
 (defface pjs-semantic-error-font
     '((t 
-       :underline (:color "red" :style wave)))
-    "Underline parser errors in red waves"
+       ;;       :underline (:color "red" :style wave)))
+       :background "grey25"))
+    "Highlight block of error "
     )
 
 (defvar pjs-semantic-error-font
   'pjs-semantic-error-font)
+
+(defface pjs-semantic-error-highlight
+    '((t 
+;;       :background "#255199206"))
+       :background "red4"))
+    "Highlight speficic error"
+    )
+
+(defvar pjs-semantic-error-highlight
+  'pjs-semantic-error-highlight)
+
+(defvar *pjs-verbose-parsing* nil)
 
 ;; we cache the last result for each region
 (defun pjs-semantic-parse-region-1 (start end &optional nonterminal depth returnonerror)

    ;; use the reparse symbol ??
    ;; for now, only reparse blocks, functions and classes. Not the variables (too random).
    (unless (pjs-semantic-tag-block-p tag)
      (semantic--tag-put-property tag 'reparse-symbol 'parent))
    (car (semantic--tag-expand tag))))

(defun pjs-semantic-tag-local-vars (tag)

      
      (when (stringp tags)
	;; we have an error !!
	;; try to highlight the error       
	(when (string-match "At line\\s-*:\\s-*\\([0-9]+\\)\\s-*,\\s-*character\\s-*:\\s-*\\([0-9]+\\)\\s-*:" tags)
	  (let ((line (string-to-number (match-string-no-properties 1 tags)))
		(char (string-to-number (match-string-no-properties 2 tags))))
	    (save-excursion
	      (let ((specific-overlay (make-overlay (progn (goto-char start) (next-line (1- line)) (beginning-of-line)(forward-char char) (point))
						    (line-end-position))))
		(overlay-put specific-overlay
			     'face pjs-semantic-error-highlight)
		(overlay-put specific-overlay
			     'pjs-error t)
		(overlay-put specific-overlay
			     'help-echo tags)))))
	;; otherwise create an error overlay for the whole block
	(let ((error-overlay (make-overlay start end)))
	  (overlay-put error-overlay
		       'face pjs-semantic-error-font)
