(require 'cl)
(defun ewd-fold (init op list)
"OP is a function taking two arguments. For each element in LIST, call OP
on the accumulated result so far (beginning with INIT) and the element."
(if (null list) init
(ewd-fold (funcall op init (car list)) op (cdr list))))
(defun mapassoc (func alist)
"map func down alist, listing results"
(mapcar (lambda (entry) (ewd-apply func entry)) alist))
(defun mapa (func alist)
"map func down alist, ignoring results"
(mapc (lambda (entry) (ewd-apply func entry)) alist))
(defun ewd-apply (func &rest args)
"Act just like `apply', only the final argument can end with a dotted pair
instead of nil."
(let ((revargs (reverse args)))
(apply 'apply func (reverse (cons (ewd-standardize (car revargs))
(cdr revargs))))))
(defun ewd-standardize (l)
"Return a standard list (ending in nil) which contains the same elements
as L."
(cond
((null l) '())
((not (listp l)) (list l))
(t (cons (car l) (ewd-standardize (cdr l))))))
(defun ewd-classname ()
"If the point is in a class definition, get the name of the class. Return
nil otherwise."
(save-excursion
(let ((brace (assoc 'inclass (c-guess-basic-syntax))))
(if (null brace) '()
(goto-char (cdr brace))
(let ((class-open (assoc 'class-open (c-guess-basic-syntax))))
(if class-open (goto-char (cdr class-open)))
(if (looking-at "^class[ \t]+\\([A-Za-z_][^ \t:{]*\\)")
(buffer-substring (match-beginning 1) (match-end 1))
(error "Error parsing class definition!")))))))
(defun ewd-insert-new-method (rettype proto)
"Insert a method into the current header file at point. Insert
implementation, too. This function expects the implementation file to
be named foo.cpp and in the same directory as the current file, foo.h."
(interactive "sReturn type: \nsPrototype: ")
(let ((classname (ewd-classname))
(c-tab-always-indent t))
(if (null classname) (message "Not in class definition!")
(unless (string-equal rettype "") (setq rettype (concat rettype " ")))
(insert rettype proto ";\n")
(c-indent-command)
(save-window-excursion
(find-file (concat
(file-name-sans-extension (buffer-file-name))
".cpp"))
(end-of-buffer)
(insert "\n\n")
(insert-function-comment)
(insert rettype classname "::" proto "\n{\n}\n")))))
(defun insert-function-comment ()
"Insert function comment"
(interactive)
(let ((nchars (cadr (insert-file-contents "~/templates/function.cpp"))))
(forward-char nchars)))
(defun ewd-fill-buffer ()
"Fill current buffer (see `fill-region' for details)"
(interactive)
(fill-region (point-min) (point-max)))
(defun ewd-font-lock-repaint (&optional pos)
"Repaint current block and recenter buffer around current line. With pos,
pos is passed as an argument to recenter."
(interactive "P")
(font-lock-fontify-block)
(if (null pos)
(recenter)
(recenter pos)))
(defvar ewd-compile-command "build-nt DEBUG="
"*The command ewd-docompile should issue in the current directory. This
command must take the /a flag to indicate a \"rebuild all\".")
(defun ewd-docompile (&optional all)
"Issues `ewd-compile-command' in the current directory,
presumably to build the current project. If ALL is specified,
rebuild all."
(interactive "P")
(compile
(concat ewd-compile-command (unless (null all) " /a")))
(pop-to-buffer "*compilation*" t)
(goto-char (point-max)))
(require 'misc)
(defun ewd-dup-line()
"Copy the current line and insert copy as the following line."
(interactive)
(save-excursion
(forward-line 1)
(copy-from-above-command)
(insert "\n")))
(defun ewd-beginning-of-buffer-nomark ()
"Move point to the beginning of the current buffer
without clobbering the mark."
(interactive)
(goto-char (point-min)))
(defun ewd-end-of-buffer-nomark ()
"Move point to the end of the current buffer without
clobbering the mark."
(interactive)
(goto-char (point-max)))
(defvar speedbar-frame nil)
(defun ewd-speedbar-frame (&optional ARG)
"If the speedbar frame is not open, open it. If it is open and ARG is
specified, close it. Otherwise, switch between frames.
`speedbar-get-focus' should already do something like this, but it's a
little buggy."
(interactive "P")
(if speedbar-frame
(if (null ARG)
(speedbar-get-focus)
(speedbar-frame-mode -1))
(speedbar-frame-mode 1)))
(if (eq window-system 'w32)
(defun ewd-get-x-font-name ()
"Select font from dialog box, then print X font name in current buffer."
(interactive)
(insert (prin1-to-string (w32-select-font)))))
(defun ewd-prepend (start end s)
"Add a string in front of all lines in the region."
(interactive "*r\nMEnter a string: ")
(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))
(beginning-of-line)
(while (not (eobp))
(insert s)
(forward-line 1)))))
(defun ewd-unprepend (start end s)
"Remove a string from the front of all lines in the region."
(interactive "*r\nMEnter a string: ")
(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))
(while (not (eobp))
(if (looking-at (regexp-quote s))
(delete-region (match-beginning 0) (match-end 0)))
(forward-line 1)))))
(defun ewd-comment-region (start end)
"Add one comment character in front of all lines in
the region."
(interactive "*r")
(or comment-start (setq comment-start (read-input "Comment char?: ")))
(ewd-prepend start end comment-start))
(defun ewd-uncomment-region (start end)
"Remove one comment character from in front of all lines in
the region."
(interactive "*r")
(or comment-start (setq comment-start (read-input "Comment char?: ")))
(ewd-unprepend start end comment-start))
(defun yic-next-buffer ()
"Switch to next buffer in current window. [Mike.Williams@comp.vuw.ac.nz]"
(interactive)
(let ((buffers (nreverse (buffer-list))))
(while (eq (string-to-char (buffer-name (car buffers))) 32)
(setq buffers (cdr buffers)))
(switch-to-buffer (car buffers))))
(defun yic-other-buffer ()
"Switch to the other buffer (2nd in list-buffer) in
current window."
(interactive)
(switch-to-buffer (other-buffer)))
(defun ewd-kill-current-buffer ()
"Kill current buffer."
(interactive)
(if (equal (buffer-name) "*scratch*")
(progn (delete-region (point-min) (point-max))
(if (> (ewd-buffer-count) 1) (bury-buffer)))
(kill-buffer (current-buffer))))
(defadvice scroll-up (around ewd-scroll-up first act)
"Keep cursor in the same column."
(let ((col (current-column)))
ad-do-it
(move-to-column col)))
(defadvice scroll-down (around ewd-scroll-down first act)
"Keep cursor in the same column."
(let ((col (current-column)))
ad-do-it
(move-to-column col)))
(defvar ewd-frame-offset 25
"*Amount to offset each subsequently created frame")
(defadvice x-create-frame-with-faces (before ewd-create-frame activate)
"Make subsequent frames open at an offset"
(let* ((topelt (assoc 'top default-frame-alist))
(leftelt (assoc 'left default-frame-alist))
(top (if (null topelt)
(car (setq default-frame-alist
(cons '(top . 0) default-frame-alist)))
topelt))
(left (if (null leftelt)
(car (setq default-frame-alist
(cons '(left . 0) default-frame-alist)))
leftelt))
(toppos (cdr top))
(leftpos (cdr left)))
(setcdr top (+ toppos ewd-frame-offset))
(setcdr left (+ leftpos ewd-frame-offset))))
(defun zoltan-telnet (host)
"Open a network login connection to host named HOST (a string).
Communication with HOST is recorded in a buffer `*telnet-HOST*'.
Normally input is edited in Emacs and sent a line at a time."
(interactive "sOpen telnet connection to host: ")
(let* ((comint-delimiter-argument-list '(?\ ?\t))
(name (concat "telnet-" (comint-arguments host 0 nil) ))
(buffer (get-buffer (concat "*" name "*")))
process)
(if (eq window-system 'w32)
(setq telnet-new-line "\n"))
(if (and buffer (get-buffer-process buffer))
(pop-to-buffer (concat "*" name "*"))
(pop-to-buffer (make-comint name telnet-program nil host))
(setq process (get-buffer-process (current-buffer)))
(set-process-filter process 'telnet-initial-filter)
(accept-process-output process)
(telnet-mode)
(setq comint-input-sender 'telnet-simple-send)
(setq telnet-count telnet-initial-count))))
(defun ewd-kp-as-prefix ()
"Make keypad numbers act as prefix keys."
(define-key function-key-map [kp-0] [27 ?0])
(define-key function-key-map [kp-1] [27 ?1])
(define-key function-key-map [kp-2] [27 ?2])
(define-key function-key-map [kp-3] [27 ?3])
(define-key function-key-map [kp-4] [27 ?4])
(define-key function-key-map [kp-5] [27 ?5])
(define-key function-key-map [kp-6] [27 ?6])
(define-key function-key-map [kp-7] [27 ?7])
(define-key function-key-map [kp-8] [27 ?8])
(define-key function-key-map [kp-9] [27 ?9])
(define-key function-key-map [kp-decimal] [27 ?-])
(message "Keypad numbers are prefix keys."))
(defun ewd-kp-as-num ()
"Make keypad numbers act as numbers."
(define-key function-key-map [kp-0] [?0])
(define-key function-key-map [kp-1] [?1])
(define-key function-key-map [kp-2] [?2])
(define-key function-key-map [kp-3] [?3])
(define-key function-key-map [kp-4] [?4])
(define-key function-key-map [kp-5] [?5])
(define-key function-key-map [kp-6] [?6])
(define-key function-key-map [kp-7] [?7])
(define-key function-key-map [kp-8] [?8])
(define-key function-key-map [kp-9] [?9])
(define-key function-key-map [kp-decimal] [?.])
(message "Keypad numbers are numbers."))
(defun ewd-toggle-kp-usage ()
"Switch the way keypad numbers are interpreted."
(interactive)
(cond ((eq ewd-kp-usage 'num)
(ewd-kp-as-prefix)
(setq ewd-kp-usage 'prefix))
((eq ewd-kp-usage 'prefix)
(ewd-kp-as-num)
(setq ewd-kp-usage 'num))))
(defun ewd-buffer-count (&optional FRAME)
"Return number of non-internal buffers currently alive. If FRAME is
specified,count buffers in FRAME."
(ewd-fold 0 (lambda (buffers each)
(if (eq ? (string-to-char (buffer-name each))) buffers
(+ 1 buffers)))
(buffer-list FRAME)))
(defun gosmacs-transpose-chars ()
"The real way to transpose characters with ^T: always
transpose the previous two characters from where the
point is."
(interactive nil)
(forward-char -1)
(transpose-chars 1))
(if (eq window-system 'w32)
(setq process-coding-system-alist
(cons '("bash" . raw-text-unix) process-coding-system-alist)))
(setq make-backup-files nil) (setq version-control 'never)
(setq tab-width 5) (setq-default indent-tabs-mode nil) (setq kill-ring-max 10) (setq require-final-newline t) (setq default-major-mode 'text-mode) (setq next-screen-context-lines 1) (setq auto-save-interval 300) (setq default-fill-column 77) (setq scroll-preserve-screen-position t)(setq next-line-add-newlines nil) (setq ewd-kp-usage 'num) (global-auto-revert-mode 1) (if (eq window-system 'w32)
(setq w32-enable-italics t))
(show-paren-mode t) (setq show-paren-style 'parenthesis) (setq blink-matching-paren-distance 51200)
(mapa 'w32-define-rgb-color
'((216 208 200 "PlumBackground")
( 72 64 96 "PlumTitleBar")
( 40 72 72 "PlumSelection")
(120 96 88 "PlumCursor")
( 64 40 64 "PlumDesktop")))
(setq Info-directory-list '("d:/emacs/elisp-info" "d:/emacs/info"))
(setq exec-path (cons "~/bin" exec-path))
(which-func-mode t) (setq display-time-day-and-date t) (display-time)
(setq default-frame-alist
'(
(top . 50)
(left . 100)
(width . 110)
(height . 40)
(cursor-color . "brown4")
(background-color . "floral white")
(font . "-*-Courier New-normal-r-*-*-13-*-*-*-c-*-iso8859-1")
))
(setq file-name-buffer-file-type-alist
(cons '("\\.\\(com\\|out\\)$") file-name-buffer-file-type-alist))
(setq eol-mnemonic-dos ?\\)
(setq eol-mnemonic-mac ?:)
(setq eol-mnemonic-unix ?/)
(setq eol-mnemonic-undecided ??)
(require 'eol-conversion)
(require 'gnuserv)
(gnuserv-start)
(setq gnuserv-frame (selected-frame))
(require 'telnet)
(setq telnet-program "~/bin/telnet.exe")
(fset 'telnet 'zoltan-telnet)
(setq ange-ftp-gateway-host "ftp-gw.pa.dec.com")
(setq ange-ftp-smart-gateway-port 1555)
(setq ange-ftp-smart-gateway t)
(setq ange-ftp-local-host-regexp
(concat
"\\(^[^.]*$\\|^.*\\.dec\\.com$\\|"
"^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+$\\)"))
(setq ange-ftp-skip-msgs
(concat
"^200 \\(PORT\\|Port\\) \\|^331 \\|^150 \\|^350 \\|^227 \\|"
"^[0-9]+ bytes \\|^Connected \\|^$\\|^Remote system\\|^Using\\|"
"^ \\|Password:\\|^Data connection \\|^local:\\|^Trying\\|^125 \\|"
"^550-\\|^221 .*oodbye")
)
(setq ange-ftp-gateway-program-interactive nil)
(setq ange-ftp-tmp-name-template
(concat (expand-file-name (getenv "TEMP")) "/ange-ftp"))
(setq ange-ftp-gateway-tmp-name-template
(concat (expand-file-name (getenv "TEMP")) "/ange-ftp"))
(require 'msb)
(cond (window-system
(require 'font-lock-menu)
(setq font-lock-maximum-decoration t)
(global-font-lock-mode t)
(setq font-lock-support-mode 'lazy-lock-mode)
(setq font-lock-defer-on-scrolling nil)
(setq font-lock-defer-on-the-fly nil)
(setq lazy-lock-defer-time 0)
(setq lazy-lock-minimum-size 10240)
))
(c-add-style "Eli"
'("gnu"
(c-basic-offset . 4)
(c-comment-continuation-stars . "*")
(compile-command . nil)
(dabbrev-case-replace . nil)
(c-auto-newline . t)
(c-cleanup-list . (scope-operator
brace-else-brace
brace-elseif-brace
defun-close-semi))
(c-offsets-alist . ((string . 0)
(substatement-open . 0)
(knr-argdecl-intro . 0)
(inline-open . 0)
(case-label . *)
(access-label . /)
(statement-case-intro . *)
(statement-case-open . *)
(arglist-close . c-lineup-close-paren)
(inextern-lang . 0)))
))
(setq c-font-lock-extra-types
(append
'("BOOL" "BSTR" "LPC?\\(W\\|T\\|OLE\\)?\\STR" "HRESULT"
"BYTE" "DWORD" "SOCKET" "idl_char"
"idl_boolean" "idl_byte" "idl_\\(short\\|long\\)_float"
"idl_u?\\(small\\|short\\|long\\)_int"
"boolean32" "unsigned\\(32\\|16\\)"
"SAFEARRAY" "boolean" "UINT" "ULONG")
c-font-lock-extra-types))
(setq c++-font-lock-extra-types
(append
c-font-lock-extra-types
c++-font-lock-extra-types))
(add-hook 'perl-mode-hook
(function
(lambda()
(local-set-key "\M-t" 'tab-to-tab-stop)
(local-set-key "\M-g" 'goto-line)
(local-set-key "\C-l" 'ewd-font-lock-repaint)
(setq cperl-hairy t)
(setq perl-indent-level 0)
(setq perl-continued-statement-offset 0)
(setq perl-brace-offset 2)
(setq perl-continued-brace-offset 2)
(setq perl-brace-imaginary-offset 2)
(setq perl-label-offset 0)
)))
(add-hook 'c-mode-common-hook
(function
(lambda ()
(imenu-add-to-menubar "Functions")
(local-set-key "\M-t" 'tab-to-tab-stop)
(local-set-key "\M-g" 'goto-line)
(c-set-style "Eli")
)))
(add-hook 'c-mode-hook
(function
(lambda ()
(modify-syntax-entry ?_ "w" c-mode-syntax-table)
)))
(add-hook 'c++-mode-hook
(function
(lambda ()
(modify-syntax-entry ?_ "w" c++-mode-syntax-table)
(local-unset-key "\C-c:")
)))
(add-hook 'emacs-lisp-mode-hook
(function
(lambda ()
(local-set-key "\M-t" 'tab-to-tab-stop)
(local-set-key "\M-g" 'goto-line)
(local-set-key "\C-l" 'ewd-font-lock-repaint)
)))
(add-hook 'text-mode-hook
(function
(lambda ()
(auto-fill-mode)
)))
(add-hook 'makefile-mode-hook
(function
(lambda()
(local-unset-key "\C-c:")
)))
(autoload 'perl-mode "cperl-mode" "better mode for editing Perl programs" t)
(autoload 'bat-generic-mode "generic-x" "Windows BAT file editing mode" t)
(autoload 'inf-generic-mode "generic-x" "Windows INF file editing mode" t)
(autoload 'rc-generic-mode "generic-x" "Windows RC file editing mode" t)
(autoload 'reg-generic-mode "generic-x" "Windows REG file editing mode" t)
(autoload 'woman "woman" "Read man pages without external programs" t)
(setq woman-path "d:/emacs/etc")
(setq woman-imenu t)
(autoload 'html-helper-mode "html-helper-mode" "HTML major mode." t)
(setq html-helper-do-write-file-hooks t)
(setq html-helper-build-new-buffer t)
(setq html-helper-address-string
"Eli Daniel <elijah.daniel@compaq.com>")
(setq tempo-interactive t)
(autoload 'cobol-mode "cobol-mode" "major mode for editing COBOL programs" t)
(if (eq window-system 'w32)
(require 'tex-site))
(when window-system
(autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t)
(autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t))
(require 'source-safe)
(setq ss-program "C:/Program Files/Microsoft Visual Studio/vss/win32/ss.exe")
(setq ss-project-dirs '(("^d:/devel/wmw/mc" . "$/MC/")
("^d:/devel/wmw/sc" . "$/SC/")
("^d:/devel/wmw/generator" . "$/generator/")))
(mapa 'global-set-key
'(([f7] . ewd-docompile)
([f4] . ewd-speedbar-frame)
([f11] . ewd-dup-line)
([end] . end-of-line)
([C-end] . ewd-end-of-buffer-nomark)
([home] . beginning-of-line)
([C-home] . ewd-beginning-of-buffer-nomark)
([apps] . execute-extended-command)
([C-right] . forward-sexp)
([C-left] . backward-sexp)
("\C-cd" . ediff-buffers)
("\C-m" . newline-and-indent)
("\C-x\C-p" . bury-buffer)
("\C-x\C-n" . yic-next-buffer)
("\C-x\C-o" . yic-other-buffer)
("\C-x\C-k" . ewd-kill-current-buffer)
("\C-h\C-v" . apropos-variable)
("\C-c;" . ewd-comment-region)
("\C-c:" . ewd-uncomment-region)
("\C-t" . gosmacs-transpose-chars)
("\C-ck" . ewd-toggle-kp-usage)
("\C-l" . ewd-font-lock-repaint)
("\C-cf" . ewd-get-x-font-name)
("\C-ci" . ewd-insert-new-method)
("\C-c\C-f" . ewd-fill-buffer)
))
(cond (window-system
(define-key-after (lookup-key global-map [menu-bar tools])
[speedbar-menu-separator] '("--" . speedbar-menu-separator) t)
(define-key-after (lookup-key global-map [menu-bar tools])
[speedbar] '("Speedbar" . speedbar-frame-mode) t)))
(cond ((eq window-system 'w32)
(define-key-after (lookup-key global-map [menu-bar edit])
[select-font-menu-separator] '("--" . select-font-menu-separator) t)
(define-key-after (lookup-key global-map [menu-bar edit])
[get-font-name] '("Get X font name" . ewd-get-x-font-name) t)))
(add-hook 'term-setup-hook
(function
(lambda ()
(define-key esc-map "[" nil)
(define-key esc-map "[A" 'previous-line)
(define-key esc-map "[B" 'next-line)
(define-key esc-map "[C" 'forward-char)
(define-key esc-map "[D" 'backward-char)
(define-key esc-map "[OA" 'previous-line)
(define-key esc-map "[OB" 'next-line)
(define-key esc-map "[OC" 'forward-char)
(define-key esc-map "[OD" 'backward-char)
)))
(setq auto-mode-alist
'(("\\.[Cc][Oo][Mm]\\'" . text-mode)
("\\.bat\\'" . bat-generic-mode)
("\\.inf\\'" . inf-generic-mode)
("\\.rc\\'" . rc-generic-mode)
("\\.reg\\'" . reg-generic-mode)
("\\.cob\\'" . cobol-mode)
("\\.cbl\\'" . cobol-mode)
("\\.te?xt\\'" . text-mode)
("\\.c\\'" . c-mode)
("\\.h\\'" . c++-mode)
("\\.tex$" . LaTeX-mode)
("\\.sty$" . LaTeX-mode)
("\\.bbl$" . LaTeX-mode)
("\\.bib$" . BibTeX-mode)
("\\.el\\'" . emacs-lisp-mode)
("\\.scm\\'" . scheme-mode)
("\\.l\\'" . lisp-mode)
("\\.lisp\\'" . lisp-mode)
("\\.f\\'" . fortran-mode)
("\\.F\\'" . fortran-mode)
("\\.for\\'" . fortran-mode)
("\\.p\\'" . pascal-mode)
("\\.pas\\'" . pascal-mode)
("\\.ad[abs]\\'" . ada-mode)
("\\.\\([pP][Llm]\\|al\\)\\'" . perl-mode)
("\\.s?html?\\'" . html-helper-mode)
("\\.idl\\'" . c++-mode)
("\\.cc\\'" . c++-mode)
("\\.hh\\'" . c++-mode)
("\\.hpp\\'" . c++-mode)
("\\.C\\'" . c++-mode)
("\\.H\\'" . c++-mode)
("\\.cpp\\'" . c++-mode)
("\\.[cC][xX][xX]\\'" . c++-mode)
("\\.hxx\\'" . c++-mode)
("\\.c\\+\\+\\'" . c++-mode)
("\\.h\\+\\+\\'" . c++-mode)
("\\.m\\'" . objc-mode)
("\\.java\\'" . java-mode)
("\\.ma?k\\'" . makefile-mode)
("\\(M\\|m\\|GNUm\\)akefile\\(\\.in\\)?" . makefile-mode)
("\\.am\\'" . makefile-mode)
("\\.mms\\'" . makefile-mode)
("\\.texinfo\\'" . texinfo-mode)
("\\.te?xi\\'" . texinfo-mode)
("\\.s\\'" . asm-mode)
("\\.S\\'" . asm-mode)
("\\.asm\\'" . asm-mode)
("ChangeLog\\'" . change-log-mode)
("change\\.log\\'" . change-log-mode)
("changelo\\'" . change-log-mode)
("ChangeLog\\.[0-9]+\\'" . change-log-mode)
("changelog\\'" . change-log-mode)
("changelog\\.[0-9]+\\'" . change-log-mode)
("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode)
("\\.scm\\.[0-9]*\\'" . scheme-mode)
("\\.[ck]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode)
("\\(/\\|\\`\\)\\.\\(bash_profile\\|z?login\\|bash_login\\|z?logout\\)\\'" . sh-mode)
("\\(/\\|\\`\\)\\.\\(bash_logout\\|[kz]shrc\\|bashrc\\|t?cshrc\\|esrc\\)\\'" . sh-mode)
("\\(/\\|\\`\\)\\.\\([kz]shenv\\|xinitrc\\|startxrc\\|xsession\\)\\'" . sh-mode)
("\\.mm\\'" . nroff-mode)
("\\.me\\'" . nroff-mode)
("\\.ms\\'" . nroff-mode)
("\\.man\\'" . nroff-mode)
("\\.[12345678]\\'" . nroff-mode)
("\\.TeX\\'" . TeX-mode)
("\\.sty\\'" . LaTeX-mode)
("\\.cls\\'" . LaTeX-mode)
("\\.clo\\'" . LaTeX-mode)
("\\.bbl\\'" . LaTeX-mode)
("\\.bib\\'" . BibTeX-mode)
("\\.m4\\'" . m4-mode)
("\\.mc\\'" . m4-mode)
("\\.mf\\'" . metafont-mode)
("\\.mp\\'" . metapost-mode)
("\\.vhdl?\\'" . vhdl-mode)
("\\.article\\'" . text-mode)
("\\.letter\\'" . text-mode)
("\\.tcl\\'" . tcl-mode)
("\\.exp\\'" . tcl-mode)
("\\.itcl\\'" . tcl-mode)
("\\.itk\\'" . tcl-mode)
("\\.icn\\'" . icon-mode)
("\\.sim\\'" . simula-mode)
("\\.mss\\'" . scribe-mode)
("\\.f90\\'" . f90-mode)
("\\.lsp\\'" . lisp-mode)
("\\.awk\\'" . awk-mode)
("\\.prolog\\'" . prolog-mode)
("\\.tar\\'" . tar-mode)
("\\.\\(arc\\|zip\\|lzh\\|zoo\\|jar\\)\\'" . archive-mode)
("\\.\\(ARC\\|ZIP\\|LZH\\|ZOO\\|JAR\\)\\'" . archive-mode)
("\\`/tmp/Re" . text-mode)
("/Message[0-9]*\\'" . text-mode)
("/drafts/[0-9]+\\'" . mh-letter-mode)
("\\.zone\\'" . zone-mode)
("\\`/tmp/fol/" . text-mode)
("\\.y\\'" . c-mode)
("\\.lex\\'" . c-mode)
("\\.oak\\'" . scheme-mode)
("\\.sgml?\\'" . sgml-mode)
("\\.xml\\'" . sgml-mode)
("\\.dtd\\'" . sgml-mode)
("\\.ds\\(ss\\)?l\\'" . dsssl-mode)
("\\.idl\\'" . c++-mode)
("[]>:/\\]\\..*emacs\\'" . emacs-lisp-mode)
("\\`\\..*emacs\\'" . emacs-lisp-mode)
("[:/]_emacs\\'" . emacs-lisp-mode)
("\\.ml\\'" . lisp-mode)))
(custom-set-variables)
(custom-set-faces
'(font-lock-comment-face ((((class color)) (:foreground "firebrick" :italic t))))
'(font-lock-reference-face ((((class color)) (:foreground "Purple"))))
'(font-lock-string-face ((((class color)) (:foreground "DarkGreen"))))
'(region ((((class color)) (:background "burlywood"))))
'(font-lock-keyword-face ((((class color)) (:foreground "Blue"))))
'(font-lock-constant-face ((((class color)) (:foreground "Blue"))))
'(font-lock-type-face ((((class color)) (:foreground "Red"))))
'(modeline ((((class color)) (:foreground "floral white" :background "PlumDesktop"))))
'(show-paren-match-face ((((class color)) (:background "burlywood4"))))
'(font-lock-function-name-face ((((class color)) (:foreground "DarkGoldenrod"))))
'(font-lock-builtin-face ((((class color)) (:foreground "Blue")))))
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)
|