From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: ChristopherMBalz@StanfordAlumni.org (Christopher M. Balz) Newsgroups: gmane.emacs.help Subject: Re: w3m gives 'Wrong type argument: stringp, nil" error Date: 4 Jun 2003 09:35:30 -0700 Organization: http://groups.google.com/ Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: <343aeada.0306040835.ad5b36f@posting.google.com> References: <343aeada.0306031339.15e390bb@posting.google.com> NNTP-Posting-Host: main.gmane.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1054745204 19644 80.91.224.249 (4 Jun 2003 16:46:44 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 4 Jun 2003 16:46:44 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Wed Jun 04 18:46:39 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19NbKf-0004ff-00 for ; Wed, 04 Jun 2003 18:41:49 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19NbJt-0006jE-Hw for gnu-help-gnu-emacs@m.gmane.org; Wed, 04 Jun 2003 12:41:01 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!postnews1.google.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 796 Original-NNTP-Posting-Host: 158.252.218.45 Original-X-Trace: posting.google.com 1054744531 23800 127.0.0.1 (4 Jun 2003 16:35:31 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: 4 Jun 2003 16:35:31 GMT Original-Xref: shelby.stanford.edu gnu.emacs.help:114109 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:10603 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:10603 Wow, that would be just great!! I use Cygwin quite a bit. You could send it to me or if you have a link where I could download it from, you could just send me the link. Do you know where to find English instructions for compiling w3m? - CB Chris McMahan wrote in message news:... > The lack of a w3m executable is exactly what's causing your problem. > I've got a version compiled under cygwin for this program. If you're > interested, I'll send you a copy. You'll need the cygwin libraries to > run them, but they're free for the download. > > - Chris McMahan > > ChristopherMBalz@StanfordAlumni.org (Christopher M. Balz) writes: > > > Running GNU Emacs 23.3.1 on Windows 2000. I'm trying to use w3m via > > emacs_w3m. Every time I enter an M-x w3m- command, or just M-x w3m, I > > get the > > > > 'Wrong type argument: stringp, nil" error > > > > I think the problem is because w3m is not installed as an executable > > on my system. In the w3m doc, under installation, all there is is "No > > problem. :)". Oddly, I can't seem to find anything that resembles the > > bona fide w3m executable. Anyone know where the executable is and > > what it is named? > > > > Installation of emacs_w3m (v1.3.3) went just fine (I had to create a > > couple directories, but that worked just fine). Here is the > > installation from a DOS prompt: > > > > C:\Program Files\emacs\emacs-21.3\bin>emacs -batch -q -no-site-file -l > > c:/Progra~1/emacs/site/emacs-w3m-1.3.3/w3mhack.el NONE -f > > w3mhack-nonunix-install > > emacs -batch -q -no-site-file -l > > c:/Progra~1/emacs/site/emacs-w3m-1.3.3/w3mhack.el NONE -f > > w3mhack-nonunix-install > > `fns-21.3.1.elc' is up to date > > cp fns-21.3.1.el c:/Program Files/emacs/site-lisp/w3m/fns-21.3.1.el > > cp fns-21.3.1.elc c:/Program Files/emacs/site-lisp/w3m/fns-21.3.1.elc > > > > C:\Program Files\emacs\emacs-21.3\bin> > > > > All my packages are up to date, and my .emacs file is below (to find > > all related to 'w3m', just search on 'w3'). > > > > ;; This is a web programmer's .emacs file for GNU Emacs. > > ;; It has been tested on GNU Emacs version 21.3.1 on Windows 2000, > > ;; Service Pack 3. > > ;; > > ;; The GNU Emacs Homepage is located at: > > ;; http://www.gnu.org/directory/GNU/emacs.html > > ;; > > ;; This Document Last Modified: 06/03/2003. > > ;; > > ;; Portability: It would take minimal or no changes to port it to run > > on Unix; > > ;; the one major change definitely needed would be to remove the > > "cygwin"-related > > ;; code, since that is only for putting the BASH shell on Windows. > > ;; > > ;; @author: Christopher M. Balz. > > ;; Feel free to e-mail me regarding this file at any of the > > addresses below: > > ;; ChristopherBalz@yahoo.com > > ;; ChristopherMBalz@StanfordAlumni.org > > > > ;; General Notes: It is often said that a new Emacs user should stay > > away from old, crusty > > ;; '.emacs' files from others. However, the only way > > that I ever was able > > ;; to get a reasonable return on the investment of my > > time put into setting > > ;; up my Emacs configurations was by borrowing code > > snippets from others. > > ;; It is true that no '.emacs' file should be used > > uncritically, by newbie or > > ;; by others. > > ;; > > ;; However, for the best user base, new users should > > be able to > > ;; fairly easily clip out sections of '.emacs' files > > that interest them and put > > ;; them to use right away in their own '.emacs' files. > > To this end, I have > > ;; attempted to effectively segment the various > > independent components of this > > ;; '.emacs' file and have documented what I have done > > as clearly as possible. > > ;; It's very exciting how Emacs modes related to > > software engineering for the > > ;; web are maturing. > > ;; > > > > ;; ------------ Invocation of Gnu Emacs on Win2K: > > ;; > > ;; From Windows shortcut icon with these properties on shortcut's > > 'Properties' menu: > > ;; 'Target': > > ;; "C:\Program Files\emacs\emacs-21.3\bin\runemacs.exe" -l > > ~/.emacs > > ;; 'Start in' (Note: I use Cygwin, see below): > > ;; C:/cygwin/home/Administrator/ > > ;; > > ;; Set user-specific 'HOME' environment variable to > > 'C:/cygwin/home/Administrator', which is > > ;; the directory in which my '.emacs' file is located. Do this by > > going to the Control Panel, > > ;; then to 'System', then to 'Advanced', then to 'Environment > > Variables', the to 'Variables > > ;; for '. > > > > ;; ------------ Commense lisping: > > > > ;; Add the site directory (the site directory is used to contain > > non-core Emacs Lisp packages) > > ;; to the Emacs load-path. The Emacs load-path is > > ;; the list of directories where Emacs searches for packages that you > > require. > > ;; This must be at the head of your .emacs file. This code prepends > > the site directory to the load path: > > ;; Standard emacs lisp access (for non-byte-compiled access): > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/emacs-21.3/site-lisp/")) > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/emacs-21.3/site/lisp/progmodes/")) > > ;; System-wide emacs customizations: > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/")) > > ;; Personal emacs/site: > > (add-to-list 'load-path (expand-file-name "~/emacs/site/")) > > ;; So that Emacs can find the home directory files (desktop, etc.): > > (add-to-list 'load-path (expand-file-name "~/")) > > ;; Specific Packages: > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/eieio-0.17/")) > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/semantic-1.4.4/")) > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/speedbar-0.14beta4/")) > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/elib-1.0/")) > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/psgml-1.2.5/")) > > ;; For Emacs JDE (from http://sunsite.dk/jde/): > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/jde-2.3.2/lisp/")) > > ;; For the Emacs Web Browser: > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site/emacs-w3m-1.3.3/")) > > (add-to-list 'load-path (expand-file-name "C:/Program > > Files/emacs/site-lisp/w3m/")) > > > > ;; On Windows 2000, it is sufficient to set the user-specific 'HOME' > > environment > > ;; variable (see above) to the path to your .emacs file. For example, > > mine goes to: > > ;; 'C:/cygwin/home/Administrator'. Most other systems should have a > > ;; reasonably sane approach to doing this. These approaches are best. > > ;; However, if on some other system you have > > ;; trouble saving your customizations (meaning, the customizations > > possible > > ;; through the command ESC-x customize-group, and meaning, the error > > message > > ;; 'saving settings from 'emacs -q' would overwrite customizations'), > > ;; explicitly assigning the 'user-init-file' variable is a sure-fire > > way > > ;; to avoid the problem: > > ;; (setq user-init-file (expand-file-name "~/.emacs") > > ;; custom-file (expand-file-name "~/.emacs")) > > > > > > ;; For use of Bash shell via Cygwin on Windows 2000 (or NT), available > > from: > > ;; http://www.cygwin.com/ > > ;; (if you do not have Cygwin installed, comment all of this section > > out). > > ;; This assumes that Cygwin is installed in C:\cygwin (the > > ;; default) and that C:\cygwin\bin is not already in your > > ;; Windows Path (it generally should not be). > > ;; > > (setq exec-path (cons "C:/cygwin/bin" exec-path)) > > (setenv "PATH" (concat "C:\\cygwin\\bin;" (getenv "PATH"))) > > ;; > > ;; NT-emacs assumes a Windows command shell, which you change > > ;; here. > > ;; > > (setq process-coding-system-alist '(("bash" . undecided-unix))) > > (setq w32-quote-process-args ?\") > > (setq shell-file-name "bash") > > (setenv "SHELL" shell-file-name) > > (setq explicit-shell-file-name shell-file-name) > > ;; End of bash shell use via Cygwin section. > > > > ;; This removes unsightly ^M characters that would otherwise > > ;; appear in the output of java applications. > > ;; > > (add-hook 'comint-output-filter-functions > > 'comint-strip-ctrl-m) > > > > ;; Set start-up directory with cygwin nomenclature > > ;; (your configuration files _must_ be in this directory): > > (setq startup-directory "C:/cygwin/home/Administrator/") > > > > ;; generic-x.el is a standard package with Emacs 21. It contains some > > ;; very neat little modes, such as a JavaScript mode (but said mode > > ;; is not yet as good as c-mode for JavaScript, for it does not > > ;; recognize /*-style comments. > > ;; All modes supported by generic-x.el are automatically applied > > ;; unless overridden below (for example, JavaScript mode is overridden > > ;; below). > > (require 'generic-x) > > > > > > ;; -------- JDE is the Java IDE for Emacs. > > (require 'jde) > > ;; Use no tabs when editing Java for cross-editor indentation > > compatibility. > > (defun my-jde-indent-setup () > > (setq indent-tabs-mode nil) > > (setq jde-basic-offset 4)) > > ;; > > ;; Add the above hook to the jde-mode. > > (add-hook 'jde-mode-hook 'my-jde-indent-setup) > > > > > > ;; -------- Begin w3m Section (HTML browser) > > (autoload 'w3m "w3m" "Interface for w3m on Emacs." t) > > (autoload 'w3m-find-file "w3m" "w3m interface function for local > > file." t) > > (autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t) > > (autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGINE." > > t) > > (autoload 'w3m-weather "w3m-weather" "Display weather report." t) > > (autoload 'w3m-antenna "w3m-antenna" "Report change of WEB sites." t) > > (autoload 'w3m-namazu "w3m-namazu" "Search files with Namazu." t) > > (setq w3m-icon-directory "c:/Program > > Files/emacs/site/emacs-w3m-1.3.3/icons" > > w3m-search-default-engine "google" > > w3m-display-inline-image nil > > w3m-use-form t > > w3m-coding-system 'iso-8859-1 > > w3m-input-coding-system 'iso-8859-1 > > w3m-terminal-coding-system 'iso-8859-1 > > w3m-output-coding-system 'iso-8859-1 > > w3m-arrived-file-coding-system 'iso-8859-1 > > w3m-mailto-url-function 'gnus-summary-mail-other-window > > w3m-default-save-directory "~/w3m/") > > > > ;; -------- End w3m Section (HTML browser) > > > > ;; -------- Begin JavaScript editing section. -------- > > > > ;; This is my way of loading c-mode and hooking .js files to it, > > ;; not superseded by the JavaScript mode in generic-x.el (see above). > > (autoload 'c-mode "cc-mode.el") > > (setq auto-mode-alist (cons '("\\.js$" . c-mode) auto-mode-alist)) > > ;; This is the container for my custom js editing mode > > ;; It uses no tabs for cross-editor compatibility. > > (defun my-js-indent-setup () > > (setq indent-tabs-mode nil) > > (setq c-basic-offset 4)) > > ;; > > ;; Add the above hook to the c-mode. > > (add-hook 'c-mode-hook 'my-js-indent-setup) > > > > ;; -------- End JavaScript editing section. -------- > > > > > > ;; -------- Begin XML and SGML Editing Section -------- > > ;; > > ;; -> Note: this handles HTML also but > > ;; a formal DTD declaration is needed for that. Instead, I use > > ;; html-helper-mode, which handles embedded scripts as well. > > ;; -> From: http://www.lysator.liu.se/~lenst/about_psgml/ > > ;; -> Environment Variable Must be set for dtd feature to work: > > ;; PSGML needs to know where to find the SGML catalog files. There are > > a couple > > ;; of ways to accomplish this, as described in the PSGML > > documentation. I use the method > > ;; that makes use of the environment variable SGML_CATALOG_FILES > > because it is > > ;; also used by the SGML parser (patience, I come to it in the next > > section of this article). > > ;; So, now that you have a set of DTDs and a catalog file, create the > > afore-mentioned > > ;; environment variable and set it to include the path to your > > xhtml1.soc file, for > > ;; example d:\DTDs\xhtml1\xhtml1.soc. If you have more that one > > catalog file, > > ;; you can include them all, separating them with a path delimiter > > (";" on Windows, > > ;; ":" on UNIX-based systems). > > ;; Here is my value: c:\Program > > Files\dtds\xhtml1\xhtml1.soc;c:\Program > > Files\dtds\hodmacro\hodmacro.soc > > > > (require 'sgml-mode "psgml.el" "Major mode to edit SGML files.") > > (autoload 'xml-mode "psgml.el" "Major mode to edit XML." t) > > (setq auto-mode-alist > > (append '( > > ("\\.sgml$" . sgml-mode) > > ("\\.idd$" . sgml-mode) > > ("\\.ide$" . sgml-mode) > > ("\\.xml$" . xml-mode) > > ("\\.xsl$" . xml-mode) > > ("\\.fo$" . xml-mode) > > ) > > auto-mode-alist > > ) > > ) > > > > ; Auto-activate parsing the DTD when a document is loaded. > > ; If this isn't enabled, syntax coloring won't take affect until > > ; you manually invoke "DTD->Parse DTD" > > (setq sgml-auto-activate-dtd t) > > > > ;;; Set up my "DTD->Insert DTD" menu. > > > > (setq sgml-custom-dtd ' > > ( > > ( "DITA concept" > > "\n" > > ) > > ( "DITA task" > > "\n" ) > > ( "DITA reftopic" > > "\n > \"reftopic.dtd\">" ) > > ( "DITA APIdesc" > > "\n" > > ) > > ( "DITA topic" > > "\n" > > ) > > ( "HOD Script" > > "\n > \"HAScript.dtd\">" ) > > ( "XHTML 1.0 Strict" > > "\n > 1.0 Strict//EN\" \"xhtml1-strict.dtd\">" ) > > ( "XHTML 1.0 Transitional" > > "\n > 1.0 Transitional//EN\" \"xhtml1-transitional.dtd\">" ) > > ( "XHTML 1.0 Frameset" > > "\n > 1.0 Frameset//EN\" \"xhtml1-frameset.dtd\">" ) > > ( "HTML 4.01 Transitional" > > "" > > ) > > ( "HTML 4.01 Strict" > > "" ) > > ( "HTML 4.01 Frameset" > > "" ) > > ( "IBMIDDoc" > > " > IBMIDDoc//EN\" [\n]>") > > ( "DOCBOOK XML 4.1.2" > > "\n > DocBook XML V4.1.2//EN\" > > \"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd\" [\n]>") > > ) > > ) > > > > (define-key sgml-mode-map "\C-i" 'sgml-insert-element) > > ; override default validate command to utilize OpenSP's onsgmls > > executable > > (setq sgml-validate-command "onsgmls -s %s %s") > > ; override default xml-mode validate command to utilize OpenSP's > > onsgmls > > ; executable by using a mode-hook, since there appears to be no other > > means > > ; to accomplish it. > > (defun my-psgml-xml-hook () > > (setq sgml-validate-command "onsgmls -s %s %s") > > (setq sgml-declaration "C:\Program > > Files\openjade-1.3.1\pubtext\xml.dcl") > > ) > > (add-hook 'xml-mode-hook 'my-psgml-xml-hook) > > > > > > ;; -- End psgml / xml section -------- > > > > > > ;; --- Begin HTML editing section: > > ;; I require html helper mode because the hhm-config.el code seems to > > ;; cause an error if I have both autoloaded. > > (require 'html-helper-mode "html-helper-mode.el") > > (autoload 'html-helper-mode "hhm-config.el") > > (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) > > auto-mode-alist)) > > (setq auto-mode-alist (cons '("\\.asp$" . html-helper-mode) > > auto-mode-alist)) > > (setq auto-mode-alist (cons '("\\.phtml$" . html-helper-mode) > > auto-mode-alist)) > > ;; --- End HTML editing section. > > > > > > ;; ----- CSS mode. > > ;; This is for the css-mode (will not be necessary in later versions; > > it should > > ;; be in the css-mode code itself): > > (require 'apropos) > > > > ;; For css-mode: (from http://synthcode.com/emacs/lang/css-mode.el ) > > ;; Note: I've had crashing in this mode when I use an M-x > > indent-region > > ;; command. > > (autoload 'css-mode "css-mode.el") > > (setq auto-mode-alist > > (cons '("\\.css$" . css-mode) auto-mode-alist)) > > ;; ----- End CSS mode. > > > > > > ;; Make sure that .emacs file is edited in lisp mode: > > (setq auto-mode-alist (cons '("\.emacs" . lisp-mode) > > auto-mode-alist)) > > > > > > ;; ----- Diary and Appointment Notification Section. > > ;; There are also some variables set via the Emacs Customization > > Utility. > > ;; See the end of the file for those. > > ;; Read the diary: > > (diary) > > > > ;; Fancy display for Calendar > > ;; Here is some code to make your calendar and diary display fancier: > > (setq view-diary-entries-initially t > > mark-diary-entries-in-calendar t > > number-of-diary-entries 7) > > (add-hook 'diary-display-hook 'fancy-diary-display) > > (add-hook 'today-visible-calendar-hook 'calendar-mark-today) > > > > ;; Show column number on mode line. > > (column-number-mode t) > > ;; Show time on mode line, and set appointment notification. > > ;; (day-and-date) > > (display-time) > > (add-hook 'diary-hook 'appt-make-list) > > (diary 0) > > > > ;; Special function to make appointments work: > > (defun update-my-calendar () > > (let ((diary-buffer (get-file-buffer diary-file)) > > (number-of-diary-entries 30)) > > (if diary-buffer > > (progn > > (set-buffer diary-buffer) > > (revert-buffer t t))) > > (calendar))) > > > > ;; Enable syntax coloring. > > (global-font-lock-mode t) > > > > (setq-default transient-mark-mode t) > > > > ;; Global key maps: > > (global-set-key "\C-b" 'browse-url-of-file) > > (global-set-key "\e/" 'replace-regexp) > > (global-set-key "\C-xtl" 'goto-line) > > (global-set-key "\e[" 'enlarge-window) > > (global-set-key "\e]" 'shrink-window) > > (global-set-key "\e=" 'eval-current-buffer) > > > > ;; These two key bindings are for up and down scrolling by a either > > single line at a time > > ;; or by N lines at a time (default is scroll by one single line at a > > time). This is > > ;; very useful when working with narrow horizontal windows. ;~) > > ;; To enter the desired N, hold down \C and type the number and then > > hit z or q, all the > > ;; while holding down \C. > > ;; From the "Writing GNU Emacs Extensions" book, by Bob Glickstein. > > (defun scroll-n-lines-up (&optional n) > > "Scroll up N lines (1 line by default)." > > (interactive "P") > > (scroll-up (prefix-numeric-value n))) > > > > (defun scroll-n-lines-down (&optional n) > > "Scroll down N lines (1 line by default)." > > (interactive "P") > > (scroll-down (prefix-numeric-value n))) > > > > (global-set-key "\C-q" 'scroll-n-lines-up) > > (global-set-key "\C-z" 'scroll-n-lines-down) > > > > > > ;; These two bindings make it easier to find a mismatched parenthesis: > > (global-set-key "\e'" 'forward-sexp) > > (global-set-key "\e;" 'backward-sexp) > > > > ;;; Bracket/brace/parentheses highlighting: > > ;; The following is the command for Emacs 20.1 and later: > > (show-paren-mode 1) > > ;; * Here is some Emacs Lisp that will make the % key show the > > matching > > ;; parenthesis, like in vi. In addition, if the cursor isn't over a > > ;; parenthesis, it simply inserts a % like normal. (`Parenthesis' > > actually > > ;; includes and character with `open' or `close' syntax, which > > usually means > > ;; "()[]{}".) > > > > ;; By an unknown contributor > > > > (global-set-key "%" 'match-paren) > > > > (defun match-paren (arg) > > "Go to the matching parenthesis if on parenthesis otherwise insert > > %." > > (interactive "p") > > (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) > > ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) > > (t (self-insert-command (or arg 1))))) > > > > > > > > ;; The following functions enable on-the-fly switching between the > > bash shell and DOS: > > (defun set-shell-bash() > > (interactive) > > ;; (setq binary-process-input t) > > (setq shell-file-name "bash") > > (setq shell-command-switch "-c") > > (setq explicit-shell-file-name "bash") > > (setenv "SHELL" explicit-shell-file-name) > > (setq explicit-sh-args '("-login" "-i")) > > (setq w32-quote-process-args ?\") > > (setq mswindows-quote-process-args t) > > ) > > > > (defun set-shell-cmdproxy() > > (interactive) > > (setq shell-file-name "cmdproxy") > > (setq explicit-shell-file-name "cmdproxy") > > (setenv "SHELL" explicit-shell-file-name) > > (setq explicit-sh-args nil) > > (setq w32-quote-process-args nil) > > ) > > > > (global-set-key "\C-xg" 'set-shell-bash) ;; g for Gnu (\C-xb is used > > for buffer switch command). > > (global-set-key "\C-xd" 'set-shell-cmdproxy) > > ;; End shell-switch on-the-fly. > > > > > > ;; Begin move-to-window block: > > ;; This code is from the O'Reilly "GNU Emacs Extensions" book. > > ;; The purpose of it is to make a reasonable way to move to the next > > OR previous window. > > ;; Change from C-x o to C-x n, so that we have Next and Previous. > > (global-set-key "\C-xn" 'other-window) > > > > ;; We must make our own function to go to the previous window (but > > it's simple): > > (defun other-window-backward () > > "Select the previous window." > > (interactive) > > (other-window -1)) > > ;; Now we can bind to this function: > > (global-set-key "\C-xp" 'other-window-backward) > > ;; End move to window block. > > > > ;; This turns on the buffer select list in the minibuffer to make it > > easy to > > ;; edit any buffer in a given window or frame (C-r and C-s move > > backwards and forwards, respectively, > > ;; through the buffer select list). > > (require 'iswitchb) > > (iswitchb-default-keybindings) > > > > ;; old: (setq show-paren-mode t) > > ;; old: (setq show-paren-style 'parenthesis) > > > > ;; Set a high recursion limit for parsing the long java files: > > (setq max-specpdl-size 1000) > > > > (put 'upcase-region 'disabled nil) > > > > (put 'downcase-region 'disabled nil) > > > > ;; Adjust the colors and fonts to preference: > > (set-default-font "Fixedsys") > > (set-cursor-color "Deep Pink") > > (set-face-foreground 'highlight "blue") > > (set-face-background 'highlight "red") > > (set-foreground-color "Green") > > (set-background-color "Gray10") > > (set-face-foreground 'custom-group-tag-face "Yellow") > > (set-face-foreground 'custom-variable-tag-face "Magenta") > > (set-face-foreground 'custom-state-face "Yellow") > > (set-face-foreground 'font-lock-type-face "Goldenrod") > > (set-face-foreground 'font-lock-comment-face "OrangeRed") > > (set-face-foreground 'font-lock-function-name-face "Turquoise") > > (set-face-foreground 'font-lock-keyword-face "Yellow") > > (set-face-foreground 'font-lock-string-face "Magenta") > > (set-face-foreground 'font-lock-variable-name-face "Coral") > > (set-face-foreground 'modeline "yellow") > > (set-face-background 'modeline "purple4") > > (set-face-background 'region "MidnightBlue") > > (set-face-background 'secondary-selection "dodger blue") > > (set-face-foreground 'diary-face "Yellow") > > (set-face-background 'holiday-face "Pink") > > (set-face-foreground 'holiday-face "Red") > > (set-face-foreground 'widget-field-face "Sienna") > > (set-face-foreground 'widget-single-line-field-face "Firebrick") > > (set-face-foreground 'widget-inactive-face "White") > > (set-face-foreground 'widget-documentation-face "Coral") > > (set-mouse-color "yellow") > > > > ;; The following settings pertain to features that you may not have > > installed on your GNU Emacs: > > ;; Begin speedbar section (Values set via Emac's 'Customize' > > interface are found at the > > ;; bottom of the file, and hence if there is a 'conflict' they > > override these values). > > (set-face-foreground 'speedbar-directory-face "Green") > > (set-face-background 'speedbar-directory-face "Black") > > (set-face-foreground 'speedbar-highlight-face "DarkSlateGray") > > (set-face-background 'speedbar-highlight-face "Gold") > > (set-face-background 'speedbar-file-face "MidnightBlue") > > (set-face-foreground 'speedbar-file-face "Gold") > > (set-face-foreground 'speedbar-tag-face "Orange") > > ;; Set the speedbar pop-up window properties: Note that if the > > speedbar height is too > > ;; great, the windowing-system's title bar for the > > ;; speedbar window (at least on Windows2000) will not show completely. > > (setq speedbar-frame-parameters '((width . 30) > > (height . 45) > > (foreground-color . "green") > > (background-color . "black"))) > > ;; End speedbar section. > > > > ;; You may not want the following line if you do not have > > paren-matching running: > > (set-face-foreground 'show-paren-match-face "Red") > > ;; The following line is only if you have semantic installed: > > ;; doesn't work for semantic-1.4beta5 (set-face-foreground > > 'semantic-intangible-face "Gold") > > ;; The following line is only if you have the JDE installed: > > (set-face-foreground 'jde-java-font-lock-link-face "Gold") > > > > ;; --------- This is SGML colorizing with the psgml package, loaded > > above. > > > > ;;; Set up and enable syntax coloring. > > ; Create faces to assign markup categories. > > (make-face 'sgml-doctype-face) > > (make-face 'sgml-pi-face) > > (make-face 'sgml-comment-face) > > (make-face 'sgml-sgml-face) > > (make-face 'sgml-start-tag-face) > > (make-face 'sgml-end-tag-face) > > (make-face 'sgml-entity-face) > > (make-face 'sgml-attribute-face) > > > > ; Assign attributes to faces. > > (set-face-foreground 'sgml-doctype-face "yellow") > > (set-face-foreground 'sgml-sgml-face "cyan1") > > (set-face-foreground 'sgml-pi-face "magenta") > > (set-face-foreground 'sgml-comment-face "purple") > > (set-face-foreground 'sgml-start-tag-face "deep sky blue") > > (set-face-foreground 'sgml-end-tag-face "white") > > (set-face-foreground 'sgml-entity-face "orange") > > > > ; Assign faces to markup categories. > > (setq sgml-markup-faces > > '((doctype . sgml-doctype-face) > > (pi . sgml-pi-face) > > (comment . sgml-comment-face) > > (sgml . sgml-sgml-face) > > (comment . sgml-comment-face) > > (start-tag . sgml-start-tag-face) > > (end-tag . sgml-end-tag-face) > > (entity . sgml-entity-face))) > > > > > > ; PSGML - enable face settings > > (setq sgml-set-face t) > > > > ;; ---- End psgml highlighting section. > > > > ;; Gnus: using only for mail. > > (setq gnus-select-method '(nntp "news.statesoftware.com")) > > (add-hook 'nntp-server-opened-hook 'nntp-send-authinfo) > > > > > > > > ;; This checks to see if you've set the variable startup-directory and > > checks to > > ;; see if you've set it to a real directory. If so, it will switch > > there. > > (let ((working-directory (or startup-directory nil))) > > (if (and (and working-directory) > > (file-directory-p working-directory)) > > (cd working-directory))) > > > > ;; Make sure that tabs are being used (default behavior, but doesn't > > hurt in case something got changed): > > ;; (setq indent-tabs-mode t) > > > > ;; Make sure that no tab characters are used: > > (setq indent-tabs-mode nil) > > > > ;; Set the variable default-tab-width. > > (setq default-tab-width 4) > > > > ;; Define an easy way to move up in a dired directory, > > ;; To instantly view a file in the web browser (IE or whatever) (this > > needs a current directory argument to work better): > > ;; **NOTE: These bindings must be in a mode-hook, since dired isn't > > automatically > > ;; loaded on startup and so it's keymap is void until you go into > > dired. > > (add-hook `dired-mode-hook > > `(lambda () > > (define-key dired-mode-map "\C-w" 'dired-up-directory) > > (define-key dired-mode-map "\C-b" 'browse-url))) > > > > ;; ---------- BEGIN BUG WORKAROUNDS SECTION: > > ;; This prevents dired from displaying itself in warning-face when the > > ;; default-tab-width is set to 2. > > (defadvice dired-readin (around ecm-dired-indent activate) > > "Prevent indentation in dired from using tabs." > > (let ((indent-tabs-mode nil)) > > ad-do-it)) > > > > ;; ---------- END BUG WORKAROUNDS SECTION: > > > > ;; This enables saving the current desktop on shutdown. The ESC-x > > desktop-save > > ;; command must be given once for this to work in perpetuity. > > (desktop-load-default) > > (desktop-read) > > > > ;; --------- ** My custom hand-entered additions end here. ** > > > > ;; --------- ** Begin Auto-written Emacs Customization Section ** > > > > ;; The following has been automatically written by the Emacs > > customization utility: > > (custom-set-variables > > ;; custom-set-variables was added by Custom -- don't edit or > > cut/paste it! > > ;; Your init file should contain only one such instance. > > '(appt-message-warning-time 60) > > '(browse-url-browser-function (quote > > browse-url-default-windows-browser)) > > '(browse-url-generic-program "mozilla") > > '(calculator-number-digits 10) > > '(frame-background-mode nil) > > '(jde-auto-parse-max-buffer-size 0) > > '(jde-bug-jdk-directory "c:/j2sdk1.4.0/") > > '(jde-bug-vm-includes-jpda-p t) > > '(jde-compile-option-verbose t) > > '(jde-db-debugger (quote ("JDEbug" "" . "Executable")) t) > > '(jde-db-source-directories (quote ("c:/Program > > Files/jakarta-tomcat-3.2.4/webapps/dynasurv/WEB-INF/classes/com/treelogic_swe/frameworks/dynaquery" > > "c:/Program Files/jakarta-tomcat-3.2.4/webapps/dynasurv/WEB-INF/classes/com/treelogic_swe/frameworks/dynaform" > > "c:/Program Files/jakarta-tomcat-3.2.4/webapps/dynasurv/WEB-INF/classes/com/treelogic_swe/frameworks/dynafrontend"))) > > '(jde-debugger (quote ("JDEbug"))) > > '(jde-run-option-classpath (quote > > ("runner.jar;servlet.jar;org.apache.tomcat.shell.Startup"))) > > '(jde-run-option-verbose (quote (t nil nil))) > > '(jde-run-option-vm-args (quote ("-Xdebug -Xnoagent > > -Xrunjdwp:transport=dt_socket,address=6001,server=y,suspend=n"))) > > '(jde-setnu-mode-threshold 200000) > > '(jde-sourcepath (quote ("'c:/Program > > Files/jakarta-tomcat-3.3.1/lib/common/classes/com/treelogic_swe/frameworks/dynaquery/'" > > "'c:/Program Files/jakarta-tomcat-3.3.1/lib/common/classes/com/treelogic_swe/frameworks/dynaform/'" > > "'c:/Program Files/jakarta-tomcat-3.3.1/lib/common/classes/com/treelogic_swe/frameworks/dynafrontend/build/'" > > "'c:/Program Files/jakarta-tomcat-3.3.1/lib/common/classes/com/treelogic_swe/frameworks/dynafrontend/dynafastsurv/'"))) > > '(mail-host-address "ChristopherBalz@yahoo.com") > > '(midnight-delay 34200) > > '(midnight-hook (quote (update-my-calendar))) > > '(midnight-mode t nil (midnight)) > > '(printer-name "USB001") > > '(speedbar-show-unknown-files t) > > '(speedbar-use-images t) > > '(user-full-name "Christopher M. Balz") > > '(user-mail-address "ChristopherBalz@yahoo.com")) > > (custom-set-faces > > ;; custom-set-faces was added by Custom -- don't edit or cut/paste > > it! > > ;; Your init file should contain only one such instance. > > '(speedbar-button-face ((t (:background "black" :foreground "deep sky > > blue")))) > > '(speedbar-file-face ((t (:background "black" :foreground > > "yellow1")))) > > '(speedbar-selected-face ((((class color) (background dark)) > > (:background "black" :foreground "red" :underline t)))) > > '(speedbar-tag-face ((t (:background "black" :foreground > > "Orange")))))