At 08:57 AM 9/14/99 +0200, Bruno Andrianosolo wrote:
>
> Hi,
>
> When I compile a java file using the JDE/emacs ( JDE->Compile)
> the compilator 'javac' is not recognised as a command file.
> What's happen?
The reason this is happening is as follows. The JDE compile command
uses a shell to launch javac. The JDE does so by issuing the equivalent of the
following
SHELL-NAME COMMAND-SWITCH javac ...
where SHELL-NAME is the value of the Emacs variable shell-file-name
and COMMAND-SWITCH is the value of the Emacs variable
shell-command-switch. Unfortunately, with NT/Emacs, the default
settings of these variables conflict. The shell-file-name variable
specifies the NT command shell, cmd.exe (actually cmdproxy, but that's
another story), while the shell-command-switch specifies the Unix
form of the shell command switch. To rectify this situation, insert
the following line in your .emacs file:
(setq shell-command-switch "/c")
- Paul
BTW, I plan eventually to modify the JDE's compile command to
launch javac directly. This will eliminate this problem.
>
> Thanks for your help.
>
> Find below my emacs environment:
>
> host platform: Windows/NT
> JDE version : 2.1.5
> Emacs version: 20.4
> cc-mode version: 5.25
>
> Additional Information:
>
> For the moment, I do not want to run
> bash shell, therefore I do not include any bash related instructions in the
> startup
> file.
>
> The startup file below does not configure emacs to display the JDE
> documentation.
>
> I have byte compile the cc-mode, I did not care about the warning
> messages issued. Anyway, The byte compilation seems to be performed
> correctly.
>
>
> startup file (_emacs) contents:
>
> (setq load-path
> (nconc
> '(
> "/usr/home/emacs/site"
> "/usr/home/emacs/site/jde-2.1.5"
> "/usr/home/emacs/site/cc-mode-5.25"
> ;; add-on directory for storing Emacs Lisp
> ;; packages that do not come with the core
> ;; Emacs distribution
> )
> load-path))
>
> ;; Tell Emacs to load the entire JDE package at startup (only once).
> (require 'jde)
>
> ;; Sets the basic indentation for Java source files
> ;; to two spaces.
> (defun my-jde-mode-hook ()
> (setq c-basic-offset 2))
>
> (add-hook 'jde-mode-hook 'my-jde-mode-hook)
>
> ;; Set up Emacs to emulate CUA mode
> (pc-selection-mode)
> (load "cua-mode")
> (CUA-mode t)
>
> ;; Include the following only if you want to run
> ;; bash as your shell.
>
> ;; Setup Emacs to run bash as its primary shell.
> ;;(setq binary-process-input t)
> ;;(setq shell-file-name "bash")
> ;;(setq explicit-shell-file-name shell-file-name)
> ;;(setenv "SHELL" shell-file-name)
> ;;(setq explicit-sh-args '("-login" "-i"))
> ;;(setq w32-quote-process-args ?\") ;; Use Cygnus quoting rules.
>
> ;; Configure Emacs to use the default browser on your system
> ;; to display the JDE documentation.
> (defvar shell-execute-helper "shelex.exe")
> (defun shell-execute-url (url &optional new-window)
> "Invoke the shell-execute-helper program to call ShellExecute and
launch
> or re-direct a web browser on the specified url."
> (interactive "sURL: ")
> (call-process shell-execute-helper nil nil nil url))
> (setq browse-url-browser-function 'shell-execute-url)
>
> (custom-set-variables
> '(jde-compile-option-command-line-args "")
> '(jde-run-applet-viewer "appletviewer")
> '(jde-run-applet-doc "FOSMgtApplet.html")
> '(jde-compile-option-sourcepath nil)
> '(jde-compile-option-classpath nil)
> '(jde-compile-option-directory ""))
> (custom-set-faces)
>