- (insert ";;; " (file-name-nondirectory mu-registration-file) "\n")
- (insert ";;; This file is generated automatically by mu-cite "
- mu-cite-version "\n\n")
- (insert "(setq "
- (symbol-name mu-registration-symbol)
- "\n '(")
- (insert (mapconcat
- (function
- (lambda (elem)
- (format "(%s . %s)"
- (prin1-to-string
- (mu-cite-remove-text-properties (car elem)))
- (prin1-to-string
- (mu-cite-remove-text-properties (cdr elem))))))
- (symbol-value mu-registration-symbol) "\n "))
- (insert "\n ))\n\n")
- (insert ";;; "
- (file-name-nondirectory mu-registration-file)
- " ends here\n")
- (write-region-as-coding-system mu-registration-file-coding-system
- (point-min)(point-max)
- mu-registration-file nil 'nomsg)
- (condition-case nil
- (set-file-modes mu-registration-file mu-registration-file-modes)
- (error nil))))
+ (set-buffer-multibyte t)
+ (let ((name (file-name-nondirectory mu-registration-file))
+ (coding-system (or mu-registration-file-coding-system-for-write
+ mu-registration-file-coding-system)))
+ (insert (format "\
+;;; %s -*- mode: emacs-lisp; coding: %s -*-
+;; This file is generated automatically by MU-CITE v%s.
+
+"
+ name coding-system mu-cite-version))
+ (insert "(setq "
+ (symbol-name mu-registration-symbol)
+ "\n '(")
+ (insert (mapconcat
+ (function
+ (lambda (elem)
+ (format "(%s . %s)"
+ (prin1-to-string
+ (mu-cite-remove-text-properties (car elem)))
+ (prin1-to-string
+ (mu-cite-remove-text-properties (cdr elem))))))
+ (symbol-value mu-registration-symbol) "\n\t"))
+ (insert "))\n\n")
+ (insert ";;; " name " ends here\n")
+ (write-region-as-coding-system coding-system
+ (point-min) (point-max)
+ mu-registration-file nil 'nomsg)
+ (condition-case nil
+ (set-file-modes mu-registration-file mu-registration-file-modes)
+ (error nil)))))