Re: JDEE Wiki?

2004-10-18 Thread Andrew Hyatt
Yeah, I second the motion of using the Emacs Wiki - that would be the 
most natural place for it.   A lot of things that come up are related 
to other Emacs packages, so the cross-referencing would be useful.

On Oct 18, 2004, at 5:05 PM, Ole Arndt wrote:
Hi Nascif,
"Nascif Abousalh-Neto" <[EMAIL PROTECTED]> writes:
Have you considered hosting a Wiki for the JDEE? I think it would cut
a lot on basic questions, as it would be a more friendly way for JDEE
users to share and organize their knowledge, tips, etc. It would
definetely be more effective than browsing the mailing list.
Why don't you use the EmacsWiki? [http://emacswiki.org]. Hey, you have
a user page there,so you know it. There is already a page for JDEE:
http://www.emacswiki.org/cgi-bin/wiki/JavaDevelopmentEnvironment
Let's extend it.
A Wiki with attachments capabilities (like JSPWiki) would also make it
easier for users to post their own patches, plugins, etc.
Ok, binaries are not possible on the EmacsWiki, but do we need it?
code snippets or pointers to supplementary packages should suffice.
--
Ole Arndt http://www.sugarshark.com




Re: Jde Xref problem

2004-08-18 Thread Andrew Hyatt
I think jde-usages is a perfectly acceptable replacement, and there is 
really no difference in functionality as far as I know.

On Aug 18, 2004, at 4:08 AM, Jens Lautenbacher wrote:
Maybe OT, but does anybody know what feature the "normal" jde-xref has
that isn't done faster and without all the db stuff by the jde-usages
plugin? While I really think jde-xref is cool, maybe we should think
about integrating jde-usages itself...
	jtl



Re: jde-xref works for some methods, not for others

2004-04-29 Thread Andrew Hyatt
I'm not sure what to tell you Raul.  I haven't seen this behavior.  If 
this is for some publicly available source, you could send me the 
source and I could try and reproduce it.  Otherwise, it sounds like you 
are missing some data - and i suspect that maybe the superclasses of A 
and B may have something to do with it.

There is an alternative to jde-xref, however, that Suraj Acharya has 
made as a plugin.  It does not require a database, and works pretty 
well.  You could ask him for it, or perhaps he could post it to the 
list so other people can try it out and give feedback.

On Apr 28, 2004, at 1:14 PM, Raul Acevedo wrote:
I have a large project (almost 2,000 Java files), and sometimes 
jde-xref
works in finding callers, sometimes it doesn't.  It seems to be on a
per-class basis; i.e. any method in class A I can list callers, but in
class B no callers are found for any methods.

Looking at the xrefdb directory, it looks like the database was created
correctly... i.e. the appropriate -caller file looks like it has the
correct entry for class B, with all its methods.
Any ideas what could be going on?
Raul



Re: fatal error

2004-02-24 Thread Andrew Hyatt

Sorry, you'd have to eval this as well before the last thing I sent:

(defun w32-browser (doc)
  "Browse to a particular file/URL using default web browser"
  (w32-shell-execute 1 doc))


"Latchezar Dimitrov" <[EMAIL PROTECTED]> writes:

