(concat "(" (buffer-string) ")")))))))
(cdr (assq sym mdw-config)))
+;; --- Set up the load path convincingly ---
+
+(dolist (dir (append (and (boundp 'debian-emacs-flavor)
+ (list (concat "/usr/share/"
+ (symbol-name debian-emacs-flavor)
+ "/site-lisp")))))
+ (dolist (sub (directory-files dir t))
+ (when (and (file-accessible-directory-p sub)
+ (not (member sub load-path)))
+ (setq load-path (nconc load-path (list sub))))))
+
;; --- Is an Emacs library available? ---
(defun library-exists-p (name)
(auto-fill-mode 1)
(setq fill-column 77)
(setq show-trailing-whitespace t)
+ (and (fboundp 'gtags-mode)
+ (gtags-mode))
(outline-minor-mode t)
(mdw-set-font))
+(eval-after-load 'gtags
+ '(dolist (key '([mouse-2] [mouse-3]))
+ (define-key gtags-mode-map key nil)))
+
;; --- Set up all sorts of faces ---
(defvar mdw-set-font nil)
(font-lock-keyword-face :weight bold)
(font-lock-constant-face :weight bold)
(font-lock-reference-face :weight bold)
+ (message-cited-text
+ :foreground ,(if window-system "SeaGreen1" "green")
+ :slant italic)
+ (message-separator :background "red" :foreground "white" :weight bold)
+ (message-header-cc
+ :foreground ,(if window-system "SeaGreen1" "green")
+ :weight bold)
+ (message-header-newsgroups
+ :foreground ,(if window-system "SeaGreen1" "green")
+ :weight bold)
+ (message-header-subject
+ :foreground ,(if window-system "SeaGreen1" "green")
+ :weight bold)
+ (message-header-to
+ :foreground ,(if window-system "SeaGreen1" "green")
+ :weight bold)
+ (message-header-xheader
+ :foreground ,(if window-system "SeaGreen1" "green")
+ :weight bold)
+ (message-header-other
+ :foreground ,(if window-system "SeaGreen1" "green")
+ :weight bold)
+ (message-header-name
+ :foreground ,(if window-system "SeaGreen1" "green"))
(woman-bold :weight bold)
(woman-italic :slant italic)
(diff-index :weight bold)
;; --- Make C indentation nice ---
+(eval-after-load "cc-mode"
+ '(progn
+ (define-key c-mode-map "*" nil)
+ (define-key c-mode-map "/" nil)))
+
(defun mdw-c-style ()
(c-add-style "[mdw] C and C++ style"
'((c-basic-offset . 2)
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+;;;----- Erlang configuration -----------------------------------------------
+
+(setq erlang-electric-commannds
+ '(erlang-electric-newline erlang-electric-semicolon))
+
+(defun mdw-fontify-erlang ()
+
+ ;; --- Set fill prefix ---
+
+ (mdw-standard-fill-prefix "\\([ \t]*{?%*[ \t]*\\)")
+
+ ;; --- Fiddle with fontification ---
+
+ (make-local-variable 'font-lock-keywords)
+ (let ((erlang-keywords
+ (mdw-regexps "after" "and" "andalso"
+ "band" "begin" "bnot" "bor" "bsl" "bsr" "bxor"
+ "case" "catch" "cond"
+ "div" "end" "fun" "if" "let" "not"
+ "of" "or" "orelse"
+ "query" "receive" "rem" "try" "when" "xor")))
+
+ (setq font-lock-keywords
+ (list
+ (list "%.*$"
+ '(0 font-lock-comment-face))
+ (list (concat "\\<\\(" erlang-keywords "\\)\\>")
+ '(0 font-lock-keyword-face))
+ (list (concat "^-\\sw+\\>")
+ '(0 font-lock-keyword-face))
+ (list "\\<[0-9]+\\(\\|#[0-9a-zA-Z]+\\|[eE][+-]?[0-9]+\\)\\>"
+ '(0 mdw-number-face))
+ (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
+ '(0 mdw-punct-face))))))
+
;;;----- Texinfo configuration ----------------------------------------------
(defun mdw-fontify-texinfo ()
(defun mdw-fontify-tex ()
(setq ispell-parser 'tex)
+ (turn-on-reftex)
;; --- Don't make maths into a string ---
;;;----- Messages-file mode -------------------------------------------------
-(defun message-mode-guts ()
+(defun messages-mode-guts ()
(setq messages-mode-syntax-table (make-syntax-table))
(set-syntax-table messages-mode-syntax-table)
(modify-syntax-entry ?0 "w" messages-mode-syntax-table)
(setq indent-line-function 'indent-relative)
(mdw-standard-fill-prefix "\\([ \t]*\\(;\\|/?\\*\\)+[ \t]*\\)")
(make-local-variable 'font-lock-defaults)
- (make-local-variable 'message-mode-keywords)
+ (make-local-variable 'messages-mode-keywords)
(let ((keywords
(mdw-regexps "array" "bitmap" "callback" "docs[ \t]+enum"
"export" "enum" "fixed-octetstring" "flags"
"primitive-nullfree" "relaxed[ \t]+enum"
"set" "table" "tagged-optional" "union"
"variadic" "vector" "version" "version-tag")))
- (setq message-mode-keywords
+ (setq messages-mode-keywords
(list
(list (concat "\\<\\(" keywords "\\)\\>:")
'(0 font-lock-keyword-face))
'("\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
(0 mdw-punct-face)))))
(setq font-lock-defaults
- '(message-mode-keywords nil nil nil nil))
+ '(messages-mode-keywords nil nil nil nil))
(run-hooks 'messages-file-hook))
(defun messages-mode ()
(fundamental-mode)
(setq major-mode 'messages-mode)
(setq mode-name "Messages")
- (message-mode-guts)
+ (messages-mode-guts)
(modify-syntax-entry ?# "<" messages-mode-syntax-table)
(modify-syntax-entry ?\n ">" messages-mode-syntax-table)
(setq comment-start "# ")
(fundamental-mode)
(setq major-mode 'cpp-messages-mode)
(setq mode-name "CPP Messages")
- (message-mode-guts)
+ (messages-mode-guts)
(modify-syntax-entry ?* ". 23" messages-mode-syntax-table)
(modify-syntax-entry ?/ ". 14" messages-mode-syntax-table)
(setq comment-start "/* ")
(mdw-regexps "assert" "define" "elif" "else" "endif" "error"
"ident" "if" "ifdef" "ifndef" "import" "include"
"line" "pragma" "unassert" "undef" "warning")))
- (setq message-mode-keywords
+ (setq messages-mode-keywords
(append (list (list (concat "^[ \t]*\\#[ \t]*"
"\\(include\\|import\\)"
"[ \t]*\\(<[^>]+\\(>\\|\\)\\)")
preprocessor-keywords
"\\)\\>\\|[0-9]+\\|$\\)\\)")
'(1 font-lock-keyword-face)))
- message-mode-keywords)))
+ messages-mode-keywords)))
(turn-on-font-lock-if-enabled)
(run-hooks 'cpp-messages-mode-hook))