>>> Paul Kinnucan <[EMAIL PROTECTED]> seems to think that:
>>>>>> "Michael" == Michael Schierl <[EMAIL PROTECTED]> writes:
  [ ... ]
>    Michael> (defcustom jde-enable-senator t
>    Michael>   "Enable senator minor mode.
>    Michael> This mode provides Java-aware buffer navigation and
>    Michael> searching commands."
>    Michael>   :group 'jde-project :type 'boolean :set '(lambda (sym
>    Michael>   val)
>    Michael>           ;; Starting with version 1.4 beta 12 Semantic
>    Michael>           ;; can globally enable `senator-minor-mode'.
>    Michael>           ;; So don't override the global setting in
>    Michael>           ;; JDE's buffers.
>    Michael>           (or (and (boundp 'global-senator-minor-mode)
>    Michael>                    global-senator-minor-mode)
>    Michael>         t ;; <------------------------------------ added
>    Michael>         by me
>    Michael>               (mapc
>    Michael>                (lambda (buff)
>    Michael>                  (save-excursion
>    Michael>                    (set-buffer buff) (senator-minor-mode
>    Michael>                    (if val 1 -1))))
>    Michael>                (jde-get-java-source-buffers)))
>    Michael>     (set-default sym val)))
>
>    Michael> which seems to work as expected (although i might have
>    Michael> broken senator, but I don't care about that on my
>    Michael> machine).
>
>This effectively disables the resetting of existing open buffers
>when a user customizes jde-enable-senator. I would rather fix the
>bug then cripple a function in order to avoid it. I've narrowed
>the problem, i.e., resetting the value of jde-enable-senator
>triggers the error:
>
>  Setting JDE variables to startup values... [3 times]
>  wisent-java-tags-lexer: 
>  Wrong type argument: stringp, nil
>
>
>to the java version of the semantic-parse-region function. However, I
>cannot get any further because the semantic java parser is implemented
>via macros that cannot be enabled for edebugging, which is the only
>way I know how to find the exact line that causes a particular
>error. (BTW, I find the heavy reliance on macros a serious problem
>with the design of semantic 2.0; it makes debugging problems with
>semantic next to impossible, at least that has been my experience so
>far.)  Perhaps Eric or David can find the line that causes the error
>or suggest a way for me to find it so this bug can be fixed.
  [ ... ]

Hi Paul (& co)

  In semantic 2.0 we are spending brain power on a pair of goals in the
parser generation area.  Make it fast, and make it easy to implement
new languages.

  The best way to make a lexer fast is to cut back on the number of
regexp matches and remove as many function calls as possible.
Side-effect: funny-macros for constructing custom lexers.

  On the make it easy side, Emacs Lisp is just not a great language
for making an easy-to-read lexical analyzer.  The macros let you write
and mix individual analyzers in a convenient high-level way.

  As for debugging, there is the `semantic-lex-debug' command.  This
lets you debug the meaning of an analyzer, and is unfortunately not
what you are really looking for.

  Also, it is easy to just re-evaluate the lexer construction element,
and toggle-debug-on-error to see what aspect of a given lexer is
failing, which is what I usually use.

  I will try and track you down at work sometime to see what solutions
there may be.

Eric

-- 
          Eric Ludlam:                 [EMAIL PROTECTED], [EMAIL PROTECTED]
   Home: http://www.ludlam.net            Siege: www.siege-engine.com
Emacs: http://cedet.sourceforge.net               GNU: www.gnu.org

Reply via email to