I get this crash reproducibly by typing M-x man followed by a carriage
return. It has to be the first command I issue after starting
XEmacs at the command line of my tcsh running under Teraterm Pro
on a Pentium 3 PC running Exceed X server 7.0
==================================================
M-x describe-installation
uname -a: SunOS
fizzie.umdl.umich.edu 5.6 Generic_105181-23 sun4u sparc
SUNW,Ultra-2
./configure '--prefix=/l/local/xemacs-21.1.9'
'--site-prefixes=/l/local/libpng:/l/local/xpm:/l/local/zlib'
'--with-dragndrop' '--with-site-lisp'
XEmacs 21.1.9 "Canyonlands" configured for `sparc-sun-solaris2.6'.
Where should the build process find the source code?
/l/local/src/xemacs-21.1.9
What installation prefix should install use? /l/local/xemacs-21.1.9
What operating system and machine description files should XEmacs use?
`s/sol2.h' and `m/sparc.h'
What compiler should XEmacs be built with?
gcc -g -O3 -Wall -Wno-switch
Should XEmacs use the GNU version of malloc? yes
Should XEmacs use the relocating allocator for buffers? yes
What window system should XEmacs use? x11
Where do we find X Windows header files? /usr/dt/include
/usr/openwin/include
Where do we find X Windows libraries? /usr/dt/lib
/usr/openwin/lib
Additional prefixes: /l/local/libpng
/l/local/xpm /l/local/zlib
Runtime library search path:
/usr/ccs/lib:/l/local/libpng/lib:/l/local/xpm/lib:/usr/dt/lib:/usr/openwin/l
ib:/usr/local/lib
Compiling in support for XAUTH.
Compiling in support for XPM images.
Compiling in support for PNG image handling.
Compiling in support for (builtin) GIF image handling.
Compiling in native sound support.
Compiling in support for DBM.
Compiling in support for CDE.
Compiling in support for ToolTalk.
Compiling in EXPERIMENTAL support for Drag'n'Drop ( CDE ).
Compiling in support for proper session-management.
Using Lucid menubars.
Using Lucid scrollbars.
Using Motif dialog boxes.
Compiling in DLL support.
movemail will use "dot-locking" for locking mail spool files.
==================================================
gdb trace:
% gdb /l/local/bin/xemacs core
GNU gdb 4.17
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.6"...
warning: core file may not match specified executable file.
Core was generated by `xemacs -geometry 115x70+400+0'.
Program terminated with signal 11, Segmentation Fault.
Reading symbols from /usr/dt/lib/libXm.so.3...done.
Reading symbols from /l/local/libpng/lib/libpng.so.2...done.
Reading symbols from /l/local/xpm/lib/libXpm.so.4.11...done.
Reading symbols from /usr/dt/lib/libDtSvc.so.1...done.
Reading symbols from /usr/dt/lib/libtt.so.2...done.
Reading symbols from /usr/openwin/lib/libXmu.so.4...done.
Reading symbols from /usr/openwin/lib/libXt.so.4...done.
Reading symbols from /usr/openwin/lib/libXext.so.0...done.
Reading symbols from /usr/openwin/lib/libX11.so.4...done.
Reading symbols from /usr/openwin/lib/libSM.so.6...done.
Reading symbols from /usr/openwin/lib/libICE.so.6...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/lib/libkvm.so.1...done.
Reading symbols from /usr/lib/libkstat.so.1...done.
Reading symbols from /usr/lib/libm.so.1...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libelf.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libmp.so.2...done.
Reading symbols from /usr/platform/SUNW,Ultra-2/lib/libc_psr.so.1...done.
#0 0xef08878c in _libc_kill ()
(gdb) where
#0 0xef08878c in _libc_kill ()
#1 0x71ea8 in fatal_error_signal (sig=11) at emacs.c:263
#2 <signal handler called>
#3 skip_chars (buf=0x29d400, forwardp=0, syntaxp=1, string=5532698, lim=1)
at buffer.h:643
#4 0x118a10 in Fskip_syntax_backward (syntax=1615312412, lim=-1607991292,
buffer=-1607991292)
at search.c:941
#5 0x76270 in Feval (form=1079280204) at eval.c:3063
#6 0x7adb0 in Fprogn (args=1079280348) at eval.c:758
#7 0x75fbc in Feval (form=1079280412) at eval.c:2997
#8 0x7617c in Feval (form=1079280420) at eval.c:3049
#9 0x7adb0 in Fprogn (args=1079280060) at eval.c:758
#10 0x6bf94 in Fsave_excursion (args=1079280060) at editfns.c:403
#11 0x75fbc in Feval (form=1079280428) at eval.c:2997
#12 0x72c3c in FletX (args=1079280532) at eval.c:853
#13 0x75fbc in Feval (form=1079280444) at eval.c:2997
#14 0x76054 in Feval (form=1079280452) at eval.c:3015
#15 0x52b98 in Fcall_interactively (function=-1607166460,
record_flag=-1607991268, keys=-1607991292)
at callint.c:339
#16 0x7544c in Fcommand_execute (cmd=-1607166460, record=-1607991268,
keys=-1607991292) at eval.c:2584
#17 0x769b8 in funcall_recording_as (recorded_as=-1607905572, nargs=2,
args=0xefffe578) at eval.c:3193
#18 0x7ad54 in Ffuncall (nargs=3, args=0xefffe578) at eval.c:3238
#19 0x5148c in Fbyte_code (bytestr=1612484580, vector=-2145611652,
maxdepth=72) at bytecode.c:416
#20 0x77cf8 in funcall_lambda (fun=538743188, nargs=1,
arg_vector=0xefffe87c) at eval.c:3597
#21 0x76d4c in funcall_recording_as (recorded_as=-1607599404, nargs=1,
args=0xefffe878) at eval.c:3214
#22 0x7ad54 in Ffuncall (nargs=2, args=0xefffe878) at eval.c:3238
#23 0x54294 in Fcall_interactively (function=-1607599404,
record_flag=-1607991292, keys=-1607991292)
at callint.c:949
#24 0x7544c in Fcommand_execute (cmd=-1607599404, record=-1607991292,
keys=-1607991292) at eval.c:2584
#25 0x9f598 in execute_command_event (command_builder=0x3a11c0,
event=542021636) at event-stream.c:4346
#26 0x9fc4c in Fdispatch_event (event=542021636) at event-stream.c:4637
#27 0x58844 in Fcommand_loop_1 () at cmdloop.c:579
#28 0x58a7c in command_loop_1 (dummy=-1607991292) at cmdloop.c:494
#29 0x73830 in condition_case_1 (handlers=-1607991196, bfun=0x58a58
<command_loop_1>, barg=-1607991292,
hfun=0x58ae0 <cmd_error>, harg=-1607991292) at eval.c:1653
#30 0x58bf4 in command_loop_2 (dummy=-1607991292) at cmdloop.c:256
#31 0x7aa64 in internal_catch (tag=-1607913644, func=0x58ba8
<command_loop_2>, arg=-1607991292, threw=0x0)
at eval.c:1328
#32 0x58318 in initial_command_loop (load_me=363432) at cmdloop.c:305
#33 0x7091c in xemacs_21_1_9_sparc_sun_solaris2_6 (argc=3, argv=0xeffff14c,
envp=0xeffff15c, restart=0)
at emacs.c:1720
#34 0x72090 in main (argc=0, argv=0xeffff14c, envp=0xeffff15c) at
emacs.c:2137
==================================================
Lisp backtrace follows:
skip-syntax-backward("w_")
(progn (if (not ...) (forward-char)) (if (re-search-backward "\\sw\\|\\s_"
nil t) (forward-char)) (re-search
-backward "\\(\\sw\\|\\s_\\)([0-9]+[A-Za-z]*\\=" (point-at-bol) t)
(skip-syntax-backward "w_") (point))
)
(buffer-substring (progn (if ... ...) (if ... ...) (re-search-backward
"\\(\\sw\\|\\s_\\)([0-9]+[A-Za-z]*\\=
" ... t) (skip-syntax-backward "w_") (point)) (progn (skip-syntax-forward
"w_") (re-search-forward "\\=([0-9]+
[A-Za-z]*)" nil t) (point)))
)
# (unwind-protect ...)
(save-excursion (buffer-substring (progn ... ... ... ... ...) (progn ...
... ...)))
)
(let* ((default ...) (thing ...)) (if (equal thing "") default thing))
)
(list (let* (... ...) (if ... default thing)) (prefix-numeric-value
current-prefix-arg))
)
call-interactively(manual-entry)
command-execute(manual-entry t)
# bind (_execute_command_keys_ _execute_command_name_ prefix-arg)
execute-extended-command(nil)
# bind (command-debug-status)
call-interactively(execute-extended-command)
# (condition-case ... . error)
# (catch top-level ...)
[3] Segmentation fault xemacs -geometry 115x70+400+0 (core
dumped)
2.24u 0.88s 0:13.51 23.0%
==================================================
My .emacs:
;; -*- Mode: Emacs-Lisp -*-w
;;; Thu Nov 2 12:11:18 2000
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Basic Customization ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
(defvar dialup-connection (not
(and (getenv "DISPLAY")
(or
(string-match "141.211.175.38" (getenv "DISPLAY"))
(string-match "fizzie.umdl.umich.edu" (getenv "DISPLAY"))
(string-match "dlps4.umdl.umich.edu" (getenv "DISPLAY"))
(string-match "dlps1.umdl.umich.edu" (getenv "DISPLAY"))
(string-match "kukicha.umdl.umich.edu" (getenv "DISPLAY"))
))))
(defvar running-xemacs-on-dev (and
(getenv "HOST")
(string-match "fizzie.umdl.umich.edu"
(getenv "HOST"))))
(if dialup-connection (message "Dialup-connection...:"))
(if dialup-connection
(setq load-path
(append
(list
(expand-file-name "/l1/emacs-temp")
)
load-path))
(setq load-path
(append
(list
(expand-file-name "~/emacs")
; (expand-file-name "~/emacs/sxml/sxml-mode")
(expand-file-name "~/emacs/site-lisp-copy")
)
load-path)))
;;; Safe kill buffers
(defun kill-buffers ()
"Kill all buffers, asking permission on unmodified ones."
(interactive)
(let ((list (buffer-list)))
(while list
(let* ((buffer (car list))
(name (buffer-name buffer)))
(and (not (string-equal name ""))
(kill-buffer buffer)))
(setq list (cdr list))))
(cd "~"))
;;; Safer exit
(defun safe-exit-from-emacs ()
(interactive)
(if (yes-or-no-p "Do you want to exit ")
(save-buffers-kill-emacs)))
;;; Date
(defun date ()
(interactive)
(insert (current-time-string)))
;;; Toggle line wrapping buffer locally
(defun toggle-truncate-lines ()
"Toggle line wrapping via truncate-lines variable."
(interactive)
(if truncate-lines
(setq truncate-lines nil)
(setq truncate-lines t))
(redraw-display))
;;;; Toggle search case sensitivity
;(defun toggle-case-fold-search ()
; "Toggle search case sensitivity via case-fold-search variable."
; (interactive)
; (if case-fold-search
; (progn
; (setq case-fold-search nil)
; (message "Case-sensitive search."))
; (progn
; (setq case-fold-search t)
; (message "Case-insensitive search."))))
(defun join-lines (arg)
"Join this line to next and fix up whitespace at join.
With arg, joins that many lines."
(interactive "*p")
(while (> arg 0)
(delete-indentation 1)
(setq arg (1- arg))))
;;; Region commenting functions
(defun yic-comment-region (start end &optional arg)
"Add one comment character in front of all lines in the region."
(interactive "*r\nP")
(if arg (setq comment-start nil))
(save-excursion
(save-restriction
(narrow-to-region
(progn (goto-char start) (beginning-of-line) (point))
(progn (goto-char end) (end-of-line) (point)))
(goto-char (point-min))
(or comment-start (setq comment-start (read-input "Comment char?: ")))
(while (not (eobp))
(beginning-of-line)
(insert comment-start)
(forward-line 1)))))
(defun yic-uncomment-region (start end &optional arg)
"Remove one comment character in front of the lines in the region."
(interactive "*r\nP")
(if arg (setq comment-start nil))
(save-excursion
(save-restriction
(narrow-to-region
(progn (goto-char start) (beginning-of-line) (point))
(progn (goto-char end) (end-of-line) (point)))
(goto-char (point-min))
(or comment-start (setq comment-start (read-input "Comment char?: ")))
(while (not (eobp))
(if (looking-at (regexp-quote comment-start))
(delete-region (match-beginning 0) (match-end 0)))
(forward-line 1)))))
(defun map-path ()
"Inter-convert Unix-style DOS-style pathnames following point."
(interactive)
(mark-sexp 1)
(narrow-to-region (region-beginning) (region-end))
(let ((from-string "\\")
(to-string "/"))
(if (search-forward "/" nil t)
(progn
(setq from-string "/")
(setq to-string "\\")
(goto-char (point-min))))
(while (search-forward from-string nil t)
(replace-match to-string nil t)))
(widen))
(defun c-comment-line ()
(interactive)
(beginning-of-line)
(insert "//")
(beginning-of-line)
(next-line 1))
;;;
;;; Appearance and Behaviour
;;;
;;; Change the values of some variables...
(resize-minibuffer-mode 1) ; non-custom so FSF Emacs works
(setq minibuffer-confirm-incomplete nil
next-line-add-newlines nil
)
;; Font-lock
(setq font-lock-support-mode 'fast-lock-mode)
;;; ...and some other variables
(blink-matching-open)
(setq-default case-fold-search t)
(setq-default ediff-ignore-similar-regions t)
;;; Enable some privileged commands.
(put 'narrow-to-region 'disabled nil)
(put 'narrow-to-page 'disabled nil)
(put 'eval-expression 'disabled nil)
(put 'set-goal-column 'disabled nil)
;;; Frame decorations, sizes
;;(setq initial-frame-plist '((width . 90) (height . 30))) or use -geometry
(if (string-match "^\\([^\.]+\\)\." (system-name))
(setq host (substring (system-name) (match-beginning 1) (match-end 1)))
(setq host (system-name)))
(setq frame-title-format
'("@" host (buffer-file-name "-%f"
(dired-directory dired-directory "-%b"))))
;;; Global key mappings
;; Rectangle - operations using META. M-button1 is default on
;; mouse-track-do-rectangle
(global-set-key [(meta button2)] 'yank-rectangle)
(global-set-key [(meta button3)] 'kill-rectangle)
(global-set-key "\C-x\C-c" 'safe-exit-from-emacs)
(global-set-key "\C-z" 'scroll-down)
(global-set-key "\C-x\C-b" 'electric-buffer-list)
(global-set-key "\e:" 'goto-line)
(global-set-key "\eo" 'overwrite-mode)
(global-set-key "\ep" 'auto-fill-mode)
(global-set-key "\es" 'isearch-toggle-case-fold)
(global-set-key "\et" 'toggle-truncate-lines)
(global-set-key "\ev" 'view-mode)
(global-set-key "\em" 'indented-text-mode) ; lose
back-to-indentation
(global-set-key [(control &)] 'join-lines)
(global-set-key "\C-^" 'cf)
(global-set-key [(control *)] 'c-comment-line)
(global-set-key "\C-x*" 'indent-region)
(global-set-key [(control meta %)] 'query-replace-regexp)
(global-set-key "\C-x9 " 'complete-file-name)
(global-set-key "\C-x9(" 'paren-quote)
(global-set-key "\C-x9)" 'paren-spaced-quote)
(global-set-key "\C-x9*" 'asterisk-quote)
(global-set-key "\C-x9:" 'yic-uncomment-region)
(global-set-key "\C-x9;" 'yic-comment-region)
(global-set-key "\C-x9<" 'angle-quote)
(global-set-key "\C-x9[" 'square-quote)
(global-set-key "\C-x9\"" 'double-quote)
(global-set-key "\C-x9\'" 'single-quote)
(global-set-key "\C-x9\`" 'single-backquote)
(global-set-key "\C-x9_" 'under-quote)
(global-set-key "\C-x9a" 'align-regexp)
(global-set-key "\C-x9b" 'bury-buffer)
(global-set-key "\C-x9c" 'chop)
(global-set-key "\C-x9d" 'map-path)
(global-set-key "\C-x9e" 'find-file-at-point)
(global-set-key "\C-x9f" 'font-lock-mode)
(global-set-key "\C-x9h" 'function-header)
(global-set-key "\C-x9i" 'iso-accents-mode)
(global-set-key "\C-x9l" 'copyright)
(global-set-key "\C-x9r" 'recover-context)
(global-set-key "\C-x9s" 'cvs-status)
(global-set-key "\C-x9v" 'save-context)
(global-set-key "\C-x9x" 'kill-perl-parens)
(global-set-key "\C-x9y" 'fix-perl-parens)
(global-set-key "\C-x9z" 'zap-up-to-char)
(global-set-key "\C-x9{" 'curly-quote)
(define-key ctl-x-map "\C-k" 'kill-buffers)
;;; (auto)Load libraries
;;; --------------
(autoload 'cf "cf")
(autoload 'complete-fn "complete-fn")
(autoload 'paren-quote "qquote")
(autoload 'double-quote "qquote")
(autoload 'single-quote "qquote")
(autoload 'under-quote "qquote")
(autoload 'angle-quote "qquote")
(autoload 'asterisk-quote "qquote")
(autoload 'align-regexp "align-regex")
(autoload 'complete-file-name "complete-fn")
(autoload 'font-lock-mode-local "font-lock-local")
(autoload 'd "dlps")
(load-library "ascii")
(load-library "pending-del")
(pending-delete-on)
(load-library "curl")
(load-library "chop")
(load-library "counter")
(load-library "function-header")
(load-library "ot")
; (load-library "propagate")
(load-library "splash")
(if running-xemacs (load-library "misc-extensions"))
;(if (and (not dialup-connection) running-xemacs) (propagate))
;;; server
(if (and (not dialup-connection) running-xemacs) (gnuserv-start))
;;; TAGS
(defvar cvs-user-work-directory "p/pfarber"
"*CVS user-specific work directory path component")
(defvar cvs-user-suffix "-pfarber"
"*DLPS cgi user-specific suffix convention.")
(load-library "tags-dlps")
(setq tag-table-alist
(cons '(perl-suffix-regexp . (concat (getenv "DLXSROOT")
"/bin/t/text/")) tag-table-alist))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Customization of Specific Packages / Modes ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq default-major-mode 'indented-text-mode)
(setq interpreter-mode-alist (cons '("^#!.*perl" . cperl-mode)
interpreter-mode-alist))
;; VC (version control)
(load-library "vc")
;; Hideshow
(load-library "hideshow")
;; CSS mode
(autoload 'css-mode "css-mode")
(or (assoc "\\.css$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.css$" . css-mode) auto-mode-alist)))
(setq css-mode-hook
'(lambda ()
(progn
(turn-on-font-lock))))
;; JavaScript mode
(or (assoc "\\.js$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.js$" . js-mode) auto-mode-alist)))
(defun js-mode ()
(interactive)
(c++-mode)
(setq mode-name "Javascript"))
(setq c++-mode-hook
'(lambda ()
(progn
(c-set-style "bsd")
(turn-on-font-lock))))
;; mode-compile
(autoload 'mode-compile "mode-compile"
"Command to compile current buffer file based on the major mode" t)
(global-set-key "\C-cc" 'mode-compile)
(autoload 'mode-compile-kill "mode-compile"
"Command to kill a compilation launched by `mode-compile'" t)
(global-set-key "\C-ck" 'mode-compile-kill)
;; CPerl mode
(define-key global-map [(shift meta button3)] 'imenu)
(autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl
programs"
t)
(or (assoc "\\(\\.[pP][Llm]\\|\\.al\\|\\.cfg\\|.config\\|-idx\\)$"
auto-mode-alist)
(setq auto-mode-alist (cons
'("\\(\\.[pP][Llm]\\|\\.al\\|\\.config\\|\\.cfg\\|-idx\\)$" . perl-mode)
auto-mode-alist)))
(setq cperl-mode-hook
'(lambda ()
(progn
(hs-minor-mode)
(require 'cc-mode)
(cperl-set-style "C++")
(require 'cperl-mode-extensions)
(setup-cperl-default-tag-hook))))
;; Text mode
(setq text-mode-hook
'(lambda ()
(progn
(auto-fill-mode 1))))
;; Emacs lisp
(setq emacs-lisp-mode-hook
'(lambda ()
(progn
(turn-on-font-lock))))
;; Shell mode
(or (assoc "\\.conf$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.conf$" . sh-mode) auto-mode-alist)))
(or (assoc "rdist" auto-mode-alist)
(setq auto-mode-alist (cons '("rdist" . sh-mode) auto-mode-alist)))
(setq sh-mode-hook
'(lambda ()
(progn
(turn-on-font-lock))))
;; Comint mode
(setq comint-mode-hook
'(lambda ()
(progn
(turn-on-font-lock))))
;;; SXML - experimantal
;(autoload 'sxml-mode "sxml-mode" "Major mode for editing XML
documents." t)
;(setq auto-mode-alist
; (cons '("\\.xml$" . sxml-mode) auto-mode-alist))
;; [P]SGML mode
(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t )
;(autoload 'xml-mode "psgml" "Major mode to edit XML files." t)
(autoload 'dtd-mode "sgml-mode-extensions" "Major mode to edit DTD
files."
t )
(autoload 'fos-mode "sgml-mode-extensions" "Major mode to edit FOSI
files."
t )
(or (assoc "\\.dd$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.dd$" . sgml-mode) auto-mode-alist)))
(or (assoc "\\.map$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.map$" . sgml-mode) auto-mode-alist)))
(or (assoc "\\.ent$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.ent$" . sgml-mode) auto-mode-alist)))
(or (assoc "\\.fos$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.fos$" . fos-mode) auto-mode-alist)))
(or (assoc "\\.dtd$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.dtd$" . dtd-mode) auto-mode-alist)))
(or (assoc "\\.sgml$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.sgml$" . sgml-mode)
auto-mode-alist)))
(or (assoc "\\.sgm$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.sgm$" . sgml-mode)
auto-mode-alist)))
(or (assoc "\\.xml$" auto-mode-alist)
(setq auto-mode-alist (cons '("\\.xml$" . sgml-mode)
auto-mode-alist)))
(setq sgml-mode-hook
'(lambda ()
(progn
(require 'sgml-mode-extensions)
(turn-on-font-lock)
(auto-fill-mode 0)
)))
(setq dtd-mode-hook
'(lambda ()
(progn
(require 'sgml-mode-extensions)
(turn-on-font-lock)
(auto-fill-mode 0)
)))
(setq fos-mode-hook
'(lambda ()
(progn
(require 'sgml-mode-extensions)
(turn-on-font-lock)
(auto-fill-mode 0)
)))
;(setq sgml-declaration "/l1/obj/lib/sgml/xml.dcl")
;(defvar sgml-validate-command
"nsgmls -s -c/afs/engin.umich.edu/u/p/f/pfarber/catalog -c/l1/obj/lib/sgml/c
atalog %s %s"
; "*The shell command to validate an SGML document.
;
;This is a `format' control string that by default should contain two
;`%s' conversion specifications: the first will be replaced by the
;value of `sgml-declaration' \(or the empty string, if nil\); the
;second will be replaced by the current buffer's file name \(or the
;empty string, if nil\).
;
;If `sgml-validate-files' is non-nil, the format string should contain
;one `%s' conversion specification for each element of its result.
;
;If sgml-validate-command is a list, then every element should be a
;string. The strings will be tried in order and %-sequences in the
;string will be replaced according to the list below, if the string contains
;%-sequences with no replacement value the next string will be tried.
;
;%b means the visited file of the current buffer
;%s means the SGML declaration specified in the sgml-declaration variable
;%d means the file containing the DOCTYPE declaration, if not in the buffer
;")
;; HTML mode
(or (assoc "\\.tpl$" auto-mode-alist); recognize .tpl as HTML
(setq auto-mode-alist (cons '("\\.tpl$" . html-mode)
auto-mode-alist)))
(or (assoc "\\.chunk$" auto-mode-alist); recognize .tpl as HTML
(setq auto-mode-alist (cons '("\\.chunk$" . html-mode)
auto-mode-alist)))
(setq html-mode-hook
'(lambda ()
(progn
; (turn-on-font-lock) ; like it says
; (font-lock-mode-local) ; a little fixup ~/emacs/font-lock-mode-local.el
(auto-fill-mode 0)))) ; we don't like our HTML lines to wrap
automatically
;; Edebug is a source-level debugger for emacs-lisp programs.
(autoload 'edebug-defun "edebug")
(define-key emacs-lisp-mode-map "\C-xx" 'edebug-defun)
;;; Development environments
(let ((host (downcase (or (getenv "HOST") ""))))
(prog1
(message (concat "Configuring development environment `dev' on "
host))
(d "dev")))
;;; Custom
(custom-set-variables
'(find-file-use-truenames nil)
'(lpr-headers-switches nil)
'(require-final-newline t)
'(gnuserv-kill-quietly t)
'(cperl-extra-newline-before-brace t)
'(cperl-brace-offset -2)
'(sgml-public-map nil)
'(lpr-command "lpr")
'(cperl-electric-parens nil)
'(cperl-auto-newline t)
'(shell-prompt-face (quote shell-prompt-face))
'(scroll-step 1)
'(cperl-autoindent-on-semi t)
'(delete-key-deletes-forward t)
'(sgml-validate-command "nsgmls -s -m
/afs/engin.umich.edu/u/p/f/pfarber/catalog %s %s")
'(auto-save-interval 1000)
'(auto-save-directory "~/.autosave/")
'(vc-follow-symlinks nil)
'(cperl-electric-linefeed t)
'(column-number-mode t)
'(sgml-set-face t)
'(enable-recursive-minibuffers t)
'(cperl-auto-newline-after-colon nil)
'(cperl-invalid-face (quote (quote nil)))
'(grep-command "egrep -n -i -e ")
'(bar-cursor nil)
'(cperl-extra-newline-before-brace-multiline t)
'(tags-build-completion-table nil t)
'(outline-heading-end-regexp "[
]" t)
'(sgml-catalog-files (quote ("/l1/obj/lib/sgml/catalog")))
'(visible-bell t)
'(printer-name "bart")
'(sgml-markup-faces (quote ((start-tag . font-lock-function-name-face)
(end-tag . font-lock-function-name-face) (comment . font-lock-comment-face)
(pi . font-lock-keyword-face) (sgml . font-lock-doc-string-face) (doctype .
bold) (entity . bold-italic) (shortref . bold))))
'(outline-regexp "^[ ]*[*]+" t)
'(toolbar-visible-p nil)
'(delete-auto-save-files nil)
'(cperl-indent-level 4)
'(cperl-font-lock t)
'(bkup-backup-directory-info (quote (("^" "~/.backup" ok-create
full-path))) nil (backup-dir))
'(sgml-declaration (setq sgml-declaration "/l1/obj/lib/sgml/xml.dcl"))
'(shell-output-face (quote shell-output-face))
'(sgml-local-catalogs (quote
("/afs/engin.umich.edu/u/p/f/pfarber/catalog")))
'(line-number-mode t)
'(tags-auto-read-changed-tag-files t t)
'(find-file-compare-truenames t)
'(gnuserv-frame nil)
'(minibuffer-max-depth nil)
'(complex-buffers-menu-p t)
'(outline-mac-style t)
'(user-mail-address "pfarber(a)umich.edu" t)
'(query-user-mail-address nil)
'(*try-oblique-before-italic-fonts* t)
'(indent-tabs-mode nil)
'(font-lock-mode t nil (font-lock))
'(lpr-add-switches t))
(custom-set-faces
'(default ((t (:background "grey92" :size "12pt" :family
"Courier"))) t)
'(cperl-nonoverridable-face ((((class color) (background light))
(:foreground "goldenrod" :bold t))))
'(font-lock-string-face ((((class color) (background light)) (:foreground
"dark green"))))
'(font-lock-reference-face ((((class color) (background light))
(:foreground "red3"))))
'(shell-prompt-face ((t (:foreground "Blue" :bold t))) t)
'(dired-face-flagged ((((class color)) (:background "Gray"))))
'(font-lock-doc-string-face ((((class color) (background light))
(:foreground "green4"))))
'(font-lock-variable-name-face ((((class color) (background light))
(:foreground "DarkOrange4" :bold t))))
'(font-lock-keyword-face ((((class color) (background light)) (:bold t
:foreground "Black"))))
'(font-lock-builtin-face ((((class color) (background light)) (:bold t
:foreground "Orchid"))))
'(font-lock-constant-face ((((class color) (background light)) (:bold t
:foreground "CadetBlue"))) t)
'(font-lock-type-face ((((class color) (background light)) (:bold t
:foreground "ForestGreen"))))
'(cvs-marked-face ((((class color) (background light)) (:foreground
"green4" :bold t))))
'(bold-italic ((t (:size "12pt" :bold t :italic t))) t)
'(shell-output-face ((t (:italic nil))) t)
'(italic ((t (:size "12pt" :italic t))) t)
'(font-lock-other-type-face ((t (:foreground "orange3" :bold t))) t)
'(font-lock-comment-face ((((class color) (background light)) (:foreground
"Red"))))
'(dired-face-executable ((((class color)) (:foreground "SeaGreen" :bold
t))))
'(font-lock-function-name-face ((((class color) (background light))
(:foreground "blue" :bold t))))
'(cvs-filename-face ((((class color) (background light)) (:foreground
"blue4" :bold t))))
'(cvs-handled-face ((((class color) (background light)) (:foreground
"pink"
:bold t))))
'(modeline ((t (:foreground "black" :background "grey82" :bold
t))) t)
'(dired-face-symlink ((((class color)) (:foreground "cyan4"))))
'(dired-face-boring ((((class color)) (:foreground "Gray45"))))
'(dired-face-marked ((((class color)) (:background "pink")))))
;; Options Menu Settings
;; =====================
(cond
((and (string-match "XEmacs" emacs-version)
(boundp 'emacs-major-version)
(or (and
(= emacs-major-version 19)
(>= emacs-minor-version 14))
(= emacs-major-version 20))
(fboundp 'load-options-file))
(load-options-file "/afs/engin.umich.edu/u/p/f/pfarber/.xemacs-options")))
;; ============================
;; End of Options Menu Settings