From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ivan Shmakov Newsgroups: gmane.emacs.bugs Subject: bug#20231: 25.0.50; package.el mangles non-ascii content in downloaded archive-contents data Date: Sat, 11 Apr 2015 18:07:13 +0000 Message-ID: <878udysfn2.fsf@violet.siamics.net> References: <6343E9EC-9E23-4D44-9CD1-82C26DB7CDA3@sanityinc.com> <8292DA72-0898-47B2-A1C1-F7D94A52A437@sanityinc.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1428775704 5319 80.91.229.3 (11 Apr 2015 18:08:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 11 Apr 2015 18:08:24 +0000 (UTC) To: 20231@debbugs.gnu.org, Steve Purcell Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Apr 11 20:08:13 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YgzpE-0001K4-ES for geb-bug-gnu-emacs@m.gmane.org; Sat, 11 Apr 2015 20:08:12 +0200 Original-Received: from localhost ([::1]:43446 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YgzpD-0000G9-GM for geb-bug-gnu-emacs@m.gmane.org; Sat, 11 Apr 2015 14:08:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52144) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ygzp9-0000G1-J9 for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2015 14:08:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ygzp6-0001DE-DU for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2015 14:08:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35386) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ygzp4-0001CW-SI for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2015 14:08:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Ygzp4-0006L1-CJ for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2015 14:08:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 11 Apr 2015 18:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20231 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20231-submit@debbugs.gnu.org id=B20231.142877564824318 (code B ref 20231); Sat, 11 Apr 2015 18:08:02 +0000 Original-Received: (at 20231) by debbugs.gnu.org; 11 Apr 2015 18:07:28 +0000 Original-Received: from localhost ([127.0.0.1]:53395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YgzoV-0006K9-Lo for submit@debbugs.gnu.org; Sat, 11 Apr 2015 14:07:27 -0400 Original-Received: from fely.am-1.org ([78.47.74.50]:38694) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YgzoS-0006Jz-AA for 20231@debbugs.gnu.org; Sat, 11 Apr 2015 14:07:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:Sender:References:Subject:To:From; bh=xYuV1UMYHQ5xyHc5IvCnTcIp3XWYz12GH1QDDh/KT1U=; b=QvkAL327HgvrVDJHIBkceGh0lipHnbkXrteJXn8BzTbB32k+2VI8cplVG8NEHTlRAFcu9ZGhHfpvTnObYZE1FhcWO7NZlQ6iOVHdmIVt2bliPzfbwN3olz04xSPt3EJ1wvFlp/z4skEqNla7gCIsEMi3A0PXRHpHz4d9/AHuWio=; Original-Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YgzoQ-0007rc-Gz; Sat, 11 Apr 2015 18:07:22 +0000 Original-Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YgzoJ-0000D2-D6; Sun, 12 Apr 2015 01:07:15 +0700 Mail-Followup-To: 20231@debbugs.gnu.org, Steve Purcell In-Reply-To: <8292DA72-0898-47B2-A1C1-F7D94A52A437@sanityinc.com> (Steve Purcell's message of "Sat, 11 Apr 2015 18:08:16 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:101433 Archived-At: >>>>> Steve Purcell writes: > --- a/lisp/emacs-lisp/package.el > +++ b/lisp/emacs-lisp/package.el > @@ -1279,12 +1279,13 @@ defun package--read-archive-file (file) > (let ((filename (expand-file-name file package-user-dir))) > (when (file-exists-p filename) > (with-temp-buffer > - (insert-file-contents-literally filename) > - (let ((contents (read (current-buffer)))) > - (if (> (car contents) package-archive-version) > - (error "Package archive version %d is higher than %d" > - (car contents) package-archive-version)) > - (cdr contents)))))) > + (let ((coding-system-for-read 'utf-8)) > + (insert-file-contents filename) As insert-file-contents may imply a whole lot of additional processing beyond decoding UTF-8, I=E2=80=99d rather use an explicit decode-coding-region here, like (untested): (with-temp-buffer (insert-file-contents-literally filename) + (decode-coding-region (point-min) (point-max) 'utf-8) (let ((contents (read (current-buffer)))) =E2=80=A6)) > + (let ((contents (read (current-buffer)))) > + (if (> (car contents) package-archive-version) > + (error "Package archive version %d is higher than %d" > + (car contents) package-archive-version)) > + (cdr contents))))))) >=20 > (defun package-read-archive-contents (archive) > "Re-read archive contents for ARCHIVE. --=20 FSF associate member #7257 http://boycottsystemd.org/ =E2=80=A6 3013 B6A0= 230E 334A