Hi, 
I've just started to use JDE to debug. When I ran into an uncaught exception,
I was able to see the call stacks via the jdb "where" command. As I moved
up/down the stack using the up or down commands, I anticipated to see the
corresponding source code file displayed with an arrow pointing to the right
line but I didn't see that happening. Is this behavior expected or I don't
have JDE set up correctly.

Thanks for the help.

Allen Hsu
IBM Corp.

Host platform: NT 4.5
JDE Version 2.1.5
Emacs Version: 20.6.1

My .emacs file:

;; .emacs file for win32 GNU Emacs
;;
;; Allen Hsu
;; Created: January 27, 1998
;; Last modified: Time-stamp: <2000-05-22 12:24:09 allenh>
;;
(setq debug-on-error t)

;; Remove vertical scroll bar
(toggle-scroll-bar -1)

;(setq default-major-mode 'text-mode)
(setq-default tab-width 4)

(load "gin-mode.elc")
(setq text-mode-hook '(lambda () (auto-fill-mode 1) (gin-mode 1)(setq
indent-tabs-mode nil)))
(setq-default fill-column 72)
(setq-default find-file-run-dired t)

;; Wrap lines that are longer than the width of the window.
(setq-default truncate-lines nil)
(setq-default truncate-partial-width-windows nil)
(setq-default teach-extended-commands-p t)

; For mail
; have mail aliases expand as abbrevs, as soon as you type them in.
(setq-default mail-self-blind t)        ; Insert BCC to self in messages to
be sent
(setq-default mail-yank-prefix "> ");
(setq-default mail-from-style 'angles)

;; Meke gin-mode to recognize - + . * # as the list bullet.
(setq-default gin-left-hang-indent-re 
  "\\s
*\\([-+.*#]\\|[(<]?[0-9]+[.:)>]?\\|[(<]?[0-9]*[a-zA-Z@_-]+[0-9]*[:)>]\\|[a-zA
-Z][.]\\)\\s +")
;; How to read the above regular expression (regexp)
;; \\ means backslash in regexp, so \\| means \| in regexp, etc.
;; "\\s *" - a regular expression matches 0 or more white space
;; "\\(" - beginning of a group construct, "\\)" - end of a group construct
;; "\\|" - means OR
;; So what this regexp says is that the left hanging indent of a line can be
;; zero or more white space followed by a group of strings that is
;;    one of the '-', '+', '.', '*', '#' characters 
;;    OR 
;;    a string composed of
;;           zero or one of '(' or '<' followed by
;;           one or more digits followed by
;;           one of the '.', ':', ')' '>' characters
;;    OR
;;    a string composed of
;;           zero or one '(' followed by
;;           zero or more digits
;;           one or more alphabets and '@' followed by
;;           one of the ':' or ')' character
;;    OR
;;    a string composed of
;;          a single alphabet followed by
;;          the '.' character
;; and followed by one or more white space.
;;

;; If you put a time stamp template anywhere in the first 8 lines of a file,
;; it can be updated every time you save the file.  See the top of
;; time-stamp.el for a sample.  The template looks like one of the following:
;;     Time-stamp: <>
;;     Time-stamp: " "
;; The time stamp is written between the brackets or quotes, resulting in
;;     Time-stamp: <95/01/18 10:20:51 gildea>
;; Here is an example that puts the file name and time stamp in the binary:
;; static char *time_stamp = "sdmain.c Time-stamp: <>";
;; Enable time-stamp on file.
(add-hook 'write-file-hooks 'time-stamp)

;; Display the full pathname for the buffer on the frame title area.
;; "M-x describe-variable mode-line-format" to see all the available
;; %-constructs for displaying various information.
(setq-default frame-title-format " %f")

;; Display day, date, and time as well as line number in the mode line
;;
(setq display-time-day-and-date t)
(display-time)
(setq line-number-mode t)

(setq load-path 
          (nconc '( 
                           "d:/emacs-20.6/site-lisp/jde-2.1.5" 
                           ) 
                         load-path))

(load "cc-mode.elc")
(defconst my-c-style
  '((c-tab-always-indent           . t)
        (c-comment-only-line-offset    . 0)
        (c-comment-continuation-stars  . "** ")
        (c-hanging-comment-starter-p   . nil)
        (c-hanging-comment-ender-p     . nil)
        (c-hanging-braces-alist        . ((substatement-open after)
        
(brace-list-open)))
        (c-hanging-colons-alist        . ((member-init-intro before)
        
(inher-intro)
        
(case-label after)
        
(label after)
        
(access-label after)))
        (c-cleanup-list                . (scope-operator
        
empty-defun-braces
        
defun-close-semi))
        (c-offsets-alist               . ((arglist-close     .
c-lineup-arglist)
        
(access-label        . 0)
        
(substatement-open . 0)
        
(case-label        . 2)
        
(statement-case-intro . 2)
        
(block-open        . 0)
        
(knr-argdecl-intro . -)))
        (c-echo-syntactic-information-p . t)
        )
  "My C Programming Style")

