From: ChristopherMBalz@StanfordAlumni.org (Christopher M. Balz)
Subject: w3m gives 'Wrong type argument: stringp, nil" error
Date: 3 Jun 2003 14:39:32 -0700 [thread overview]
Message-ID: <343aeada.0306031339.15e390bb@posting.google.com> (raw)
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 <user>'.
;; ------------ 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"
"<?xml version=\"1.0\"?>\n<!DOCTYPE concept SYSTEM \"concept.dtd\">"
)
( "DITA task"
"<?xml version=\"1.0\"?>\n<!DOCTYPE task SYSTEM \"task.dtd\">" )
( "DITA reftopic"
"<?xml version=\"1.0\"?>\n<!DOCTYPE reftopic SYSTEM
\"reftopic.dtd\">" )
( "DITA APIdesc"
"<?xml version=\"1.0\"?>\n<!DOCTYPE APIdesc SYSTEM \"apidesc.dtd\">"
)
( "DITA topic"
"<?xml version=\"1.0\"?>\n<!DOCTYPE topic SYSTEM \"ditabase.dtd\">"
)
( "HOD Script"
"<?xml version=\"1.0\"?>\n<!DOCTYPE HASCRIPT SYSTEM
\"HAScript.dtd\">" )
( "XHTML 1.0 Strict"
"<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML
1.0 Strict//EN\" \"xhtml1-strict.dtd\">" )
( "XHTML 1.0 Transitional"
"<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML
1.0 Transitional//EN\" \"xhtml1-transitional.dtd\">" )
( "XHTML 1.0 Frameset"
"<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML
1.0 Frameset//EN\" \"xhtml1-frameset.dtd\">" )
( "HTML 4.01 Transitional"
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"
)
( "HTML 4.01 Strict"
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">" )
( "HTML 4.01 Frameset"
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">" )
( "IBMIDDoc"
"<!DOCTYPE ibmiddoc PUBLIC \"+//ISBN 0-933186::IBM//DTD
IBMIDDoc//EN\" [\n]>")
( "DOCBOOK XML 4.1.2"
"<?xml version=\"1.0\"?>\n<!DOCTYPE book PUBLIC \"-//OASIS//DTD
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")))))
next reply other threads:[~2003-06-03 21:39 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-03 21:39 Christopher M. Balz [this message]
2003-06-03 21:45 ` w3m gives 'Wrong type argument: stringp, nil" error Chris McMahan
2003-06-04 16:35 ` Christopher M. Balz
2003-06-04 17:06 ` Kevin Rodgers
2003-06-05 4:19 ` Christopher M. Balz
2003-06-05 14:54 ` Chris McMahan
2003-06-05 17:05 ` Hugh Lawson
2003-06-05 19:28 ` Christopher M. Balz
2003-06-05 21:13 ` Kevin Rodgers
2003-06-06 7:49 ` Christopher M. Balz
2003-06-05 4:33 ` Christopher M. Balz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=343aeada.0306031339.15e390bb@posting.google.com \
--to=christophermbalz@stanfordalumni.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.