Please enter the details of your bug report here


Hi,

Does anybody have a problem when trying to do "Run Applet" from the
JDE menu having "appletviewer" specified for the jde-run-applet-viewer
variable? It doesn't start for me, but gives me this error message:



cd c:/Dokumentumok/dani/my-java/
appletviewer c:/Dokumentumok/dani/my-java/Tet301.html

I/O exception while reading: 
C:\Dokumentumok\dani\my-java\c:\Dokumentumok\dani\my-java\Tet301.html (The 
system cannot find the path specified)

Process Tet301 exited abnormally with code 1



Thanks,
Daniel


Emacs  : GNU Emacs 20.7.1 (i386-*-windows98.1998)
of Tue Jun 13 2000 on buffy
Package: JDE version 2.2.4.1

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-gen-beep '("(end-of-line) '&"
                                "\"Toolkit.getDefaultToolkit().beep();\"'>'n'>")
jde-which-method-format '(" [" jde-which-method-current "]")
jde-run-classic-mode-vm nil
jde-javadoc-gen-nodeprecatedlist nil
jde-imenu-include-classdef t
jde-javadoc-gen-link-online 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)
                                                  ("beep" . jde-gen-beep)
                                                  ("property change support" .
                                                   jde-gen-property-change-support)
                                                  ("EJB Entity Bean" . 
jde-gen-entity-bean)
                                                  ("EJB Session Bean" . 
jde-gen-session-bean))
jde-gen-cflow-else '("(if (jde-parse-comment-or-quoted-p)"
                                          "'(l \"else\")" "'(l '> \"else \""
                                          "(if jde-gen-k&r " "()" "'>'n)"
                                          "\"{\"'>'n'>'r'n"
                                          "\"} // end of else\"'>'n'>)" ")")
jde-make-args ""
jde-javadoc-gen-destination-directory "JavaDoc"
jde-mode-line-format '("-" mode-line-mule-info mode-line-modified
                                                mode-line-frame-identification
                                                mode-line-buffer-identification "   "
                                                global-mode-string "   %[(" mode-name
                                                mode-line-process minor-mode-alist "%n"
                                                ")%]--"
                                                (jde-which-method-mode
                                                 ("" jde-which-method-format "--"))
                                                (line-number-mode "L%l--")
                                                (column-number-mode "C%c--") (-3 . 
"%p") "-%-")
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-imenu-enable t
jde-compile-option-verbose nil
jde-db-option-heap-size '((1 . "megabytes") (16 . "megabytes"))
jde-bug-debugger-host-address "127.0.0.1"
jde-make-working-directory ""
jde-bug-breakpoint-marker-colors '("red" . "yellow")
jde-javadoc-gen-use nil
jde-gen-buffer-boilerplate nil
jde-bug-raise-frame-p t
jde-db-option-application-args nil
jde-javadoc-gen-nonavbar nil
jde-javadoc-gen-nohelp nil
jde-bug-vm-includes-jpda-p t
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 <a 
href=\\\"mailto: \\\"\" (user-full-name) \"</a>\"'>'n" "\" * @version\" 
'>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension 
(file-name-nondirectory buffer-file-name))" "\" extends JFrame\"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"class Canvas extends JPanel\"" 
"(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public Canvas () \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"setSize(getPreferredSize());\" 
'>'n" "\"Canvas.this.setBackground(Color.white);\" '>'n" "\"}\"'>'n '>'n" 
"\"public Dimension getPreferredSize() \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "\"return new Dimension(600, 600);\" '>'n" "\"}\"'>'n '>'n" 
"\"public void paintComponent(Graphics g) \"" "(if jde-gen-k&r " "()" 
"'>'n)" "\"{\"'>'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" "\"public \"" 
"(file-name-sans-extension (file-name-nondirectory buffer-file-name))" 
"\"()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super(\\\"\" (P 
\"Enter app title: \") \"\\\");\" '>'n" "\"setSize(300, 300);\" '>'n" 
"\"addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "\"public void windowClosing(WindowEvent e) {System.exit(0);}\" 
'>'n" "\"public void windowOpened(WindowEvent e) {}\" '>'n" "\"});\"'>'n" 
"\"setJMenuBar(createMenu());\" '>'n" "\"getContentPane().add(new 
JScrollPane(new Canvas()));\" '>'n" "\"}\"'>'n" "'>'n" "\"public static void 
main(String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'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" "\"}\"'>'n '>'n" 
"\"protected JMenuBar createMenu() \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "\"JMenuBar mb = new JMenuBar();\" '>'n" "\"JMenu menu = new 
JMenu(\\\"File\\\");\" '>'n" "\"menu.add(new AbstractAction(\\\"Exit\\\") 
\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void 
actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "\"System.exit(0);\" '>'n" "\"}\" '>'n" "\"});\" '>'n" 
"\"mb.add(menu);\" '>'n" "\"return mb;\" '>'n" "\"}\"'>'n " "\"} // \"'>" 
"(file-name-sans-extension (file-name-nondirectory buffer-file-name))" 
"'>'n")
jde-bug-key-bindings '(("[? ? ?]" . jde-bug-step-over)
                                                ("[? ? ?]" . jde-bug-step-into)
                                                ("[? ? ?]" . jde-bug-step-into-all)
                                                ("[? ? ?]" . jde-bug-step-out)
                                                ("[? ? ?]" . jde-bug-continue)
                                                ("[? ? ?]" . 
jde-bug-toggle-breakpoint))
jde-compile-finish-hook '(jde-compile-finish-refresh-speedbar
                                                   
jde-compile-finish-flush-completion-cache)
jde-compile-option-nowarn nil
jde-setnu-mode-threshold 20000
jde-run-java-vm-w "javaw"
jde-compile-option-encoding nil
jde-run-option-java-profile '(nil . "./java.prof")
bsh-startup-timeout 10
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-javadoc-gen-nodeprecated nil
jde-run-option-heap-profile '(nil "./java.hprof" 5 20
                                                           "Allocation objects")
jde-gen-println '("(end-of-line) '&"
                                   "\"System.out.println(\" (P \"Print out: \") \");\" 
'>'n'>")
jde-enable-abbrev-mode t
bsh-vm-args nil
jde-gen-cflow-main '("(if (jde-parse-comment-or-quoted-p)"
                                          "'(l \"main\")"
                                          "'(l '> \"public static void main (String[] 
args) \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of main 
()\"'>'n'>)" ")")
jde-javadoc-exception-tag-template '("* @exception " type
                                                                          " if an 
error occurs")
jde-global-classpath nil
jde-gen-window-listener-template '("(end-of-line) '& (P \"Window name: \")" 
"\".addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" 
"'>'n)" "\"{\"'>'n" "'> \"public void windowActivated(WindowEvent e) \"" 
"(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"" "'>'n \"public void 
windowClosed(WindowEvent e)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" 
"'>'n \"}\"" "'>'n \"public void windowClosing(WindowEvent e) \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"System.exit(0);\" '>'n \"}\"" 
"'>'n \"public void windowDeactivated(WindowEvent e) \"" "(if jde-gen-k&r " 
"()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void 
windowDeiconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowIconified(WindowEvent e) 
\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public 
void windowOpened(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "'>'n \"}\"" "'>'n \"});\" '>'n'>")
jde-run-working-directory ""
jde-gen-property-change-support '("(end-of-line) '&"
                                                                   "\"protected 
PropertyChangeSupport pcs =  new 
PropertyChangeSupport(this);\" '>'n '>'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) \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'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) \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'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) \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'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) \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'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) 
\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'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) \"" "(if jde-gen-k&r " "()" 
"'>'n)" "\"{\"'>'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) \"" "(if jde-gen-k&r " 
"()" "'>'n)" "\"{\"'>'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) \"" "(if jde-gen-k&r " "()" 
"'>'n)" "\"{\"'>'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) \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "'> \"return pcs.hasListeners(propertyName);\" '>'n \"}\" '>'n 
'>'n'>")
jde-javadoc-describe-interface-template '("* Describe interface "
                                                                                   
(jde-javadoc-code name)
                                                                                   " 
here.")
jde-javadoc-see-tag-template '("* @see " ref)
jde-imenu-include-signature t
jde-db-marker-regexp "^.*: thread=.*, 
\\(\\(.*[.]\\)*\\)\\([^$]*\\)\\($.*\\)*[.].+(), line=\\([0-9]*\\),"
jde-gen-mouse-motion-listener-template '("(end-of-line) '& (P \"Component 
name: \")" "\".addMouseMotionListener(new MouseMotionAdapter() \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>" "'>'n \"public void 
mouseDragged(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" 
"\"}\"'>" "'>'n \"public void mouseMoved(MouseEvent e) \"" "(if jde-gen-k&r 
" "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>")
jde-key-bindings '(("[? ? ?]" . jde-run-menu-run-applet)
                                        ("[? ? ?]" . jde-build)
                                        ("[? ? ?]" . jde-compile)
                                        ("[? ? ?]" . jde-debug)
                                        ("[? ? ?]" . jde-wiz-implement-interface)
                                        ("[? ? ?j]" .
                                         jde-javadoc-generate-javadoc-template)
                                        ("[? ? ?]" . bsh)
                                        ("[? ? ?\f]" . jde-gen-println)
                                        ("[? ? ?]" . jde-browse-jdk-doc)
                                        ("[? ? ?]" . jde-save-project)
                                        ("[? ? ?]" . jde-wiz-update-class-list)
                                        ("[? ? ?]" . jde-run)
                                        ("[? ? ?]" . speedbar-frame-mode)
                                        ("[? ? ?]" . jde-db-menu-debug-applet)
                                        ("[? ? ?]" . jde-help-symbol)
                                        ("[? ? ?]" . jde-show-class-source)
                                        ("[? ? ?]" . jde-wiz-find-and-import)
                                        ("[(control c) (control v) (control ?.)]" .
                                         jde-complete-at-point-menu)
                                        ("[(control c) (control v) ?.]" .
                                         jde-complete-at-point)
                                        )
jde-gen-cflow-for-i '("(if (jde-parse-comment-or-quoted-p)"
                                           "'(l \"fori\")"
                                           "'(l '> \"for (int \" (p \"variable: \" 
var) \" = 0; \"" "(s var)" 
"\" < \"(p \"upper bound: \" ub)\"; \" (s var) \"++) \"" "(if jde-gen-k&r " 
"()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (int \" (s var) \" = 0; 
\"" "(s var) \" < \" (s ub) \"; \" (s var) \"++)\"'>'n'>)" ")")
jde-run-option-classpath nil
jde-javadoc-gen-detail-switch '("-protected")
jde-javadoc-param-tag-template '("* @param " name " "
                                                                  (jde-javadoc-a type) 
