Hi Paul, Thank you for your response. Jde indeed knows the context. There is some problem when the file is loaded. I will mail you the details later. This maybe the reason for the hook problem.
At some point jde displayed: [Class-name{}.Method-name()] this is actually what I would like to see (the full context). Is it possible to tell jde to display it this way? Regards, > On: Wed, 6 Apr 2005 00:08:30 -0400 > Paul Kinnucan <[EMAIL PROTECTED]> wrote: > > Hi Yigal, > > I tried the "what's this" feature on the class that you sent me. > It works fine for me, i.e., when point is in a method, it displays > [M:methodName], when point is in class, [C:className], and when it > is outside a class [???]. This feature uses an Emacs hook function. > If an error occurs in any of the hook functions, Emacs stops > invoking the hook functions. This would cause the feature to > appear to stop working. > > Paul > > Yigal Hochberg writes: > > > > Paul, > > > > I started to use your jde mode for Java development in emacs. Thank > > you for the excellent work. > > > > I would like to display the current class and method on the mode-line > > in []. > > > > Some of the times it works ok, some other times it does not display > > anything just [???] Even when the cursor is inside a method inside a > > class. > > > > Some of the times it displays only the method but not the class it is > > in. > > > > I use a very simple file to check this feature. See below. > > > > Regards, > > > > > > -- > > - Yigal > > > > > > ===File ~/java/hello.java=================================== > > /* Last edit: Fri Mar 25 09:34:59 2005 > > */ > > > > public class hello { > > > > /** > > * main entry > > */ > > public static void main(String[] args) { > > > > Throwable t = new Throwable(); > > > > StackTraceElement thisOne = t.getStackTrace()[0]; > > String myMethod = thisOne.getMethodName(); > > String myClass = thisOne.getClassName(); > > > > String s = "world"; > > String arg0 = "no-args"; > > if (args.length > 0) > > arg0 = args[0]; > > > > int x; > > x = 5; > > System.out.println("args=" +arg0 +" hello " +s +" x=" +x); > > System.out.println("class=" +myClass +" method=" +myMethod); > > System.out.println(getCurrentMethodName() +"hello"); > > } > > > > /** > > * Gets the name of the class and method that called this method to > stdout > > * > > * @return String the name of the class and method that called this > method. > > */ > > public static String getCurrentMethodName() { > > > > Throwable t = new Throwable(); > > StackTraceElement thisOne = t.getStackTrace()[1]; > > String myMethod = thisOne.getMethodName(); > > String myClass = thisOne.getClassName(); > > return myClass +"/" +myMethod +"():"; > > } > > > > > > } // class hello > > > > > > /* > > * Local Variables: > > * compile-command: "c:\\Progra~1\\Java\\jdk1.4.2_04\\bin\\javac -g > hello.java" > > * End: > > */ // end hello() > > > > ============================================================ > > > > -- - Yigal