Bravo!

Any idea if this will ever be a standard feature of the JDE?  (Not that I ever get 
stack traces...)

-Thomas

Phillip Lord wrote:

>        Ive got a little bit of lisp here which people might
> like to try out. Its in a very early stage of development, and I shall
> make it work properly eventually, but I already find it quite useful
> myself, so I thought Id let others play with it.
>
>         Its called jde-stack. What it does is renders stack traces
> clickable (or return-key-able if there is such a word). Clicking jumps
> to the relative bit of source if its available by the usual JDE
> mechanism.
>
>         Like I say its at an early stage yet. It does somethings for
> instance which will are distinctly dubious (like globally changing a
> key binding in comint-mode for instance...wave good bye to your return
> key!!!!). Its very much at the stage of a microsoft full release
> (i.e. early alpha). If people think this would be useful, Ill think a
> little bit more carefully on how it should work, and think about
> making the changes.
>
>
>        Cheers
>
>        Phil
>
> ;; Author: Phillip Lord<[EMAIL PROTECTED]>
> ;; Copyright (C) 1999 Phillip Lord
>
> ;; GNU Emacs is free software; you can redistribute it and/or modify
> ;; it under the terms of the GNU General Public License as published by
> ;; the Free Software Foundation; either version 2, or (at your option)
> ;; any later version.
>
> ;; GNU Emacs is distributed in the hope that it will be useful,
> ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
> ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> ;; GNU General Public License for more details.
>
> ;; You should have received a copy of the GNU General Public License
> ;; along with GNU Emacs; see the file COPYING.  If not, write to the
> ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
> ;; Boston, MA 02111-1307, USA.
>
> ;; This now works okay. It is bound to both Shift mouse 2 or a
> ;; return key. These are reasonable keys to choose. The latter will
> ;; cover up somethings within comint mode, however return key is
> ;; disabled as soon as the process has ended, and generally you want
> ;; to follow stack traces one this is the case.
>
> ;; Changes to make.
> ;; The problems with key bindings need to be sorted. Some key other
> ;; than return is possible. I would also like to reduce the coverage
> ;; of these key bindings. There is really only any use for this in jde
> ;; spawned buffers, and this should be possible from within there.
> ;; It would also be nice to define a key somewhat like "next-error"
> ;; which would jump to the next stack trace. This should be pretty
> ;; easy to do. All I need is to set a marker in the comint buffer when
> ;; one of the first methods is found, and then jump to it forward a
> ;; line and call show-at-point
>
> (require 'jde)
>
> (defun jde-stack-show-class-stack(class line)
>   (jde-show-class-source class)
>   (set-buffer (concat class ".java" ))
>   (goto-line (string-to-number line))
>   (if (hs-already-hidden-p)
>       (hs-show-block)))
>
> (defun jde-stack-show-at-mouse (event)
>   (interactive "e" )
>   (save-excursion
>     (set-buffer (jde-stack-url-event-buffer event))
>     (goto-char (jde-stack-event-point event))
>     (jde-stack-show-at-point)))
>
> (defun jde-stack-show-at-point()
>   (interactive)
>   (save-excursion
>     (let ((line-ending
>            (progn(end-of-line)
>                  (point))))
>       (beginning-of-line)
>       (if (re-search-forward "\\([A-Za-z0-9]*\\)\\([.]java\\)\\(:\\)\\([0-9]*\\)" 
>line-ending 't)
>           (jde-stack-show-class-stack (match-string 1) (match-string 4))
>         (message "No stack found" )))))
>
> (defun jde-stack-url-event-buffer (event)
>   (window-buffer (posn-window (event-start event))))
>
> (defun jde-stack-event-point (event)
>   (posn-point (event-start event)))
>
> (define-key comint-mode-map [S-mouse-1] 'jde-stack-show-at-mouse)
> (define-key comint-mode-map [return] 'jde-stack-show-at-point)
>
> (provide 'jde-stack)
begin:vcard 
n:Cook;Thomas
x-mozilla-html:TRUE
org:BEA Systems, Inc.;eSolutions Component R&D
adr:;;;;;;
version:2.1
email;internet:[EMAIL PROTECTED]
title:Software Engineer
fn:Thomas A. Cook
end:vcard

Reply via email to