;; Customizations for all of c-mode, c++-mode, and objc-mode
(defun my-c-mode-common-hook ()
  ;; add my personal style and set it for the current buffer
  (c-add-style "PERSONAL" my-c-style t)
  (c-set-offset 'substatement-open 0)
  ;; offset customizations not in my-c-style
  (c-set-offset 'member-init-intro '++)
  ;; other customizations
  (setq tab-width 4)
                ;; this will make sure spaces are used instead of tabs
                ;indent-tabs-mode nil)
  ;; we like auto-newline and hungry-delete
  (c-toggle-auto-hungry-state 1)
  ;; keybindings for C, C++, and Objective-C.  We can put these in
  ;; c-mode-map because c++-mode-map and objc-mode-map inherit it
  (define-key c-mode-map "\C-m" 'newline-and-indent)
  )

;; the following only works in Emacs 19
;; Emacs 18ers can use (setq c-mode-common-hook 'my-c-mode-common-hook)
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

;; JDE package
(require 'jde)
(setq jde-web-browser "netscape")
;(setq jde-doc-dir "c:/jdk1.1.5/docs/")
;(jde-db-set-source-paths "c:/jdk1.1.5/src/")

;; Use bash as the shell mode shell
(setq shell-file-name "c:/mksnt/sh.exe")
(autoload 'shell-mode "shell-mode" "Shell mode" t)
(setq win32-quote-process-args t)
(setq shell-command-switch "-c")

;; In shell mode complete directories with "/" instead of "\"
;; Allegedly will be fixed in 19.35
(add-hook 'shell-mode-hook
          '(lamda()(setq comint-completion-addsuffix '("/" . "")))
;         '(lamda()(setq comint-completion-addsuffix t))
          t)

;; Enable global-font-lock mode 
(cond ((fboundp 'global-font-lock-mode)
       ;; Turn on font-lock in all modes that support it
       (global-font-lock-mode t)
       ;; Maximum colors
       (setq font-lock-maximum-decoration t)
       ;; Customize face attributes
       (setq font-lock-face-attributes
             ;; Symbol-for-Face Foreground Background Bold Italic Underline
             '((font-lock-comment-face       "DarkGreen")
               (font-lock-string-face        "Sienna")
               (font-lock-keyword-face       "RoyalBlue")
               (font-lock-function-name-face "Blue")
               (font-lock-variable-name-face "Black")
               (font-lock-type-face          "Black")
               (font-lock-reference-face     "Purple")))
       ;; Create the faces from the attributes
;       (font-lock-make-faces)
))

;; font-lock-make-faces doesn't seem to apper in 20.3.1 so the
;; above doesn't work. Use the following instead.
;;
(set-face-foreground 'font-lock-comment-face            "Firebrick")
(set-face-foreground 'font-lock-string-face             "Sienna")
(set-face-foreground 'font-lock-keyword-face            "Magenta")
(set-face-foreground 'font-lock-function-name-face      "Red")
(set-face-foreground 'font-lock-variable-name-face      "MediumBlue")
(set-face-foreground 'font-lock-type-face               "DarkOrchid")

;(set-face-foreground 'font-lock-reference-face         "DarkGreen")

;; Faces for highlighting.
;;
;(set-face-background 'highlight "Wheat")
(set-face-foreground 'highlight "Red")
(set-face-background 'region "DarkTurquoise")

;; Functions and key bindings for setting tab width.
;;
(defun set-tabwidth-4 ()
  "Set current buffer's tab-width to 4."
  (interactive)
  (setq tab-width 4)
  (recenter))
(global-set-key "\M-4" 'set-tabwidth-4)

(defun set-tabwidth-8 ()
  "Set current buffer's tab-width to 8."
  (interactive)
  (setq tab-width 8)
  (recenter))
(global-set-key "\M-8" 'set-tabwidth-8)

;; Setup for printing on Windows NT.
;;
(require 'ps-print)
(setq ps-paper-type 'letter)
(setq ps-lpr-command "c:\\\\winnt\\\\system32\\\\print.exe")
(setq ps-font-size 9.5)
; the printer name
(setq ps-lpr-switches '("/D:\\\\\\\\BUS1\\\\qms55"))
; a tmp spool file
(setq ps-lpr-buffer "c:\\\\temp\\\\psspool.ps")

(defun nt-ps-print-buffer-with-faces ()
  (interactive)
  (ps-print-buffer-with-faces ps-lpr-buffer)
  (shell-command
   (apply 'concat (append (list ps-lpr-command " ")
                          ps-lpr-switches
                          (list " " ps-lpr-buffer))))
)
(defun nt-ps-print-buffer ()
  (interactive)
  (ps-print-buffer ps-lpr-buffer)
  (shell-command
   (apply 'concat (append (list ps-lpr-command " ")
                          ps-lpr-switches
                          (list " " ps-lpr-buffer))))
)

(defun nt-ps-print-region ()
  (interactive)
  (ps-print-region (point) (mark))
  (shell-command
   (apply 'concat (append (list ps-lpr-command " ")
                          ps-lpr-switches
                          (list " " ps-lpr-buffer))))
)
(define-key global-map "\C-x\\" 'nt-ps-print-buffer)

(global-set-key "\C-t" 'goto-line)

;; For Rmail
; Outgoing mail
(setq user-full-name "Allen Hsu")
(setq user-mail-address "[EMAIL PROTECTED]")
(setq smtpmail-default-smtp-server "snipyr.or.pyramid.com")
(setq smtpmail-local-domain nil)
(setq send-mail-function 'smtpmail-send-it)
(load-library "smtpmail")
; Incoming mail
(setenv "MAILHOST" "snipyr.or.pyramid.com")
(setq rmail-primary-inbox-list '("po:allenh") rmail-pop-password-required t)

(setq-default rmail-delete-after-output t)
;(setq rmail-mode-hook '(lambda () (rmail-mode-menu-setup) (auto-fill-mode
1)))
;(setq rmail-mode-hook '(lambda () (auto-fill-mode 1)))
(add-hook 'mail-setup-hook 'mail-abbrevs-setup)

(global-set-key "\C-xc" 'compile)

(put 'eval-expression 'disabled nil)

;; Enable show-paren mode
(show-paren-mode 1)

;; For PC keyboard
(global-set-key [home] 'beginning-of-line)
(global-set-key [end] 'end-of-line)
(custom-set-variables
 '(jde-compile-option-depend nil)
 '(jde-compile-option-debug (quote ("all" (t t t))))
 '(jde-run-application-class "com.ibm.pmc.client.pmcserver.CimomStuffer")
 '(jde-compile-option-depend-switch (quote ("-depend")))
 '(jde-compile-option-deprecation t)
 '(jde-db-startup-commands (quote
("com.ibm.pmc.client.pmcserver.CimomStuffer")))
 '(jde-db-source-directories (quote ("d:/opencimom/cimom/")))
 '(jde-enable-abbrev-mode t)
 '(jde-db-option-verbose (quote (nil nil nil)))
 '(jde-compile-option-verbose nil))
(custom-set-faces
 '(font-lock-string-face ((((class color) (background light)) (:foreground
"Sienna")))))

Reply via email to