" "
                                                                  (jde-javadoc-code 
type) " value")
jde-compile-option-verbose-path nil
jde-db-debugger '("JDEbug" "jdb" . "Executable")
jde-jdk-doc-url "http://www.javasoft.com/products/jdk/1.1/docs/index.html"
jde-gen-cflow-enable t
jde-compiler "javac"
jde-javadoc-gen-verbose nil
jde-javadoc-describe-method-template '("* Describe "
                                                                                
(jde-javadoc-code name)
                                                                                " 
method here.")
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 <a href=\\\"mailto: \\\"\" 
(user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n'" "'>'n" 
"\"public class \"" "(file-name-sans-extension (file-name-nondirectory 
buffer-file-name))" "\" \" (jde-gen-get-super-class)" "(if jde-gen-k&r " 
"()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension 
(file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " 
"()" "'>'n)" "\"{\"'>'n" "'>'p'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-javadoc-gen-stylesheetfile ""
jde-use-font-lock t
jde-compile-option-bootclasspath nil
jde-make-program "make"
jde-javadoc-gen-group nil
jde-javadoc-gen-link-offline nil
jde-javadoc-gen-doc-title ""
jde-javadoc-gen-header ""
jde-run-option-vm-args nil
jde-javadoc-gen-window-title ""
jde-compile-option-directory ""
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 <a href=\\\"mailto: \\\"\" 
(user-full-name) \"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" 
"\"public class \"" "(file-name-sans-extension (file-name-nondirectory 
buffer-file-name))" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public 
\"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" 
"\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "\"}\"'>'n" 
"'>'n" "\"public static void main(String[] args)\"" "(if jde-gen-k&r " "()" 
"'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\"'>'n" "\"} // \"'>" 
"(file-name-sans-extension (file-name-nondirectory buffer-file-name))" 
"'>'n")
jde-read-make-args nil
jde-javadoc-gen-noindex nil
jde-gen-mouse-listener-template '("(end-of-line) '& (P \"Component name: 
\")" "\".addMouseListener(new MouseAdapter() \"" "(if jde-gen-k&r " "()" 
"'>'n)" "\"{\"'> " "'>'n \"public void mouseClicked(MouseEvent e) \" " "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void 
mouseEntered(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" 
"\"}\" '>" "'>'n \"public void mouseExited(MouseEvent e) \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void 
mousePressed(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" 
"\"}\" '>" "'>'n \"public void mouseReleased(MouseEvent e) \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'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 '("c:/Dokumentumok/dani/my-java/")
jde-run-read-app-args nil
jde-gen-to-string-method-template '("(end-of-line) '&"
                                                                         "\"public 
String toString() \""
                                                                         "(if 
jde-gen-k&r " "()" "'>'n)"
                                                                         "\"{\"'>'n" 
"\"}\"'>'n'>")
jde-quote-classpath t
jde-bug-window-message nil
jde-build-use-make nil
jde-javadoc-author-tag-template '("* @author <a href=\"mailto:"
                                                                   user-mail-address 
"\">"
                                                                   user-full-name 
"</a>")
jde-javadoc-describe-field-template '("* Describe "
                                                                           
(jde-javadoc-field-type
                                                                                
modifiers)
                                                                           " " 
(jde-javadoc-code name)
                                                                           " here.")
jde-javadoc-gen-link-URL nil
jde-compile-option-classpath nil
jde-bug-jdk-directory "c:/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\"))" "'> \"public void 
ejbActivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbPassivate() throws 
RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n 
'>'n" "'> \"public void ejbLoad() throws RemoteException \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void 
ejbStore() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbRemove() throws 
RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n 
'>'n" "'> \"public void setEntityContext(EntityContext ctx) throws 
RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n 
'>'n" "'> \"public void unsetEntityContext() throws RemoteException \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n'>")
jde-javadoc-version-tag-template '("* @version 1.0")
jde-javadoc-describe-constructor-template '("* Creates a new "
                                                                                       
  (jde-javadoc-code name)
                                                                                       
  " instance.")
jde-bug-server-shmem-name '(t . "JDEbug")
jde-db-startup-commands nil
jde-javadoc-gen-docletpath nil
jde-javadoc-gen-split-index nil
jde-compile-option-deprecation nil
jde-which-method-mode t
jde-gen-k&r t
jde-javadoc-gen-bottom ""
jde-javadoc-gen-footer ""
jde-db-option-classpath nil
jde-gen-cflow-for '("(if (jde-parse-comment-or-quoted-p)"
                                         "'(l \"for\")"
                                         "'(l '> \"for (\" (p \"for-clause: \" clause) 
\") \"" "(if jde-gen-k&r 
" "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (\" (s clause) 
\")\"'>'n'>)" ")")
jde-run-mode-hook nil
jde-db-option-verify '(nil t)
jde-compile-option-extdirs nil
jde-imenu-sort nil
jde-gen-get-set-var-template '("(end-of-line) '&"
                                                                "(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)" "(if (string= 
\"boolean\" (jde-gen-lookup-named 'type) ) " "\" is\" " "\" get\" ) " 
"(jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"() \"" "(if jde-gen-k&r 
" "()" "'>'n)" "\"{\" '>'n" "\"return \" (s name) \";\" '>'n \"}\"" "'>'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) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" 
"'>'\"this.\" (s name) \" = v;\" '>'n \"}\" '>'n'>")
jde-bug-saved-breakpoints nil
jde-compile-option-sourcepath nil
jde-gen-cflow-if '("(if (jde-parse-comment-or-quoted-p)" "'(l
\"if\")"
                                        "'(l '> \"if (\" (p \"if-clause: \" clause) \")
\""
                                        "(if jde-gen-k&r " "()" "'>'n)" 
"\"{\"'>'n'>'r'n"
                                        "\"} // end of if (\" (s clause) \")\"'>'n'>)" 
")")
jde-db-option-java-profile '(nil . "./java.prof")
jde-javadoc-gen-author t
jde-compile-option-depend-switch '("-Xdepend")
jde-setnu-mode-enable nil
jde-run-applet-doc ""
jde-compile-option-vm-args nil
jde-javadoc-gen-overview ""
jde-javadoc-gen-notree 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")
bsh-eval-timeout 20
jde-db-read-vm-args nil
jde-bug-debug nil
jde-javadoc-end-block-template nil
jde-javadoc-gen-packages nil
jde-gen-cflow-if-else '("(if (jde-parse-comment-or-quoted-p)"
                                                 "'(l \"ife\")"
                                                 "'(l '> \"if (\" (p \"if-clause: \" 
clause) \") \"" "(if jde-gen-k&r 
" "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'> n" 
"'> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end 
of if (\" (s clause) \")else\"'>'n'>)" ")")
jde-gen-cflow-while '("(if (jde-parse-comment-or-quoted-p)"
                                           "'(l \"while\")"
                                           "'(l '> \"while (\" (p \"while-clause: \" 
clause) \") \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of while (\" (s 
clause) \")\"'>'n'>)" ")")
jde-bug-server-socket '(t . "2112")
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-gen-cflow-switch '("(if (jde-parse-comment-or-quoted-p)"
                                                "'(l \"switch\")"
                                                "'(l '> \"switch (\" (p 
\"switch-condition: \" clause) \") \"" "(if 
jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'" "\"case \" (p \"first value: \") 
\":\"'>'n'>'p'n" "\"break;\"'>'n'>'p'n" "\"default:\"'>'n'>'p'n" 
"\"break;\"'>'n" "\"} // end of switch (\" (s clause) \")\"'>'n'>)" ")")
jde-db-option-vm-args nil
jde-run-application-class ""
jde-javadoc-gen-doclet ""
jde-run-option-verbose '(nil nil nil)
jde-project-file-name "prj.el"
jde-wiz-import-excluded-packages '("bsh.*")
jde-compile-option-debug '("selected" (t nil nil))
jde-bug-jre-home ""
jde-run-applet-viewer "appletviewer"
jde-entering-java-buffer-hooks '(jde-reload-project-file
                                                                  
jde-which-method-update-on-entering-buffer)
jde-javadoc-return-tag-template '("* @return " (jde-javadoc-a type) "
"
                                                                   (jde-javadoc-code 
type) " value")
jde-javadoc-gen-version t
jde-javadoc-gen-helpfile ""
jde-run-read-vm-args nil
jde-help-docsets nil
jde-javadoc-since-tag-template '("* @since 1.0")
jde-gen-inner-class-template '("(end-of-line) '& \"class \" (P \"Class name: 
\" class)" "(P \"Superclass: \" super t)" "(let ((parent 
(jde-gen-lookup-named 'super)))" "(if (not (string= parent \"\"))" "(concat 
\" extends \" parent ))) " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" 
"\"public \" (s class) \"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" 
"\"}\"'>'n" "\"}\" '>'n'>")
jde-auto-parse-buffer-interval 60
jde-run-option-verify '(nil t)
jde-compile-option-optimize nil
jde-gen-cflow-case '("(if (jde-parse-comment-or-quoted-p)"
                                          "'(l \"case\")"
                                          "'(l 'n \"case \" (p \"value: \")
\":\"'>'n'>'p'n"
                                          "\"break;\"'>'n'>'p)" ")")
jde-compile-option-depend nil
jde-javadoc-describe-class-template '("* Describe class "
                                                                           
(jde-javadoc-code name) " here.")
jde-javadoc-gen-serialwarn nil
jde-gen-action-listener-template '("'& (P \"Component name: \")"
                                                                        
"\".addActionListener(new ActionListener() \"" "(if jde-gen-k&r " 
"()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" 
"(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n \"});\"'>'n'>")
jde-auto-parse-enable t
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-javadoc-gen-args nil
jde-run-option-stack-size '((128 . "kilobytes") (400 . "kilobytes"))
jde-run-option-properties nil
)



There was no *JDEBug* buffer


There is no CLI buffer


There is no locals buffer


There was no *Backtrace* buffer


The contents of the *Messages* buffer were

Setting JDE variables to startup values...
Fontifying TetControls.java...
Fontifying TetControls.java... (regexps.......................)
Setting JDE variables to startup values...
Welcome to flyspell.  Use Mouse-2 to correct words.
Setting JDE variables to startup values...
Fontifying Tet301.java...
Fontifying Tet301.java... (regexps.........................)
Setting JDE variables to startup values...
Welcome to flyspell.  Use Mouse-2 to correct words.
Fontifying .emacs...
Fontifying .emacs... (regexps............)
Welcome to flyspell.  Use Mouse-2 to correct words.
Scanning buffer for index (  0%)
Scanning buffer for index ( 40%)
Scanning buffer for index ( 52%)
Scanning buffer for index ( 72%)
Scanning buffer for index ( 96%)
Scanning buffer for index (100%)
Desktop loaded.
Loading Daniel's .emacs file... Done.
For information about the GNU Project and its goals, type C-h C-p.
.emacs  <Tet301.java>  TetControls.java   jde_applet   TODO
(No files need saving)
Fontifying *compilation*...
Fontifying *compilation*... (regexps...........................)
(No files need saving)
Starting new Ispell process...
Mark set [2 times]
jde_applet  <*Tet301*>  Tet301.java   .emacs   TetControls.java   TODO
Mark set [3 times]
Region saved
*Tet301*  <jde_applet>  Tet301.java   .emacs   TetControls.java   TODO
Mark set [2 times]
Welcome to flyspell.  Use Mouse-2 to correct words.
Region saved without CR line terminators
Mark set
Replaced 2 occurrences
End of buffer [3 times]
Wrote c:/fsf/jde_applet
Mark set [2 times]
Welcome to flyspell.  Use Mouse-2 to correct words.
Region saved without CR line terminators
Preparing problem report...
Loading sendmail...
Loading sendmail...done
Welcome to flyspell.  Use Mouse-2 to correct words. [2 times]
Formatting bug report buffer...
Formatting bug report 
buffer...................................................................................
Mark set



