From 75c9de51ab431185e6cb8c50cc6b9517e65b1367 Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Mon, 12 Jul 2010 22:25:23 -0700 Subject: [PATCH 4/5] 2010-07-12 Shawn Hoover * emacs-lisp/package.el: Set buffer-file-coding-system to 'no-conversion when unpacking. This fixes problems on Windows. --- lisp/emacs-lisp/package.el | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index df3295e..63dab02 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -616,20 +616,23 @@ Otherwise it uses an external `tar' program. (let ((load-path (cons pkg-dir load-path))) (byte-recompile-directory pkg-dir 0 t))))) +(defun package-write-file-no-coding (file-name excl) + (let ((buffer-file-coding-system 'no-conversion)) + (write-region (point-min) (point-max) file-name nil nil nil excl))) + + (defun package-unpack-single (file-name version desc requires) "Install the contents of the current buffer as a package." ;; Special case "package". (if (string= file-name "package") - (write-region (point-min) (point-max) - (expand-file-name (concat file-name ".el") - package-user-dir) - nil nil nil nil) + (package-write-file-no-coding (expand-file-name (concat file-name ".el") + package-user-dir) nil) (let* ((pkg-dir (expand-file-name (concat file-name "-" version) package-user-dir)) (el-file (expand-file-name (concat file-name ".el") pkg-dir)) (pkg-file (expand-file-name (concat file-name "-pkg.el") pkg-dir))) (make-directory pkg-dir t) - (write-region (point-min) (point-max) el-file nil nil nil 'excl) + (package-write-file-no-coding el-file 'excl) (let ((print-level nil) (print-length nil)) (write-region -- 1.7.0.4