     ;; 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))
+      (semantic--tag-put-property tag 'no-single-reparse t))
     (car (semantic--tag-expand tag))))
 
 (defun pjs-semantic-tag-local-vars (tag)

    (let ((context 10)
	  (tags (fi:eval-in-lisp "(jvs::semantics-generate-tags %S)" (buffer-substring-no-properties start end)))
	  res)
      ;; (let ((parsed-block (cond ((<= (- end start) context)
      ;; 				 (buffer-substring-no-properties start end))
      ;; 				(t
      ;; 				 (format "[%s||%s]"
      ;; 					 (buffer-substring-no-properties start (min (point-max) (+ context start)))
      ;; 					 (buffer-substring-no-properties (max (point-min) (- end context)) end))))))
	;; (message "Parsing %s [%s:%s] [%s] with %s : %s tags found"
	;; 	 *pjs-parse-changes*
	;; 	 start
	;; 	 end
	;; 	 parsed-block
	;; 	 nonterminal
      ;; 	 (if (listp tags) (length tags) tags)))
      
      ;; remove previous error overlays
      (dolist (overlay (overlays-in start end))

	  (cur-point (point)))      
;;      (condition-case err
	  (while (< (point) (point-max))
	    (let ((next-function (re-real-search-forward *pjs-start-block-regexp* nil t)))
	      (if next-function
		  (let* ((start-inter cur-point)
			 (end-inter (1- (line-beginning-position)))
