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) 
>  


Reply via email to