End Insert *Messages* buffer


Process environment:

TERM=cmd
EMACSDOC=C:/FSF/EMACS/etc
EMACSLOCKDIR=C:/FSF/EMACS/lock
EMACSPATH=C:/FSF/EMACS/bin
EMACSDATA=C:/FSF/EMACS/etc
SHELL=C:/FSF/EMACS/bin/cmdproxy.exe
EMACSLOADPATH=C:/FSF/EMACS/site-lisp;C:/FSF/EMACS/lisp;C:/FSF/EMACS/leim
TMPDIR=C:\temp
emacs_dir=C:/FSF/EMACS
BLASTER=A220 I5 D1 H5 T5
windir=C:\WINDOWS
CMDLINE=WIN
TEMP=C:\temp
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:;C:\FSF\EMACS\BIN;C:\FSF\ELISP\GNUSERV;C:\FSF\ELISP\OO-BROWSER;C:\FSF\ELISP\ISPELL-3.1.20;C:\JDK1.3\BIN
DICTIONARY=c:\fsf\elisp\ispell-3.1.20\english
HOME=c:/fsf
PROMPT=$p$g
COMSPEC=C:\WINDOWS\COMMAND.COM
winbootdir=C:\WINDOWS
TMP=C:\WINDOWS\TEMP


The contents of the .emacs file was


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; AUTHOR : Daniel Hegyi
;; EMAIL  : [EMAIL PROTECTED]
;; SPECIAL THANKS to the following people. I used a lot of their stuff :
;;          Benjamin Rutt, Igor Boukanov, Xavier Colmant, and
;;          prof. JONATHAN AMSTERDAM of NYU.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(setq debug-on-error t)
(message "Loading Daniel's .emacs file... ")

;; SET THIS FIRST!! EVERYTHING ELSE DEPENDS ON THIS VARIABLE!
(setenv "HOME" "c:/fsf")

;; Common Settings
(setq user-full-name "Daniel Hegyi")
(setq user-mail-address "[EMAIL PROTECTED]" )


