(mdw-advise-to-inhibit-raise-frame select-frame-set-input-focus)
+;; Bug fix for markdown-mode, which breaks point positioning during
+;; `query-replace'.
+(defadvice markdown-check-change-for-wiki-link
+ (around mdw-save-match activate compile)
+ "Save match data around the `markdown-mode' `after-change-functions' hook."
+ (save-match-data ad-do-it))
+
;; Transient mark mode hacks.
(defadvice exchange-point-and-mark
(trap (turn-on-font-lock)))
(defun mdw-post-local-vars-misc-mode-config ()
- (when mdw-do-misc-mode-hacking
+ (when (and mdw-do-misc-mode-hacking
+ (not buffer-read-only))
(setq show-trailing-whitespace t)
(mdw-whitespace-mode 1)))
(add-hook 'hack-local-variables-hook 'mdw-post-local-vars-misc-mode-config)
+(defadvice toggle-read-only (after mdw-angry-fruit-salad activate)
+ (when mdw-do-misc-mode-hacking
+ (setq show-trailing-whitespace (not buffer-read-only))
+ (mdw-whitespace-mode (if buffer-read-only 0 1))))
+
(eval-after-load 'gtags
'(progn
(dolist (key '([mouse-2] [mouse-3]))
(t :foreground "SkyBlue1"))
(mdw-define-face magit-item-highlight
(((type tty)) :background "blue")
- (t :background "DarkSeaGreen4"))
+ (t :background "grey11"))
(mdw-define-face magit-log-head-label-remote
(((type tty)) :background "cyan" :foreground "green")
(t :background "grey11" :foreground "DarkSeaGreen2" :box t))
;; Now define things to be fontified.
(make-local-variable 'font-lock-keywords)
(let ((c-keywords
- (mdw-regexps "and" ;C++
- "and_eq" ;C++
- "asm" ;K&R, GCC
- "auto" ;K&R, C89
- "bitand" ;C++
- "bitor" ;C++
- "bool" ;C++, C9X macro
- "break" ;K&R, C89
- "case" ;K&R, C89
- "catch" ;C++
- "char" ;K&R, C89
- "class" ;C++
- "complex" ;C9X macro, C++ template type
- "compl" ;C++
- "const" ;C89
- "const_cast" ;C++
- "continue" ;K&R, C89
- "defined" ;C89 preprocessor
- "default" ;K&R, C89
- "delete" ;C++
- "do" ;K&R, C89
- "double" ;K&R, C89
- "dynamic_cast" ;C++
- "else" ;K&R, C89
- ;; "entry" ;K&R -- never used
- "enum" ;C89
- "explicit" ;C++
- "export" ;C++
- "extern" ;K&R, C89
- "float" ;K&R, C89
- "for" ;K&R, C89
- ;; "fortran" ;K&R
- "friend" ;C++
- "goto" ;K&R, C89
- "if" ;K&R, C89
- "imaginary" ;C9X macro
- "inline" ;C++, C9X, GCC
- "int" ;K&R, C89
- "long" ;K&R, C89
- "mutable" ;C++
- "namespace" ;C++
- "new" ;C++
- "operator" ;C++
- "or" ;C++
- "or_eq" ;C++
- "private" ;C++
- "protected" ;C++
- "public" ;C++
- "register" ;K&R, C89
+ (mdw-regexps "alignas" ;C11 macro, C++11
+ "alignof" ;C++11
+ "and" ;C++, C95 macro
+ "and_eq" ;C++, C95 macro
+ "asm" ;K&R, C++, GCC
+ "atomic" ;C11 macro, C++11 template type
+ "auto" ;K&R, C89
+ "bitand" ;C++, C95 macro
+ "bitor" ;C++, C95 macro
+ "bool" ;C++, C99 macro
+ "break" ;K&R, C89
+ "case" ;K&R, C89
+ "catch" ;C++
+ "char" ;K&R, C89
+ "char16_t" ;C++11, C11 library type
+ "char32_t" ;C++11, C11 library type
+ "class" ;C++
+ "complex" ;C99 macro, C++ template type
+ "compl" ;C++, C95 macro
+ "const" ;C89
+ "constexpr" ;C++11
+ "const_cast" ;C++
+ "continue" ;K&R, C89
+ "decltype" ;C++11
+ "defined" ;C89 preprocessor
+ "default" ;K&R, C89
+ "delete" ;C++
+ "do" ;K&R, C89
+ "double" ;K&R, C89
+ "dynamic_cast" ;C++
+ "else" ;K&R, C89
+ ;; "entry" ;K&R -- never used
+ "enum" ;C89
+ "explicit" ;C++
+ "export" ;C++
+ "extern" ;K&R, C89
+ "float" ;K&R, C89
+ "for" ;K&R, C89
+ ;; "fortran" ;K&R
+ "friend" ;C++
+ "goto" ;K&R, C89
+ "if" ;K&R, C89
+ "imaginary" ;C99 macro
+ "inline" ;C++, C99, GCC
+ "int" ;K&R, C89
+ "long" ;K&R, C89
+ "mutable" ;C++
+ "namespace" ;C++
+ "new" ;C++
+ "noexcept" ;C++11
+ "noreturn" ;C11 macro
+ "not" ;C++, C95 macro
+ "not_eq" ;C++, C95 macro
+ "nullptr" ;C++11
+ "operator" ;C++
+ "or" ;C++, C95 macro
+ "or_eq" ;C++, C95 macro
+ "private" ;C++
+ "protected" ;C++
+ "public" ;C++
+ "register" ;K&R, C89
"reinterpret_cast" ;C++
- "restrict" ;C9X
+ "restrict" ;C99
"return" ;K&R, C89
"short" ;K&R, C89
"signed" ;C89
"sizeof" ;K&R, C89
"static" ;K&R, C89
+ "static_assert" ;C11 macro, C++11
"static_cast" ;C++
"struct" ;K&R, C89
"switch" ;K&R, C89
"template" ;C++
"throw" ;C++
"try" ;C++
- "this" ;C++
+ "thread_local" ;C11 macro, C++11
"typedef" ;C89
"typeid" ;C++
"typeof" ;GCC
"volatile" ;C89
"wchar_t" ;C++, C89 library type
"while" ;K&R, C89
- "xor" ;C++
- "xor_eq" ;C++
- "_Bool" ;C9X
- "_Complex" ;C9X
- "_Imaginary" ;C9X
- "_Pragma" ;C9X preprocessor
+ "xor" ;C++, C95 macro
+ "xor_eq" ;C++, C95 macro
+ "_Alignas" ;C11
+ "_Alignof" ;C11
+ "_Atomic" ;C11
+ "_Bool" ;C99
+ "_Complex" ;C99
+ "_Generic" ;C11
+ "_Imaginary" ;C99
+ "_Noreturn" ;C11
+ "_Pragma" ;C99 preprocessor
+ "_Static_assert" ;C11
+ "_Thread_local" ;C11
"__alignof__" ;GCC
"__asm__" ;GCC
"__attribute__" ;GCC
"__volatile__" ;GCC
))
(c-constants
- (mdw-regexps "false" ;C++, C9X macro
+ (mdw-regexps "false" ;C++, C99 macro
"this" ;C++
- "true" ;C++, C9X macro
+ "true" ;C++, C99 macro
))
(preprocessor-keywords
(mdw-regexps "assert" "define" "elif" "else" "endif" "error"
;; Perl indentation style.
+(setq perl-indent-level 2)
+
(setq cperl-indent-level 2)
(setq cperl-continued-statement-offset 2)
(setq cperl-continued-brace-offset 0)
(modify-syntax-entry ?$ "." font-lock-syntax-table)
(local-set-key [?$] 'self-insert-command)
+ ;; Make `tab' be useful, given that tab stops in TeX don't work well.
+ (local-set-key "\C-i" 'indent-relative)
+ (setq indent-tabs-mode nil)
+
;; Set fill prefix.
(mdw-standard-fill-prefix "\\([ \t]*%+[ \t]*\\)")