Paul --
I'm running JDE 2.1.5, emacs 20.5a, jdk1_2_2rc2-linux-i386 from Sun.
I'm having a problem with starting jdb. I know you've posted a number
of answers to problems in this vein, but I think I've tried all the
things you have mentioned. None of them seems to help.
Here's what I do:
* Bring up a JDE window on a Java class. The class is
com.MtDiablo.Cryptogram.Dictionary, and its source is located in
/home/al/JavaDevel/com/MtDiablo/Cryptogram.
* The project file (prj.el) is attached, as is my .emacs file and
.custom.el, which it includes.
* jde-db-source-directories is set to '("/home/al/JavaDevel/")
* Compile with options -g -deprecation. Here's the resulting
*compilation* buffer:
======
cd /home/al/JavaDevel/com/MtDiablo/Cryptogram/
javac -g -deprecation Dictionary.java
Compilation finished at Wed Feb 2 21:56:37
======
* Invoke the debugger with C-c C-v C-d
* The following is displayed in buffer
*debugcom.MtDiablo.Cryptogram.Dictionary*:
======
cd /home/al/JavaDevel/com/MtDiablo/Cryptogram/
jdb com.MtDiablo.Cryptogram.Dictionary
Initializing jdb...
> Deferring breakpoint com.MtDiablo.Cryptogram.Dictionary.main.
It will be set after the class is loaded.
> run com.MtDiablo.Cryptogram.Dictionary
>
VM Started: Set deferred breakpoint request com.MtDiablo.Cryptogram.Dictionary:204
#
======
There is actually no '#' in that buffer: I added it to show where
the cursor winds up.
* If I type 'where' and press return, it displays:
======
where
Stopped at line 204 in ), line=204, bci=0
main[1] [1] com.MtDiablo.Cryptogram.Dictionary.main (Dictionary.java.java
main[1] #
======
Again, # represents the ending cursor position. If I type
anything else at that point (I've tried 'next', 'step' and a few
other things) the string I type is echoed but nothing else happens.
* At this point, a message shows up in the echo area and the
*Message* buffer, which reads:
======
Error: could not find ), line=204, bci=0
main[1] [1] com.MtDiablo.Cryptogram.Dictionary.main (Dictionary.java.java. See
jde-db-source-directories.
======
* At this point, if I type 'next' and press return, it displays:
======
next
Step completed: main[1] thread="main", com.MtDiablo.Cryptogram.Dictionary.main(),
line=205, bci=10
main[1] #
======
* It never moves the cursor back into the source buffer. If I move
it back manually, it doesn't display the debugger menu.
* If I run this jdb session is a separate xterm window, it works
fine. None of the oddness displayed above is apparent. Here's the
exact output:
======
al@grady:~ $ jdb
Initializing jdb...
> stop at com.MtDiablo.Cryptogram.Dictionary:204
Deferring breakpoint com.MtDiablo.Cryptogram.Dictionary:204.
It will be set after the class is loaded.
> run com.MtDiablo.Cryptogram.Dictionary
run com.MtDiablo.Cryptogram.Dictionary
>
VM Started: Set deferred breakpoint request com.MtDiablo.Cryptogram.Dictionary:204
Breakpoint hit: thread="main", com.MtDiablo.Cryptogram.Dictionary.main(), line=204,
bci=0
main[1] where
[1] com.MtDiablo.Cryptogram.Dictionary.main (Dictionary.java:204)
main[1] #
======
I'm stumped. Can you help? I'll be glad to run any experiments you
want, or supply any other information you need.
Thanks,
--
Alan Hadsell
"Whatever does not kill me makes me stranger".
(transient-mark-mode t)
(global-font-lock-mode 1)
(auto-compression-mode t)
(set-language-environment "Latin-1")
(load-file (expand-file-name "~/.custom.el" ))
;;
;; Set up load path and info path. These should be before any statements
;; that cause any code to be loaded.
;;
(setq my-lisp (expand-file-name "~/lib/site-lisp"))
(require 'info)
(add-to-list 'load-path (concat my-lisp "/jde-util"))
;(add-to-list 'load-path (concat my-lisp "/jde-2.1.6beta16/lisp"))
(add-to-list 'load-path (concat my-lisp "/jde-2.1.5"))
;;;
;;; Add bbdb, gnus and mailcrypt to the load-path and Info path
;;;
(load-file (expand-file-name "~/.gnus-path"))
;;
;; Set up jde
;;
(autoload 'jde-mode "jde" "Java Development Environment" t)
(setq auto-mode-alist (cons '("\\.java$" . jde-mode) auto-mode-alist))
;(eval-after-load "jde"
; '(progn
;; (require 'jde-cflow)
; (require 'jdok)
; (require 'jjar)
; (require 'jmaker)
; (require 'jpack)
; (require 'jsee)))
(autoload 'auto-ispell-mode "ispell-mode"
"Automatic spell check and word completion minor mode" t)
;; HTML Helper Mode
(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))
;; cperl-mode
(autoload 'cperl-mode "cperl-mode"
"alternate mode for editing Perl programs" t)
(setq auto-mode-alist (cons '("\\.[Pp][LlMm]$" . cperl-mode) auto-mode-alist))
(setq cperl-hairy t)
(defconst my-c-style
'("PERSONAL"
(c-tab-always-indent . nil)
(c-basic-offset . 2)
(c-comment-only-line-offset . 0)
(c-hanging-braces-alist . ((substatement-open before)))
(c-offsets-alist . ((topmost-intro . 0)
(topmost-intro-cont . 0)
(substatement . +)
(substatement-open . 0)
(case-label . +)
(access-label . -2)
(inclass . 4)
(inline-open . 0)
))
)
"My C++ Indentation Style")
(add-hook 'c-mode-common-hook
'(lambda ()
;; Set up style
(let ((my-style "PERSONAL"))
(or (assoc my-style c-style-alist)
(setq c-style-alist (cons my-c-style c-style-alist)))
(c-set-style my-style))
;; other c-mode customizations
(setq tab-width 8
indent-tabs-mode nil)
(c-toggle-auto-hungry-state 1)))
(add-hook 'font-lock-mode-hook
'(lambda ()
(set-face-foreground font-lock-string-face "DarkGreen")))
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;; Remap some keys
(pc-bindings-mode)
(global-set-key [ f4 ] 'compile)
(global-set-key [ f5 ] 'next-error)
(global-set-key [ f6 ] 'previous-error)
(global-set-key [ f11 ] 'bs-cycle-previous)
(global-set-key [ f12 ] 'bs-cycle-next)
;; Set up mabbrev-menu
;(require 'mabbrev-menu)
;; Set up lazy-lock
(setq font-lock-support-mode 'lazy-lock-mode)
;; Set up gnus, bbdb, sc and mailcrypt properly
;; Note: these `gnus-use-installed...' just mean that gnus doesnt add
;; the corresponding directory to the load-path.
(setq gnus-use-installed-gnus t)
;(setq gnus-use-installed-tm t)
(setq gnus-use-installed-mailcrypt t)
(setq gnus-bbdb-lisp-directory (concat my-lisp "/bbdb-2.00.06/lisp"))
(setq gnus-use-tm nil)
(setq gnus-use-mhe nil)
(setq gnus-use-rmail nil)
(setq gnus-use-sendmail t)
(setq gnus-use-vm nil)
(setq gnus-use-sc nil)
(setq gnus-use-mailcrypt t)
(setq gnus-use-bbdb t)
(require 'gnus-setup)
;; BBDB setup
;; New for version 2.00.01
(require 'bbdb)
(bbdb-initialize 'gnus 'message 'w3)
;(autoload 'bbdb-complete-name "bbdb-com" "Insidious Big Brother Database" t)
(add-hook 'message-setup-hook
'(lambda ()
(define-key message-mode-map "\M-\t" 'bbdb-complete-name)))
;; W3 setup
(autoload 'w3 "w3/w3" "WWW Browser" t)
;; MailCrypt setup
;; autoloads and add-hooks are done by gnus-setup
(setq mc-passwd-timeout 600)
(setq mc-pgp-fetch-timeout 60)
;; Use the new key server for MailCrypt key fetch
(setq mc-pgp-keyserver-address "pgp.ai.mit.edu")
(setq mc-pgp-keyserver-port 11371)
(setq mc-pgp-keyserver-url-template "/pks/lookup?op=get&search=%s")
;;
;; Desktop.el
;;
;(require 'desktop)
;(desktop-load-default)
;(desktop-read)
;(add-hook 'kill-emacs-hook
; '(lambda ()
; (desktop-truncate search-ring 3)
; (desktop-truncate regexp-search-ring 3)))
; Mouse wheel control
(require 'mwheel)
; Buffer selection
(require 'bs)
; Automatically-inserted stuff
;;
;; Desktop.el
;;
(defun desktop-start () "Start up desktop mode"
(require 'desktop)
(desktop-load-default)
(desktop-read)
(add-hook 'kill-emacs-hook
'(lambda ()
(desktop-truncate search-ring 3)
(desktop-truncate regexp-search-ring 3))))
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)
(put 'eval-expression 'disabled nil)
(custom-set-variables
'(browse-url-browser-function (quote browse-url-netscape))
'(gnus-junk-recipients-to (quote ((received "postmaster" "abuse"))))
'(gnus-group-faq-directory (quote ("[EMAIL PROTECTED]:/pub/rtfm/usenet/"
"[EMAIL PROTECTED]:/pub/usenet/" "[EMAIL PROTECTED]:/pub/usenet/news-faqs/"
"[EMAIL PROTECTED]:/usenet/news-FAQS/" "[EMAIL PROTECTED]:/pub/rtfm/"
"[EMAIL PROTECTED]:/pub/usenet/" "[EMAIL PROTECTED]:/pub/FAQ/"
"[EMAIL PROTECTED]:/pub/usenet/" "[EMAIL PROTECTED]:/pub/usenet/"
"[EMAIL PROTECTED]:/mirror/faqs/")))
'(gnus-junk-recipients-cc nil)
'(gnus-junk-forbidden-recipients (quote ("[EMAIL PROTECTED]" "[EMAIL PROTECTED]"
"[EMAIL PROTECTED]" "[EMAIL PROTECTED]" "[EMAIL PROTECTED]"
"[EMAIL PROTECTED]")))
'(mm-discouraged-alternatives (quote ("text/html" "text/richtext")))
'(gnus-junk-subject-format "UCE (was: %s)")
'(gnus-junk-include-body t)
'(jde-db-source-directories (quote ("/home/al/JavaDevel")))
'(jde-run-read-app-args t)
'(diary-mail-addr "al@grady")
'(bbdb/news-auto-create-p nil)
'(cperl-hairy t t)
'(gnus-junk-complaint-text (quote (format "Hi,
The following unsolicited junk e-mail (%sincluded below) was
sent to me - apparently from or through your host. If this item
originated on your system, please keep the user who sent it from
repeating this abuse of the Internet mail system. If it was relayed
through your system, please consider reconfiguring your mailer
to disable unauthorized relaying of mail. If your MTA is sendmail,
http://www.sendmail.org is a good place to start.
Thanks,
" (if gnus-junk-include-body "" "headers "))))
'(comment-column 48)
'(gnus-junk-signature "Al Hadsell")
'(mm-automatic-display (quote ("text/plain" "text/enriched" "text/richtext"
"text/x-vcard" "image/.*" "message/delivery-status" "multipart/.*" "message/rfc822"
"text/x-patch" "application/pgp-signature")))
'(custom-file "~/.custom.el")
'(delete-selection-mode nil nil (delsel))
'(gnus-junk-original-header-replacement (quote (("^X-From-Line:" . "From") ("^Xref: .*
" . "") ("^X-Gnus-.*
" . ""))))
'(scroll-bar-mode (quote right)))
(custom-set-faces)
(jde-set-project-name "Cryptogram")
(jde-set-variables
'(jde-run-option-properties nil)
'(jde-run-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
'(jde-gen-buffer-templates (quote (("Class" . jde-gen-class) ("Console" .
jde-gen-console) ("Swing App" . jde-gen-jfc-app))))
'(jde-jsee-javadoc-protected-option t)
'(jde-jsee-get-doc-generator-options-function (quote jsee-get-javadoc-options))
'(jde-compile-option-command-line-args "-g -deprecation" t)
'(jde-gen-action-listener-template (quote ("'& (P \"Component name: \")"
"\".addActionListener(new ActionListener() {\" 'n>" "\"public void
actionPerformed(ActionEvent e) {\" 'n>" "\"}});\" 'n>")))
'(jde-jsee-load-hook (quote (jsee-default-load-hook)))
'(jde-jsee-javadoc--d-directory "$TEMP/jsee")
'(jde-compile-option-depend nil)
'(jde-compile-option-optimize nil)
'(jde-run-option-verify (quote (nil t)))
'(jde-gen-inner-class-template (quote ("'& \"class \" (P \"Class name: \" class)" "(P
\"Superclass: \" super t)" "(let ((parent (jde-gen-lookup-named 'super)))" "(if (not
(string= parent \"\"))" "(concat \" extends \" parent))) \" {\" 'n>" "\"public \" (s
class) \"() {\" 'n> \"}\" 'n> \"}\" 'n>")))
'(jde-run-read-vm-args nil)
'(jde-entering-java-buffer-hooks (quote (jde-reload-project-file)))
'(jde-run-applet-viewer "")
'(jde-compile-option-debug (quote ("selected" (t nil nil))))
'(jde-project-file-name "prj.el")
'(jde-run-option-verbose (quote (nil nil nil)))
'(jde-run-application-class "")
'(jde-db-option-vm-args nil)
'(jde-run-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
'(jde-compile-option-target (quote ("1.1")))
'(jde-appletviewer-option-encoding "")
'(jde-jsee-javadoc-author-option t)
'(jde-jsee-javadoc-others-options "")
'(jde-db-read-vm-args nil)
'(jde-db-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
'(jde-db-mode-hook nil)
'(jde-run-option-garbage-collection (quote (t t)))
'(jde-compile-option-vm-args nil)
'(jde-run-applet-doc "")
'(jde-compile-option-depend-switch (quote ("-Xdepend")))
'(jde-db-option-java-profile (quote (nil . "./java.prof")))
'(jde-compile-option-sourcepath nil)
'(jde-gen-get-set-var-template (quote ("'n>" "(P \"Variable type: \" type) \" \"" "(P
\"Variable name: \" name) \";\" 'n> 'n>" "\"/**\" 'n>" "\"* Get the value of \" (s
name) \".\" 'n>" "\"* @return Value of \" (s name) \".\" 'n>" "\"*/\" 'n>" "\"public
\" (s type) \" get\" (jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"() {return \"
(s name) \";}\" 'n> 'n>" "\"/**\" 'n>" "\"* Set the value of \" (s name) \".\" 'n>"
"\"* @param v Value to assign to \" (s name) \".\" 'n>" "\"*/\" 'n>" "\"public void
set\" (jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"(\" (s type) \" v) {this.\"
(s name) \" = v;}\" 'n>")))
'(jde-compile-option-extdirs nil)
'(jde-db-option-verify (quote (nil t)))
'(jde-run-mode-hook nil)
'(jde-db-option-classpath nil)
'(jde-jsee-javadoc-version-option t)
'(jde-compile-option-deprecation nil)
'(jde-db-startup-commands nil)
'(jde-gen-boilerplate-function (quote jde-gen-create-buffer-boilerplate))
'(jde-compile-option-classpath nil)
'(jde-jsee-javadoc-public-option nil)
'(jde-build-use-make nil)
'(jde-quote-classpath t)
'(jde-gen-to-string-method-template (quote ("'&" "\"public String toString() {\" 'n>"
"\"return super.toString();\" 'n>" "\"}\" 'n>")))
'(jde-run-read-app-args t)
'(jde-db-source-directories (quote ("/home/al/JavaDevel")))
'(jde-db-option-properties nil)
'(jde-db-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes"))))
'(jde-db-set-initial-breakpoint t)
'(jde-run-option-application-args nil)
'(jde-gen-mouse-listener-template (quote ("'& (P \"Component name: \")"
"\".addMouseListener(new MouseAdapter() {\" 'n>" "\"public void
mouseClicked(MouseEvent e) {}\" 'n>" "\"public void mouseEntered(MouseEvent e) {}\"
'n>" "\"public void mouseExited(MouseEvent e) {}\" 'n>" "\"public void
mousePressed(MouseEvent e) {}\" 'n>" "\"public void mouseReleased(MouseEvent e)
{}});\" 'n>")))
'(jde-gen-console-buffer-template (quote ("(funcall jde-gen-boilerplate-function) 'n"
"\"/**\" 'n" "\" * \"" "(file-name-nondirectory buffer-file-name) 'n" "\" *\" 'n" "\"
*\" 'n" "\" * Created: \" (current-time-string) 'n" "\" *\" 'n" "\" * @author \"
(user-full-name) 'n" "\" * @version\" 'n" "\" */\" 'n>" "'n>" "\"public class \""
"(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" {\" 'n>
'n>" "\"public \"" "(file-name-sans-extension (file-name-nondirectory
buffer-file-name))" "\"() {\" 'n>" "'n>" "\"}\" 'n>" "'n>" "\"public static void
main(String[] args) {\" 'n>" "'p 'n>" "\"}\" 'n> 'n>" "\"} // \""
"(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'n>")))
'(jde-compile-option-directory "")
'(jde-run-option-vm-args nil)
'(jde-jsee-javadoc-nodeprecated-option nil)
'(jde-jsee-get-doc-url-function (quote jsee-get-javadoc-url))
'(jde-make-program "make")
'(jde-compile-option-bootclasspath nil)
'(jde-use-font-lock t)
'(jde-db-option-garbage-collection (quote (t t)))
'(jde-appletviewer-option-vm-args nil)
'(jde-gen-class-buffer-template (quote ("(funcall jde-gen-boilerplate-function) 'n"
"\"/**\" 'n" "\" * \"" "(file-name-nondirectory buffer-file-name) 'n" "\" *\" 'n" "\"
*\" 'n" "\" * Created: \" (current-time-string) 'n" "\" *\" 'n" "\" * @author \"
(user-full-name) 'n" "\" * @version\" 'n" "\" */\" 'n>" "'n>" "\"public class \""
"(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" \"
(jde-gen-get-super-class) \" {\" 'n> 'n>" "\"public \"" "(file-name-sans-extension
(file-name-nondirectory buffer-file-name))" "\"() {\" 'n>" "'p 'n>" "\"}\" 'n>" "'n>"
"\"} // \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))"
"'n>")))
'(jde-compiler "javac")
'(jde-jdk-doc-url "http://www.javasoft.com/products/jdk/1.1/docs/index.html")
'(jde-db-debugger (quote ("jdb" . "Executable")))
'(jde-compile-option-verbose-path nil)
'(jde-jsee-javadoc-notree-option t)
'(jde-run-option-classpath nil)
'(jde-key-bindings (quote (("" . jde-compile) ("" . jde-run) ("" . jde-db)
("" . jde-build) ("" . jde-run-menu-run-applet) ("" .
jde-db-menu-debug-applet) ("
" . bsh) ("" . speedbar-frame-mode) ("" . jde-wiz-implement-interface) ("" .
jde-wiz-import) ("" . jde-browse-jdk-doc) ("" . jde-save-project) ("" .
jde-gen-println))))
'(jde-gen-mouse-motion-listener-template (quote ("'& (P \"Component name: \")"
"\".addMouseMotionListener(new MouseMotionAdapter() {\" 'n>" "\"public void
mouseDragged(MouseEvent e) {}\" 'n>" "\"public void mouseMoved(MouseEvent e) {}});\"
'n>")))
'(jde-db-marker-regexp "^Breakpoint hit: .*(\\([^$]*\\).*:\\([0-9]*\\))")
'(jde-gen-property-change-support (quote ("'&" "\"protected PropertyChangeSupport pcs
= new PropertyChangeSupport(this);\" 'n>" "\"/**\" 'n>\"* Adds a
PropertyChangeListener to the listener list.\" 'n>" "\"* The listener is registered
for all properties.\" 'n>" "\"*\" 'n> \"* @param listener The PropertyChangeListener
to be added\" 'n> \"*/\" 'n>" "\"public void
addPropertyChangeListener(PropertyChangeListener listener) {\" 'n>"
"\"pcs.addPropertyChangeListener(listener);\" 'n> \"}\" 'n> 'n>" "\"/**\" 'n>\"*
Removes a PropertyChangeListener from the listener list.\" 'n>" "\"* This removes a
PropertyChangeListener that was registered for all properties.\" 'n>" "\"*\" 'n> \"*
@param listener The PropertyChangeListener to be removed\" 'n> \"*/\" 'n>" "\"public
void removePropertyChangeListener(PropertyChangeListener listener) {\" 'n>"
"\"pcs.removePropertyChangeListener(listener);\" 'n> \"}\" 'n> 'n>" "\"/**\" 'n>\"*
Adds a PropertyChangeListener for a specific property.\" 'n>" "\"* The listener will
be invoked only when a call on firePropertyChange\" 'n>" "\"* names that specific
property.\" 'n>" "\"*\" 'n> \"* @param propertyName The name of the property to listen
on\" 'n>" "\"* @param listener The PropertyChangeListener to be added\" 'n> \"*/\"
'n>" "\"public void addPropertyChangeListener(String propertyName,\" 'n>"
"\"PropertyChangeListener listener) {\" 'n>"
"\"pcs.addPropertyChangeListener(propertyName, listener);\" 'n> \"}\" 'n> 'n>"
"\"/**\" 'n>\"* Removes a PropertyChangeListener for a specific property.\" 'n>"
"\"*\" 'n> \"* @param propertyName The name of the property that was listened on\"
'n>" "\"* @param listener The PropertyChangeListener to be removed\" 'n> \"*/\" 'n>"
"\"public void removePropertyChangeListener(String propertyName,\" 'n>"
"\"PropertyChangeListener listener) {\" 'n>"
"\"pcs.removePropertyChangeListener(propertyName, listener);\" 'n> \"}\" 'n> 'n>"
"\"/**\" 'n>\"* Reports a bound property update to any registered listeners. \" 'n>"
"\"* No event is fired if old and new are equal and non-null.\" 'n>" "\"*\" 'n> \"*
@param propertyName The programmatic name of the property that was changed\" 'n>" "\"*
@param oldValue The old value of the property\" 'n>" "\"* @param newValue The new
value of the property.\" 'n> \"*/\" 'n>" "\"public void firePropertyChange(String
propertyName, Object oldValue, Object newValue) {\" 'n>"
"\"pcs.firePropertyChange(propertyName, oldValue, newValue);\" 'n> \"}\" 'n> 'n>"
"\"/**\" 'n>\"* Reports a bound property update to any registered listeners. \" 'n>"
"\"* No event is fired if old and new are equal and non-null.\" 'n>" "\"* This is
merely a convenience wrapper around the more general\" 'n>" "\"* firePropertyChange
method that takes Object values.\" 'n>" "\"* No event is fired if old and new are
equal and non-null.\" 'n>" "\"*\" 'n> \"* @param propertyName The programmatic name of
the property that was changed\" 'n>" "\"* @param oldValue The old value of the
property\" 'n>" "\"* @param newValue The new value of the property.\" 'n> \"*/\" 'n>"
"\"public void firePropertyChange(String propertyName, int oldValue, int newValue) {\"
'n>" "\"pcs.firePropertyChange(propertyName, oldValue, newValue);\" 'n> \"}\" 'n> 'n>"
"\"/**\" 'n>\"* Reports a bound property update to any registered listeners. \" 'n>"
"\"* No event is fired if old and new are equal and non-null.\" 'n>" "\"* This is
merely a convenience wrapper around the more general\" 'n>" "\"* firePropertyChange
method that takes Object values.\" 'n>" "\"* No event is fired if old and new are
equal and non-null.\" 'n>" "\"*\" 'n> \"* @param propertyName The programmatic name of
the property that was changed\" 'n>" "\"* @param oldValue The old value of the
property\" 'n>" "\"* @param newValue The new value of the property.\" 'n> \"*/\" 'n>"
"\"public void firePropertyChange(String propertyName, boolean oldValue, boolean
newValue) {\" 'n>" "\"pcs.firePropertyChange(propertyName, oldValue, newValue);\" 'n>
\"}\" 'n> 'n>" "\"/**\" 'n>\"* Fires an existing PropertyChangeEvent to any registered
listeners.\" 'n>" "\"* No event is fired if the given event's old and new values are
equal and non-null. \" 'n>" "\"*\" 'n> \"* @param evt The PropertyChangeEvent
object.\" 'n>\"*/\" 'n>" "\"public void firePropertyChange(PropertyChangeEvent evt)
{\" 'n>" "\"pcs.firePropertyChange(evt);\" 'n> \"}\" 'n> 'n>" "\"/**\" 'n>\"* Checks
if there are any listeners for a specific property.\" 'n>" "\"*\" 'n> \"* @param evt
The PropertyChangeEvent object.\" 'n>" "\"* @return <code>true</code>if there are one
or more listeners for the given property\" 'n>" "\"*/\" 'n>" "\"public boolean
hasListeners(String propertyName) {\" 'n>" "\"return pcs.hasListeners(propertyName);\"
'n> \"}\" 'n> 'n>")))
'(jde-run-working-directory "")
'(jde-gen-window-listener-template (quote ("'& (P \"Window name: \")"
"\".addWindowListener(new WindowAdapter() {\" 'n>" "\"public void
windowActivated(WindowEvent e) {}\" 'n>" "\"public void windowClosed(WindowEvent e)
{}\" 'n>" "\"public void windowClosing(WindowEvent e) {System.exit(0);}\" 'n>"
"\"public void windowDeactivated(WindowEvent e) {}\" 'n>" "\"public void
windowDeiconified(WindowEvent e) {}\" 'n>" "\"public void windowIconified(WindowEvent
e) {}\" 'n>" "\"public void windowOpened(WindowEvent e) {}});\" 'n>")))
'(jde-jsee-doc-generator "javadoc")
'(jde-global-classpath nil)
'(jde-enable-abbrev-mode nil)
'(jde-gen-println (quote ("'&" "\"System.out.println(\" (P \"Print out: \") \");\"
'n>")))
'(jde-run-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects")))
'(jde-db-read-app-args nil)
'(jde-db-option-verbose (quote (nil nil nil)))
'(jde-run-java-vm "java")
'(jde-read-compile-args nil)
'(jde-run-option-java-profile (quote (nil . "./java.prof")))
'(jde-compile-option-encoding nil)
'(jde-jsee-javadoc-private-option nil)
'(jde-run-java-vm-w "javaw")
'(jde-compile-option-nowarn nil)
'(jde-gen-jfc-app-buffer-template (quote ("(funcall jde-gen-boilerplate-function) 'n"
"\"import java.awt.Dimension;\" 'n" "\"import java.awt.Graphics;\" 'n" "\"import
java.awt.Graphics2D;\" 'n" "\"import java.awt.Color;\" 'n" "\"import
java.awt.geom.Ellipse2D;\" 'n" "\"import java.awt.event.WindowAdapter;\" 'n" "\"import
java.awt.event.WindowEvent;\" 'n" "\"import javax.swing.JFrame;\" 'n" "\"import
javax.swing.JPanel;\" 'n" "\"import javax.swing.JScrollPane;\" 'n" "\"import
javax.swing.JMenuBar;\" 'n" "\"import javax.swing.JMenu;\" 'n" "\"import
java.awt.event.ActionEvent;\" 'n" "\"import javax.swing.AbstractAction;\" 'n 'n"
"\"/**\" 'n" "\" * \"" "(file-name-nondirectory buffer-file-name) 'n" "\" *\" 'n" "\"
*\" 'n" "\" * Created: \" (current-time-string) 'n" "\" *\" 'n" "\" * @author \"
(user-full-name) 'n" "\" * @version\" 'n" "\" */\" 'n>" "'n>" "\"public class \""
"(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" extends
JFrame {\" 'n> 'n>" "\"class Canvas extends JPanel {\" 'n> 'n>" "\"public Canvas ()
{\" 'n>" "\"setSize(getPreferredSize());\" 'n>"
"\"Canvas.this.setBackground(Color.white);\" 'n>" "\"}\" 'n> 'n>" "\"public Dimension
getPreferredSize() {\" 'n>" "\"return new Dimension(600, 600);\" 'n>" "\"}\" 'n> 'n>"
"\"public void paintComponent(Graphics g) {\" 'n>" "\"super.paintComponent(g);\" 'n>"
"\"Graphics2D g2d = (Graphics2D) g;\" 'n>" "\"Ellipse2D circle = new
Ellipse2D.Double(0d, 0d, 100d, 100d);\" 'n>" "\"g2d.setColor(Color.red);\" 'n>"
"\"g2d.translate(10, 10);\" 'n>" "\"g2d.draw(circle);\" 'n>" "\"g2d.fill(circle);\"
'n>" "\"}\" 'n> 'n>" "\"}\" 'n> 'n>" "\"public \"" "(file-name-sans-extension
(file-name-nondirectory buffer-file-name))" "\"() {\" 'n>" "\"super(\\\"\" (P \"Enter
app title: \") \"\\\");\" 'n>" "\"setSize(300, 300);\" 'n>" "\"addWindowListener(new
WindowAdapter() {\" 'n>" "\"public void windowClosing(WindowEvent e)
{System.exit(0);}\" 'n>" "\"public void windowOpened(WindowEvent e) {}});\" 'n>"
"\"setJMenuBar(createMenu());\" 'n>" "\"getContentPane().add(new JScrollPane(new
Canvas()));\" 'n>" "\"}\" 'n>" "'n>" "\"public static void main(String[] args) {\"
'n>" "'n>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"
f = new \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))"
"\"();\" 'n>" "\"f.show();\" 'n>" "'p 'n>" "\"}\" 'n> 'n>" "\"protected JMenuBar
createMenu() {\" 'n>" "\"JMenuBar mb = new JMenuBar();\" 'n>" "\"JMenu menu = new
JMenu(\\\"File\\\");\" 'n>" "\"menu.add(new AbstractAction(\\\"Exit\\\") {\" 'n>"
"\"public void actionPerformed(ActionEvent e) {\" 'n>" "\"System.exit(0);\" 'n>"
"\"}\" 'n>" "\"});\" 'n>" "\"mb.add(menu);\" 'n>" "\"return mb;\" 'n>" "\"}\" 'n> 'n>"
"\"} // \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))"
"'n>")))
'(jde-db-option-application-args nil)
'(jde-gen-buffer-boilerplate nil)
'(jde-jsee-javadoc-noindex-option t)
'(jde-db-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes"))))
'(jde-compile-option-verbose nil)
'(jde-jsee-javadoc-package-option nil)
'(jde-mode-abbreviations (quote (("ab" . "abstract") ("bo" . "boolean") ("br" .
"break") ("by" . "byte") ("byv" . "byvalue") ("cas" . "cast") ("ca" . "catch") ("ch" .
"char") ("cl" . "class") ("co" . "const") ("con" . "continue") ("de" . "default")
("dou" . "double") ("el" . "else") ("ex" . "extends") ("fa" . "false") ("fi" .
"final") ("fin" . "finally") ("fl" . "float") ("fo" . "for") ("fu" . "future") ("ge" .
"generic") ("go" . "goto") ("impl" . "implements") ("impo" . "import") ("ins" .
"instanceof") ("in" . "int") ("inte" . "interface") ("lo" . "long") ("na" . "native")
("ne" . "new") ("nu" . "null") ("pa" . "package") ("pri" . "private") ("pro" .
"protected") ("pu" . "public") ("re" . "return") ("sh" . "short") ("st" . "static")
("su" . "super") ("sw" . "switch") ("sy" . "synchronized") ("th" . "this") ("thr" .
"throw") ("throw" . "throws") ("tra" . "transient") ("tr" . "true") ("vo" . "void")
("vol" . "volatile") ("wh" . "while"))))
'(jde-make-args "")
'(jde-gen-code-templates (quote (("Get Set Pair" . jde-gen-get-set) ("toString
method" . jde-gen-to-string-method) ("Action Listener" . jde-gen-action-listener)
("Window Listener" . jde-gen-window-listener) ("Mouse Listener" .
jde-gen-mouse-listener) ("Mouse Motion Listener" . jde-gen-mouse-motion-listener)
("Inner Class" . jde-gen-inner-class) ("println" . jde-gen-println) ("property change
support" . jde-gen-property-change-support)))))