;;; autoinsert.el --- automatic mode-dependent insertion of text into new files
-;; Copyright (C) 1985, 1986, 1987, 1994, 1995, 1998, 2000, 2001, 2002,
-;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1994-1995, 1998, 2000-2011
+;; Free Software Foundation, Inc.
;; Author: Charlie Martin <crm@cs.duke.edu>
;; Adapted-By: Daniel Pfeiffer <occitan@esperanto.org>
(defcustom auto-insert 'not-modified
- "*Controls automatic insertion into newly found empty files.
+ "Controls automatic insertion into newly found empty files.
Possible values:
nil do nothing
t insert if possible
:group 'auto-insert)
(defcustom auto-insert-query 'function
- "*Non-nil means ask user before auto-inserting.
+ "Non-nil means ask user before auto-inserting.
When this is `function', only ask when called non-interactively."
:type '(choice (const :tag "Don't ask" nil)
(const :tag "Ask if called non-interactively" function)
:group 'auto-insert)
(defcustom auto-insert-prompt "Perform %s auto-insertion? "
- "*Prompt to use when querying whether to auto-insert.
+ "Prompt to use when querying whether to auto-insert.
If this contains a %s, that will be replaced by the matching rule."
:type 'string
:group 'auto-insert)
_ "\n\\begin{document}\n" _
"\n\\end{document}")
- (("/bin/.*[^/]\\'" . "Shell-Script mode magic number")
- lambda ()
- (if (eq major-mode default-major-mode)
- (sh-mode)))
+ (("/bin/.*[^/]\\'" . "Shell-Script mode magic number") .
+ (lambda ()
+ (if (eq major-mode (default-value 'major-mode))
+ (sh-mode))))
(ada-mode . ada-header)
;; Establish a default value for auto-insert-directory
(defcustom auto-insert-directory "~/insert/"
- "*Directory from which auto-inserted files are taken.
+ "Directory from which auto-inserted files are taken.
The value must be an absolute directory name;
thus, on a GNU or Unix system, it must end in a slash."
:type 'directory
;; Now, if we found something, do it
(and action
- (if (stringp action)
- (file-readable-p (concat auto-insert-directory action))
- t)
- (if auto-insert-query
- (or (if (eq auto-insert-query 'function)
- (eq this-command 'auto-insert))
- (y-or-n-p (format auto-insert-prompt desc)))
- t)
+ (or (not (stringp action))
+ (file-readable-p (expand-file-name
+ action auto-insert-directory)))
+ (or (not auto-insert-query)
+ (if (eq auto-insert-query 'function)
+ (eq this-command 'auto-insert))
+ (y-or-n-p (format auto-insert-prompt desc)))
(mapc
(lambda (action)
(if (stringp action)
(if (file-readable-p
- (setq action (concat auto-insert-directory action)))
+ (setq action (expand-file-name
+ action auto-insert-directory)))
(insert-file-contents action))
(save-window-excursion
;; make buffer visible before skeleton or function
(vector action (cdr elt)))))
(if after
(nconc auto-insert-alist (list (cons condition action)))
- (setq auto-insert-alist (cons (cons condition action)
- auto-insert-alist))))))
+ (push (cons condition action) auto-insert-alist)))))
;;;###autoload
(define-minor-mode auto-insert-mode
(provide 'autoinsert)
-;; arch-tag: 5b6630ac-c735-43cf-b097-b78c622af909
;;; autoinsert.el ends here