;;; -*- mode: emacs-lisp; coding: utf-8 -*-
;;;
-;;; $Id$
-;;;
;;; Functions and macros for .emacs
;;;
;;; (c) 2004 Mark Wooding
(make-variable-buffer-local 'mdw-fill-prefix)
(defvar mdw-hanging-indents
- "\\(\\(\\([*o]\\|--\\|[0-9]+\\.\\|\\[[0-9]+\\]\\|([a-zA-Z])\\)[ \t]+\\)?\\)"
+ (concat "\\(\\("
+ "\\([*o]\\|-[-#]?\\|[0-9]+\\.\\|\\[[0-9]+\\]\\|([a-zA-Z])\\)"
+ "[ \t]+"
+ "\\)?\\)")
"*Standard regular expression matching things which might be part of a
hanging indent. This is mainly useful in `auto-fill-mode'.")
(defvar mdw-number-face 'mdw-number-face "Face to use for numbers")
(make-face 'mdw-number-face)
+;; --- Backup file handling ---
+
+(defvar mdw-backup-disable-regexps nil
+ "*List of regular expressions: if a file name matches any of these then the
+file is not backed up.")
+
+(defun mdw-backup-enable-predicate (name)
+ "[mdw]'s default backup predicate: allows a backup if the
+standard predicate would allow it, and it doesn't match any of
+the regular expressions in `mdw-backup-disable-regexps'."
+ (and (normal-backup-enable-predicate name)
+ (let ((answer t) (list mdw-backup-disable-regexps))
+ (save-match-data
+ (while list
+ (if (string-match (car list) name)
+ (setq answer nil))
+ (setq list (cdr list)))
+ answer))))
+(setq backup-enable-predicate 'mdw-backup-enable-predicate)
+
;;;----- General fontification ----------------------------------------------
(defun mdw-set-fonts (frame faces)
"del" "elif" "else" "except" "exec" "finally" "for"
"from" "global" "if" "import" "in" "is" "lambda"
"not" "or" "pass" "print" "raise" "return" "try"
- "while" "yield")))
+ "while" "with" "yield")))
(setq font-lock-keywords
(list