From: Joel Borggren-Franck <jbf@kt...> - 2012-01-24 07:29:05
On Sat, Jan 21, 2012 at 9:05 PM, Philipp Haselwarter
> On Sat, Jan 21 2012 18:27 (@1327166872), joakim@... wrote:
>> "Eric M. Ludlam" <ericludlam@...> writes:
>>> On 01/20/2012 06:49 PM, Philipp Haselwarter wrote:
> ---8<---[snipped 35 lines]---8<---
>>>> Back at the topic:
>>>> Would this make completion for java's standard library available?
>>>> Actually, what is left in jdee that cedet can't do?
>>> As I understand it, JDEE uses beanshell, which introspects, and emits
>>> handy Emacs Lisp code. As such, it does well with system libs. What
>>> Joel has done, I think, is point semanticdb-javap-classpath at some
>>> system jar files. I hadn't tried this (I used the android system Jar
>>> file) but I don't know why it wouldn't work. The system jar, I'm sure,
>>> will emit every possible javap output syntax, so if something wasn't
>>> used with Android, I wouldn't have fixed the parser for it, and things
>>> won't parse well.
>> As a datapoint I toyed with using a Clojure REPL instead of Beanshell a
>> while ago. Clojure is better maintained than Beanshell was my thought,
>> also the impedance mismatch is less between Clojure and Elisp than
>> Beanshell and Elisp.
>> Ideally I wanted something that didn't require downloading dependencies,
>> but I didn't find a solution, so went with Clojure.
> That sounds very interesting. The Clojure community seems to be quite
> active, while Beanshell.. well.
> How did your experiments go? Do you think using the Clojure REPL as
> backend is viable?
Big disclaimer, plans are worthless ;)
So I have a bunch of stuff I want to do for CEDET/Java support in
emacs. In rough order of priority:
- Finish Erics work on semanticdb-javap for java 6 (mostly done)
- Fix tagging parser so that it handles generics
- Make a semantic-java-home variable so that semantic finds your system jars
- Fix Java 7 support for regular parser
- Fix font-lock-mode/java-mode for Java 7 (first patch sent to ccmode list)
- Then there is Java 8 with labmdas and extender methods that need
tagging, parser and ccmode support
Chances are I'll never get this far. But when basic Java 7 (or 8) is
done I will probably start to rip useful stuff out from JDEE and add
to CEDET if it fits, or a "new" java environment built on CEDET if the
stuff it's to high level to fit in the framework. Thing is I don't
like JDEE at all. It doesn't play very well with the rest of emacs, it
feels orphaned and it just doesn't fit my way of working. For example
it has yet another completion engine. (To be fair this could (more so
in the past) be said for CEDET as well, and I didn't like that either,
but heroic efforts have been made to integrate it better into emacs.
Thanks guys!). One of the things that do work quite well is the
beanshell, so that wouldn't be the first thing I replaced ;)
YMMV and as I said, plans may change (or I might just never find the time).