In message <[EMAIL PROTECTED]>, Douglas WF Ach
eson writes:
:   I know this is not JDEE related, I have not got any help from other
: emacs newsgroups/lists :-(  This message is for the XEmacs people in
: the crowd.  I want to change the functionality of the compile button. 
: I want to invoke ant and not make.  I thought I could change the vector
: defined in the toolbar.el file -- that does not work. And, there is no
: compile-button-function to alter.  Any help would be appreciated ...

The toolbar-items.el file is where I looked to find an answer to your
question (I do not use toolbar myself - takes up too much room <smile>).

It defines a (non-customizable) defun which includes the following:
[...]
(require 'compile)
  (if toolbar-compile-already-run
      (compile compile-command)
[...]

I then typed C-h v compile-command [RET] and found this:

`compile-command' is a variable declared in Lisp.
  -- loaded from "compile"

Value: "make -k "

Documentation:
*Last shell command used to do a compilation; default for next compilation.

Sometimes it is useful for files to supply local values for this variable.
You might also use mode hooks to specify it in certain modes, like this:

    (add-hook 'c-mode-common-hook
              (lambda ()
                (or (file-exists-p "makefile") (file-exists-p "Makefile")
                    (set (make-local-variable 'compile-command)
                         (concat "make -k " buffer-file-name)))))


I conclude that you need to write a jde-mode-hook that sets `compile-command'
to `ant -find build.xml -emacs'

Unfortunately there doesn't seem to be an easy way to just use jde-ant-build
as the value of compile-command, b/c jde-ant-build wants to call 
(compile-internal compile-command), and the toolbar button wants to
do (compile compile-command) - this cannot end well. :-/

That said, it looks like the toolbar will prompt you for additional arguments
when you clikc on the compile icon, so you probably don't need jde-ant
anyway.

Sorry if this was too long winded - hope it helps,
Eric

Reply via email to