>I didn't realize that this release requires semantic-1.4beta12
>and eieio-0.17beta3. This was pointed out to me by Karsten
>Ensinger. Thanks Karsten.

I would strongly recommend using latest beta13 and not beta12 of
semantic, because beta12 has really some drawbacks related to
the new auto. reparsing feature. I have discussed this a long with
Eric and David and the result is beta13 which is much safer with
respect to this point for itself and there is also a new really
helpful hook 'semantic-before-toplevel-bovination-hook.

IMHO all tools needing a semantic-version >= beta12 should insist
in beta13!

Here is what i have first mailed Eric and David about the beta12 version:

;; - currently parsing a non finished "defun" results in complete wrong
;;   parsing in the rest of the file. Therefore the auto-parse feature is
;;   quite unusable because if you code a function/method which is of course
;;   not parsable during coding (in case not all closing parens, braces etc.
;;   are already set correct) and you stop coding (because you have to reflect
;;   some aspects) for a longer time than the idle time you define in
;;   `semantic-auto-parse-idle-time' semantic parses the not finished
;;   function/method, this parsing fails probably and therefore all the rest
;;   of the file is either parsed completely wrong (java) or not at all
;;   (elisp). It would be much better if semantic would recognice the next
;;   beginning of a defun (elisp: (defun...) in column 0; C/C++/java: not so
;;   simple but should be possible) and then parse from the next defun so only
;;   the current coded function/method can't be parsed but the rest of the
;;   file is still parsed correctly.

With beta13 and the new hook you can do something like the following:

;; This prevents reparsing the buffer if not at least full-balanced concerning
;; parens, brackets and braces.
(add-hook 'semantic-before-toplevel-bovination-hook
          (function (lambda ()
                      (condition-case data
                          ;; Buffer can't have more than (point-max) sexps.
                          (not (scan-sexps (point-min) (point-max)))
                        (error nil)))))

Eric told me that the next semantic 14 release (> beta13) is much better and
saver with respect to the auto. parsing feature.
But with beta13 and even the workaround above is works also very well now!

Klaus

Reply via email to