> Hi,
>
> I'm not sure what you were talking about. I unpacked (installed?) 21.3a
> into a new dir and run it w/o any problems.
>
> Latchezar
>
>> -Original Message-
>> From: Suraj Acharya [mailto:[EMAIL PROTECTED] 
>> Sent: Tuesday, February 24, 2004 12:41 PM
>> To: Jason Rumney
>> Cc: Mats Sundqvist; [EMAIL PROTECTED]
>> Subject: Re: fatal error
>> 
>> 
>> Jason Rumney wrote:
>> 
>> > Mats Sundqvist wrote:
>> >
>> >> I get the following "emacs abort dialog" when I try to run 
>> Emacs with
>> >> jde:
>> >
>> > > " a fatal error has occurred select abort to ..."
>> >
>> >>  emacs-21.3 (the emacs for windows)
>> >
>> >
>> > If this was downloaded from ftp.gnu.org, then it is broken. 
>> Go back to 
>> > ftp://ftp.gnu.org/gnu/emacs/windows, and download 
>> > emacs-21.3a-barebin.tar.gz. Unpack that over the top of 
>> your existing 
>> > installation and you should be OK. Make sure you get 21.3a, not the 
>> > broken 21.3 that is still there because it needs one of the GNU 
>> > sysadmins to delete it.
>> >
>> >
>> >
>> For those of you who want to play with these new emacs 
>> binaries here's 
>> what I found:
>> 
>> Trying to do a clean install with emacs-21.3a-fullbin.tar.gz  
>> does not 
>> work (for me at least) - I get a
>> message about a missing emacs/bin/fns-21.3.1.el file. However if you 
>> follow Jason's instructions exactly,
>> and rid of the 21.3a directory, then unpack emacs-21.3-fullbin.tar.gz 
>> and then emacs-21.3a-barebin.tar.gz
>> on top of that *then* emacs starts up without any problems.
>> 
>> Suraj
>> 
>> 



Re: fatal error

2004-02-24 Thread Andrew Hyatt

Try evaling this, it's what caused my problems on 21.3a:


(eval-after-load "dired"
   '(define-key dired-mode-map [f3] (lambda () 
 (interactive)
 (w32-browser
  (dired-replace-in-string 
   "/" "\\" 
   (dired-get-filename))


"Latchezar Dimitrov" <[EMAIL PROTECTED]> writes:

> Hi,
>
> I'm not sure what you were talking about. I unpacked (installed?) 21.3a
> into a new dir and run it w/o any problems.
>
> Latchezar
>
>> -Original Message-
>> From: Suraj Acharya [mailto:[EMAIL PROTECTED] 
>> Sent: Tuesday, February 24, 2004 12:41 PM
>> To: Jason Rumney
>> Cc: Mats Sundqvist; [EMAIL PROTECTED]
>> Subject: Re: fatal error
>> 
>> 
>> Jason Rumney wrote:
>> 
>> > Mats Sundqvist wrote:
>> >
>> >> I get the following "emacs abort dialog" when I try to run 
>> Emacs with
>> >> jde:
>> >
>> > > " a fatal error has occurred select abort to ..."
>> >
>> >>  emacs-21.3 (the emacs for windows)
>> >
>> >
>> > If this was downloaded from ftp.gnu.org, then it is broken. 
>> Go back to 
>> > ftp://ftp.gnu.org/gnu/emacs/windows, and download 
>> > emacs-21.3a-barebin.tar.gz. Unpack that over the top of 
>> your existing 
>> > installation and you should be OK. Make sure you get 21.3a, not the 
>> > broken 21.3 that is still there because it needs one of the GNU 
>> > sysadmins to delete it.
>> >
>> >
>> >
>> For those of you who want to play with these new emacs 
>> binaries here's 
>> what I found:
>> 
>> Trying to do a clean install with emacs-21.3a-fullbin.tar.gz  
>> does not 
>> work (for me at least) - I get a
>> message about a missing emacs/bin/fns-21.3.1.el file. However if you 
>> follow Jason's instructions exactly,
>> and rid of the 21.3a directory, then unpack emacs-21.3-fullbin.tar.gz 
>> and then emacs-21.3a-barebin.tar.gz
>> on top of that *then* emacs starts up without any problems.
>> 
>> Suraj
>> 
>> 



Re: xref help

2004-02-19 Thread Andrew Hyatt

jde-xref-update will only work if you edit all your files in the same
instance of emacs, then update.  I would advise doing a full rebuild
nightly while your machine and emacs is idle (use the emacs timer
functions).

If the creation of the database is slow, make sure your
jde-parse-class.el is byte-compiled into jde-parse-class.elc.  I've
also noticed that it works faster on a brand-new emacs then one that
already has a bunch of stuff in memory.

aaron armstrong <[EMAIL PROTECTED]> writes:

> Andrew,
>
> Thanks - it must be that my xref-db is out of date.  Does
> jde-xref-update update the db or do I need to rebuild it?  I a working
> on a very large code base so is there any way to just update what has
> changed or just update files/packages i specify?
>
> thanks
> aaron
>
> At Thu, 19 Feb 2004 14:42:09 -0800,
> Andrew Hyatt wrote:
>> 
>> 
>> From where are you doing a C-c C-v a?  From inside a function should
>> work.  Also, to get useful results, you need classfiles that match up
>> with your sources.  So if your classfiles are out of date by a while,
>> you may see some strange things.
>> 
>> I haven't heard of problems like you've described, however.  When you
>> see the call tree, you should get children grouped by class, where
>> the children are the functions that call the function you are
>> interested in.  Clicking on the children should take you right to the
>> caller.
>> 
>> I'm not sure if any of this will help.  If you think the generated
>> xref db must be wrong, then I can tell you how to manually go in and
>> verify that it is wrong.
>> 
>> aaron armstrong <[EMAIL PROTECTED]> writes:
>> 
>> > Andrew,
>> >
>> > Thanks for helping me create the xref db.  Now I'm trying to use it
>> > and I'm a little confused by the way it works.  When I display the
>> > call tree I get information about classes that don't actually call the
>> > method I'm interested in.  Then if I do C-c C-v a (xref-first) it
>> > takes me to the beginning of the class rather than the place that
>> > actually calls the method.  Is this the expected behavior?
>> >
>> > thanks
>> > aaron
>> 
>> 



Re: xref help

2004-02-19 Thread Andrew Hyatt

>From where are you doing a C-c C-v a?  From inside a function should
work.  Also, to get useful results, you need classfiles that match up
with your sources.  So if your classfiles are out of date by a while,
you may see some strange things.

I haven't heard of problems like you've described, however.  When you
see the call tree, you should get children grouped by class, where
the children are the functions that call the function you are
interested in.  Clicking on the children should take you right to the
caller.

I'm not sure if any of this will help.  If you think the generated
xref db must be wrong, then I can tell you how to manually go in and
verify that it is wrong.

aaron armstrong <[EMAIL PROTECTED]> writes:

> Andrew,
>
> Thanks for helping me create the xref db.  Now I'm trying to use it
> and I'm a little confused by the way it works.  When I display the
> call tree I get information about classes that don't actually call the
> method I'm interested in.  Then if I do C-c C-v a (xref-first) it
> takes me to the beginning of the class rather than the place that
> actually calls the method.  Is this the expected behavior?
>
> thanks
> aaron



Re: jde-2.3.3 error by jde-bug-evaluate-expression

2004-01-26 Thread Andrew Hyatt

What sort of thing are you trying to evaluate?  Perhaps the bug is
that the evaluation returns null (legitimately, perhaps) and throws
an error incorrectly?  Or perhaps a variable has gone out of scope
and you are trying to evaluate it?


Harald Maier <[EMAIL PROTECTED]> writes:

> Andrew Hyatt <[EMAIL PROTECTED]> writes:
>
>> Does it ask for an expression to evaluate first?
>
> Yes, it asks for an expression and afterwards the above error is
> signaled.
>
>>> When I evaluate 'jde-bug-evaluate-expression' in a JDEbug session I
>>> get the following error:
>>>
>>> ,
>>> | Error: cannot get object 269.
>>> |  Reason: Exception during command execution: jde.debugger.JDEException: No such 
>>> object exists.
>>> | eieio-oref: Wrong type argument: (or object-p class-p), nil
>>> `
>
> Harald



Re: jde-2.3.3 error by jde-bug-evaluate-expression

2004-01-26 Thread Andrew Hyatt

Does it ask for an expression to evaluate first?

Harald Maier <[EMAIL PROTECTED]> writes:

> Hello all,
>
> I installed jde-2.3.3 with
>
>   eieio-0.17
>   elib-1.0
>   semantic-1.4.4
>   speedbar-0.14beta4
>
> When I evaluate 'jde-bug-evaluate-expression' in a JDEbug session I
> get the following error:
>
> ,
> | Error: cannot get object 269.
> |  Reason: Exception during command execution: jde.debugger.JDEException: No such 
> object exists.
> | eieio-oref: Wrong type argument: (or object-p class-p), nil
> `
>
> jde-2.3.2 works fine on this operation. Is this a known bug or it it
> related to a configuration problem?
>
> Harald



Re: occasional error compiling due to jde-xref-compile-hook

2003-11-06 Thread Andrew Hyatt

In that case, I better take it out.  Sorry for the confusion.  

Raul Acevedo <[EMAIL PROTECTED]> writes:

> Andrew Hyatt wrote:
>
>  > Thanks, this looks like a bug.  For the time being, substitute with
>  > this line:
>  > 
>  >   (add-hook 'jde-compile-finish-hook 'jde-xref-update-caller-table)
>
> That isn't defined either and eventually gives me the same undefined error.
>
> [1462] /usr/share/emacs/site-lisp/jde/lisp]# grep jde-xref-update-caller-table *.el
> jde-xref.el:  (add-hook 'jde-compile-finish-hook 'jde-xref-update-caller-table)
>
> Raul



Re: occasional error compiling due to jde-xref-compile-hook

2003-11-05 Thread Andrew Hyatt

Thanks, this looks like a bug.  For the time being, substitute with
this line:

  (add-hook 'jde-compile-finish-hook 'jde-xref-update-caller-table)

Raul Acevedo <[EMAIL PROTECTED]> writes:

> I occasionally get the following error when I compile a Java file:
> "error in process filter: Symbol's function definition is void:
> jde-xref-compile-hook".  If I grep for jde-xref-compile-hook in the JDE
> sources, I find only one reference in jde-xref.el:
>
> (add-hook 'jde-compile-finish-hook 'jde-xref-compile-hook)
>
> But I don't see the definition of the function jde-xref-compile-hook.
> What's going on? 
>
> Raul



Re: JDEBug - Invalid stack frame

2003-11-05 Thread Andrew Hyatt

Try using 1.4.1, if you aren't already.  At about that time, Sun
started just decompiling the code needed for debugging, previously it
decompiled everything.

Henrik KjÃr <[EMAIL PROTECTED]> writes:

> Yes, the invalid stack frame message disappears automatically after a while,
> so everything is okay there.
> Now I just got the problem that JDEBug is SLOW, so if anyone got any idea
> how I can speed it up,
> I would be grateful.
> I have a client application which communicates with a J2EE server and a mom
> broker, it normally takes
> about 10 sekunds to start up, but when I start it up in debug mode it can
> take anything between 5 and 15 minuttes!
> I can from my task manager see that emacs constantly uses anything between
> 70 and 90 pct. cpu and about 35 mb ram,
> java uses 2 or 3 pct cpu and about 25 mb ram.
>
> Any help or tips would be much appreciated
>
>
> Henrik
> - Original Message - 
> From: "Henrik KjÃr" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; "Troy Daniels" <[EMAIL PROTECTED]>
> Sent: Tuesday, November 04, 2003 9:20 PM
> Subject: Re: JDEBug - Invalid stack frame
>
>
>> Thanx Trey.
>>
>> For some reason JDEBug breaks at my first breakpoint, but the line did not
>> get read and nothing get in my JDEBug window except the exception!?
>> Anyway, I just set another breakpoint in the next line and C-c C-z C-c
>> (continue) and then I get something in my window - nice :-)
>>
>> Henrik
>>
>>
>> - Original Message - 
>> From: "Troy Daniels" <[EMAIL PROTECTED]>
>> To: "Henrik KjÃr" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
>> Sent: Tuesday, November 04, 2003 9:00 PM
>> Subject: Re: JDEBug - Invalid stack frame
>>
>>
>> At 08:47 PM 11/4/2003 +0100, Henrik KjÃr wrote:
>>
>> >I am trying to use JDEBug for debugging, but I am not having much
> success.
>> >When I start debugging my JDEBug opens nicely, but displays an "Invalid
>> >stack frame" message with red in the buttom of the window, and the window
>> >has no content at all.
>> >
>> >Any idea!?
>>
>> That's actually "normal" operation.  The window is part of a rudimentary
>> GUI, that is a recent addition.  It currently only shows the value of
> local
>> variables.  The error message is because, when the debugger starts, it
>> sometimes tries to update the local variable display when the process
> isn't
>> suspended.  That causes an exception, which is reported in red.  In my
>> environment, the message usually goes away quickly.
>>
>> Try setting a breakpoint (C-c C-z C-b) in your program on a line after
>> local variables are defined.  The line should be green after you set the
>> breakpoint and turn red after you start the JDEbug.  When the program gets
>> to that line, the error message should disappear, and the window should
>> show the local variables in a tree view.
>>
>> Troy
>>
>>
>>
>>



Re: unusual symbol lookup feature

2003-10-24 Thread Andrew Hyatt


I just noticed the same thing yesterday.  Also, it imported a class
(the same class, in you instance it would be class A) as well.  I
don't know what that was about.  I figured I just hit a wrong key
combination, but maybe not..


[EMAIL PROTECTED] writes:

> Hi,
>
> I find C-c C-v C-y excellent and find myself using it more and more, but
>
> occasionally have this odd behavoir:
>
> Point is in class "A" like so:
>
> public class A {
>
> ...
> new X().--|--someMethod()
>
> ...
> }
>
> and I hit C-c C-v C-y. I get the dialog:
>
> ===
> Which class?
>
> (*) java.lang.Object
> ( ) org.omg.CORBA.Object
> ( ) com.inprise.vbroker.CORBA.Object
> ( ) org.omg.CORBA.Object
>
> [Ok]  [Cancel]
> ===
>
> At the same time JDE loads class "X" in the other window. If I select
> "Ok" 
> or "Cancel" we stop there and the cursor rests at:
>
> public class X--|-- extends Y { ...
>
> Actually class "Y", which as you can see is the super of "X", implements
>
> the method. And if I then go back to the original point and redo C-c C-v
>
> C-y the screen splits and in one I have class X (again!) and in the
> other 
> class Y with point correctly placed after the method name.
>
> IMHO class X is a red herring and should not be loaded at all!
>
> Also, I can repeat this double-attempt sequence over and over with the 
> same result, so JDE apparently does not "learn" where the method is 
> defined.
>
> Does anybody else also have this?
>
>
> Thanks,
> Maurice
>
> Maurice Nicholson
> Senior Analyst Programmer
> SITA Advanced Travel Solutions
> Tel: +44 (0) 1483 414411
> Fax: +44 (0) 1483 414122
> Direct: +44 (0) 1483 521294
> Email: [EMAIL PROTECTED]
>
> This e-mail and any files transmitted with it are confidential and 
> intended solely for the use of the individual or entity to whom they are
>
> addressed.  If you are not the intended recipient, please notify us 
> immediately and delete it from your system.  Any review, retransmission,
>
> dissemination or other use of, or taking of any action in reliance upon 
> this information by persons or entities other than the intended
> recipient 
> is prohibited.  The views and opinions expressed in this e-mail message 
> are the author's own and may not reflect the views and opinions of SITA.



RE: integrating the eclipse compiler with jde

2003-10-16 Thread Andrew Hyatt
I think I've tried it, but the eclipse plug-in you have to install is out of
date, and does not work with the current version of Eclipse.  It's been a
while since I've look at it, but that's what I remember.

-Original Message-
From: Molitor, Stephen L [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 16, 2003 8:48 AM
To: Heinz-Dieter Conradi; JDE Mailing List (E-Mail)
Subject: RE: integrating the eclipse compiler with jde


Check out jde-eclipse.el:

http://www.raffael.ch/index.jsp?content=page/FTP/RemoteEclipse

I haven't tried it (but I plan to); apparently it uses the bean shell to
have Emacs talk to Eclispe.  So when you save a file in Emacs, it compiles
in Eclipse, and pipes the error messages back to Emacs.

Steve


-Original Message-
From: Heinz-Dieter Conradi [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 16, 2003 3:25 AM
To: JDE Mailing List (E-Mail)
Subject: integrating the eclipse compiler with jde


hi all,

i am a happy jde user. however, occasionally i like to work with eclipse.
this is not only due to the refactoring possibilities offered by eclipse.
another reason is the eclipse compiler, which offers a lot of helpfull
warning about e.g. meaningless assignments (ala x = x).

the eclipse compiler can be used standalone:
  java -classpath
$eclipse_home/plugins/org.eclipse.jdt.core_3.0.0/jdtcore.jar
  org/eclipse/jdt/internal/compiler/batch/Main  

i would really like to use it within the jde. if possible as replacement
for the javac server.

is this possible? has anybody tried to do this?

tia, heinz-dieter conradi


Re: perf improvements for jde-xref

2003-10-15 Thread Andrew Hyatt

Great improvement.  I'll test it out and check it in if it seems to
work.


Suraj Acharya <[EMAIL PROTECTED]> writes:

> The following definition of jde-xref-unpickle-hash loads the cached data much 
> faster. For me it went
> from about 5 seconds to being almost instantaneous.
>
> I adapted the buffer code from http://www.cogsci.ed.ac.uk/~stephen/ell.el
>
>
> (defun jde-xref-unpickle-hash (hash filename)
>"Populate a hash created by loading the contents of FILENAME to HASH.
> FILENAME must be created by `jde-xref-pickle-hash'"
>(unless (file-exists-p filename)
>  (error (concat "Cannot unpickle - file " filename " does not exist.  "
> "The xref database may need to be recreated.")))
>(dolist (item (with-temp-buffer
> (insert-file-contents-literally filename)
> (read (current-buffer
>  (puthash (car item) (cdr item) hash)))



Re: Reference card for JDEE

2003-10-07 Thread Andrew Hyatt

This is nice!  It's actually a good overview to show what things
could be easier.  For example, one of things I want to do after the
current release goes out is to make debugging it's own mode, so
simple edebug-like keybindings will be in effect...

Charles Sutton <[EMAIL PROTECTED]> writes:

> Hello all,
>
> I have written a draft reference card for JDEE, along the lines
> of (well, actually, using the TeX source of) the GNU Emacs reference
> card.  The JDEE card is available at
>
>http://eksl.cs.umass.edu/~casutton/jde/
>
> I will happily accept comments or patches!
>
> Cheers,
>
> Charles
>
> -- 
> Charles Sutton
> University of Massachusetts, Amherst
> [EMAIL PROTECTED]
> URL: http://www.cs.umass.edu/~casutton/



Re: Debug JSP/servlet stuff with JDEE?

2003-09-08 Thread Andrew Hyatt
[EMAIL PROTECTED] (Kai Großjohann) writes:

> My coworker was so happy to tell me today that he can debug
> JSP/servlet applications with hit NetBeans thingy and that it is so
> easy.  I guess that this must also be possible with JDEE.
>
> I am used to doing a lot of debugging using print statements, but
> from time to time it's nice to see a stacktrace and the values of
> some local variables.  So I think it would be nice if it was possible
> to debug a web application (running in Tomcat 4.x).
>
> How to do that?


Sure, just run the tomcat process adding "-Xdebug
-Xrunjdwp\:transport\=dt_socket,server\=y,suspend\=n,address\=9000" to
the java command Tomcat uses.  Then you can attach.  You attach using
jdb or JDebug.

>
> We also have some packages which live as *.jar files in WEB-INF/lib
> but where we also have access to the source code.  Is it possible to
> tell JDEE about the directories for these packages, even if the
> running code comes from the *.jar files?

Yes, it's possible.  I do this all the time.  You don't even need to
specify those things in your JDE settings, all you need to do is to
set the sourcepatth so that JDE can match up source classes with
classes it finds while debugging.

> -- 
> Two cafe au lait please, but without milk.




Re: Refactoring with JDE?

2003-09-03 Thread Andrew Hyatt
On Wednesday, September 3, 2003, at 07:19  PM, Nascif Abousalh-Neto 
wrote:

Good point. What do you think should be the way to go with support for
refactorings in JDE? I can see three major directions:
1) Expanding on the jde-xref functionality
2) Using the new semantic 2.0 - assuming it has all the necessary 
functionality
3) Use a Java-based backend or C-based, like Transmogrify or 
xrefactory.

I think that using an approach similar to the JDE compile server, 
which keeps
an instance of the java compiler running at all times, the Java 
approach may be
feasible in terms of performance. Then again I don't know how 
Lisp-based grammars
compare in terms of speed and memory usage with Java-based ones.


I would think using semantic 2.0 is what we would want.  From Paul's 
earlier email, I think he also is waiting on this.   If semantic does 
not replicate the jde-xref functionality, we can change jde-xref to 
work on source files rather than class files by using semantic 2.0 to 
do the parsing.  I'm certain it will be slower than what we have now, 
but it might be worth it.

If we don't want to wait for semantic 2.0 we can implement some simple 
refactorings that use that functionality such as "rename method" with 
jde-xref.   I had previously worked on such a system for doing 
refactorings, but ran up against a problem where I wasn't sure whether 
we should update the xref db based on the new refactoring or not.  It's 
one of the strange issues that arise from us parsing class files 
instead of source file.

Using a third party Java-based backend might be easiest, but I'm afraid 
that such a loose integration wouldn't give us many of the cool 
features we would want.  My personal view, that is not shared by many I 
fear, is that we should do as much as humanly possible in elisp.   The 
more we do in elisp, the faster and better integrated it will be.



Re: Refactoring with JDE?

2003-09-03 Thread Andrew Hyatt
Paul Kinnucan <[EMAIL PROTECTED]> writes:

> Hi Andy,
>
> Yes, the current version of semantic has the ability to parse local
> variables. The upcoming Semantic 2.0 will have a full-blown, yacc-style
> parser generator, developed by David Ponce, that should support
> any feature the JDEE needs. Indeed, it should have a revolutionary
> impact on other Emacs applications, allowing much faster and more
> accurate parsing that is possible with the regular-expression based
> parsers used, e.g., for syntax coloring and indentation.
> I am eagerly awaiting the release of Semantic 2.0.
>
> - Paul

Thanks for the info.  Is an early version of 2.0 ready to play with?
If not, any idea when it would be ready?





Re: Completion for jde-open-class-source

2003-08-15 Thread Andrew Hyatt

This is nice.  I don't believe there is a way to get a list of class
names through reflection (doing so might be considered a security
violation by the Java designers).  So either we get the list through
a recursive descent of the jde-sourcepaths or we do what you have
done.  

Personally, I just use TAGS.  JDE includes a tagsfile builder shell
script in the scripts directory.  The downside is it won't be as
accurate as doing a JDE-centric command, as you have done.

But I'm very happy other people are beginning to use the macros in
jde-class.el!

Suraj Acharya <[EMAIL PROTECTED]> writes:

> Here is my not so good way of getting class name completion for C-c C-v C-y.
>
>
>
>
> (defvar jde-all-built-classes '())
>   (with-all-class-files (name)
> (let* ((start-pos (string-match "/\\([a-zA-Z0-9]*\\)\\.class" 
> name))
>(end-pos (match-end 1)))
>   (when (and start-pos end-pos)
> (setq  classes (cons (list (substring name (+ 1 start-pos) 
> end-pos)) jde-all-built-classes)
>
> (defun jde-open-class-source-new ()
>(interactive)
>(if jde-all-built-classes
>(jde-open-class-source (completing-read "Class:" jde-all-built-classes))
>  (jde-open-class-source)))
>
>
> And then bind C-c C-v C-y to jde-open-class-source-new instead of  
> jde-open-class-source.
>
>
> The extra check for nullness of  jde-all-built-classes is because I don't run the 
> (with-all-class-files ... bit
> on start-up, but rather by hand, since it takes a bit of time to complete.
>
>
> I'm looking into integrating this with jde-xref so the class names get cached across 
> jde sessions.
>
> Does anyone have any ideas or suggestions for better ways of doing this?
>
>
> Suraj Acharya



Yank and indent

2003-08-06 Thread Andrew Hyatt

I was think it would be nice if yanks would indent properly.  I wrote
the following code to do that.  Enjoy...

(defadvice yank (after jde-indent-after-yank activate)
  "Do an indent after a yank"
(let ((transient-mark-mode nil))
(indent-region (region-beginning) (region-end) nil)))




Re: Useful helper functions - region based jde-gen-try

2003-08-04 Thread Andrew Hyatt
"Chitale, Sandip V" <[EMAIL PROTECTED]> writes:

> My original question was can I avoid
>
> M-x jde-gen-try RET Throwable RET
>
> and simply type t r y SPC with region around -
>
>   x = x/0;
>
> and get the same behaviour as above.
>
> Any thoughts?
>
> sandip
>

I'm guessing that hard to do without intercepting every keystroke.
For the reason you stated, once you start typing, the region will be
deactivated.   I'd say it's possible with emacs, but we'd have to
implement a previous-region variable, and if a user types a
non-command key then if there is a region, it stores it in the
previous-region variable.  And once a completion fails (a user types
in a non-keyword), we'd have to clear that previous region function.

So, possible, but difficult.  Unless a facility for storing previous
regions exists already, but I was unable to find it.






Re: JDE-CVS-Commit

2003-07-09 Thread Andrew Hyatt
Paul Kinnucan <[EMAIL PROTECTED]> writes:

> In my ideal world, no setup would be required. If you did nothing, the
> JDEE would xref the code in the current package (or perhaps prompt you
> to enter a list of packages with the default being the current
> package) and store the result in the root of the project directory
> (i.e., where the prj.el file is stored). Further, you would not need
> to specify a classpath in addition to jde-global-classpath. The JDEE
> would be smart enough to process only those portions of
> jde-global-classpath where the packages that you specify live.
>
> Further, you would not even need to build the xref db. If there
> is no xref db in the db directory, the JDEE would build it the
> first time you executed jde-xref-first-caller.
>
> This would work great for the project I am currently working on
> here at the Mathworks. There are a lot of classes but they
> all live in the same root package. If the JDEE were set up
> the way I described, I'd just have to call jde-xref-first-caller
> to get started. No tedious setup.
>
> - Paul

Your suggestions are interesting, and they are doable, I think.  And I
agree that having a no-setup solution is desirable.  My problem would
be that they do require some guesswork, and that guesswork may go
awry, causing problems.  Let me see if I can code something up that
does what you suggest.




Re: JDE-CVS-Commit

2003-07-09 Thread Andrew Hyatt
Paul Kinnucan <[EMAIL PROTECTED]> writes:

>
> I think it's nice to have all the jde-xref variables to have defaults
> that allow a new user to try it out quickly without having to do any
> preliminary setup, which is now required with your latest
> change. Previously, the default for this variable was to cross-ref the
> universe by default. I'm suggesting that we change it to cross-ref the
> current package. Is this what the user is likely to want ultimately?
> No, but it's a good starting point.  The new user should quickly
> notice that the xrefing is limited and this should lead them to the
> doc to find out why.

Xref already requires the user to set up the
jde-xref-db-base-directory as well as the jde-built-class-path.  There
may be a way to automatically guess these things, but I couldn't see
how with the jde variables already there.  The base directory should
usually correspond to something in the sourcepath, but we don't know
which entry.  And the jde-built-class-path cannot be figured out from
the classpath, it's actually a subset of the classpath, but again we
don't know what subset.   So we need the user to fill out two things,
with my latest change, it's now three things. 

I would rather force the user to fill out a reasonable value.  I think
not doing so will confuse users, and they may assume it doesn't work
right.We could try to "guess" this one, but I think it would be an
error prone process.I would like to minimize confusion and
potential bugs, that's why I like the user to fill this one out.

>  > 
>  > Let me think about this one.  The thing is, the variable doesn't
>  > contain package names, it contains package prefixes.   
>
> What's the difference?

Well, it's that package (in the sense that something like "com" or
"org" is a package), and all children of that package.  To be
specific, it's just whatever packages match that any of the prefixes
in this variable, so the prefix "co" would match "com.foo.bar".


>
>  > But the name is a bit confusing, I agree.
>
> I think this variable, whatever its name, should allow the
> user to specify the packages that the user wants to xref, including
> specifying that all subpackages of a package be xrefed, e.g., if
> I have a package structure like this:
>
> pkgA
>   pkgAa
>   pkgAb
>
> I should be able to specify pkgA and have everything in pkgA, including
> pkgAa and pkgAb, xrefed. On the other hand, if I specified pkgA.pkgAb,
> I'd expect only pkgAb to be xrefed.

This is the way it works now.

>
> - Paul



Re: JDE-CVS-Commit

2003-07-09 Thread Andrew Hyatt
Paul Kinnucan <[EMAIL PROTECTED]> writes:

> [EMAIL PROTECTED] writes:
>  > Update of /pack/anoncvs/jde/lisp
>  > In directory sunsite.dk:/tmp/cvs-serv11659
>  > 
>  > Modified Files:
>  >jde-xref.el 
>  > Log Message:
>  > Made jde-xref-store-prefixes non-optional.  I think if we didn't do
>  > this, most people would leave it blank, therefore significantly
>  > impacting both size of the database and the time and memory it takes
>  > to make it.
>  > 
>
> Hi Andy,
>
> How about making nil default to the package of the class in the
> current source buffer?

I'm not sure I want to make any assumptions.  Typically, people would
want their database to encompass more than one package.  Plus, I
anticipate that this will not always be invoked from a Java buffer.
For instance, you could rebuild the database every night, and in that
case you wouldn't be in a buffer.

>
> Also, I'd like to suggest renaming jde-xref-store-prefixes to
> jde-xref-packages as that more clearly indicates the variables
> purpose.
>

Let me think about this one.  The thing is, the variable doesn't
contain package names, it contains package prefixes.   But the name is
a bit confusing, I agree.

> - Paul



Re: jde-xref-store-prefixes queston

2003-07-08 Thread Andrew Hyatt

OK, you can now get around this bug by evaluating this.  I don't think
I'll check it in, however.  I think I'll just enforce the fact that
jde-xref-store-prefixes must be populated.If I  don't, people may
not even use it, and then they might complain the making the xref db
is taking long or using a lot of memory.

(defun jde-xref-find-or-create-package-in-cache (package)
  (unless jde-xref-db-base-directory
(error "The variable `jde-xref-db-base-directory' must be specified to load the 
xref db"))
  (if (file-exists-p (jde-xref-get-caller-file package))
(or (jde-xref-find-package-in-cache package jde-xref-cache)
;; Or we need to get the new package and put it in the cache
(let ((data (jde-xref-load-package-hashes package)))
(setq jde-xref-cache (cons (cons package data)
   (if (> (length jde-xref-cache)
  jde-xref-cache-size)
   (cdr jde-xref-cache)
 jde-xref-cache)))
data))
(jde-xref-create-package-hashes t)))


Andrew Hyatt <[EMAIL PROTECTED]> writes:

> This probably is a bug.  I recommend you keep this variable populated,
> though, but in the meantime I'll look into it.
>
> "Schmitt, Christian (ext.)" <[EMAIL PROTECTED]> writes:
>
>> Hi,
>> I've been trying to get the new xref stuff in JDEE to work.
>>
>> When looking at the doc string for the variable jde-xref-store-prefixes
>> it says:
>> Documentation:
>> A list of what prefixes to put in the database.  A value of NIL
>>   indicates that to store everything (this will include which
>>   functions call java functions like println, etc.)  Otherwise, it is
>>   a list of prefixes such as: '("org" "jde"), to keep track of all
>>   references to classes that start with "org" or "jde".
>>
>> So I thought I'll leave the variable set to NIL and all should be OK.
>> But (so far) I've only got results from (e.g.) jde-xref-display-call-tree
>> when jde-xref-store-prefixes is not NIL but set to the top level
>> directory in my package tree.
>>
>> Is this a bug in the xref code or only in the doc string?
>>
>>
>> Thanks,
>> Christian Schmitt



Re: jde-xref-store-prefixes queston

2003-07-08 Thread Andrew Hyatt

This probably is a bug.  I recommend you keep this variable populated,
though, but in the meantime I'll look into it.

"Schmitt, Christian (ext.)" <[EMAIL PROTECTED]> writes:

> Hi,
> I've been trying to get the new xref stuff in JDEE to work.
>
> When looking at the doc string for the variable jde-xref-store-prefixes
> it says:
> Documentation:
> A list of what prefixes to put in the database.  A value of NIL
>   indicates that to store everything (this will include which
>   functions call java functions like println, etc.)  Otherwise, it is
>   a list of prefixes such as: '("org" "jde"), to keep track of all
>   references to classes that start with "org" or "jde".
>
> So I thought I'll leave the variable set to NIL and all should be OK.
> But (so far) I've only got results from (e.g.) jde-xref-display-call-tree
> when jde-xref-store-prefixes is not NIL but set to the top level
> directory in my package tree.
>
> Is this a bug in the xref code or only in the doc string?
>
>
> Thanks,
> Christian Schmitt



Re: ecb question

2003-07-07 Thread Andrew Hyatt

I don't use ECB, but if anyone from that project is interested in
doing what Paul suggests, please email me with any questions you might
have about jde-xref.

Paul Kinnucan <[EMAIL PROTECTED]> writes:

> Paul Kinnucan writes:
>  > Berndl, Klaus writes:
>
> [snip]
>
>  >  > 
>  >  > But: IMHO the best would be to integrate JDEE for that. This could be done 
> like:
>  >  > 1. You select via popup-menu of the ECB-methods-buffer a method for being 
> search
>  >  >for occurences in current source-path/project
>  >  > 2. Then ECB jumps to this method in the source-buffer
>  >  > 3. Then JDEE should have a function 
> "jde-find-call-occurences-of-method-under-point"
>  >  >which does the search for the occurences with appropriate mechanisms - e.g. 
> with
>  >  >delegating this task to the beanshell - do not know if JDEE has already 
> such a 
>  >  >feature or when not how exactly this one could be implemented.
>  >  > 4. ECB would then only call this 
> "jde-find-call-occurences-of-method-under-point".
>  >  > 
>  >  > Question to Paul: Has JDEE already such a feature?
>  > 
>  > As of JDEE 2.3.3, for which a very stable beta is available at the
>  > JDEE web site, yes, thanks to the efforts of Andy Hyatt. See the
>  > "Cross-Referencing Classes" section of the "Searching Source Code"
>  > chapter of the "JDEE User's Guide" for information on how to build and
>  > use a method call cross-reference database for a Java project.
>  > 
>
> Hi Klaus,
>
> Some more information about jde-xref. It builds a cross-reference database by 
> parsing Java class files. It includes three functions for navigating the
> database:
>
> * jde-xref-first-caller (C-c C-v a) builds a list of callers of the method at point
>   in the current buffer and displays the first caller.
>
> * jde-xref-next-caller (C-c C-v n)  displays the next caller on the list built by 
>   jde-xref-first-caller.
>
> * jde-xref-display-call-tree displays a buffer containing a mouse-sensitive list
>   of the callers of the method at point. Clicking any caller displays the source
>   for that caller.
>
>
> It would be nice to integrate these functions with ECB, e.g., first-caller and
> next-caller should work for the method selected in the ECB's class window.
> Also, it would be nice to be able (optionally?) to add a call-tree window 
> to the set of windows that makes up the ECB desktop. That way, a user 
> could 
>
> 1. Select a method in the class window.
>
> 2. Select a "Show Callers" command from the ECB menu.
>
>A Callers window would appear in the ECB desktop.
>
> 3. Click a caller in the Callers window.
>
>Emacs displays the source of the call.
>
> - Paul



Re: Trouble Customizing Variable

2003-07-07 Thread Andrew Hyatt

Your error usually indicates your .emacs file was messed up - perhaps
it was missing a parenthesis somewhere, so when it came time to parse
your .emacs file to find the location to insert the customization, it failed.

Aaron Davies <[EMAIL PROTECTED]> writes:

> On Sunday, July 6, 2003, at 08:25  AM, Paul Kinnucan wrote:
>
>> Aaron Davies writes:
>>
>>> On Saturday, July 5, 2003, at 08:34  AM, Paul Kinnucan wrote:
>>>
 Aaron Davies writes:

> On Wednesday, June 25, 2003, at 02:01  AM, Aaron Davies wrote:
>
>> I'm having trouble customizing a variable, specifically
>> jde-javadoc-author-tag-template. When I type a new value in the
>> customization buffer and hit set or save, Emacs beeps at me and the
>> minibuffer says "End of file during parsing". What's wrong?
>>
>> I cannot reproduce this problem on my system: Windows Millenium,
>> Emacs 21.3.1, JDEE 2.3.3beta4. For example, I changed the
>> default tag to
>>
>> "* @author Paul Kinnucan"
>>
>> without any problem. Perhaps the problem is with the
>> particular template string you are trying to enter. If you send
>> me the exact template string that you are trying to enter
>> (preferably copied from the customization buffer and
>> pasted into your email), I will investigate further.
>
> Well, it seems to work fine now. I have no idea what changed. 
> Sorry to bother you.
> -- 
>  ____
> /  )  /  )
>/--/ __.  __  /  / __. , __o  _  _
>   /  (_(_/|_/ (_(_) / / <_  /__/_(_/|_\/ <__

Re: [ANNOUNCEMENT] JDEE 2.3.3beta1 available at ...

2003-06-19 Thread Andrew Hyatt
I think he means the local user's guide, not the website's user's guide.

On Thursday, June 19, 2003, at 11:04  AM, Nic Pottier wrote:



I can't find any reference to this in the users guide.  Can you give 
us another clue?  Maybe the name of the command?

-Nic

* This release introduces a cross-referencing tool that enables
  you to find all callers of a specified method in a specified
  classpath. This can be useful, for example, if you need to
  change the name of a method. See "Cross-Referencing Classes"
  in the JDEE User's Guide.
  Thanks to Andy Hyatt for contributing this tool to the JDEE.



Re: Bug Report JDE2.3.3beta1

2003-06-18 Thread Andrew Hyatt

Well, let me see if I can get around this problem.  I could perhaps
make it so that it will work on Xemacs on Windows, unless your
variable/method/class etc names are non-ascii.  I'll try and check in
a fix today.


Jeba Bhaskaran <[EMAIL PROTECTED]> writes:

> So would I be wrong in saying cross-refrencer will not
> work in Xemacs on Windows?
>
> Jeba
> --- Andy Piper <[EMAIL PROTECTED]> wrote:
>> Its probably a mule issue. Did you build your linux
>> version with mule?
>> There is no mule support for XEmacs on windows
>> currently, I think this will
>> be fixed in 22.0. But even so relying on mule
>> features is highly backwardsly
>> incompatible. I suspect that this only works on the
>> very latest Emacsen
>> also.
>> 
>> > My guess is that this is a limitation of xemacs on
>> Windows. I can use
>> > utf-8 as an encoding system on xemacs on Linux. 
>> Perhaps on the
>> > mailing list that knows a bit more about xemacs
>> can help?
>> 
>> andy
>> 
>
>
> __
> Do you Yahoo!?
> SBC Yahoo! DSL - Now only $29.95 per month!
> http://sbc.yahoo.com



Re: Bug Report JDE2.3.3beta1

2003-06-17 Thread Andrew Hyatt

My guess is that this is a limitation of xemacs on Windows. I can use
utf-8 as an encoding system on xemacs on Linux.  Perhaps on the
mailing list that knows a bit more about xemacs can help?

Jeba Bhaskaran <[EMAIL PROTECTED]> writes:

> --- Andrew Hyatt <[EMAIL PROTECTED]> wrote:
>> Jeba Bhaskaran <[EMAIL PROTECTED]> writes:
>> 
>> > Please enter the details of your bug report here:
>> >
>> > 1. After installing the beta jde 2.3.3, I have
>> lost
>> > syntax highlighting. I installed overlay-fix and
>> stil
>> > the syntax highlighting is not working.
>> >
>> > 2. I am not able to see the jde-xref-... options. 
>> I
>> > tried M-x jde-xref-customize funtion. When I typed
>> M-x
>> > jde-x I only get jde-xemacs-.. completion and do
>> not
>> > get any jde-xref-.. completion.
>> >
>> 
>> I don't know why you are not seeing jde-xref
>> options.  Just to be
>> sure, have you restarted emacs after installing the
>> new JDE?  Also, try
>> putting this in your .emacs file, and see if it
>> helps: 
>> (require 'jde-xref)
>> 
>> 
> OK I added (require 'jde-xref) and I can set the xref
> options. I get a backtrace when I try to run
> jde-xref-make-.. function. Trace follows:
> Signaling: (error "No such coding system" utf-8)
>   encode-coding-region(1 8 utf-8)
>   encode-coding-string("m_homes" utf-8)
>   (let* ((len ...) (result ...)) (goto-char (+ len
> ...)) result)
>   jde-parse-class-get-utf8-constant()
>   (list (quote utf8)
> (jde-parse-class-get-utf8-constant))
>   (backquote (utf8 (\, ...)))
>   (cond ((eq const-type 7) (backquote ...)) ((eq
> const-type 9) (backquote ...)) ((eq const-type 10)
> (backquote ...)) ((eq const-type 11) (backquote ...))
> ((eq const-type 8) (backquote ...)) ((eq const-type 3)
> (backquote ...)) ((eq const-type 4) (backquote ...))
> ((eq const-type 5) (backquote ...)) ((eq const-type 6)
> (backquote ...)) ((eq const-type 12) (backquote ...))
> ((eq const-type 1) (backquote ...)))
>   (let ((const-type ...)) (forward-char) (cond (...
> ...) (... ...) (... ...) (... ...) (... ...) (... ...)
> (... ...) (... ...) (... ...) (... ...) (... ...)))
>   jde-parse-class-get-next-constant()
>   (let ((const ...)) (aset const-vec i const) (when
> (or ... ...) (aset const-vec ... nil) (setq i ...)))
>   (while (< i --dotimes-temp--83104) (let (...) (aset
> const-vec i const) (when ... ... ...)) (incf i))
>   (let ((--dotimes-temp--83104 count) (i 0)) (while (<
> i --dotimes-temp--83104) (let ... ... ...) (incf i))
> const-vec)
>   (catch (quote --cl-block-nil--) (let (... ...)
> (while ... ... ...) const-vec))
>   (cl-block-wrapper (catch (quote --cl-block-nil--)
> (let ... ... const-vec)))
>   (block nil (let (... ...) (while ... ... ...)
> const-vec))
>   (dotimes (i count const-vec) (let (...) (aset
> const-vec i const) (when ... ... ...)))
>   (let* ((count ...) (const-vec ...)) (setq i 0)
> (goto-char 11) (dotimes (i count const-vec) (let ...
> ... ...)))
>   jde-parse-class-get-constants()
>   (let* ((constants ...) (version ...) (access ...)
> (this-class ...) (superclass ...) (interfaces ...)
> (fields ...) (methods ...) (attributes ...))
> (kill-buffer buf) (backquote (... ... ... ... ... ...
> ... ...)))
>   (let ((buf ...)) (set-buffer buf) (let* (... ... ...
> ... ... ... ... ... ...) (kill-buffer buf) (backquote
> ...)))
>  
> jde-parse-class("c:\\webservices\\classes\\org\\aarp\\common\\ejb\\EJBHelper.class")
>   (let ((info ...)) (jde-xref-add-class-info-to-db
> info package-data subclasses) (add-to-list (quote
> --with-all-class-infos-pclasses83065)
> (jde-parse-class-extract-classname info)))
>   (if (and (not ...) (funcall ...
> --with-all-class-infos-cfile83066)) (let (...)
> (jde-xref-add-class-info-to-db info package-data
> subclasses) (add-to-list ... ...)))
>   (if (string-match ".[Cc][Ll][Aa][Ss][Ss]$"
> --with-all-class-infos-cfile83066) (if (and ... ...)
> (let ... ... ...)))
>   (lambda (--with-all-class-infos-cfile83066)
> "\nCommon Lisp lambda list:\n  (cl-none
> --WITH-ALL-CLASS-INFOS-CFILE83066)\n\n" (if
> (string-match ".[Cc][Ll][Aa][Ss][Ss]$"
> --with-all-class-infos-cfile83066) (if ...
> ...)))("c:\\webservices\\classes\\org\\aarp\\common\\ejb\\EJBHelper.class")
>   funcall((lambda (--with-all-class-infos-cfile83066)
> "\nCommon Lisp lambda list:\n  (cl-none
> --WITH-ALL-CLASS-INFOS-CFILE83066)\n\n" (if
> (string-match ".[Cc][Ll][Aa][Ss][Ss]$"
> --with-all-class-infos-cfile83066) (if ... ...)))
> "

Re: Bug Report JDE2.3.3beta1

2003-06-17 Thread Andrew Hyatt
Jeba Bhaskaran <[EMAIL PROTECTED]> writes:

> Please enter the details of your bug report here:
>
> 1. After installing the beta jde 2.3.3, I have lost
> syntax highlighting. I installed overlay-fix and stil
> the syntax highlighting is not working.
>
> 2. I am not able to see the jde-xref-... options.  I
> tried M-x jde-xref-customize funtion. When I typed M-x
> jde-x I only get jde-xemacs-.. completion and do not
> get any jde-xref-.. completion.
>

I don't know why you are not seeing jde-xref options.  Just to be
sure, have you restarted emacs after installing the new JDE?  Also, try
putting this in your .emacs file, and see if it helps: 
(require 'jde-xref)




Re: [PATCH] smart complete?

2003-04-02 Thread Andrew Hyatt

otisg -

What new packages on xemacs.org are you referring to?

andy -

I'm not sure I would like tab to complete.  Completion sometimes is
very, very slow.  I once narrowed down the slowness to the part where
we have to go through the import list and try to fully qualify the
class getting imported.  Plus, completion is sometimes flaky, and
there are situations where it doesn't work at all.  

At any rate, until completion works better, I would vote to hold off
on that change.  Or check in it, with a default of "off".



otisg  <[EMAIL PROTECTED]> writes:

> Sounds yummy as long as it can be turned
> on/off (like jde-abbrev stuff).
>
> I can't wait for the new packages on
> xemacs.org...
>
> Otis
>
>
>  On Tue, 1 Apr 2003, Andy Piper
> ([EMAIL PROTECTED]) wrote:
>
>> I haven't submitted this, but I like this
> idea. This basically rebinds
>> indent key (TAB usually) to indent and
> then try completion if indentation
>> does nothing.
>> 
>> What do people think?
>> 
>> andy
>> 
>> 2003-04-01  Andy Piper  <[EMAIL PROTECTED]>
>> 
>>  * jde.el (jde-mode): bind  to
> jde-indent-or-complete.
>> 
>>  * jde-complete.el
> (jde-indent-or-complete): new function. run
>>  c-indent-command and then completion if
> no indentation occurred.
>> 
>> 
>> 
>> 
>> ATTACHMENT 1: application/octet-stream;
> name="compl.patch"
>> DISPOSITION: attachment;
> filename="compl.patch"
>> 
>
>
> 
> Get your own "800" number
> Voicemail, fax, email, and a lot more
> http://www.ureach.com/reg/tag



Re: Mac OS X....again

2003-03-03 Thread Andrew Hyatt

what is the value you have set for jde-jdk, and for jde-jdk-registry?

Tor Olaussen <[EMAIL PROTECTED]> writes:

> Hi, I'm new to the list and trying to get jde up and running on my Mac
> OS X 10.2.4...
>
> I've downloaded  and installed jde-2.3.2 with necessary support
> packages. Everything seems to be working fine, except when trying to
> compile: the dreaded: see "jde-get-jdk-dir"...
>
> I've searched the archives, and found one or two patches, plus usefull
> information about how Apple has repacked the jdk on Mac OS X.
>
> Can someone point me to the most straightforward and "accepted" way of
> installing jde on Mac OS X?
>
> BTW, i'm using the enhanced carbon emacs v.2.1 found at:
>
> http://www.cs.man.ac.uk/~franconi/mac-emacs/
>
> Thanks for any help!
>
> --tor



Re: tags?

2003-02-28 Thread Andrew Hyatt
Le Wang <[EMAIL PROTECTED]> writes:

>  --- Andrew Hyatt <[EMAIL PROTECTED]> wrote: > 
>> Yes, using tags gives you access to functionality that JDE doesn't
>> have.  Like a quick take-me-to-class functionality.  JDE has several
>> take-me-to-class-at-point functionality, but that's not quite the
>> same.  Plus, JDE often makes you choose between classes of the same
>> name in different packages, while tags lets you cycle through.  I
>> prefer to cycle through.
>> 
>> Also, you can do nifty things like tags-query-replace, to replace one
>> regexp with some text everywhere in your source.  Very nice.
>
> How do you keep your tags table up to date?  This is the scary part for me. 
> From what I've read this is not done via any hooks from within Emacs, but
> from a  shell.  Any tips for managing a tags tablefor a large sourcebase?  

Well, you can call the shell from emacs (shell-command), and you an
schedule events to occur in emacs, so that gives you all you need to
keep it up to date.  But I find I rarely need to keep it up to date,
since my java files are not moving around too much, so no update is
really needed.


>
> --
> Le
>
> __ 
> Post your free ad now! http://personals.yahoo.ca



Re: tags?

2003-02-28 Thread Andrew Hyatt

I believe you need to make sure emacs's etags get called, not the
cygwin etags.  Delete or rename the cygwin etags and try it again.

"Jayakrishnan Nair" <[EMAIL PROTECTED]> writes:

> After reading this thread, I thought I would try jtags. This is what
> happens. I think I am using a version of etags which does not support
> --regex option. The JDEE users guide does not mention anything about
> this. Any pointers ?
>
> I am using Cygwin on Win2K and etags came with that.
>
>
> [/tmp]jtags
> Tagging classes and constructors
> etags: Unknown option: --regex
> Tagging methods
> etags: Unknown option: --regex
> Tagging variables
> etags: Unknown option: --regex
> [/tmp]type -all jtags
> jtags is /cygdrive/c/Applications/Editor/emacs-lib/jde-2.3.2/lisp/jtags
> [/tmp]type -all etags
> etags is /usr/bin/etags
> [/tmp]etags --version
> Exuberant Ctags 5.2, Copyright (C) 1996-2001 Darren Hiebert
>   Compiled: Dec 25 2001, 23:40:03
>   Addresses: <[EMAIL PROTECTED]>,
> http://ctags.sourceforge.net
> [/tmp]
>
> -Original Message-
> From: Andrew Hyatt [mailto:[EMAIL PROTECTED] 
> Sent: Friday, February 28, 2003 9:09 AM
> To: Le Wang
> Cc: [EMAIL PROTECTED]
> Subject: Re: tags?
>
>
> Yes, using tags gives you access to functionality that JDE doesn't
> have.  Like a quick take-me-to-class functionality.  JDE has several
> take-me-to-class-at-point functionality, but that's not quite the
> same.  Plus, JDE often makes you choose between classes of the same
> name in different packages, while tags lets you cycle through.  I
> prefer to cycle through.
>
> Also, you can do nifty things like tags-query-replace, to replace one
> regexp with some text everywhere in your source.  Very nice.
>
> Le Wang <[EMAIL PROTECTED]> writes:
>
>> Hi,
>>
>> Does anyone use tags with jdee? I fail to see the point of them.  And
> it
>> seems to add an extra layer of complexity, i.e. constantly updating
> the tags
>> table.  Or is it that I just don't get the tags concept?
>>
>> --
>> Le
>>
>> __
>
>> Post your free ad now! http://personals.yahoo.ca



Re: tags?

2003-02-28 Thread Andrew Hyatt

Yes, using tags gives you access to functionality that JDE doesn't
have.  Like a quick take-me-to-class functionality.  JDE has several
take-me-to-class-at-point functionality, but that's not quite the
same.  Plus, JDE often makes you choose between classes of the same
name in different packages, while tags lets you cycle through.  I
prefer to cycle through.

Also, you can do nifty things like tags-query-replace, to replace one
regexp with some text everywhere in your source.  Very nice.

Le Wang <[EMAIL PROTECTED]> writes:

> Hi,
>
> Does anyone use tags with jdee? I fail to see the point of them.  And it
> seems to add an extra layer of complexity, i.e. constantly updating the tags
> table.  Or is it that I just don't get the tags concept?
>
> --
> Le
>
> __ 
> Post your free ad now! http://personals.yahoo.ca



Re: Why the JDEE?

2003-02-24 Thread Andrew Hyatt

I had thought of this as well.  Perhaps the JSwat maintainer would be
interested in working on it.  If you download the JSwat CVS code, you
see they arleady use JDEE.   See:

http://home.nc.rr.com/nascifandelaine/jswat.el

Paul Kinnucan <[EMAIL PROTECTED]> writes:

> Ralph Jorre writes:
>> 
>  > I don't often use a debugger but I have found JSwat very good and I just
>  > wonder if it wouldn't be more efficient to just include some hooks so as
>  > to be able to incorporate it efficiently.
>  > 
>  > Maybe this would be easier to maintain than rewriting the debug.
>  > 
>
> I plan to look into this. The problem is that the task of writing
> an Emacs front-end to JSwat may outway the advantage of replacing
> JDEbug with JSwat as the backend. In other words, there already
> exists a Lisp frontend to JDEbug. So it comes down to whether
> it makes more sense for me to spend my time on creating a frontend
> for JSwat or fixing the problems with JDEbug.
>
> Complicating the decision is the fact that I have created a
> generalized object-oriented debugger frontend, based on eieio.
> I decided to do this because jdb and the JDEbug frontends have
> a lot in common, e.g., essentially the same code for stepping
> and setting, recording, and displaying breakpoints. The generalized
> frontend allows both backends to inherit any improvements to
> the front end. I have already ported jdb to use the 
> generalized frontend and am in the process of porting the
> JDEbug frontend to the generalized front end. It is conceivable
> that the generalized JDEE frontend could ultimately support 
> three backends:
>
>   jdb
>   JDEbug
>   JSwat
>
> In fact, I would prefer this as I believe there is value in having a
> backend that is tuned to the JDEE plus support for alternative
> backends as backups or to cater to user preferences for those
> backends. My preference would be for somebody other than myself to
> take on the task of creating a JDEE frontend to JSwat's console
> mode. This would free me to concentrate on the generalized 
> frontend and on fixing the JDEbug backend.
>
> Developing a JSwat frontend basically entails subclassing the JDEE's
> generalized debugger frontend (see jde-db-debugger class) to support
> JSwat's console commands. This should be a fairly straightforward
> task. I'd be glad to serve as a consultant to anyone who wants
> to undertake this project.
>
> - Paul



Re: Questions from a newguy

2003-02-21 Thread Andrew Hyatt

I think groups.google.com can answer most of these questions.  If not,
try http://www.emacswiki.org/cgi-bin/wiki.pl

For example, I know people have implemented Ctrl-Tab for emacs.  Tab
questions are puzzling for emacs newbies and are asked a lot on
usenet, so groups.google.com will help there as well.  Good luck, if
you really are stuck on something, I'm sure either here (if it relates
to JDE) or the emacs newsgroups (for general emacs questions) can help.

Chris <[EMAIL PROTECTED]> writes:

> Hi all,
>
> I'm a Java et al coder who'd like to give emacs a shot. After 10+
> years if never really loving my development environment, I finally
> grasp what's possible with emacs, and it seems that if I commit to it
> my IDE can be as good as I feel like making it.
>
> I have 3 main goals in the immediate future:
>
> 1) To make emacs a little friendlier for Java, C++, text, PHP, etc. In
> many cases this means making it more like Textpad, which is my current
> choice and is quite good off the shelf but of course isn't as flexible
> 2) To get my cash-strapped software team off of Textpad and using
> emacs (this is quite related to 1), and then extending it for our
> needs (JBoss/EJBs mostly)
> 3) To get good at this stuff and help out with the effort.
>
> Right now, there are a couple of things preventing me from comfortably
> coding in Java with emacs. One is file navigation; the other is
> control of whitespace. For file navigation, I really miss good ol'
> Ctrl-Tab. KDE seems to eat Ctrl-Tab, but if had some idea on how to
> make something similar happen I'd be pleased. I seem to remember some
> help on this previously (maybe on this list!), and as I recall some
> clever manipulation of the buffer list is necessary for satisfactory
> results.
>
> My problems with whitespace are that 1) I have no control over it -- I
> don't ever want to hit Tab and have nothing happen, 2) I don't know
> how to customize it, and 3) it looks like Emacs is not saving tabs as
> tabs (even though I thought I told it to), so that I can't pleasantly
> edit files that have been touched by Emacs.
>
> I'm not looking for quick fixes / code samples here; I'm willing to do
> some work, but I'm having a hard time getting started. By the way, Gnu
> sells a "Introduction to Emacs Lisp Programming" (I think), that's
> only available online. I can get by in Lisp, and I've read the online
> reference manual, but it's a little dry.
>
> Thanks all! These aren't JDE questions in some cases, but frankly in
> the months I've been lurking, I've just been very impressed with the
> list.
>
> Keep up the good work!
>
> - C



Re: Why the JDEE?

2003-02-21 Thread Andrew Hyatt

I could not agree more.  We love JDEE because we love emacs.  Emacs
will always be a better editor than any other IDE, therefore JDEE will
always be better for editing then any other IDE.  Throw in the
compiling and debugging tools already there, and it's already an
excellent tool.

Hopefully people can add advanced functionality as needed, including
plug-ins.  I agree that debugging needs the most work, and I intend to
help with that effort.

Paul Kinnucan <[EMAIL PROTECTED]> writes:

> Dear JDEE Users,
>
> A number of recent threads have alluded to the need for the JDEE to
> keep pace, featurewise, with the competition, e.g., Eclipse and
> JBuilder.
>
> I'd like to present my perspective on this issue as the JDEE's lead
> developer and maintainer.
>
> It is hopeless for the JDEE to try to compete feature-for-feature with
> dedicated Java IDE's, especially commercial IDE's. The reason is that
> the pure Java IDEs do not face the difficult skills and architectural
> constraints than the JDEE development team faces, e.g., JDEE
> development requires both Emacs Lisp and Java skills and is
> constrained to standard I/O for interprocess communications.
>
> Why then bother with the JDEE? Because it allows Emacs users to use
> Emacs to develop Java code. Put another way, the reason for choosing
> the JDEE will always be Emacs and not the other way around.  The JDEE
> allows Emacs users to make the transition to Java development without
> having to learn another environment.  It also allows users who are,
> like myself, working in a multilanguage environment (e.g., C/C++/Java)
> to use a single environment for all their work.
>
> Where then should the JDEE development team focus its efforts. 
> The focus should be on those features that best
> ensure that a decision to use Emacs for Java development
> does not entail a loss of productivity compared to what other
> environments afford. In my view, the JDEE's greatest deficiency
> in this regard is in debugging support. Therefore, it is my
> intention to focus my efforts personally in this area with the
> goal of providing the JDEE ASAP, not with the best debugger available,
> but at least one that does the basics well and reliably. 
>
> Until then, other features that have been mentioned recently, such
> as a plugin architecture and syntax errors on the fly, will move
> forward only in so far as others work on them.
>
> Regards,
>
> Paul



Re: Introspection based Java class browser....also demonstrates alittle bit of java and lisp integration...

2003-02-19 Thread Andrew Hyatt

This is interesting.  I know you've mentioned it before.   If this
would help the JDE project, I could do this fairly easily.  We have
the class parsing code already, we just have to tie it into semantic.
But since we are not using the latest Semantic, and as far as I know
we have no immediate need to change the way we do introspection, for
the time being, I will hold off on doing this.


"Eric M. Ludlam" <[EMAIL PROTECTED]> writes:

> Hi Klaus,
>
>   Your last point here about semantic not being able to look into a
> .class file is valid, however the CVS version semantic 2.0 semanticdb
> subsystem was recently enhanced to be extensible beyond just typical
> language parsers.  The idea was Paul's originally, and I expanded on
> that.
>
>   The basic premise is to sub-class a semanticdb class, and implement
> all the search methods.  Your search methods can then call external
> programs, or whatever you like before returning a results table.
> There is an example that will search all Emacs Lisp symbols inside
> Emacs, regardless of having the sources available.  The only part
> that needs to be done to make your new program support .class files
> is to extend the database.
>
>   I can provide you with more details and perhaps start the process if
> you would like to try extending semanticdb.
>
> Have fun
> Eric
>
> -- 
>   Eric Ludlam: [EMAIL PROTECTED], [EMAIL PROTECTED]
>Home: http://www.ludlam.netSiege: www.siege-engine.com
> Emacs: http://cedet.sourceforge.net   GNU: www.gnu.org




Re: Introspection based Java class browser....also demonstratesalittle bit of java and lisp integration...

2003-02-19 Thread Andrew Hyatt

You could also get introspection of class file abilities (without
using any Java) from jde-parse-class.

Paul Kinnucan <[EMAIL PROTECTED]> writes:

> Klaus Berndl writes:
>  > 
>  > IMHO this is much easier than using this somehow clumsy beanshell to
>  > communicate between java and elisp. 
>
> Easier for whom? The easiest way to implement a feature does not necessarily
> result in the implementation that is easiest to use. For example, your proposal
> for implementing completion works only for classes for which source code
> is available and requires opening and parsing the source file of each class to 
> be completed during a session. Ever tried opening and parsing a large
> Java source file? Think of how long it would take to complete a method
> of JFrame class. People already complain about how long the existing
> JDEE feature takes. Your proposal would decrease the response time
> exponentially.
>
> semantic includes a database feature whereby it can save parsed versions




Re: JDEE plugins

2003-02-18 Thread Andrew Hyatt

I wonder if there's a place in here for kawa
(http://www.gnu.org/software/kawa/).  It would be ideal for java-elisp
communication, since it's a scheme environment that runs in Java.  It
even has an elisp mode!


Galen Boyer <[EMAIL PROTECTED]> writes:

> On Tue, 18 Feb 2003, [EMAIL PROTECTED] wrote:
>> Sounds like a great idea!
>> 
>> I would volunteer to re-write the Jalopy
>> (http://jalopy.sourceforge.net/) integration package I put
>> together. I could also take a stab at a re-write for the
>> integration package for PMD (http://pmd.sourceforge.net/).
>> 
>> Those Elisp->Java packages have an awful lot of code in common,
>> and it would be really nice to create a standard way to create
>> them - specially the bit about a standard way to integrate with
>> the BeanShell.
>> 
>> I would like to suggest also a standard way for those packages
>> to present their output. A lot of them generate warnings or
>> errors that go very well in a "compilation" mode buffer. I
>> think this behavior can be abstracted as well.
>
>
> Maybe the beanshell could be viewed as an application server.
>
> Let me work through my thoughts.
>
> Would it make sense that java code that is executed through the
> beanshell not have to "println(someElispString);" but instead,
> any java code that is to be executed by the beanshell and
> subsequently eval'd into elisp, return a "java datatypes
> transformable to elisp" set of objects, like hashmap, array, ...
>
> Then, the beanshell could offer a set of classes which take these
> particular return objects and transform them into println's of
> elisp strings to be eval'd by elisp.  The only part that doesn't
> seem clear to me is how to have elisp not have to understand the
> java code, its structure and exact names as well as its exact
> syntax.  I'm thinking, first an eieio interface to elisp be
> required to be implemented by the elisp code of the package. A
> mapping layer, maybe xml, or just elisp list, be used to wire
> elisp class/method names to java class/methods.  Then, the elisp
> package integrates with a particular elisp interface and the java
> code integrates with a particular java interface and the elisp to
> java is the black box that none of the two sides of code knows
> about, taken care of by the beanshell's black box.
>
> This would also allow java requirements for some particular need
> of the JDEE to be given to a willing java coder and the elisp
> requirements given to a willing elisp coder and the two sides
> actually code in their respective VMs without having to hook the
> two, fairly incompatible VMs up during development.  Of course,
> what I'm thinking is that a JDE user could integrate some jakarta
> package by working with Paul on the java interface needing to be
> implemented.  Paul or another of the elisp studs, then codes up
> the elisp side of the house waiting for the java coder to finish
> his work.
>
> Then, elisp becomes a client and the java code becomes the
> middleware implementing interfaces the beanshell application
> server will be executing.
>
> -- 
> Galen Boyer




Re: JDEbug - Show debug frame on XEmacs

2003-01-13 Thread Andrew Hyatt

Sorry, I don't meet to imply that your workaround isn't good.  But
maybe there's an xemacs make-frame-names-alist equivalent, so it could
be a one line change.

Andrew Hyatt <[EMAIL PROTECTED]> writes:

> Your problem sounds unsurprising.  Like a lot of brand new jde code,
> it is not tested on xemacs.  Thanks for bringing this to my attention,
> I'll see if there is a good workaround (those more familiar with
> xemacs please let me know if you know this), else I'll use something
> like your workaround.
>
> "Schmitt, Christian (ext.)" <[EMAIL PROTECTED]> writes:
>
>> Hi,
>> today I used JDEbug for the first time. I clicked on "Show debug frame" in
>> the "JDEbug" menu
>> which didn't work on XEmacs 21.4.11 [Win32 native] (JDE 2.3.2) with an
>> error, that 
>> 'make-fram-names-alist function definition is void.
>>
>> Now I don't know if there's an XEmacs equivalent to this function. 
>> Right now I work around it by putting this in my .emacs:
>> ;
>> ; XEmacs does not have 'make-fram-names-alist
>> ; so we define it when it's not there.
>> ; Source is taken from GNU Emacs' frame.el where
>> ; function 'frame-parameter (in GNU Emacs) hase been
>> ; replaced by 'frame-property
>> ;
>> (if (not (fboundp 'make-frame-names-alist))
>> (defun make-frame-names-alist ()
>>   (let* ((current-frame (selected-frame))
>>  (falist
>>   (cons
>>(cons (frame-property current-frame 'name) current-frame)
>> nil))
>>  (frame (next-frame nil t)))
>> (while (not (eq frame current-frame))
>>   (progn
>> (setq falist (cons (cons (frame-property frame 'name) frame)
>> falist))
>> (setq frame (next-frame frame t
>> falist))
>>   )
>>
>>
>> Cheers,
>> Christian Schmitt




Re: JDEbug - Show debug frame on XEmacs

2003-01-13 Thread Andrew Hyatt

Your problem sounds unsurprising.  Like a lot of brand new jde code,
it is not tested on xemacs.  Thanks for bringing this to my attention,
I'll see if there is a good workaround (those more familiar with
xemacs please let me know if you know this), else I'll use something
like your workaround.

"Schmitt, Christian (ext.)" <[EMAIL PROTECTED]> writes:

> Hi,
> today I used JDEbug for the first time. I clicked on "Show debug frame" in
> the "JDEbug" menu
> which didn't work on XEmacs 21.4.11 [Win32 native] (JDE 2.3.2) with an
> error, that 
> 'make-fram-names-alist function definition is void.
>
> Now I don't know if there's an XEmacs equivalent to this function. 
> Right now I work around it by putting this in my .emacs:
> ;
> ; XEmacs does not have 'make-fram-names-alist
> ; so we define it when it's not there.
> ; Source is taken from GNU Emacs' frame.el where
> ; function 'frame-parameter (in GNU Emacs) hase been
> ; replaced by 'frame-property
> ;
> (if (not (fboundp 'make-frame-names-alist))
> (defun make-frame-names-alist ()
>   (let* ((current-frame (selected-frame))
>  (falist
>   (cons
>(cons (frame-property current-frame 'name) current-frame)
> nil))
>  (frame (next-frame nil t)))
> (while (not (eq frame current-frame))
>   (progn
> (setq falist (cons (cons (frame-property frame 'name) frame)
> falist))
> (setq frame (next-frame frame t
> falist))
>   )
>
>
> Cheers,
> Christian Schmitt




Re: Problem setting breakpoint with JDEbug

2003-01-02 Thread Andrew Hyatt

Very odd.  This should work.  To double check, perhaps you can execute
these lines:

(if (not (fboundp 'line-beginning-position))
(defsubst jde-line-beginning-position (&optional N)
  (save-excursion (beginning-of-line N) (point)))
  (defalias 'jde-line-beginning-position 'line-beginning-position))

(if (not (fboundp 'line-end-position))
(defsubst jde-line-end-position (&optional N)
  (save-excursion (end-of-line N) (point)))
  (defalias 'jde-line-end-position 'line-end-position))

Execute them by marking them as a region (using ctrl-space at the
beginning and then moving to the end of the region) and then doing M-x
eval-region.  Does it still happen after you do that?

These lines are from jde-db.el, and should insure that
line-beginning-position is defined no matter what your system is.
Perhaps you do not have these lines, or for some reason they are not
executing.  

To be safe, you really should have a .emacs file.  See the JDE manual
on how to configure it to use JDE.  It may help in this instance,
although right now I can't think of a reason why.


"Tetzlaff, Ralf" <[EMAIL PROTECTED]> writes:

> Hi,
> I am new to XEmacs AND to JDE so be indulgent if I am making ridiculous
> things.
> I have a problem setting a breakpoint with JDEbug. I started the debugger,
> launched a process and then tried to set a breakpoint. But nothing happens
> except an Error Warning: Symbol`s function definition is void:
> line-beginning-position.
> Can anyone help me with this? I used the JDE-Help-Submit problem report
> function and posted the result below.
> 
> Thanks,
> Ralf
> 
> 




Re: Offtopic: thread dump in emacs shell-mode

2002-12-11 Thread Andrew Hyatt

I think C-c C-c should do it, at least that's what works in eshell.

"Sebastian Hauer" <[EMAIL PROTECTED]> writes:

> Hi,
> 
> Sorry for being slightly off topic. But I figured this might still the
> right audience the answer this question because your are programming in
> Java using Emacs.
> I am trying to run a java program from the shell-mode in a cygwin-bash
> on windows. Once in a while I would like to press Control-Break to get a
> thread dump from the VM. This works nicely if I am running on cygwin
> standalone but not from within shell-mode.
> 
> Does someone know how to send Control-Break to the running java process?
> 
> Regards,
> 
> Sebastian




Re: Newbie has been stuck for weeks tryig to get stop on breakpoint.

2002-12-06 Thread Andrew Hyatt

You do not need to start the program from JDE to debug it.  You can
start it any way you want (as long as it has those -Xdebug etc java
params) and attach to it.  This seems to be working for you.

First of all, don't do Display->Variable.  Just ignore the whole
Display menu.  At any rate, you can't display anything until you hit a
breakpoint.

It looks like your breakpoint is set, and is getting resolved.  It
must be valid.  Either your program simply isn't running into it (this
would happen if you set it on statup code, since you have
"suspend=n". ) or somethng else is happening.  

Everything you included looks good, so I'm guessing you probably
simply aren't running into it.  If you are getting any error in
attaching or setting the breakpoint, go to the Options menu and set it
to debug on error.  Then try again, and send the stack trace.


Christopher Mark Balz <[EMAIL PROTECTED]> writes:

> I've been posting once every 10 days for weeks, and hope someone can
> point me in the right direction.
> 
> Problem:
> ---
> Not able to get any use out of jdebug yet.
> 
> With What:
> -
> Windows 2000 Service Pack 3, Java 1.4 SDK, Tomcat 3.3 Servlet Engine,
> GNU Emacs 21.2.1, JDE 2.2.8, a web application that I'm trying to
> debug, compiled with -g option, running Tomcat from startup.bat with
> normal successful operation, have TOMCAT_OPTS set to:
>  -Xdebug -Xnoagent
> -Xrunjdwp:transport=dt_socket,address=6001,server=y,suspend=n
> 
> Description:
> ---
> I've gotten as far as successfully attaching to the Tomcat (v3.3)
> Server process.  See below for output.  The web application that I am
> trying to debug does not seem to stop at the breakpoint I set.  When I
> try to Display->Variable, I get an obscure error message referring to
> an 'unbound slot'.
> 
> Other Stuff that May Matter:
> ---
> On the JDE FAQ page, I noticed that it recommended starting the web
> server from the JDE.  Since tomcat.bat and tomcat.sh are a few hundred
> lines long, I don't know if this is the best option.  Is it necessary?
> 
> I found the simplified Tomcat startup commands in startup.sh, created
> a project file, and set the variables indicated in the FAQ entry.  But
> then on JDE->Run App, it used javaw (?I am not using AWT) and the -v
> option, which crashed the starting of the vm.  Any comments?
> 
> Thank You in Advance!
> 
> 
> Debugger Output
> ---
> 
> *** Debugger Output for Process 6001(1) ***
> 
> Attached to process on port 6001 of local host.
> Attached VM (socket) Java Debug Interface (Reference Implementation)
> version 1.4
> Java Debug Wire Protocol (Reference Implementation) version 1.4
> JVM Debug Interface version 1.2
> JVM version 1.4.0 (Java HotSpot(TM) Client VM, mixed mode)
> Running 6001.
> Setting breakpoint at line 390 in QueryOutput.java.
> Resolved breakpoint set in QueryOutput.java at line 390.
> Cleared breakpoint at line 390 in file QueryOutput.java
> Setting breakpoint at line 390 in QueryOutput.java.
> Resolved breakpoint set in QueryOutput.java at line 390.
> -- 
> ". . . / This Cabinet is formd of Gold / And Pearl & Crystal shining bright
> And within it opens into a World / . . .
> Another England there I saw / Another London with its Tower
> Another Thames & other Hills / And another pleasant Surrey Bower
> . . ."
> - from "The Crystal Cabinet", a poem by William Blake.
> 
> 
> -- 
> ". . . / This Cabinet is formd of Gold / And Pearl & Crystal shining bright
> And within it opens into a World / . . .
> Another England there I saw / Another London with its Tower
> Another Thames & other Hills / And another pleasant Surrey Bower
> . . ."
> - from "The Crystal Cabinet", a poem by William Blake.




Re: keybindings (was Re: JDEE installer?)

2002-12-04 Thread Andrew Hyatt


Peter Dobratz <[EMAIL PROTECTED]> writes:

> Andrew Hyatt writes:
>  > For example, what's with the C-c C-v keybindings?  This is only one key
>  > off from the C-x C-c binding which exits emacs.  Not good.
> 
> I think the point of these keybindings is that they are easy to type.
> In any case, you are right about C-x C-c being easy to inadvertantly
> type.  It is quite easy to hit the c and x and the same time when
> doing any number of commands that start with either C-x or C-c (which
> most emacs modes make heavy use of).  One way to fix the problem of
> inadvertently exiting emacs is to add set the variable
> confirm-kill-emacs to something like y-or-n-p so that it always asks
> you before exiting.

Yes, I see you are correct.  This is not a unique problem with JDE.  I
have in fact turned on that C-x C-c keybinding because of this.  I do
still think that shorter keybindings might be nicer, though.  And for
debugging they are essential - they should be just keys (I have mine
bound to f10, f11, etc)

> 
> --Peter




Re: JDEE installer?

2002-12-04 Thread Andrew Hyatt

Gee, I really think you are being unreasonable here.  I think JDE
could improve in user friendliness.  A lot of things in emacs-land
can.  That doesn't mean to switch to GUI's or anything.  But JDE
SHOULD be user-friendly.  You can have user-friendly emacs programs,
look at BBDB.  It's usually not significantly more difficult to make
things easier than it is to make them harder.  It just takes a
willingness to listen to user feedback, and a perception of what
interactions seem to be "pain points".  If JDE was not friendly,
people wouldn't use it, they would use Java-mode instead.  Some people
at my company do exactly this.  I'm not saying JDE's UI is very bad,
I actually think it's one of the better UI's in emacs-land.  However,
I think there is room for improvement.

An example of a ui problem: I was showing my boss how to use
JDE.  I showed him how to attach to a running Java process and step
through the program.  When he asked how to see local variables, I
paused for a second.  I do this all the time, but I made my own
keybinding for it.  So I looked through the menu and found
"JDebug->Display->Local Variables".  When we did this, though, it
wasn't what I wanted, and he wasn't very impressed.  I had to assure
him that there was a very nice way to view local variables, I just
could't find it at the moment.  I later found it was at "JDebug->Show
Buffer->Locals".  I think things that cause confusion like this are a
real problem.  If I can't find the command, it's as much a problem as
if the command doesn't work.  To me, there would be no difference.
For this case, perhaps that Display menu item should be renamed
something else, although I don't use it enough to know what would be
more appropriate.


"Artur Hefczyc" <[EMAIL PROTECTED]> writes:

> > My personal opinion is that Emacs should become a little more user-friendly, 
> > otherwise IDEs like JBuilder and WebSphere Studio Enterprise Developer WILL 
> > take over, and Emacs will become a notepad on steroids. I don't know about 
> > you, but I have a tough time remembering just a few function names, not to 
> > mention the several hundred that JDEE/Emacs offer. GUI isn't such a bad 
> > thing. Let's face it, we're living in the 21st Century.
> Maybe I am too old for modern 21st century apps. Maybe not. I even used
> Linux with kernel version below 1.0.0, don't exactly remember which one.
> During my development career I used many advanced IDEs: Borland Pascal,
> Delphi, Borland C++ builder, JBuilder and some other. At last I fallen
> in love to emacs and after starting programming in Java to JDEE for
> emacs.
> Look, Emacs shouldn't be user friendly because it isn't for users.
> Emacs is for developers so it should be developers friendly. And it is!
> I assume you are Java programmer. If you have troubles with remembering
> just few function names how can you be good Java programmer? Java has
> much more classes and methods. And each new JDK release offers next sets
> of packages with classes.
> Development is all about learning. If just don't like learning change
> your duty. 
> Actually I am not going to force you use emacs+jdee or other IDEs or
> change your programming habits. Emacs+JDEE is for java developers as
> well as other Java Builders. They are simply for different kind of
> developers.
> Don't change emacs! I love it as is. If you don't like it switch to
> different IDE.
> 
> PS. Please, please don't send copy of your e-mails to my address.
> I read jdee mailing list regularly so I don't need copies of each
> mail.
> 
> regards
> Artur Hefczyc
> -- 
> Artur Hefczyc 
> [EMAIL PROTECTED]
> http://wttools.sourceforge.net/
> http://geotools.sourceforge.net/




Re: JDEE installer?

2002-12-04 Thread Andrew Hyatt

Althought we're getting off the topics of installers, I say I agree,
but that doesn't mean GUI's.  If emacs people like GUI's they wouldn't
be emacs people.  But we need better UI for jde in general.  For
example, what's with the C-c C-v keybindings?  This is only one key
off from the C-x C-c binding which exits emacs.  Not good.  And in the
debugger, is there anyone who has not rebound jde-bug-step-over?  No
way anyone is typing C-c C-z n just to go to the next line!  When
debugging, things should work like in edebug - editing is disabled,
"n" for next, "c" for continue, "e" for eval.  This would help a lot.



"Daniel Hegyi" <[EMAIL PROTECTED]> writes:

> > > I think that a user-friendly install-shield-like GUI wizard for
> > the Windows
> > > folks would be very nice. You know, with check-boxes and "Next"
> > buttons. :)
> >Heh, feel free to create such one. I am the one who hates GUI wizards.
> >If I would love them you can be sure I would prefer to use JBuilder like
> >whole company where I work, instead of emacs+JDEE.
> 
> My personal opinion is that Emacs should become a little more
> user-friendly, otherwise IDEs like JBuilder and WebSphere Studio
> Enterprise Developer WILL take over, and Emacs will become a notepad
> on steroids. I don't know about you, but I have a tough time
> remembering just a few function names, not to mention the several
> hundred that JDEE/Emacs offer. GUI isn't such a bad thing. Let's face
> it, we're living in the 21st Century.
> 
> Daniel
> 
> _
> Tired of spam? Get advanced junk mail protection with MSN
> 8. http://join.msn.com/?page=features/junkmail




Re: Refactoring Wish List

2002-12-02 Thread Andrew Hyatt

It's there now, but the code is pretty "alpha" in my opinion.  I think
it should stabilize in the next few weeks.

"Sebastian Hauer" <[EMAIL PROTECTED]> writes:

> Not exactly refactoring but unbelievably useful.
> Find the usage of a variable or method name.
>  
> If JDEE or some other free emacs mode is able to provide this feature
> please let me know.
>  
> Regards,
>  
> Sebastian
> 
> -Original Message-
> From: Nascif Abousalh-Neto [mailto:[EMAIL PROTECTED]] 
> Sent: Monday, December 02, 2002 6:23 PM
> To: [EMAIL PROTECTED]
> Subject: Refactoring Wish List
> 
> 
> 
> So far we have: 
> 
> 1. Changing class name (and all references). 
> 2. Changing names of any choosen class member - field, method (and all
> references) 
> 3. Changing package for one or more classes with 'one click' (and all
> references) 
> 4. Moving class to different package 
> 5. Create factory method in place of constructor 
> 6. Extract method from selected piece of code 
> 7. Extract super class or interface for selected piece of code and set
> of fields 
> 8. Deleting classes/methods/attributes 
> 9. Copying classes into other packages 
> 10.Copying methods/attributes into other classes 
> 
> I would like to see some features from Transmogrify, which may not be
> necessarily refactorings but are easy to implement once you have a
> refactoring framework (which requires the complete syntax trees plus
> reference resolution) in place:
> 
> 11. Wrapping a block of code in a try/catch (exceptions needed extracted
> from the signatures of the methods in the block)
> 
> 12. Finding out unsused variables/methods/classes 
> 13. Finding out shadowed variables/methods 
> 
> Maybe we should have a page somewhere and vote? A system like bugzilla
> to track requirements/bugs and get user input on the most desirable ones
> would be nice.
> 
> For a comprehensive list of Refactorings as documented by Martin Fowler,
> check http://www.refactoring.com/catalog/index.html
>  
> 
> Regards, 
> Nascif 




Re: Refactoring Wish List

2002-12-02 Thread Andrew Hyatt

Nice list.  What's the difference between 3 and 4, though?  

12 already exists in the current jde-xref code, except it does not
work for classes yet, only class variables and methods.  

"Nascif Abousalh-Neto" <[EMAIL PROTECTED]> writes:

> So far we have: 
> 
> 1. Changing class name (and all references). 
> 2. Changing names of any choosen class member - field, method (and all
> references) 
> 3. Changing package for one or more classes with 'one click' (and all
> references) 
> 4. Moving class to different package 
> 5. Create factory method in place of constructor 
> 6. Extract method from selected piece of code 
> 7. Extract super class or interface for selected piece of code and set
> of fields 
> 8. Deleting classes/methods/attributes 
> 9. Copying classes into other packages 
> 10.Copying methods/attributes into other classes 
> 
> I would like to see some features from Transmogrify, which may not be
> necessarily refactorings but are easy to implement once you have a
> refactoring framework (which requires the complete syntax trees plus
> reference resolution) in place:
> 
> 11. Wrapping a block of code in a try/catch (exceptions needed extracted
> from the signatures of the methods in the block)
> 
> 12. Finding out unsused variables/methods/classes 
> 13. Finding out shadowed variables/methods 
> 
> Maybe we should have a page somewhere and vote? A system like bugzilla
> to track requirements/bugs and get user input on the most desirable ones
> would be nice.
> 
> For a comprehensive list of Refactorings as documented by Martin Fowler,
> check http://www.refactoring.com/catalog/index.html
>  
> 
> Regards, 
> Nascif 




Re: prj.el under source control

2002-11-19 Thread Andrew Hyatt

Actually, I think I misread your question.  I thought you were asking
if multiple prj.el files could be in affect at once - so that on going
to a file, we would walk from the root directory to the current
directory, executing each prj.el in between.  

If we do this (who knows, JDE may do it already), then you could
easily do what you want, just put in your prj.el (add-to-list
'jde-global-classpath "this/project/dir"), etc.  I think this may be
frowned upon, since all setting of variables should come through
customizations, but it should work.  IMHO, we shouldn't have this
policy where things have to be customized instead of just set, it
seems against the free-wheeling nature of elisp.

"Nascif Abousalh-Neto" <[EMAIL PROTECTED]> writes:

> Thanks, appreciated. 
> Maybe a special symbol meaning the contents of the same variable as
> defined in a parent (or default) prj.el would do the trick... So you
> could have
> 
> jde-global-classpath = ($BASE_VALUE "this/project/dir") 
> 
> 
> > -Original Message- 
> > From: Andrew Hyatt [ mailto:[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]> ] 
> > Sent: Tuesday, November 19, 2002 4:56 PM 
> > To: Abousalh-Neto, Nascif [NCRTP:3X50:EXCH] 
> > Cc: [EMAIL PROTECTED] 
> > Subject: Re: prj.el under source control 
> > 
> > 
> > "Nascif Abousalh-Neto" <[EMAIL PROTECTED]> writes: 
> > 
> > > PS: Still no comments on my previous question on how to have 
> > > subprojects appending to paths defined on parent projects, 
> > instead of 
> > > just overriding then... 
> > 
> > I haven't looked at the code to do this, but I imagine this 
> > would be a fairly easy fix.  And I think it's a good 
> > suggestion.  I'll see if I can produce a patch soon. 
> > 
> > 




Re: prj.el under source control

2002-11-19 Thread Andrew Hyatt
"Nascif Abousalh-Neto" <[EMAIL PROTECTED]> writes:

> PS: Still no comments on my previous question on how to have subprojects
> appending to paths defined on parent projects, instead of just
> overriding then...

I haven't looked at the code to do this, but I imagine this would be a
fairly easy fix.  And I think it's a good suggestion.  I'll see if I
can produce a patch soon.




Re: JDEE on Mac OS X (was: JDEE Home Page)

2002-10-30 Thread Andrew Hyatt

I submitted a patch a few weeks ago to get JDE to work with Mac OS X's
strange Java directory structure.  Hopefully it will appear in the
next version of JDE.

Dwight Shih <[EMAIL PROTECTED]> writes:

> When you say that it doesn't work, what exactly isn't working?
> 
> I'm a recent switcher on Mac OS X 10.2, and the first thing that I had
> to do was to twiddle the JDK installation. The JDEE uses the beanshell
> extensively and needs to be able to find tools.jar from the JDK.
> However, Apple has repackaged the contents of tools.jar in
> classes.jar.  I don't think that it makes sense to patch JDEE to chase
> Apple's JDK,  so I built an alternate structure with a more standard
> format. Here's  what it looks like:
> 
> CurrentJDK/Sun-Repro 160 $ pwd
> /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Sun-
> Repro
> CurrentJDK/Sun-Repro 161 $ ls -l
> total 8
> lrwxr-xr-x  1 root  wheel   11 Oct 30 11:13 bin -> ../Commands
> drwxr-xr-x  3 root  wheel  102 Oct 30 11:14 lib
> CurrentJDK/Sun-Repro 162 $ ls ../Commands
> appletviewer jarsignerjavadoc  keytool  policytool
> serialver
> extcheck java javahnative2ascii rmic
> tnameserv
> idlj java-rmi.cgi javapoldjava  rmid
> jar  javacjdb  oldjavac rmiregistry
> CurrentJDK/Sun-Repro 163 $ ls -l lib
> total 8
> lrwxr-xr-x  1 root  wheel  25 Oct 30 11:14 tools.jar ->
> ../../Classes/classes.jar
> 
> Since everything is internally consistent I don't need to set
> JAVA_HOME  for the command line, so I just set JAVA_HOME for JDEE by
> adding:
> 
> (setenv "JAVA_HOME"
>   "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Sun-
> Repro")
> 
> to my initialization file (~/emacs/my-osx.el in my case which I load
> from my .emacs).
> 
> As far as emacs itself goes, I wanted a current native version, so I
> had to build it myself.
> 
>   http://members.shaw.ca/akochoi-emacs/
> 
> YMMV
> 
> Dwight
> 
> On Wednesday, October 30, 2002, at 08:22  AM, mike hakata wrote:
> 
> > I am running Mac OS X 10.1.5 and am trying to run the JDEE with emacs.
> > Unfortunately emacs works fine, but the JDEE doesn't seem to run at
> > all.
> >
> > I'm sure it's the way I have it configured! Of course!
> >
> > Firstly, I have my .emacs file in my ~/ directory.
> > (although my emacs application runs from /usr/emacs/20.7) - 20.7
> > being  the
> > Darwin version.
> >
> > The .emacs file reads:
> >
> > (setq default-major-mode 'text-mode)
> > (add-hook 'text-mode-hook 'turn-on-auto-fill)
> >
> >
> > (global-font-lock-mode t)
> >
> >
> >  (setq gnus-button-url 'browse-url-generic
> >browse-url-generic-program "InternetExplorer"
> >browse-url-browser-function gnus-button-url)
> >
> >
> >  (global-set-key [(control tab)] 'bury-buffer)
> >
> >  (iswitchb-default-keybindings)
> >
> > ;;JDEE setup.
> > (setq debug-on-error t)
> >  (autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t)
> >(autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t)
> >
> >
> > (add-to-list 'load-path (expand-file-name
> > "~/emacs/site/jde-2.2.8/lisp"))
> > (add-to-list 'load-path (expand-file-name "~
> > /emacs/site/semantic"))
> > (add-to-list 'load-path (expand-file-name "~/emacs/site/speedbar"))
> > (add-to-list 'load-path (expand-file-name "~/emacs/site/elib"))
> > (add-to-list 'load-path (expand-file-name "~/emacs/site/eieio"))
> >
> > (require 'jde)
> >
> > (defun my-jde-mode-hook ()
> >   (setq c-basic-offset 2))
> >
> > (add-hook 'jde-mode-hook 'my-jde-mode-hook)
> >
> > Any help as to why this isn't working would be great.
> > And also why it won't accept the browser, saying it cannot be found.
> >
> > Thanks in advance
> > Mike
> >
> >
> >
> >




Re: [JDEE] Mailing list feature request

2002-10-12 Thread Andrew Hyatt


Couldn't you just filter on the jde address, such as this (for
reading mail with gnus's nnimap):

(setq nnimap-split-rule '(("INBOX/JDE" "^[Tc][oc].*jde")))

Ralph Jocham <[EMAIL PROTECTED]> writes:

> Hi,
> I am on a couple of mailing lists. That means I get
> tons of mails a day. Some mailing lists add a prefix
> indicating to which mailing list it belongs in the
> subject before forwarding. (i.e. Subj.:
> [CruiseControl] blah-foo). This makes skimming through
> the mails much faster.
> 
> Would it be possible to install the same for JDEE. A
> [JDEE] prefix for example. (see the subject of this
> mail- done manually)
> 
> Just the thought from a big JDEE fan ...
> 
> Thanks,
> Ralph
> 
> 
> 
> __
> Do you Yahoo!?
> Faith Hill - Exclusive Performances, Videos & More
> http://faith.yahoo.com




Re: C-c Cv C-b build with Ant does not work

2002-10-08 Thread Andrew Hyatt


I've found that for these types of errors, the best thing to do is to
turn on "Enter Debugger on Error" (in the Emacs Options menu).  That
will give you a nice stack trace you could send over.  Be sure and
exit from the debugger (press q in the backtrace window), then turn
the option off when you are done, it could be annoying if left on.

Ralph Jocham <[EMAIL PROTECTED]> writes:

> Thanks for the help, but the same error is still being
> shown.
> 
> Here my latest prj.el:
> 
> (jde-project-file-version "1.0")
> (jde-set-variables
>  '(jde-jdk-registry (quote (("1.3.1" .
> "c:/jdk1.3.1_04/"
>  '(jde-mode-line-format (quote ("-"
> mode-line-mule-info mode-line-modified
> mode-line-frame-identification
> mode-line-buffer-identification " " global-mode-string
> " %[(" mode-name mode-line-process minor-mode-alist
> "%n" ")%]" (line-number-mode "L%l-")
> (column-number-mode "C%c-") (-3 . "%p")
> (jde-which-method-mode ("-" jde-which-method-format
> "-")) "-%-")))
>  '(jde-ant-enable-find t)
>  '(jde-ant-complete-target nil)
>  '(jde-enable-abbrev-mode t)
>  '(jde-global-classpath (quote
> ("c:/cygwin/home/jcsc/build/"
> "c:/cygwin/home/jcsc/lib/gnu-regexp.jar")))
>  '(jde-gen-comments nil)
>  '(jde-ant-home "")
>  '(jde-ant-read-buildfile nil)
>  '(jde-build-function (quote (jde-ant-build)))
>  '(jde-debugger (quote ("JDEbug")))
>  '(jde-compile-option-deprecation t)
>  '(jde-gen-k&r nil)
>  '(jde-ant-program "")
>  '(jde-sourcepath (quote
> ("e:/JDK1.3.1-Source/j2sdk1.3.1/src/share/classes/"
> "c:/cygwin/home/jcsc/src/")))
>  '(jde-compile-option-target (quote ("1.3")))
>  '(jde-ant-buildfile "")
>  '(jde-ant-invocation-method (quote ("Script")))
>  '(jde-compile-option-optimize t))
> 
> --- Andrew Hyatt <[EMAIL PROTECTED]> wrote:
> > 
> > Ralph Jocham <[EMAIL PROTECTED]> writes:
> > 
> > > Hi,
> > > I setup JDE to use my ant script. But when typing
> > the 
> > > c-c c-v c-b for starting the build I get the
> > following
> > > error messsage.
> > > 
> > > Wrong type argument: arrayp, nil
> > > 
> > > What does this mean Wnat is the recommended
> > way to
> > > invoke ant (Script, Java, or Ant Server)
> > 
> > You probably need need to setup your
> > jde-jdk-registry, otherwise JDE
> > won't know how to which java to compile Ant with. 
> > Do a Ctrl-H v
> > jde-jdk-registry to read about that variable, and to
> > customize it.
> > 
> > > 
> > > My system:
> > > Win2k
> > > Emacs 21.2.1
> > > Jde 2.2.9beta12
> > > jdk1.3.1_04
> > > cygwin/bash
> > > ANT_HOME points to the ant folder
> > > PATH points to ANT_HOME/bin
> > > 
> > > My prj.el file:
> > > 
> > > (jde-project-file-version "1.0")
> > > (jde-set-variables
> > >  '(jde-mode-line-format (quote ("-"
> > > mode-line-mule-info mode-line-modified
> > > mode-line-frame-identification
> > > mode-line-buffer-identification " "
> > global-mode-string
> > > " %[(" mode-name mode-line-process
> > minor-mode-alist
> > > "%n" ")%]" (line-number-mode "L%l-")
> > > (column-number-mode "C%c-") (-3 . "%p")
> > > (jde-which-method-mode ("-"
> > jde-which-method-format
> > > "-")) "-%-")))
> > >  '(jde-ant-enable-find t)
> > >  '(jde-enable-abbrev-mode t)
> > >  '(jde-global-classpath (quote
> > > ("c:/cygwin/home/jcsc/build/"
> > > "c:/cygwin/home/jcsc/lib/gnu-regexp.jar")))
> > >  '(jde-gen-comments nil)
> > >  '(jde-ant-home "e:/jakarta-ant-1.5/")
> > >  '(jde-build-function (quote (jde-ant-build)))
> > >  '(jde-debugger (quote ("JDEbug")))
> > >  '(jde-gen-k&r nil)
> > >  '(jde-sourcepath (quote
> > >
> > ("e:/JDK1.3.1-Source/j2sdk1.3.1/src/share/classes/"
> > > "c:/cygwin/home/jcsc/src/"
> > > 
> > > 
> > > My .emacs file:
> > > ;;
> > >
>