;;=====================================================================
;; OPTIONAL PACKAGES.
;;=====================================================================
;; optional packages you have to install first. Default is not to use
;; them.
(defvar have-jde t "Set to non-nil if you have jde")
(defvar have-html-helper-mode t "Set to non-nil if you have 
HTML-Helper-Mode")
(defvar have-oo-browser nil "Set to non-nil if you have oo-browser")
(defvar have-gnuserv t "Set to non-nil if you have gnuserv")
(defvar have-calculator t "Set to non-nil if you have calculator")
(defvar have-pc-bufsw t "Set to non-nil if you have pc-bufsw")
(defvar have-paren-face t "Set to non-nil if you have paren-face")
(defvar have-redo t "Set to non-nil if you have redo")
(defvar have-filladapt nil "Set to non-nil if you have Filladapt")
(defvar have-backup t "Set to non-nil if you have backup")
(defvar have-folding nil "Set to non-nil if you have Folding")
(defvar have-whitespace nil "Set to non-nil if you have whitespace")
(defvar have-ishl t "Set to non-nil if you have Ishl")
(defvar have-eol-conversion-modified nil "Set to non-nil if you have 
eol-conversion-modified")
(defvar have-unscroll t "Set to non-nil if you have unscroll")
(defvar have-font-menus t "Set to non-nil if you have font-menus")
(defvar have-msdos-shell-fix t "Set to non-nil if you have msdos-shell-fix")


;; If you get an elisp file from the Internet, you will need to put it
;; in a place where Emacs can find it. This is therefore the first
;; thing I have in my .emacs file.

;; This will add the ~/elisp directory to my load-path. The variable
;; load-path is a list of directories which Emacs will search when it
;; tries to load a library. Any elisp file you get from the Internet or
;; from friends can be copied into the ~/elisp directory and loaded from
;; there.
(add-to-list 'load-path "~/elisp")


;; JDE: The Java Development Environment.
;;
;; The semantic bovinator is used to parse the Java source. Various
;; features of the JDE, e.g., the classes menu, need to parse the code
;; in the current Java source buffer. The JDE used to use regular
;; expressions. The semantic package enables use of a BNF grammar (see
;; java.bnf in the JDE lisp directory) to parse your Java code. The
;; grammar-based parser is much faster and more accurate than regular
;; expressions.
(if have-jde
    (progn
      (add-to-list 'load-path (expand-file-name "~/elisp/jde-2.2.4/lisp"))
      (add-to-list 'load-path (expand-file-name "~/elisp/semantic-1.2.1"))
      (add-to-list 'load-path (expand-file-name "~/elisp/speedbar-0.12"))
          (add-to-list 'load-path (expand-file-name "~/elisp/elib-1.0"))
      (require 'jde)))


;;=====================================================================
;; HTML-Helper-Mode
;;
;; Note: HTML-Helper requires two files: html-helper-mode.el and
;; tempo.el
;;
;; http://www4.smart.net/~jcovey//html-helper-mode/html-helper-mode.html
;;
;; Insertion philosophy
;; html-mode frequently prompts the user in the minibuffer for the data
;; to fill in fields like titles or headers. In html-helper-mode,
;; prompting is a user-controlled option.

;; Modifying regions
;; In html-helper-mode, every command will instead modify the region if
;; it is called with a prefix argument.

;; Automatic text insertion
;; html-helper-mode can automatically insert skeletons for new
;; documents and also maintain timestamps.

;; Minimal syntax support
;; html-helper-mode does its best to tell emacs about the syntax of
;; HTML documents.

;; Indentation
;; html-helper-mode indents nested lists

;; Highlighting
;; HTML cookies are coloured nicely with hilit19 or font-lock-mode.

;; Keymap
;; A few obsolete cookies have been removed, a few new cookies have
;; been added, and the keybindings have been completely rearranged to
;; be compliant with emacs standards.

;; Completion
;; HTML cookies can be completed in the buffer with M-TAB.

;; Missing features
;; Some features of html-mode are not included. These include the
;; ability to quotify old-style HREFs and automatic naming of anchors


(if have-html-helper-mode
    (progn
      (autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
      (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) 
auto-mode-alist))
      (setq auto-mode-alist (cons '("\\.htm$" . html-helper-mode)
                                  auto-mode-alist))

;; I suggest you turn on both html-helper-do-write-file-hooks and
;; html-helper-build-new-buffer, and set html-helper-address-string to
;; the appropriate value for you. I use this configuration:

      ; html-helper-mode will try to update a timestamp in the
      ; document, and warn the user if it can't.
      (setq html-helper-do-write-file-hooks t)

      ; html-helper-mode will insert a skeleton for new documents.
      (setq html-helper-build-new-buffer t)

      ; html-helper-mode always presents you with a full menu of
      ; everything it can do.
      (setq html-helper-use-expert-menu t)

      (setq html-helper-address-string
            "<a href=\"http://dhegyi.homepage.com/\">Daniel Hegyi
&lt;[EMAIL PROTECTED]&gt;</a>")))




;;=====================================================================
;; OO-Browser: Fantastic tool available at
;; http://www.beopen.com. Formerly known as Altrasoft.

(if have-oo-browser
    (progn
      (setq load-path (append
                       '("~/elisp/oo-browser"
                         "~/elisp/oo-browser/hypb/")
                       load-path))
      (load "br-start")
      (global-set-key "\C-c\C-o" 'oo-browser)))

;;=====================================================================
;; Gnuserv: requires optional gnuserv package. This should be done as
;; early as possible to make sure gnuserv starts up before gnuclient
;; times out.

(if have-gnuserv
    (progn
      (require 'gnuserv)
      (gnuserv-start)
      ;; Reuse an existing frame when loading files externally
      (setq gnuserv-frame (car (frame-list)))))

;;=====================================================================
;; calculator: A simple pocket calculator for Emacs.

(if have-calculator
    (progn
      (autoload 'calculator "calculator"
        "A simple pocket calculator for Emacs." t)
      (global-set-key "\C-cc" 'calculator)))

;;=====================================================================
;; Pc-bufsw: A fast way to do a buffer switch in Emacs is to use
;; pc-bufsw.el code that I initially created in an attempt to model a
;; Ctrl-Tab like switch that you can find in Windows applications.
;;
;; Note: if you're using XEmacs, use the following lines:
;; (require 'pc-bufsw)
;; (pc-bufsw::bind-keys [(control tab)] [ (control shift tab) ])
(if have-pc-bufsw
    (progn
      (require 'pc-bufsw)
      (pc-bufsw::bind-keys [C-tab] [C-S-tab])))

;;=====================================================================
;; mic-paren: Load this file and Emacs will display highlighting on
;; whatever parenthesis matches the one before or after point.  This is
;; an extension to the paren.el file distributed with Emacs.  The
;; default behaviour is similar to paren.el but try the authors
;; favourite options:
;;   (setq paren-face 'bold)
;;   (setq paren-sexp-mode t)
;;
;; To list the possible customisation enter `C-h f paren-activate'
;;
;; Note: XEmacs has this pretty much built-in. Try this in Xemacs:
;; (load "paren")
;; (show-paren-mode t)
;; (setq paren-face 'bold)
;; (setq paren-sexp-mode t)
;; (setq paren-delay 5)

(if have-paren-face
    (progn
      (if window-system
          (require 'mic-paren))
      (setq paren-face 'bold)
      (setq paren-sexp-mode t)))

;;=====================================================================
;; Redo: The redo/undo system is different from the built-in undo in
;; two ways:
;;   1. The undo/redo command chain is only broken by a buffer
;;      modification.  You can move around the buffer or switch buffers
;;      and still come back and do more undos or redos.
;;   2. The `redo' command rescinds the most recent undo without
;;      recording the change as a _new_ buffer change.  It completely
;;      reverses the effect of the undo, which includes making the
;;      chain of buffer modification records shorter by one, to
;;      counteract the effect of the undo command making the record
;;      list longer by one.
;;
;; Note: if you're using XEmacs, rename the "redo.el.xemacs" file to
;; "redo.el" and use that one.

(if have-redo
    (require 'redo))

;;=====================================================================
;; filladapt: Note that in this release Filladapt mode is a minor mode
;; and it is _off_ by default.  If you want it to be on by default, use
;;   (setq-default filladapt-mode t)

(if have-filladapt
    (progn
      (require 'filladapt)
      (setq-default filladapt-mode t)
      ;(add-hook 'text-mode-hook 'turn-on-filladapt-mode)
      ))

;;=====================================================================
;; backup: Tell emacs where central backup directory is, and turn it on
;;
;; Note: XEmacs has this built-in. Just uncomment these lines.
;; (setq auto-save-directory (expand-file-name "~/autosave/")
;;       auto-save-directory-fallback auto-save-directory)

(if have-backup
    (progn
      (setq backup-directory "~/backups")
      (require 'backups)
      (move-backups t)))


;;=====================================================================
;; folding: Folding mode handles a document as a tree, where each
;; branch is bounded by special markers `{{{' and `}}}'.  A branch can
;; be placed inside another branch, creating a complete hierarchical
;; structure.
;;
;; Folding mode can CLOSE a fold, leaving only the initial `{{{' and
;; possibly a comment visible.
;;
;; It can also ENTER a fold, which means that only the current fold
;; will be visible, all text above `{{{' and below `}}}' will be
;; invisible.
;;
;; The best way to install folding is the autolaod installation, so
;; that folding is loaded into your emacs only when you turn on
;; `folding-mode'. This statement speeds up loading your .emacs

(if have-folding
    (progn
; (setq folding-default-keys-function
;      'folding-bind-backward-compatible-keys)
      (load "folding" 'nomessage 'noerror)
      (folding-mode-add-find-file-hook)
      (folding-add-to-marks-list 'jde-mode "// {{{ " "// }}}" nil t)))


;;=====================================================================
;; Whitespace: Nukes trailing whitespace from the ends of lines, and
;; deletes excess newlines from the ends of buffers, every time you
;; save.
;; Author: Noah Friedman <[EMAIL PROTECTED]>

(if have-whitespace
    (progn
      (autoload 'nuke-trailing-whitespace "whitespace" nil t)
      (add-hook 'mail-send-hook 'nuke-trailing-whitespace)
      (add-hook 'write-file-hooks 'nuke-trailing-whitespace)))


;;=====================================================================
;; Ishl: Highlight searchs.
;;
;; Alert! Ishl has been approved for inclusion in an upcoming release
;; of Emacs, under the name `isearch-lazy-highlight'.
;;
;; This is the general form for loading a package and having it turned
;; on.
(if have-ishl
    (progn
      (require 'ishl)
      (ishl-mode 1)
          ))
;      (ishl-mode))                     ;This may be another way of
                                        ;turning it on.

; Keep the text highlighted until the next search.
; (setq-default ishl-cleanup nil)


;;;;;;;;;;;;;;;;;;;;;;;;;;; eol-conversion ;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Add Functions to convert between file formats (Unix, Dos, Mac) Add
;; an entry in the Edit Menu (End of line conversion). Warning: This
;; is a modified version of eol-conversion.el.  The original was
;; putting an entry in the 'Mule' Menu, which is not allways visible.
;; The one included here puts it in the 'Edit' menu.  Be carefull when
;; you get a new version of emacs, it might overwrite the modified
;; eol-conversion.el.
;;
;; Place file eol-conversion.el into c:/fsf/emacs/lisp and
;; byte-compile it.
;;
;; To byte-compile in emacs, use dired (C-x d), find and select the
;; file to compile and press B (capital b).
(if have-eol-conversion-modified
        (require 'eol-conversion-modified))


;;=====================================================================
;; unscroll: This file uses "advice" to modify the scrolling commands
;; such that the screen appearance is preserved at the start of each
;; series of scrolls.  Ever press C-v C-v C-v when you meant C-b C-b
;; C-b?  That's what this is meant to remedy.
;;
;; After scrolling (intentionally or otherwise), you can restore the
;; display with M-x unscroll RET, which I like to bind to C-M-v using
;; (define-key global-map "\C-\M-v" 'unscroll).
(if have-unscroll
          (require 'unscroll))


;;=====================================================================
;; font-menus: Adds sub-menus to the Edit menu to control font-lock
;; and display all fonts.
(if have-font-menus
        (require 'font-menus))


;;=====================================================================
;; msdos-shell-fix: Improves NTEmacs support for the COMMAND.COM shell
;; under Windows 95. It also replaces the following few lines, which
;; might still be useful in the future.

; ;; Stop ^M's from displaying in system shell window
; (add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m nil t)
;
; ;; This prevents shell commands from being echoed
; (defun my-comint-init ()
;   (setq comint-process-echoes t))
;
; (add-hook 'comint-mode-hook 'my-comint-init)
;
(if have-msdos-shell-fix
        (add-hook 'comint-exec-hook
          (function (lambda () (require 'msdos-shell-fix)))))



; ;; =====================================================================
; ;; JARI AALTO'S TINY LIBRARY
; ;; =====================================================================

; ;; Defines everything, publishes interface for tiny library. This
; ;; library has a LOT of useful things and is available at
; ;; ftp://cs.uta.fi/pub/ssjaaa/ema-tiny.html
; (require 'tinylibm)

; ;; search fwd or bkwd for word under cursor
; (autoload 'tisw-search-word-forward "tinysword" t t)
; (autoload 'tisw-search-word-backward "tinysword" t t)
; (global-set-key [f2]   'tisw-search-word-forward)
; (global-set-key [S-f2] 'tisw-search-word-backward)


;;ABBREVIATION SECTION
;; abbreviation mode
(setq-default abbrev-mode t)
(if (file-exists-p "~/.abbrev")
    (read-abbrev-file "~/.abbrev"))
(setq save-abbrevs t)

;;dynamic abbreviation customizations
(setq dabbrev-case-replace nil)



;;=====================================================================
;; BEHAVIOUR

;; This makes Emacs keybindings a little bit more Windows like. You
;; still can't use C-c, C-v and C-x to copy, paste and delete the
;; selection (luckily. C-c and C-x are pretty important in Emacs), but
;; you can at least use C-INS, S-INS, and S-DEL to do it. Also, you can
;; mark the region using cursor keys and the shift key and other stuff,
;; such as binding [home], [end], [\C-home], [\C-end], [\C-backspace].
(pc-selection-mode)

;; The following function changes the way you switch buffers. You are
;; presented with a list of buffers that shrinks as you type the name,
;; only the matching buffers are shown, making buffer switching much
;; easier.
(require 'iswitchb)
(iswitchb-default-keybindings)

(add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup)
(add-hook 'iswitchb-define-mode-map-hook
          (lambda ()
            (define-key iswitchb-mode-map [right] 'iswitchb-next-match)
            (define-key iswitchb-mode-map [left] 'iswitchb-prev-match)
            (define-key iswitchb-mode-map [f12] 'iswitchb-find-file)))




;; When you scroll down with the cursor, emacs will move down the
;; buffer one line at a time, instead of in larger amounts.
(setq scroll-step 1)

;;make all yes/no prompts into y/n prompts
(fset 'yes-or-no-p 'y-or-n-p)

;; don't automatically add new lines when scrolling down at the bottom
;; of a buffer
(setq next-line-add-newlines nil)

;; Pgup/dn will return exactly to the starting point.
(setq scroll-preserve-screen-position 1)

;;be able to do Ctrl-X, u/l  to upper/lowercase regions without confirm
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)

;; Override the unfamiliar yank on button-2 with the more specific
;; context sensitive menu.
(define-key global-map [mouse-2] 'mouse-major-mode-menu)

;; Reorder the mouse buttons if there are only two buttons, as mouse-2
;; is bound to more useful things by default.
(if (equal w32-num-mouse-buttons 2)
    (setq w32-swap-mouse-buttons t))


(defvar running-xemacs
  (string-match "XEmacs\\|Lucid" emacs-version))
(cond ((and (not running-xemacs)
            (>= emacs-major-version 19))
       ;; Checks to see if you're running xemacs
       ;; or GNU emacs.  I usually use GNU emacs, but am set up to use both.

       ;; These tell emacs to associate certain filename extensions with
       ;; certain modes.  I use cc-mode.el (c++-mode) for C as well as C++
       ;; code.  It is fairly all-encompassing, also working with other 
C-like
       ;; languages, such as Objective C and Java.
       (setq auto-mode-alist (cons '("\\.text$" . text-mode) 
auto-mode-alist))
;       (setq auto-mode-alist (cons '("\\.txt$" . text-mode) 
auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.doc$" . text-mode) 
auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.awk$" . awk-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.perl$" . perl-mode) 
auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.plx$" . perl-mode) 
auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.pl$" . perl-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.C$" . c++-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.cc$" . c++-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.c$" . c++-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.h$" . c++-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.cpp$" . c++-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.cxx$" . c++-mode) auto-mode-alist))
;       (setq auto-mode-alist (cons '("\\.tcl$" . tcl-mode) 
auto-mode-alist))
       (setq auto-mode-alist (cons (cons "\\.tk\\'"  'tcl-mode) 
auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.sh$" . shell-script-mode)
                                   auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.zsh$" . shell-script-mode)
                                  auto-mode-alist))
       (setq completion-ignored-extensions;; Filename completion ignores 
these.
             (append completion-ignored-extensions
                     '(".CKP" ".u" ".press" ".imp" ".BAK")))))


;; Shut off message buffer. Note - if you need to debug emacs,
;; comment these out so you can see what's going on.
;(setq message-log-max nil)
;(kill-buffer "*Messages*")

;; NEW
(setq default-major-mode 'text-mode)



;;=====================================================================
;; APPERANCE

;; If you want to have comments displayed in italics, uncomment the
;; following lines. Note that this must be done before font settings!
(setq w32-enable-italics t)
(make-face-italic 'font-lock-comment-face)


;; Favorite colours and icon/frame naming
(if window-system
    (progn
      (setq default-frame-alist
            (append
             '((top . 2) (left . 1)
               (width . 74) (height . 31)
;            '((top . my-top) (left . my-left)
;              (width . my-width) (height . my-height)
               (background-color . "floral white")
                   (cursor-color . "grey")
;              (background-color . "black")
;                  (cursor-color . "red")
               (cursor-type . box)
                   (vertical-scroll-bars . 'right)
                   (horizontal-scroll-bars . nil)
                   (scroll-bar-width . 12)
;                  (font . "-*-Terminal-normal-r-*-*-12-90-96-96-c-*-ms-oem")
                   )
             default-frame-alist))
      (set-face-background 'modeline "red")
      (set-face-foreground 'modeline "yellow")
      (set-face-background 'region "yellow")))

;; Show more info in taskbar/icon than just "Emacs"
;(setq-default frame-title-format (list "%55b %f"))
(setq-default
frame-title-format
(list '((buffer-file-name "%50b %f" (dired-directory
                                  dired-directory
                                  (revert-buffer-function " %b"
                                                          ("%b - Dir:  " 
default-directory)))))))

(setq-default icon-title-format (list "%b"))


;; Make the minibuffer resize to fit all of its contents.
(resize-minibuffer-mode)

;; The space below the modeline is either the echo area (if messages
;; are displayed) or the minibuffer (if you ought to type something
;; after a prompt). The minibuffer can grow if you need more than one
;; line for prompt and answer. Very usefull. This little function
;; allows the minibuffer to grow when required.

;; Make minibuffer larger if there is more to see
(resize-minibuffer-mode 1)


; ;; Use lazy lock for syntax coloring, otherwise large files will not
; ;; be colored. Also allows large files to load faster.
; ;; lazy-lock is a package which speeds up the highlighting of files
; ;; by doing it "on-the-fly" -- only the visible portion of the
; ;; buffer is fontified.  The results may not always be quite as
; ;; accurate as using full font-lock or fast-lock, but it's *much*
; ;; faster.  No more annoying pauses when you load files.
;
; (add-hook 'font-lock-mode-hook 'turn-on-lazy-lock)
; ;; I personally don't like "stealth mode" (where lazy-lock starts
; ;; fontifying in the background if you're idle for 30 seconds)
; ;; because it takes too long to wake up again on my piddly Sparc 1+.
; (setq lazy-lock-stealth-time nil)
;
; (setq font-lock-support-mode 'lazy-lock-mode)
; (setq lazy-lock-defer-on-scrolling nil)
; (setq lazy-lock-defer-time 1)
; (setq lazy-lock-stealth-time nil)
; ; (setq lazy-lock-stealth-time 20)
; (setq lazy-lock-stealth-lines 25)
; (setq lazy-lock-stealth-verbose nil)
; (require 'font-lock)
; (require 'lazy-lock)


;;syntax hilite
(global-font-lock-mode 1)
(setq font-lock-maximum-decoration t)
(custom-set-faces)


;; Toggle Which Function mode, globally.
;; When Which Function mode is enabled, the current function name is
;; continuously displayed in the mode line, in certain major modes.
;;
;; which-func-mode ( From gnu emacs FAQ ) If you set
;; which-func-mode-global via customize, which-func-mode will not turn
;; on automatically. You need to add the following to your startup
;; file BEFORE the call to custom-set-variables:
(which-func-mode 1)


;;;;;;;;;;;;;;;;;;;;;;;;;; Custom Variables ;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Comments:
;;
;; [Warning: Don't place comments within the custom-set-variables
;; section. They may get lost.]
;;
;; Set new abbreviations by doing the following: M-x
;; customize-variable jde-mode-abbreviations
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Comment from JDE's author on the jde-bug-debugger-host-address
;; setting below:
;;
;; When the JDE launches a debuggee process, it attempts to create a
;; socket between Emacs and the debugger to be used to send standard
;; input to the debuggee process and get standard and error output
;; back from the debuggee process. It uses the standard Emacs
;; function, make-comint, to create the socket connection. This
;; function requires the name of the host to which to make the
;; connection. The JDE passes the value of
;; jde-bug-debugger-host-address to make-comint. The value of
;; jde-bug-debugger-host-address is the value of the standard Emacs
;; variable, system-name, by default. This appears to be HOME-PC on
;; your home system. In other words, Emacs believes the name of your
;; home PC is HOME-PC. Unfortunately, the networking software on your
;; system does not appear to recognize this name. I am not enough
;; about your setup or Windows networking to know why this is
;; happening. The only thing I can suggest is that you try setting
;; jde-bug-debugger-host-address to the default absolute network
;; address for a local host: 127.0.0.1
;;
;;
;;;;;;;;;;;;;;;;;;; jde-auto-parse-buffer-interval ;;;;;;;;;;;;;;;;;;;
;; By default this value is 10. You can turn this auto parsing feature
;; off by toggleing jde-auto-parse-enable off

(custom-set-variables
'(jde-auto-parse-buffer-interval 60)
'(inhibit-startup-message t)
'(jde-run-applet-viewer "appletviewer")
'(which-func-mode-global t nil (which-func))
'(tab-width 4)
'(jde-bug-jdk-directory "c:/jdk1.3/")
'(jde-db-source-directories (quote ("c:/Dokumentumok/dani/my-java")))
'(jde-db-debugger (quote ("JDEbug" "jdb" . "Executable")))
'(jde-enable-abbrev-mode t)
'(tempo-interactive t t)
'(jde-bug-vm-includes-jpda-p t)
'(jde-bug-debugger-host-address "127.0.0.1")
'(line-number-display-limit 35000000))



(setq speedbar-frame-parameters
          (quote
                 ((minibuffer)
                  (width          . 24)
                  (border-width   . 0)
                  (menu-bar-lines . 0)
                  (unsplittable   . t))))


(setq window-min-height 3)


;;=====================================================================
;; MY ASSORTED LITTLE FUNCTIONS

(require 'my-funcs)


;;=====================================================================
;; MODES

;; DIRED MODE
(add-hook 'dired-mode-hook
          '(lambda()
             (define-key dired-mode-map [delete] 'dired-flag-file-deletion)
;            (define-key dired-mode-map [return] 'dired-find-file-other-window)
             (define-key dired-mode-map [C-down-mouse-1] 
'dired-mouse-find-file-other-window)
             (local-set-key [f5]    'revert-buffer)))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; C/C++ Mode. The Superclass of the Java (and JDE) Mode.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my-c-mode-hook ()
  (sep-line-setup "/" "*" "/")
  (local-set-key "\C-c\C-c" 'compile)
  (local-set-key "\M-f" 'c-forward-into-nomenclature)
  (local-set-key "\M-b" 'c-backward-into-nomenclature)

  ;;set up the tab stop list so I can do manual Ctrl-I tabs to specific 
points
  (setq tab-stop-list (create-tab-list 60))
  (setq indent-tabs-mode t)
  (setq tab-width (get-my-tab-length))
  (setq c-basic-offset (get-my-tab-length))
  (setq standard-indent (get-my-tab-length))
  (setq c-style-variables-are-local-p nil)

  ;;don't give me newline automatically after electric expressions are 
entered
  (setq c-auto-newline nil)

  ;;if (0)          becomes        if (0)
  ;;    {                          {
  ;;       ;                           ;
  ;;    }                          }
  (c-set-offset 'substatement-open 0)

  ;;first arg of arglist to functions: tabbed in once
  ;;(default was c-lineup-arglist-intro-after-paren)
  (c-set-offset 'arglist-intro '+)

  ;;second line of arglist to functions: tabbed in once
  ;;(default was c-lineup-arglist)
  (c-set-offset 'arglist-cont-nonempty '+)

  ;;switch/case:  make each case line indent from switch
  (c-set-offset 'case-label '+)

  ;;make the ENTER key indent next line properly
  (local-set-key "\C-m" 'newline-and-indent)

  ;;syntax-highlight aggressively
  (setq font-lock-support-mode 'lazy-lock-mode)
  (setq lazy-lock-defer-contextually t)
  (setq lazy-lock-defer-time 0)

  ;;make DEL take all previous whitespace with it
  (c-toggle-hungry-state 1)

  ;;make open-braces after a case: statement indent to 0 (default was '+)
  (c-set-offset 'statement-case-open 0)

  ;;make a #define be left-aligned
  (setq c-electric-pound-behavior (quote (alignleft)))

  ;;do not impose restriction that all lines not top-level be indented at 
least
  ;;1 (was imposed by gnu style by default)
  (setq c-label-minimum-indentation 0)
  )
(add-hook 'c++-mode-hook 'my-c-mode-hook)
(add-hook 'c-mode-hook 'my-c-mode-hook)


;;WINDOWS section
(if (or (eq system-type 'windows-nt)
        (eq system-type 'ms-dos))

    ;;progn is like (begin e1 e2 ...) on scheme.  i.e. execute one or more
    ;;statements in sequential order
    (progn

      ;;get around inadequacies of WIN9x/NT's window manager, which
      ;;always places new application windows in the same place in
      ;;some cases.  I want random placement of new windows so I can
      ;;Alt-TAB easier, and know where I'm going.  The following code
      ;;places the top left corner of the initial frame at a random
      ;;horizontal location on screen and a fixed vertical location.
      (setq initial-frame-alist
                        '((top . 2) (left . 1)
                          (width . 74) (height . 31)
;                       '((top . my-top) (left . my-left)
;                         (width . my-width) (height . my-height)
                          (vertical-scroll-bars . right)))


;             ;;Parse out milliseconds field, and scale it down.
;             ;;The current-time function is random enough for purposes here.
;             (left . ,(/ (car (cdr (cdr (current-time)))) 8000))))
      )
  )


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; JDE Mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; (defun jde-execute* ()
;   "Compile and run the code."
;   (interactive)
;   (if (buffer-modified-p)
;       jde-compile)

;   (jde-run))




(defun my-jde-mode-hook ()
  (turn-on-auto-fill)
  (sep-line-setup "/" "*" "/")
  (local-set-key [(f5)] 'jde-compile)
  (local-set-key "\C-c\C-c" 'my-jde-save-and-compile)
  (local-set-key [(f5)] 'jde-run)
  (local-set-key "\C-c\C-r" 'jde-run)
  (local-set-key "\C-c\C-1" 'jde-execute)
  (local-set-key (read-kbd-macro "M-RET")  'hippie-expand)

;   (local-set-key (read-kbd-macro "M-S-TAB")  'hippie-expand)

;   (local-set-key (read-kbd-macro "C-RET")  'jde-complete-at-point)

;   ;; The usual "local-set-key" doesn't work here for some reason.
;   (define-key text-mode-map [(control \.)] 'jde-complete-at-point)

  (local-set-key [(control \.)] 'jde-complete-at-point)
;   (local-set-key [(meta control return)] 'jde-complete-at-point)



;  (local-set-key "\C-c\C-c" 'compile-and-run*)

; The key to getting non-space indentation (i.e., tabs) is to set
; c-indent-level and tab-width to the same size.
  (setq c-basic-offset 4)
  (setq c-indent-level 4)
;  (setq tab-width 4))




;;;;;;;;;;;;;;;;;;;;;;;;; My Compile-and-Run ;;;;;;;;;;;;;;;;;;;;;;;;;
;   (defun compile-and-run* ()
;     "If buffer is modified compile and run, else just run the code."
;     (interactive)
;                                       ;  (let ((buf (current-buffer)))
;                                       ;  (setq is-compile-and-run t)
;     (if (buffer-modified-p)
;       (jde-compile)                   ;then
;       (jde-run)))                     ;else

;   ;; To be used as a hook at the end of a java compilation
;   (defun end-of-java-compile (bufname msg)
;     "To be used as a hook at the end of a java compilation"
;     (if (not (eq (string-match "finished" msg) nil))
;       (progn
;         (other-window 1 t)
;         (other-window 1 t)            ;Switch back to java buffer.
;         (jde-run))))

;   ;; Set function to be called at end of java compilation
;   (setq jde-compile-finish-hook 'end-of-java-compile)
;;;;;;;;;;;;;;;;;;;;;;; End of Compile-and-Run ;;;;;;;;;;;;;;;;;;;;;;;




;;;;;;;;;;;;;;;;;;;;; Highlight "FIXME" comments ;;;;;;;;;;;;;;;;;;;;;
; ;;; Make XXX00 stand out as big ugly warnings.
; (setq font-lock-fixme-face (make-face 'font-lock-fixme-face))
; (set-face-foreground 'font-lock-fixme-face "Red")
; (set-face-background 'font-lock-fixme-face "Yellow")

; (setq font-lock-scaffold-face (make-face 'font-lock-scaffold-face))
; (set-face-foreground 'font-lock-scaffold-face "Magenta")

; (font-lock-add-keywords 'jde-mode
;   '(("\\(^.*XXX00.*$\\)" 1 font-lock-fixme-face prepend)
;     ("\\<\\(Debug.assert\\|Debug.error\\|Debug.notImplemented\\)\\>" .
; font-lock-scaffold-Face)))


;;; Make XXX00 stand out as big ugly warnings.
(setq font-lock-fixme-face (make-face 'font-lock-fixme-face))
(set-face-foreground 'font-lock-fixme-face "Red")
(set-face-background 'font-lock-fixme-face "Yellow")

(setq font-lock-scaffold-face (make-face 'font-lock-scaffold-face))
(set-face-foreground 'font-lock-scaffold-face "Magenta")

(font-lock-add-keywords 'jde-mode
  '(("\\(^.*FIXME.*$\\)" 1 font-lock-fixme-face prepend)
    ("\\<\\(Debug.assert\\|Debug.error\\|Debug.notImplemented\\)\\>" .
font-lock-scaffold-Face)))



; ;;; Make FIXME and XXX stand out as big ugly warnings.
; (make-face 'font-lock-fixme-face)
; (set-face-foreground 'font-lock-fixme-face "Red")
; (set-face-background 'font-lock-fixme-face "Yellow")
; (setq fixme-keyword-names "fixme\\|xxx")
; (setq extra-keywords
;       (list
;       (list (concat "\\<\\(" fixme-keyword-names "\\)\\>") 1
; 'font-lock-fixme-face)
;        ))
; (append java-font-lock-keywords extra-keywords)






  )

(add-hook 'jde-mode-hook 'my-jde-mode-hook)



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Tcl mode.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq tcl-mode-hook
      '(lambda ()
;          (setq tcl-indent-level 2)
         (sep-line-setup "" "#" "")
         (define-key tcl-mode-map "\C-c\C-h" 'insert-heading-comment)
;         (define-key tcl-mode-map "\C-c\C-;" 'comment-region)
;          (font-lock-mode 1)
;          (set-face-foreground font-lock-comment-face "blue")
;          (set-face-foreground font-lock-keyword-face "black")
;          (set-face-foreground font-lock-builtin-face "black")
;          (set-face-underline-p font-lock-string-face nil)
;          (set-face-foreground font-lock-string-face "black")
         (setq font-lock-keywords '(
                                    ("#.*" . font-lock-comment-face)
                                    ))
         ))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; HTML Mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; (setq html-mode-hook
;       '(lambda ()
;          (define-key html-mode-map "\C-j"
;            '(lambda () (interactive) (insert "<BR>\n")))
;          (define-key html-mode-map "\C-c\C-h"
;            '(lambda () (interactive) (wrap-line-in-tags "<H1>" "</H1>")))
;          (define-key html-mode-map "\C-c\C-j"
;            '(lambda () (interactive) (wrap-line-in-tags "<H2>" "</H2>")))
;          (define-key html-mode-map "\C-c\C-v"
;            '(lambda () (interactive) (wrap-region-in-tags
;                                       (region-beginning) (region-end)
;                       "<BLOCKQUOTE><PRE>\n" "</PRE></BLOCKQUOTE>")))
;          (auto-fill-mode 1)
;          ))

; (defun wrap-line-in-tags (pretag posttag)
;   (interactive)
;   (wrap-region-in-tags (save-excursion (beginning-of-line) (point))
;                        (save-excursion (end-of-line) (point))
;                        pretag
;                        posttag))

; (defun wrap-region-in-tags (beg end pretag posttag)
;   (save-excursion
;     (setq endm (make-marker))
;     (set-marker endm end)
;     (goto-char beg)
;     (insert pretag)
;     (goto-char endm)
;     (insert posttag)))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; HTML-Helper Mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Text Mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my-text-mode-hook ()
  (sep-line-setup "" "-" "")
  (turn-on-auto-fill)
  (setq fill-column 70)
  (abbrev-mode 1)

  ;; Turn on auto spell checking. Flyspell needs ispell 3.1.20, which
  ;; can be downloaded at
  ;; ftp://ftp.gnu.org/pub/gnu/windows/emacs/contrib/  -> ispell.zip
  (flyspell-mode 1)
;   (local-set-key "\C-ce" '(lambda () "set english dictionary"
;                                                        (interactive)
;                                                        (ispell-change-dictionary 
"english")))
;   (local-set-key "\C-cd" '(lambda () "set german dictionary"
;                                                        (interactive)
;                                                        (ispell-change-dictionary 
"deutsch")))
  ;; Maybe you just have to change the Encoding setting in
  ;; Layout->Document to latin1 before spellchecking?


  ;; copy-region-as-kill-delete-newlines solves the problem of copying
  ;; text written with auto-fill-mode on into a Win application. (The
  ;; carriage returns that auto-fill-mode puts after each line are
  ;; removed.)
  ;;
  ;; The usual "local-set-key" doesn't work here for some reason.
  (define-key text-mode-map [(meta w)]
        'copy-region-as-kill-delete-newlines)

;   (local-unset-key "\M-w")
;   (local-set-key "\M-w" 'copy-region-as-kill-delete-newlines)



  ;(setq indent-line-function 'text-indent-line)
  (define-key text-mode-map "\t"
    '(lambda () (interactive) (insert-tab)))
  )
(add-hook 'text-mode-hook 'my-text-mode-hook)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Emacs-Lisp Mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my-emacs-lisp-mode-hook ()
  (turn-on-auto-fill)
  (sep-line-setup "" ";" ""))

(add-hook 'emacs-lisp-mode-hook 'my-emacs-lisp-mode-hook)



;; PYTHON
;; If the function python-mode is called, Emacs will load the file
;; python-mode.elc or python-mode.el in your load-path.
;;
;; The variable auto-mode-alist associates filename patterns with
;; functions to call. The entry we are adding lets Emacs call the
;; function python-mode whenever a file ending in .py is edited.
;;
;; The variable interpreter-mode-alist associates interpreters with
;; functions to call. The interpreter is guessed from the first line of
;; a file if it starts with #!. The entry we are adding lets Emacs call
;; the function python-mode whenever a file for the python interpreter
;; is edited.
;;
;; (autoload 'python-mode "python-mode" "Python editing mode." t)
;; (add-to-list 'auto-mode-alist '("\\.py$" . python-mode))
;; (add-to-list 'interpreter-mode-alist '("python" . python-mode))






; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;;; Minibuffer
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; (defun my-minibuffer-setup-hook ()
;   (local-set-key [tab]    'forward-char))

; (add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)






;;LOCAL HOOKS SECTION - note this section should be last to allow an
;;.emacs_local file to override the .emacs.  The .emacs_local file should
;;contain anything specific to a particular environment/platform/machine.
(if (file-exists-p "~/.emacs_local")
    (load-file "~/.emacs_local"))





;;=====================================================================
;;KEYBOARD SECTION
;;Function keys
(global-set-key [f1]    'help)
(global-set-key [S-f1]  'man)
(global-set-key [f3]    'find-file)
(global-set-key [f4] 'speedbar-get-focus) ;Speedbar URL is 
http://www.ultranet.com/~zappo/speedbar.shtml

;(global-set-key [\C-f4]    'kill-current-buffer) ;kill-current-buffer is 
defined.
(global-set-key [\C-f4]    'save-buffer-kill-buffer)
(global-set-key [f5]    'compile)

;; C-c bindings.
(global-set-key "\C-c;" 'comment-region) ;have to force it for some reason
(global-set-key (kbd "C-c a") 'auto-fill-mode)
(global-set-key [\S-tab] 'dabbrev-expand) ;dynamic expansion. S-TAB cycles 
through words in buffer starting with the same fragment.

;; Control (other than C-c), Meta, Shift keys
(global-set-key "\C-z" 'undo)
(global-set-key "\C-q" 'redo)           ;Requires redo.el
(global-set-key [?\C-/] 'void)
(global-set-key "\C-s" 'isearch-forward-regexp)
(global-set-key [\C-delete] 'kill-word)

(global-set-key "\C-\M-s" 'tags-search)
(define-key global-map "\C-\M-v" 'unscroll)     ;Requires unscroll.el
(global-set-key "\C-x\C-n" 'find-file-other-frame) ;open new frame with a 
file
(global-set-key "\C-xk" 'kill-current-buffer) ;kill current buffer without 
confirmation.

;; Rebind C-x C-b from list-buffer to buffer-menu (list-buffer creates
;; a window listing buffers but doesn't switch to it, where
;; buffer-menu does the switch.
(global-set-key "\C-x\C-b" 'buffer-menu)

(global-set-key "\C-x\C-c" 'intelligent-close)
(global-set-key (kbd "C-c o") 'occur) ;List lines matching regexp.
(global-set-key "\C-x55" 'split-window-fork)
(global-set-key "\M-g" 'goto-line)
(global-set-key "\M-s" 'shell)
(global-set-key "\M-n" 'scroll-n-lines-ahead)
(global-set-key "\M-p" 'scroll-n-lines-behind)
(global-set-key "\M-u" 'void) ;don't bind upcase word
(global-set-key "\M-l" 'void) ;don't bind downcase word
(global-set-key "\M-:" 'insert-heading-comment) ;Think of it as 
Meta-shift-;. Separator-line is a defined function.
(global-set-key [(meta =)] 'count-region)
(global-set-key [\M-backspace] 'backward-kill-word) ;Remap this. 
(pc-selection-mode maps this to "undo").
(global-set-key [(meta f4)] 'intelligent-close) ;forward reference

;;Misc.
(global-set-key "%" 'match-paren)       ; Make the % key jump to the matching 
{}[]() if on another, like in VI. match-paren is a defined function.
;(global-set-key [escape] 'keyboard-quit)       ; Same as C-g.




;; TAKE THIS OUT AFTER CHANGES TO ISHL. HERE THE CLARIFICATIONS FROM
;; ISHL's AUTHOR:
; Ishl uses a facility of Emacs Lisp called "advice," which is where
; extra functionality can be attached to pre-existing Emacs functions.
; For performance reasons, it's sometimes desirable for the extra
; functionality to be "compiled" when it's attached.
;
; The process of compiling the extra functionality can cause the
; *Compile-Log* buffer to come into existence.
;
; If you look through ishl.el for the word "compile," you'll find this
; line:
;
;   (defadvice isearch-update (after ishl-start-loop compile)
;
; If you prefer, you can remove the word "compile," changing the line to
; this:
;
;   (defadvice isearch-update (after ishl-start-loop)
;
; Doing so may have a small effect on performance, or it may not even be
; noticeable.
;
; Note that having an empty buffer named *Compile-Log* lying around in
; your Emacs is totally harmless.

(kill-buffer "*Compile-Log*")




;;=====================================================================
; Desktop works to save your current emacs session -- your buffers,
; positions within them, etc, and to reload your old emacs session
; when you start emacs up again.  The first time you want to do this,
; you also need to do "M-x desktop-save".
;
; The reason that I have this down here towards the end of the file is
; that all the nice font-locking stuff is otherwise ignored -- you'd
; need to do "M-x font-lock-mode" by hand, for each buffer, every
; time.  That's no good.
;
; Note: I think XEmacs does this automatically. Emacs has this
; package, but the following lines are necessary to activate it.

(load "desktop")
(desktop-load-default)
(desktop-read)


(message "Loading Daniel's .emacs file... Done.")



; ;;; load the JDE
; ;;(setq load-path
; ;;      (nconc '( "C:/emacssite/jde-2.1.5" ) load-path)
; ;;)
; (setq load-path
;       (nconc '( "C:/emacssite/jde-2.1.6beta21/lisp" ) load-path)
; )
; (require 'jde)

; ;;; load JPack, JDok, JDE CFlow, JSee
; (setq load-path
;       (nconc '( "C:/emacssite" ) load-path)
; )
; (require 'jpack)
; (require 'jdok)
; (require 'jsee)
; (load "C:/emacssite/jde-cflow.el")
; (cond ((fboundp 'global-font-lock-mode)
;                      (require 'extra-java-font-lock)
;                      (setq font-lock-maximum-decoration t)
;                      (global-font-lock-mode t)
;                      ))





;; =====================================================================
;; =====================================================================
;; USEFUL NOTES AND OTHER STUFF
;; =====================================================================

;; Tricks:
;;
;; To paste previous clipboard contents, do C-y M-y M-y ... M-y.
;;


;; How to record and display a keyboard macro
;;
;; Just open a buffer and type C-x ( Then start typing in your macro.
;; Once you are finished defining your macro type C-x ) Then type M-x
;; name-last-kbd-macro. This will allow you to call your macro
;; whatever you want. Next open up your .emacs file and position your
;; cursor where you want the code for the macro to appear.  Type M-x
;; insert-kbd-macro and type in the name.  The code will automatically
;; be generated.


; There is M-x enriched-mode RET which allows you to use italic and
; underline and bold and suchlike.  And store these attributes in a
; file!





; Q: Is it possible to relate two or more actions with global-set-key
;instead of only one action?
;
; A: Record a macro which combines the actions. Then name the macro
; ("name-last-kbd-macro"). Then save the macro in your .emacs file
; ("insert-kbd-macro") Then assign the key to that macro.
;
; start-kbd-macro so that call-last-kbd-macro would
; >> implicitly end-kbd-macro _before_ running?

; Galen Boyer <[EMAIL PROTECTED]> 29 Aug 2000 23:17:54 -0400
; > on a more frequent basis than your scenario, I have defined a macro,
; > and then not ended it. Then, I have done a bunch of other stuff,
; > like typing and deleting until I realize that I was still creating
; > my macro. I would hate "\C-x e" to execute all of that mess as well.

; I do that too, but edit-last-kbd-macro





; In the project I'm working on the package name in a java file is often
; wrong (don't ask why!) so I wrote a little function to check the
; package name and fix it if it is wrong.  I've added this to my
; jde-mode-hooks and it seems to work fine.  I'm posting it to share and
; to solicit comments.  Two "problems" with it are:
;
; 1.  When I visit a file using tags the message is lost amongst other
;     minibuffer verbage.
;
; 2.  My domain name is hardwired in.  I realize I can make this a
;     defconst/defvar, but is there something better?
;
; 3.  I'm not an elisp wizard, improvements welcome.
;
;
; ;; Check the package of the current buffer.  If it is wrong update it.
; (defun check-java-package ()
;   (interactive)
;   (save-excursion
;     (let* ((used-package (jde-parse-get-package-name))
;          (cwd (file-name-directory (buffer-file-name)))
;          (dots (substring (subst-char-in-string ?/ ?. cwd) 0 -1))
;          (tail (second (split-string dots "com.cimsoft")))
;          (actual-package (concat "com.cimsoft" tail)))
;       (beginning-of-buffer)
;       (if (and (not (string-equal used-package actual-package))
;              (re-search-forward "package[ \t]+\\(.*\\)[ \t]*;" nil t))
;         (progn
;           (replace-match actual-package t nil nil 1)
;           (message "Warning: Package name updated."))))))
;
; (add-hook 'jde-mode-hook '(check-java-package))




; `<TAB>'
;      Complete the text in the minibuffer as much as possible
;      (`minibuffer-complete').



; the hook `suspend-hook' runs just before Emacs suspends itself



; A different route.  I very rarely use a windows explorer instance
; to open up a file.  I, instead, use dired to open up all my text
; and programming files.  What does one do, then, when you need to
; open up a windows file?  With the following in your .emacs, you
; can hit f on any file, and if it is of a windows extension, which
; you identify in the gb-foreign-extensions variable, it will then
; be passed to windows.

; I have found a few problems opening up a few of the different
; types of files, so I added the "\\.$" entry.  I can then hit f on
; the ., representing the current directory, and a windows explorer
; pops up containing this directory.  Then, I can stay in Emacs,
; and jump to windows when needed.

; PUT THE FOLLOWING IN .emacs and try it out.

; ;;======================================================================
; ;; Open up windows files based on extension
; ;;======================================================================
; (require 'cl)

; (defvar gb-foreign-extensions
;   '(
;     "\\.\\.$"
;     "\\.$"
;     "\\.DOC$"
;     "\\.PPT$"
;     "\\.PCX$"
;     "\\.HLP$"
;     "\\.URL$"
;     "\\.BMP$"
;     "\\.AVI$"
;     "\\.WAV$"
;     "\\.CHM$"
;     "\\.GZ$"
;     "\\.VSD$"
;     "\\.LNK$"
;     "\\.ZIP$"
;     "\\.ER1$"
;     "\\.HTM$"
;     "\\.GIF$"
;     "\\.JPG$"
;     "\\.TIF$"
;     "\\.EXE$"
;     "\\.XLS$"
;     "\\.PPS$"
;     "\\.MPG$"
;     "\\.PDF$")
;   "List of regexps matching names of files that will be opened
; outside of EMACS")

; (defadvice find-file (around gb-foreign activate)
;   (interactive "FFind file: ")
;   (let ((case-fold-search t))
;     (if (some #'(lambda (x)
;                 (string-match x filename))
;             gb-foreign-extensions)
;       (if (file-exists-p filename)
;           (w32-shell-execute "open"
;                              (expand-file-name filename) nil 1)
;         (error "Can't create file `%s'" filename))
;       ad-do-it)))





;;;;;;;;;;;;;;;;;;;;;;;;; Telnet for Emacs: ;;;;;;;;;;;;;;;;;;;;;;;;;;
; Person1: I've found the SSH client PUTTY (there's a link under the
; Windows client's @ www.openssh.com) works very well. I run it on
; WinNT.  It is an SSH client, but will work as a normal telnet client
; if you connect via telnet and not ssh.  Xemacs seems to run just
; fine in it, with one exception.  This client understands basic ANSI
; colours and will try to use your default emacs colors.  If you use
; odd colours in emacs, they may not be visible.  The client has some
; colour controls you can try.
;
; Person2: The best one was from Ataman - features, reliability,
; installation (and lack of invasiveness).  I can't remember others...
;
; Person3: http://www.chiark.greenend.org.uk/~sgtatham/putty/
; Is simple, its easy, it works, just drop it somewhere on your file
; system and use it. Its free, it does both plain telnet and ssh, its
; doesn't need to write a bunch of crap to the LIE that is the Windows
; registry, it has few of its own needs, dependency-wise, its simply
; great. So if you want a Win32 telnet client that doesn't need a
; whole lot of fanfare and system registration and nonsense to run,
; this is the one.
;
; Person4: You may want to look at tramp for this.  Tramp extends EFS
; to allow other communication protocols.
; http://ls6-www.informatik.uni-dortmund.de/~grossjoh/emacs/tramp.html




;;;;;;;;;;;;;;;;;;; Taking spaces out of templates ;;;;;;;;;;;;;;;;;;;
; Q: Actually the problem is more complicated. The space that I'm
; encountering is the space that I press that forces the execution of
; the template. So I get something like this `if ( a==0)' if I type
; `if a==0'... Same situation exists for abbreviations. For instance
; my "pr" abbreviation linked to `System.out.println("' actually
; produces System.out.println(" test") if I type `pr test' (instead of
; System.out.println("test")) I haven't figured out the solution to
; the problem, and if somebody knows Lisp enough to tell me how to
; undo the space that triggers expansion in cflow templates and/or in
; abbreviations, I'll appreciate it.

; A: I used to be annoyed by the same thing.  Reworking the templates
; as below has made them more useful for me.  It ought to be fairly
; easy to remove the (in)appropriate occurrences of 'n' if you someone
; should want the braces placed differently.


; (jde-set-variables
;   '(jde-gen-cflow-if
;      (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"if\")" "'(l > 
\"if (\"
; (p \"if-clause: \" )\") \" n" "\"{\" > n> r n " "\"} \" >)" ")")))
;    '(jde-gen-cflow-else
;      (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"else\")" "'(l > 
\"else
; \" n" "\"{\" > n> r n" "\"}\" > >)" ")")))
;    '(jde-gen-cflow-while
;      (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"while\")" "'(l >
; \"while
; (\" (p \"while-clause: \" )\") \" n" "\"{\" > n> r n " "\"} \" >)" ")")))
;    '(jde-gen-cflow-for
;      (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"for\")" "'(l > 
\"for
; (\"
; (p \"for-clause: \" )\") \" n" "\"{\" > n> r n " "\"} \" >)" ")")))
;    '(jde-gen-cflow-for-i
;      (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"fori\")" "'(l > 
\"for
; (int \" (p \"variable: \" var) \" = 0; \"" "(s var)" "\" < \"(p \"upper 
bound:
; \"
; ub)\"; \" (s var) \"++) \" n" "\"{\" > n> r n" "\"} \" >)" ")")))
;    '(jde-gen-cflow-switch
;      (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"switch\")" "'(l 
 >
; \"switch (\" (p \"switch-condition: \" )\") \" n" "\"{\" > n" "\"case \" 
(p
; \"first value: \") \":\" > n> p n" "\"break;\" > n> p " "\"default:\" > n> 
p "
; "\"break;\" > n" "\"} \" >)" ")")))
;    '(jde-gen-cflow-case
;      (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"case\")" "'(l 
\"case
; \"
; (p \"value: \") \":\" > n> p n" "\"break;\" > p)" ")"))))

; (tempo-define-template
;  "plr-tc"
;  (quote
;   ("try" > n
;    "{" > n
;    > p n
;    "}" > n
;    > "catch(" (p "Exception: ") ")" > n
;    "{" > n
;    > p n
;    "}" > p))
;  nil
;  "Insert a Java try/catch skeleton")

; (tempo-define-template
;  "plr-tcf"
;  (quote
;   ("try" > n
;    "{" > n
;    > p > n
;    "}" > n
;    > "catch(" (p "Exception: ") ")" > n
;    "{" > n
;    > p n
;    "}" > n
;    "finally" > n
;    "{" > n
;    > p n
;    "}" > p
;    ))
;  nil
;  "Insert a Java try/catch/finally skeleton")

; (define-abbrev global-abbrev-table "tc" "" 'tempo-template-plr-tc 0)
; (define-abbrev global-abbrev-table "tcf" "" 'tempo-template-plr-tcf 0)




;;;;;;; using emacs to read/send mail via MS exchange server. ;;;;;;;;
; I don't know if you can do this.  I store my mail files locally by
; downloading from Exchange and then use smtp to route them to the
; Exchange server.  It sounds like you are already doing this, but, if
; not, I can help.  You can also leave a copy of the messages on the
; server by using epop3mail.el, or at least, that is what I have read
; in many different posts.
;
; Anybody know where to get epopmail.el?  I should probably use it
; instead of having Outlook copy all my mail to another folder, as
; I do currently.
;
; i think you can download the latest version (v 0.9.9.5) from
;
;       http://paddington.ic.uva.nl/public/ep3m0995.zip


;;;;;;;; Word processing in Emacs and pasting text elsewhere ;;;;;;;;;
; I have this problem too. Basically, here's what I do:
;
; 1) create a document in Emacs, using auto-fill-mode.
;
;  When I want to paste it into, e.g., Word:
;
; 2) set the fill-column to a million. (ESC 1000000 ESC x
; set-fill-column)
;
; 3) refill the paragraphs. If your document doesn't contain code or
; any other funny formatting, this is as easy as selecting the whole
; buffer and calling fill-individual-paragraphs (ESC x
; mark-whole-buffer ESC x fill-individual-paragraphs) . This gets rid
; of all the end-of-line characters auto-fill-mode put in.
;
; 4) Kill the buffer (ESC x mark-whole-buffer ESC-x
; copy-region-as-kill).
;
; 5) Paste into Word.
;
;
; Person2: I just use the brute force method i.e. I set the fill
; column to 80, type my message (with auto-fill on :-)) and then set
; the fill column to some ridiculously high number, like 3000, and
; then re-fill it. That gets rid of the hard CR's - then all you have
; to do is select the text with the mouse and paste it into your other
; application.




;; Yanks the text with automatic M-q
; (defun yank-and-fill()
;   (interactive)
;   (yank)
;   (exchange-point-and-mark)
;   (fill-paragraph nil)
;   (exchange-point-and-mark)
;   )
; ; choose the keybindig you prefer...
; (global-set-key [\?-s] 'yank-and-fill)



; German
; http://www.geocities.com/gordon_mcd/german.zip
; ftp://ftp.LF.net/pub/misc/ispell/



;;;;;;;;;;;;;;;;;;;;;;;;;;;; NEWNEWNEWNEW ;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; ; Q: I'm wondering if there is a way to automatically indent a region
; ; that has just been commented out. Also, after you uncomment out a
; ; region, it would be nice if the jde automatically indented the
; ; uncommented region.

; ; A: The problem with this function is that function that uncomments a
; ; region doesn't work if commented block is indented. The solution is
; ; to modify the original indent-region so that it removes leading
; ; whitespace before uncommenting the lines. Also global-set-key
; ; doesn't work (at least for me) because jde keybinding override
; ; global keybindings.

; ; Step 1: put following two functions in your .emacs file or
; ; preferably in a separate file (and put (load-file "separate_file")
; ; in your .emacs)


; (defun comment-region (beg end &optional arg)
;   "Comment or uncomment each line in the region.
; With just C-u prefix arg, uncomment each line in region. If there's
; any whitespace before the comment, it is removed before uncommenting.
; Numeric prefix arg ARG means use ARG comment characters.
; If ARG is negative, delete that many comment characters instead.
; Comments are terminated on each line, even for syntax in which newline
; does
; not end the comment.  Blank lines do not get comments."
;   ;; if someone wants it to only put a comment-start at the beginning and
;   ;; comment-end at the end then typing it, C-x C-x, closing it, C-x C-x
;   ;; is easy enough.  No option is made here for other than commenting
;   ;; every line.
;   (interactive "r\nP")
;   (or comment-start (error "No comment syntax is defined"))
;   (if (> beg end) (let (mid) (setq mid beg beg end end mid)))
;   (save-excursion
;     (save-restriction
;       (let ((cs comment-start) (ce comment-end)
;           (cp (when comment-padding
;                 (make-string comment-padding ? )))
;           numarg)
;       (if (consp arg) (setq numarg t)
;         (setq numarg (prefix-numeric-value arg))
;         ;; For positive arg > 1, replicate the comment delims now,
;         ;; then insert the replicated strings just once.
;         (while (> numarg 1)
;           (setq cs (concat cs comment-start)
;                 ce (concat ce comment-end))
;           (setq numarg (1- numarg))))
;       ;; Loop over all lines from BEG to END.
;       (narrow-to-region beg end)
;       (goto-char beg)
;       (if (or (eq numarg t) (< numarg 0))
;           (while (not (eobp))
;             (let (found-comment)
;               ;; Delete any leading space before comment
;               (delete-horizontal-space)
;               ;; Delete comment start from beginning of line.
;               (if (eq numarg t)
;                   (while (looking-at (regexp-quote cs))
;                     (setq found-comment t)
;                     (delete-char (length cs)))
;                 (let ((count numarg))
;                   (while (and (> 1 (setq count (1+ count)))
;                               (looking-at (regexp-quote cs)))
;                     (setq found-comment t)
;                     (delete-char (length cs)))))
;               ;; Delete comment padding from beginning of line
;               (when (and found-comment comment-padding
;                          (looking-at (regexp-quote cp)))
;                 (delete-char comment-padding))
;               ;; Delete comment end from end of line.
;               (if (string= "" ce)
;                   nil
;                 (if (eq numarg t)
;                     (progn
;                       (end-of-line)
;                       ;; This is questionable if comment-end ends in
;                       ;; whitespace.  That is pretty brain-damaged,
;                       ;; though.
;                       (while (progn (skip-chars-backward " \t")
;                                     (and (>= (- (point) (point-min))
; (length ce))
;                                          (save-excursion
;                                            (backward-char (length ce))
;                                            (looking-at (regexp-quote
; ce)))))
;                           (delete-char (- (length ce)))))
;                   (let ((count numarg))
;                     (while (> 1 (setq count (1+ count)))
;                       (end-of-line)
;                       ;; this is questionable if comment-end ends in
; whitespace
;                       ;; that is pretty brain-damaged though
;                       (skip-chars-backward " \t")
;                       (if (>= (- (point) (point-min)) (length ce))
;                           (save-excursion
;                             (backward-char (length ce))
;                             (if (looking-at (regexp-quote ce))
;                                 (delete-char (length ce)))))))))
;               (forward-line 1)))

;         (when comment-padding
;           (setq cs (concat cs cp)))
;         (while (not (eobp))
;           ;; Insert at beginning and at end.
;           (if (looking-at "[ \t]*$") ()
;             (insert cs)
;             (if (string= "" ce) ()
;               (end-of-line)
;               (insert ce)))
;           (search-forward "\n" nil 'move)))))))

; (defun comment-and-indent-region (beg end &optional arg)
;   "Runs comment-region and then indent-region on a region"
;   (interactive "r\nP")
;   (if (null arg)
;       (comment-region beg end)
;     (comment-region beg end arg))
;   (indent-region beg end nil))




;; For XEmacs check out strokes.el.




;;;;;;;;;;;;;;;;;;;;;;;;;; Version Control ;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  > Dear NTEmacs Users,
;  >
;  > Has anyone used the QCVS version-control system published by Quma in
;  > conjunction with NTEmacs? - Jack

; I'm not sure about QCVS, but I'm using CVS with NTemacs.  Basically
; I installed the pcl-cvs mode (available from
;   ftp://rum.cs.yale.edu/pub/monnier/pcl-cvs/
; ), and then had to find a cvs binary, (one is available in the WinCVS
; package from
;  ftp://cvsgui.sourceforge.net/pub/cvsgui/WinCvs106.zip
; ). Two variables needed to be defined in my ~/.emacs.el file:
;  cvs-program
;  cvs-cvsroot

; I have a HOME environment variable defined, so I ran the cvs binary
; from the command line to login and create my ~/.cvspass file.  I was
; then able to use the PCL-CVS commands to download files into a local
; project area, and merge changes back into the CVS repository.

; The
;  run-ediff-from-cvs-buffer
; command is currently failing, but I've not spent any time
; looking into this.



;;;;;;;;;;;;;;;;;;;;; High Static Nesting Levels ;;;;;;;;;;;;;;;;;;;;;
; >File mode specification error: (error "Variable binding depth exceeds
; >max-specpdl-size")

; Yes, I get this error too. It appears that your file requires a lot of
; recursing to parse correctly. So trying increasing the value of
; max-specpdl-size in your .emacs file, e.g.,

; (setq max-specpdl-size 5000)


;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mark columns ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; To mark a column for copying and pasteing:
; C-h a <RET> rectangle <RET>
; You may also be interested in the kill-rectangle (C-x r k) and yank-
; rectangle (C-x r y) commands if you didn't notice them!





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ML ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Standard ML Mode
;;(require 'sml-site)



;;;;;;;;;;;;;;;;;;;;; change speedbar attributes ;;;;;;;;;;;;;;;;;;;;;
; Type M-x customize-group speedbar-faces RET
; To change the speedbar frame attributes.






;; =====================================================================
;; =====================================================================

;;; .emacs ends here



=====end inserted .emacs file
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at 
http://profiles.msn.com.

Reply via email to