Please enter the details of your bug report here
One more time! Thanks for being patient. Also, may I suggest that the
option
to include the .emacs file in the help request feature look for the
"_emacs"
file if the ".emacs" file is not present. I didn't include my _emacs
file
earlier because submit bug report didn't find it.
When I compile with jde I get the message "Wrong type argument: stringp,
nil"
Emacs : GNU Emacs 20.5.1 (i386-*-windows95.1111)
of Mon Dec 6 1999 on buffy
Package: JDE version 2.1.6beta16
current state:
==============
(setq
jde-gen-session-bean-template '("(jde-wiz-insert-imports-into-buffer
(list \"javax.ejb.*\"\n\"java.rmi.RemoteException\"))"
"(jde-wiz-update-implements-clause \"SessionBean\")" "'> \"public void
ejbActivate() throws RemoteException {\"'n> \"}\"'n\n'n" "'> \"public
void ejbPassivate() throws RemoteException {\"'n> \"}\"'n\n'n" "'>
\"public void ejbRemove() throws RemoteException {\"'n> \"}\"'n 'n" "'>
\"public void setSessionContext(SessionContext ctx)
throws\nRemoteException {\"" "'n> \"}\"'n 'n" "'> \"public void
unsetSessionContext() throws RemoteException {\"'n>\n\"}\"'n 'n")
jde-run-classic-mode-vm nil
jde-gen-code-templates '(("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)
("EJB Entity Bean" . jde-gen-entity-bean)
("EJB Session Bean" . jde-gen-session-bean))
jde-make-args ""
jde-mode-abbreviations '(("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-compile-option-verbose nil
jde-db-option-heap-size '((1 . "megabytes") (16 . "megabytes"))
jde-bug-breakpoint-marker-colors '("red" . "yellow")
jde-gen-buffer-boilerplate nil
jde-db-option-application-args nil
jde-bug-vm-includes-jpda-p nil
jde-gen-jfc-app-buffer-template '("(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-compile-option-nowarn nil
jde-run-java-vm-w "javaw"
jde-compile-option-encoding nil
jde-run-option-java-profile '(nil . "./java.prof")
jde-bug-jpda-directory ""
jde-read-compile-args nil
jde-run-java-vm "java"
jde-db-option-verbose '(nil nil nil)
jde-db-read-app-args nil
jde-run-option-heap-profile '(nil "./java.hprof" 5 20 "Allocation
objects")
jde-gen-println '("'&" "\"System.out.println(\" (P \"Print out: \")
\");\" 'n>")
jde-enable-abbrev-mode nil
jde-global-classpath nil
jde-gen-window-listener-template '("'& (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-run-working-directory ""
jde-gen-property-change-support '("'&"
"\"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-db-marker-regexp "^Breakpoint hit: .*(\\([^$]*\\).*:\\([0-9]*\\))"
jde-gen-mouse-motion-listener-template '("'& (P \"Component name: \")"
"\".addMouseMotionListener(new MouseMotionAdapter() {\" 'n>"
"\"public void mouseDragged(MouseEvent e) {}\" 'n>" "\"public void
mouseMoved(MouseEvent e) {}});\" 'n>")
jde-key-bindings '(("" . jde-compile) ("" . jde-run)
("" . jde-debug) ("" . jde-build)
("" . jde-run-menu-run-applet)
("" . jde-db-menu-debug-applet) ("\n" . bsh)
("" . speedbar-frame-mode)
("" . jde-wiz-implement-interface)
("" . jde-wiz-find-and-import)
("" . jde-browse-jdk-doc)
("" . jde-save-project) ("\f" . jde-gen-println)
("" . jde-help-class)
("" . jde-show-class-source)
("" . jde-wiz-update-class-list))
jde-run-option-classpath nil
jde-compile-option-verbose-path nil
jde-db-debugger '("jdb" . "Executable")
jde-jdk-doc-url
"http://www.javasoft.com/products/jdk/1.1/docs/index.html"
jde-compiler "javac"
jde-gen-class-buffer-template '("(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-appletviewer-option-vm-args nil
jde-run-executable-args nil
jde-db-option-garbage-collection '(t t)
jde-use-font-lock t
jde-compile-option-bootclasspath nil
jde-make-program "make"
jde-run-option-vm-args nil
jde-compile-option-directory ""
jde-wiz-insert-excluded-packages-regexp "bsh.*"
jde-gen-console-buffer-template '("(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-read-make-args nil
jde-gen-mouse-listener-template '("'& (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-run-option-application-args nil
jde-bug-vm-executable '("javaw")
jde-db-set-initial-breakpoint t
jde-bug-debugger-command-timeout 10
jde-db-option-stack-size '((128 . "kilobytes") (400 . "kilobytes"))
jde-db-option-properties nil
jde-db-source-directories nil
jde-run-read-app-args nil
jde-gen-to-string-method-template '("'&" "\"public String toString()
{\" 'n>"
"\"return super.toString();\" 'n>"
"\"}\" 'n>")
jde-quote-classpath t
jde-build-use-make nil
jde-compile-option-classpath nil
jde-bug-jdk-directory "e:/jdk1.3/"
jde-gen-boilerplate-function 'jde-gen-create-buffer-boilerplate
jde-gen-entity-bean-template '("(jde-wiz-insert-imports-into-buffer
(list \"javax.ejb.*\"\n\"java.rmi.RemoteException\"))"
"(jde-wiz-update-implements-clause \"EntityBean\")" "'> \"public void
ejbActivate() throws RemoteException {\"'n> \"}\"'n\n'n" "'> \"public
void ejbPassivate() throws RemoteException {\"'n> \"}\"'n\n'n" "'>
\"public void ejbLoad() throws RemoteException {\"'n>\"}\"'n 'n" "'>
\"public void ejbStore() throws RemoteException {\"'n>\"}\"'n 'n" "'>
\"public void ejbRemove() throws RemoteException {\"'n>\"}\"'n 'n" "'>
\"public void setEntityContext(EntityContext ctx)
throws\nRemoteException {\"" "'n>\"}\"'n 'n" "'> \"public void
unsetEntityContext() throws RemoteException {\"'n>\n\"}\"'n> 'n")
jde-db-startup-commands nil
jde-compile-option-deprecation nil
jde-db-option-classpath nil
jde-run-mode-hook nil
jde-db-option-verify '(nil t)
jde-compile-option-extdirs nil
jde-gen-get-set-var-template '("'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-bug-saved-breakpoints nil
jde-compile-option-sourcepath nil
jde-db-option-java-profile '(nil . "./java.prof")
jde-compile-option-depend-switch '("-Xdepend")
jde-run-applet-doc ""
jde-compile-option-vm-args nil
jde-run-option-garbage-collection '(t t)
jde-db-mode-hook nil
jde-db-option-heap-profile '(nil "./java.hprof" 5 20 "Allocation
objects")
jde-db-read-vm-args nil
jde-bug-debug nil
jde-appletviewer-option-encoding ""
jde-bug-breakpoint-cursor-colors '("cyan" . "brown")
jde-compile-option-target '("1.1")
jde-run-executable ""
jde-run-option-heap-size '((1 . "megabytes") (16 . "megabytes"))
jde-db-option-vm-args nil
jde-run-application-class ""
jde-run-option-verbose '(nil nil nil)
jde-project-file-name "prj.el"
jde-compile-option-debug '("selected" (t nil nil))
jde-bug-jre-home ""
jde-run-applet-viewer ""
jde-entering-java-buffer-hooks '(jde-reload-project-file)
jde-run-read-vm-args nil
jde-help-docsets nil
jde-gen-inner-class-template '("'& \"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-option-verify '(nil t)
jde-compile-option-optimize nil
jde-compile-option-depend nil
jde-gen-action-listener-template '("'& (P \"Component name: \")"
"\".addActionListener(new ActionListener() {\" 'n>" "\"public
void actionPerformed(ActionEvent e) {\" 'n>" "\"}});\" 'n>")
jde-compile-option-command-line-args ""
jde-gen-buffer-templates '(("Class" . jde-gen-class)
("Console" . jde-gen-console)
("Swing App" . jde-gen-jfc-app))
jde-project-context-switching-enabled-p t
jde-run-option-stack-size '((128 . "kilobytes") (400 . "kilobytes"))
jde-run-option-properties nil
)
There was no JDEBug buffer
Process environment:
TERM=cmd
EMACSDOC=C:/PROGRAM FILES/EMACS-20.5/EMACS/etc
EMACSLOCKDIR=C:/PROGRAM FILES/EMACS-20.5/EMACS/lock
EMACSPATH=C:/PROGRAM FILES/EMACS-20.5/EMACS/bin
EMACSDATA=C:/PROGRAM FILES/EMACS-20.5/EMACS/etc
SHELL=C:/PROGRAM FILES/EMACS-20.5/EMACS/bin/cmdproxy.exe
EMACSLOADPATH=C:/PROGRAM FILES/EMACS-20.5/EMACS/site-lisp;C:/PROGRAM
FILES/EMACS-20.5/EMACS/lisp;C:/PROGRAM FILES/EMACS-20.5/EMACS/leim
HOME="c:\"
TMPDIR=C:\WINDOWS\TEMP
EMACS_DIR=C:/PROGRAM FILES/EMACS-20.5/EMACS
BLASTER=A220 I5 D1 H5 P330 T6 E620
windir=C:\WINDOWS
CMDLINE=WIN
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\JAVA\JDK1.2.1\BIN
COMSPEC=C:\WINDOWS\COMMAND.COM
winbootdir=C:\WINDOWS
PROMPT=$p$g
TEMP=C:\WINDOWS\TEMP
TMP=C:\WINDOWS\TEMP
The contents of the .emacs file was
(put 'eval-expression 'disabled nil)
;; gnuserv opens files when double clicked etc. into existing emacs
(require 'gnuserv)
(gnuserv-start)
(setq gnuserv-frame (selected-frame)) ;makes new client file come up in
;current frame instead of making
a
;new frame.
;; To chage the font on screen and get the X version of the font name,
;; paste this in the scratch buffer (a buffer in Lisp Interaction
;; Font mode) and execute it (type ^J at the end of the line).
;(insert (prin1-to-string (win32-select-font)))
;; This sets the font using the X version of the font name
;(set-default-font
; "-*-Courier-normal-r-*-*-13-97-*-*-c-*-*-ansi-")
;; set frame geometry
(setq initial-frame-alist '((top . 10) (left . 140) (width .
82) (height . 42)))
;; to set colors:
;(set-background-color "dark slate grey")
;(set-foreground-color "LightGoldenrod1")
;(set-cursor-color "magenta")
;; to list available colors use: M-x list-colors
;; Official email address so that VM, RMAIL, GNUS, etc. will know.
(setq user-mail-address "[EMAIL PROTECTED]")
;; Make Text mode the default mode for new buffers.
(setq default-major-mode 'text-mode)
;; Turn on Auto Fill mode automatically in Text mode and related modes.
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;; ediff.el
;; This package provides a convenient way of simultaneous brousing
through
;; the differences between a pair of files or buffers. The two files
being
;; compared (file-A and file-B) are shown in separate windows (side by
;; side, one above the another, or in separate frames), and the
differences
;; are highlighted as you step through them. You can also copy
difference
;; regions from one buffer to another (and recover old differences if
you
;; change your mind).
;;
;; You can invoke Ediff interactively using the following functions:
;;
;; ediff-buffers - compare buffers
;; ediff (alias for ediff-files)
;; ediff-files - compare files
;; ediff-patch-file - patch file then compare
;; epatch - alias for ediff-patch-file
;; ediff-patch-buffer - patch buffer then compare
;; epatch-buffer - alias for ediff-patch-buffer
;; vc-ediff - compare buffer & version
;; using vc.el package
;; (Emacs 19.22 and up).
;; rcs-ediff - same using rcs.el; rcs.el
;; is not part of the
;; standard Emacs distribution.
;;
;; To use Ediff, put this in your .emacs file:
;;
(autoload 'ediff-buffers "ediff" "Visual interface to diff" t)
(autoload 'ediff "ediff" "Visual interface to diff" t)
(autoload 'ediff-files "ediff" "Visual interface to diff" t)
(autoload 'epatch "ediff" "Visual interface to patch" t)
(autoload 'ediff-patch-file "ediff" "Visual interface to patch" t)
(autoload 'ediff-patch-buffer "ediff" "Visual interface to patch" t)
(autoload 'epatch-buffer "ediff" "Visual interface to patch" t)
(autoload 'vc-ediff "ediff"
"Interface to diff & version control via vc.el" t)
;; (autoload 'rcs-ediff "ediff"
;; "Interface to diff & version control via rcs.el" t)
;;
;; If you want Ediff to be loaded from the very beginning, you should
have
;; the following in your .emacs file instead of the above.
;;
;;(require 'ediff)
;; how to load a specific file of emacs lisp code:
;;(load-file "~/.emacs-dcooke")
;; stuff from David Cooke's .emacs-dcooke file (with changes):
;;------------------
;; Here's how to add a directory to the list
;; from which emacs loads elisp code.
;;(setq load-path
;; (cons (expand-file-name "c:/usr/local/site-elisp")
;; load-path))
(setq backup-by-copying-when-linked t)
(setq backup-by-copying-when-mismatch t)
(put 'narrow-to-region 'disabled nil)
;; Transient mark mode causes the region to be and stay highlighted
;; under X. However the region and specifically mark is treated
;; differently in this mode. Commands that alter the buffer delete
;; mark so you no longer have a region.
(transient-mark-mode t)
;; Execute this line if you want text yanked back with the middle
;; mouse button to appear at point instead of at the mouse cursor
position.
(setq mouse-yank-at-point t)
;; Set some calendar mode variables.
;;
;;(setq calendar-latitude 37.1)
;;(setq calendar-longitude -76.4)
;;(setq calendar-location-name "LaRC Hampton, VA")
;; /usr/local/emacs/lib/emacs/19.25/lisp/mldrag.el
;; This package lets you drag the modeline, vertical bar and
;; scrollbar to resize windows. Suggested bindings are:
;;
(global-set-key [mode-line down-mouse-1] 'mldrag-drag-mode-line)
(global-set-key [vertical-line down-mouse-1] 'mldrag-drag-vertical-line)
(global-set-key [vertical-scroll-bar S-down-mouse-1]
'mldrag-drag-vertical-line)
(require 'mldrag)
;;; rsz-mini.el
;;; This package allows the entire contents (or as much as possible) of
the
;;; minibuffer to be visible at once when typing. As the end of a line
is
;;; reached, the minibuffer will resize itself. When the user is done
;;; typing, the minibuffer will return to its original size.
;;; Note that the minibuffer and echo area are not the same! They
simply
;;; happen to occupy roughly the same place on the frame. Messages put
in
;;; the echo area will not cause any resizing by this package.
(require 'rsz-mini)
;; Do stuff for automatic gzip and tar mode.
;;
(require 'jka-compr)
(setq jka-compr-compression-info-list
(cons '["\\.tgz\\'"
"zip" "gzip" ("-q")
"unzip" "gzip" ("-q" "-d")
t nil]
jka-compr-compression-info-list))
(if (jka-compr-installed-p)
(jka-compr-uninstall))
(jka-compr-install)
(setq auto-mode-alist
(cons '("\\.tgz\\'" . tar-mode)
auto-mode-alist))
;; Tell VC to always check the master file, not file permissions or
version
;; headers, to determine the locked/unlocked state of RCS files.
;;
(setq vc-mistrust-permissions t)
(setq vc-consult-headers nil)
;; Don't let VC mess with CVS managed files!
(setq vc-handle-cvs nil)
;; automagically turn on Font Lock mode where supported in emacs-19.31+
;; In Font Lock mode, editing a line automatically refontifies that line
only.
;; However, if your change alters the syntactic context for following
lines,
;; those lines remain incorrectly fontified. To refontify them, use the
new
;; command M-g M-g (font-lock-fontify-block).
(global-font-lock-mode t)
(setq font-lock-maximum-decoration '((c-mode . t) (c++-mode . t) (t .
t)))
(load-library "imenu")
;; Load FDL specific definitions (modified from LaSRS++.el).
;; (file is in site-elisp directory)
(load-library "FDL.elc")
;; For C and C++ automatically break lines before any
;; word exceeding the fill-column
(add-hook 'c-mode-common-hook 'turn-on-auto-fill)
;; Set some personal preferences when in C and C++ mode.
(add-hook 'c-mode-common-hook
'(lambda ()
;; Cause auto-indenting and formatting according to current style.
;; If you want a non-default you must switch to it like this:
;; switch to fdl style: M-x c-set-style RET fdl RET
;; switch to gnu style: M-x c-set-style RET gnu RET
;; Type a '?' when asked for the style and you will get a list of
;; available styles.
;; or add a hook in your .emacs file
;; Turn off auto-newlines when typing semicolons, braces, etc...
(c-toggle-auto-state -1)
;; When <RET> is pressed, indent the newly created line.
(local-set-key "\r" 'reindent-then-newline-and-indent)
;; If the file doesn't end with a newline, add one.
(setq require-final-newline t)
;; If the file doesn't end with a newline,
;; ask if one is wanted.
;(setq require-final-newline 'ask)
(setq c-basic-offset 4) ;;Lee's preference
(setq
indent-tabs-mode nil ;; don't use TAB chars when
indenting.
fill-column 80 ;; column at which to break
lines.
comment-column 44 ;; haven't figured this one out
yet.
)))
;;stops emacs changing case when doing dynamic abbreviation expansion (
M-/ )
(setq dabbrev-case-fold-search nil)
;; double clicking a variable with an underscore in c or c++ mode
;; selects whole variable
;; doesn't work in 19.34.6, maybe it is for 20.x
;(modify-syntax-entry ?_ "w" c-mode-syntax-table)
;(modify-syntax-entry ?_ "w" c++-mode-syntax-table)
;; Prepend additional useful filename/major-mode combinations to the
list.
(setq auto-mode-alist
(append
'(
("\\.[nt]\\(r\\|roff\\)?[0-9]*$" . nroff-mode)
("\\.\\(tbl\\|eqn\\)[0-9]*$" . nroff-mode)
("\\.\\(man\\)?[1-8nl]$" . nroff-mode)
("\\.m[sem][0-9]*$" . nroff-mode)
("\.h$" . c++-mode)
("\.C$" . c++-mode)
("\.FOR$" . fortran-mode)
("\.com$" . fortran-mode)
("\\.ud$" . fortran-mode)
("\\.tex$" . TeX-mode)
("\\.latex$" . LaTeX-mode)
("\.prl$" . perl-mode) ;; non-standard perl file extention
("\.ATN$" . c-mode)
("\.atn$" . c-mode)
)
auto-mode-alist))
;;-----------------------
;; end stuff from David Cooke's .emacs-dcooke
;; enable basic functions of ClearCase in emacs
;(load "vc-hooks.elc")
;; Set some personal preferences when in C and C++ mode.
;; Note that the t parameter at the end or add-hook is important here
;; to cause this hook to be appended to the hook list instead of
prepended.
(add-hook 'c-mode-common-hook
'(lambda ()
;; Switch to the FDL style of code formatting defined in FDL.el.
(c-set-style "fdl")
(setq tab-width 3)
) t)
;;
;; ispell4:
;;
(autoload 'ispell-word "ispell4"
"Check spelling of word at or before point" t)
(autoload 'ispell-complete-word "ispell4"
"Complete word at or before point" t)
(autoload 'ispell-region "ispell4"
"Check spelling of every word in the region" t)
(autoload 'ispell-buffer "ispell4"
"Check spelling of every word in the buffer" t)
(setq ispell-command "c:/Program Files/Emacs/ispell4/exe/ispell.exe"
ispell-look-dictionary "c:/Program Files/Emacs/ispell4/ispell.words"
ispell-look-command "c:/Program Files/Emacs/ispell4/exe/look.exe"
ispell-command-options (list "-d" "c:/Program
Files/Emacs/ispell4/ispell.dict")
)
(setq auto-save-interval 2000)
(setq auto-save-timeout 1000)
(global-set-key "\el" 'goto-line)
(global-set-key "\er" 'query-replace)
(global-set-key "\ec" 'ediff-buffers)
;;(global-set-key "\C-l" 'goto-line)
;;(global-set-key "\C-f" 'find-name-dired)
(global-set-key "\eg" 'igrep-find)
;;;; Set up the shell for the shell mode
(defun my-shell-mode-hook ()
(interactive)
(setq shell-completion-fignore '("~" "#" "%" ".class"))
(setq comint-completion-addsuffix '("/" . " "))
(setq completion-ignored-extensions '(".o" ".elc" "~" ".bin" ".bak"
".obj" ".map" ".dvi" ".toc" ".log" ".aux" ".a" ".ln" ".lof" ".blg"
".bbl" ".glo" ".idx" ".lot" ".fmt" ".class"))
)
(setq shell-mode-hook nil)
(add-hook 'shell-mode-hook 'my-shell-mode-hook)
;; stuff for intellimouse -- doesn't work on W95 for Emacs 19.34.6
;;(defvar mouse-wheel-scroll-amount 3
;; "*Number of lines to scroll per click of the mouse wheel.")
;;(defun mouse-wheel-scroll-line (event)
;; "Scroll the current buffer by `mouse-wheel-scroll-amount'."
;; (interactive "e")
;; (condition-case nil
;; (if (< (car (cdr (cdr event))) 0)
;; (scroll-up mouse-wheel-scroll-amount)
;; (scroll-down mouse-wheel-scroll-amount))
;; (error nil)))
;; for scroll-in-place.el, this way the -scroll-line and -scroll-screen
;; commands won't interact
;;(setq scroll-command-groups (list '(mouse-wheel-scroll-line)))
;;(defun mouse-wheel-scroll-screen (event)
;; "Scroll the current buffer by `mouse-wheel-scroll-amount'."
;; (interactive "e")
;; (condition-case nil
;; (if (< (car (cdr (cdr event))) 0)
;; (scroll-up)
;; (scroll-down))
;; (error nil)))
;; Bind the mouse-wheel event:
;;(global-set-key [mouse-wheel] 'mouse-wheel-scroll-line)
;;(global-set-key [C-mouse-wheel] 'mouse-wheel-scroll-screen)(defvar
mouse-wheel-scroll-amount 3
;; "*Number of lines to scroll per click of the mouse wheel.")
;;(defun mouse-wheel-scroll-line (event)
;; "Scroll the current buffer by `mouse-wheel-scroll-amount'."
;; (interactive "e")
;; (condition-case nil
;; (if (< (car (cdr (cdr event))) 0)
;; (scroll-up mouse-wheel-scroll-amount)
;; (scroll-down mouse-wheel-scroll-amount))
;; (error nil)))
;; for scroll-in-place.el, this way the -scroll-line and -scroll-screen
;; commands won't interact
;;(setq scroll-command-groups (list '(mouse-wheel-scroll-line)))
;;(defun mouse-wheel-scroll-screen (event)
;; "Scroll the current buffer by `mouse-wheel-scroll-amount'."
;; (interactive "e")
;; (condition-case nil
;; (if (< (car (cdr (cdr event))) 0)
;; (scroll-up)
;; (scroll-down))
;; (error nil)))
;; Bind the mouse-wheel event:
;;(global-set-key [mouse-wheel] 'mouse-wheel-scroll-line)
;;(global-set-key [C-mouse-wheel] 'mouse-wheel-scroll-screen)
;; igrep stuff
;;(load-library "ken_igrep") ;;<-- loads ken_igrep.el, for debugging
;; usually use following stuff to load byte compiled files as needed
(autoload (function igrep) "ken_igrep"
"*Run `grep` PROGRAM to match EXPRESSION in FILES..." t)
(autoload (function igrep-find) "ken_igrep"
"*Run `grep` via `find`..." t)
(autoload (function dired-do-igrep) "ken_igrep"
"*Run `grep` on the marked (or next prefix ARG) files." t)
(autoload (function dired-do-igrep-find) "ken_igrep"
"*Run `grep` via `find` on the marked (or next prefix ARG)
directories." t)
(autoload (function grep) "ken_igrep"
"*Run `grep` PROGRAM to match EXPRESSION in FILES..." t)
(autoload (function egrep) "ken_igrep"
"*Run `egrep`..." t)
(autoload (function fgrep) "ken_igrep"
"*Run `fgrep`..." t)
(autoload (function agrep) "ken_igrep"
"*Run `agrep`..." t)
(autoload (function grep-find) "ken_igrep"
"*Run `grep` via `find`..." t)
(autoload (function egrep-find) "ken_igrep"
"*Run `egrep` via `find`..." t)
(autoload (function fgrep-find) "ken_igrep"
"*Run `fgrep` via `find`..." t)
(autoload (function agrep-find) "ken_igrep"
"*Run `agrep` via `find`..." t)
(autoload (function dired-do-grep) "ken_igrep"
"*Run `grep` on the marked (or next prefix ARG) files." t)
(autoload (function dired-do-grep-find) "ken_igrep"
"*Run `grep` via `find` on the marked (or next prefix ARG)
directories." t)
;; use bash for compile commands
;; cygnus find doesn't work great under cmd.exe, particularly
;; -name "*.java" doesn't work under cmd.exe but it does under bash
(defvar bash-path
(cond ((file-exists-p "d:\\bin\\sh.exe") "d:\\bin\\sh.exe")
((file-exists-p "c:\\bin\\sh.exe") "c:\\bin\\sh.exe")
(t nil)))
(defadvice compile-internal (around cygnus-workaround activate)
(let ((shell-file-name bash-path)
(win32-quote-process-args t)
(shell-command-switch "-c")
(path-separator ":")
(grep-null-device "NUL"))
ad-do-it))
;; run the following to disable the above advice
;;(ad-disable-advice 'compile-internal 'around 'cygnus-workaround)
;; turn on column number in mode line
(setq column-number-mode t)
;; set default command that comes up for compile
(setq compile-command '("make "))
;; goes to end of compilation buffer when it is activated so it
;; will scroll as lines are added to the end
(defadvice compile (after goto-eob activate)
(let ((currbuf (current-buffer)))
(select-window (get-buffer-window
(compilation-find-buffer)))
(goto-char (point-max))
(select-window (get-buffer-window currbuf))))
;
=========================================================================
;With this, you can use arrow keys in minibuffer to get history
;otherwise up/down aren't used anyways.
(global-set-key [minibuffer-local-map up] 'previous-history-element)
(global-set-key [minibuffer-local-map down] 'next-history-element)
;; this doesn't appear to be working
; ==== DESKTOP/SAVEPLACE =============================================
(require 'desktop) ; Remember open buffers between sessions, etc.
(require 'saveplace) ; Save Places
(load "desktop")
(setq desktop-basefilename "~/_emacs-dsk")
(setq desktop-globals-to-save (list
'command-history
'default-directory
'extended-command-history
'file-name-history
'minibuffer-history
'query-replace-history
'regexp-history
'regexp-search-ring
'search-ring
'shell-command-history
'find-tag-history
; 'global-mark-ring
; 'kill-ring 'mark-ring
; 'tags-file-name 'tags-table-list
'tags-table-set-list
; 'register-alist
))
(desktop-load-default)
(desktop-read) ;; This fails sometimes
;; ===================
;; ange-ftp stuff:
(setq ange-ftp-ftp-program-name "/Program\ Files/Emacs/ftp/ftp")
(setq ange-ftp-tmp-name-template
(concat (expand-file-name (getenv "TEMP")) "/ange-ftp"))
(setq ange-ftp-gateway-tmp-name-template
(concat (expand-file-name (getenv "TEMP")) "/ange-ftp"))
;;(setq ange-ftp-tmp-name-template "C:/Temp/ange-ftp")
;; telnet stuff ..............
(require 'telnet)
;;;;
(defun telnet (host)
"Open a network login connection to host named HOST (a string).
Communication with HOST is recorded in a buffer `*telnet-HOST*'.
Normally input is edited in Emacs and sent a line at a time."
(interactive "sOpen telnet connection to host: ")
(let* ((comint-delimiter-argument-list '(?\ ?\t))
(name (concat "telnet-" (comint-arguments host 0 nil) ))
(buffer (get-buffer (concat "*" name "*")))
process)
(cond ((string-equal system-type "windows-nt")
(setq telnet-new-line "\n")))
(if (and buffer (get-buffer-process buffer))
(pop-to-buffer (concat "*" name "*"))
(pop-to-buffer (make-comint name telnet-program nil host))
(setq process (get-buffer-process (current-buffer)))
(set-process-filter process 'telnet-initial-filter)
(accept-process-output process)
(telnet-mode)
(setq comint-input-sender 'telnet-simple-send)
(setq telnet-count telnet-initial-count))))
;;;;
(setq telnet-program "/Program\ Files/Emacs/telnet/telnet")
;;..........................
;; turns on highlighting of matching parenthesis
(show-paren-mode 1)
;; sets the default directory for the first buffer
(setq default-directory "~/")
;; this makes new frames tile
(require 'cl)
(defvar top-step 45
"The increment for top in default-frame-alist.")
(defvar left-step 45
"The increment for left in default-frame-alist.")
(defvar max-top 150
"The maximum increment for top in default-frame-alist.")
(defvar max-left 550
"The maximum increment for left in default-frame-alist.")
(add-hook 'after-make-frame-hook
(lambda ()
(let ((top (assq 'top default-frame-alist))
(left (assq 'left default-frame-alist)))
(if left
(progn
(incf (cdr left) left-step)
(if (> (cdr left) max-left)
(setf (cdr left) left-step)))
(push (append '(left) left-step) default-frame-alist))
(if top
(progn
(incf (cdr top) top-step)
(if (> (cdr top) max-top)
(setf (cdr top) top-step)))
(push (append '(top) top-step) default-frame-alist)))))
;;;---------------------------------------------------------------------
;;; display-buffer
;;;
;;; Make new windows split the display into two side-by-side windows,
;;; which is useful since my Emacs use a full screen window.
;;;
;(defun my-display-buffer-function (buf not-this-window)
; (if (and (not pop-up-frames)
; (one-window-p)
; (or not-this-window
; (not (eq (window-buffer (selected-window)) buf)))
; (> (frame-width) 162))
; (split-window-horizontally))
; (let ((display-buffer-function nil))
; (display-buffer buf not-this-window)))
;(setq display-buffer-function 'my-display-buffer-function)
;;Adding the kill-shell to the
;;kill-emacs-hook will force emacs to kill your shell before closing
down
(defun kill-shell ()
(interactive)
(if (get-process "shell")
(progn
(shell)
(sit-for 1)
(end-of-buffer)
(insert "exit")
(comint-send-input)
(while (get-process "shell")
(sit-for 1))
))
(message "Good bye")
(sit-for 1)
)
;;(require 'w32-print-direct)
;; Ask for confirmation before exiting emacs only when ^x ^c is used
(global-unset-key "\C-x\C-c")
(global-set-key "\C-x\C-c" 'cii-confirm-exit-emacs)
(defun cii-confirm-exit-emacs ()
"Ask for confirmation before exiting emacs"
(interactive)
(if (y-or-n-p "Are you sure you want to exit? ")
(save-buffers-kill-emacs)))
;;-------------------------------------------------
;; This code is to put backup files in a directory
(fset 'orthodox-make-backup-file-name
(symbol-function 'make-backup-file-name))
(defun make-bak (file)
"Intended for (fset 'make-backup-file-name 'make-bak)."
(let* ((backup-dir "~/emacs_backups/"))
(or (file-directory-p backup-dir)
(make-directory backup-dir)
;; Creating parents shouldn't be necessary, so it's better not to
;; enable it; if 'make-directory barfs then something's wrong.
)
(concat backup-dir (file-name-nondirectory file))))
(defun bak-p (file)
"Intended for (fset 'backup-file-name-p 'bak-p)."
;; Dired.el[2040] v19.34.1 doesn't call backup-file-name-p
;; unless the final char of the file name looks like it
;; might be appropriate for that; this is claimed needed
;; for efficiency. Therefore, some dired functions won't
;; work right with the new format. Egrep reveals no
;; other grief, & I've never used those dired functions.
(string-match "emacs_backups[/\\]" file))
(fset 'make-backup-file-name 'make-bak)
(fset 'backup-file-name-p 'bak-p)
;;-------------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;Lee's stuff
;;see help for function 'pc-selection-mode'
;;sets mark control and key-pad functions to windows-style
(pc-selection-mode)
;;set "cut" "paste" and "copy" keys
(global-set-key "\C-cx" 'kill-region)
(global-set-key "\C-c\C-x" 'kill-region)
(global-set-key "\C-cc" 'copy-region-as-kill)
(global-set-key "\C-c\C-c" 'copy-region-as-kill)
(global-set-key "\C-cv" 'yank)
(global-set-key "\C-c\C-v" 'yank)
;;make ctrl + keypad '/' the goto- line key
(global-set-key [\C-kp-divide] 'goto-line)
;;make ctrl + keypad '*' the what-cursor-position key
(global-set-key [\C-kp-multiply] 'what-cursor-position)
;;make ctrl-c ctrl-f refontify a highlighted block of text
(global-set-key "\C-c\C-f" 'font-lock-fontify-block)
;;make ctrl-TAB switch to other open windows in emacs frame
(global-set-key [\C-tab] 'other-window)
;;ignore case when sorting
;;set value to nil to use case when sorting
(set 'sort-fold-case 1)
;;set auto-fill-mode when in text mode
(set 'default-fill-column 80)
(add-hook 'text-mode-hook
'(lambda () (auto-fill-mode 1)))
(custom-set-variables
'(exec-path (quote ("c:/WINDOWS" "C:/WINDOWS/COMMAND" "c:/PROGRAM
FILES/EMACS-20.5/emacs/bin" "c:/java/jdk1.2.1/bin"))))
(custom-set-faces)
(setq load-path
(nconc
'(
"c:/program files/emacs-20.5/jde/lisp"
"c:/program files/emacs-20.5/visemacs"
;; Add paths to other add-on packages here.
)
load-path))
;;java development environment stuff
(require 'jde)
(defun my-jde-mode-hook ()
(setq c-basic-offset 2))
(add-hook 'jde-mode-hook 'my-jde-mode-hook)
=====end inserted .emacs file