From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.bugs Subject: bug#16733: messed up unicode chars in package description Date: Wed, 19 Mar 2014 18:43:46 +0100 Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1395251109 28964 80.91.229.3 (19 Mar 2014 17:45:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Mar 2014 17:45:09 +0000 (UTC) Cc: 16733@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Mar 19 18:45:17 2014 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 1WQKYF-00046B-JA for geb-bug-gnu-emacs@m.gmane.org; Wed, 19 Mar 2014 18:45:15 +0100 Original-Received: from localhost ([::1]:42953 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQKYF-0000JJ-5h for geb-bug-gnu-emacs@m.gmane.org; Wed, 19 Mar 2014 13:45:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48951) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQKY7-00006Q-KW for bug-gnu-emacs@gnu.org; Wed, 19 Mar 2014 13:45:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WQKY2-0003hA-P8 for bug-gnu-emacs@gnu.org; Wed, 19 Mar 2014 13:45:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40290) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQKY2-0003gs-Kz for bug-gnu-emacs@gnu.org; Wed, 19 Mar 2014 13:45:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WQKY2-0003Bu-4F for bug-gnu-emacs@gnu.org; Wed, 19 Mar 2014 13:45:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Juanma Barranquero Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 19 Mar 2014 17:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16733 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16733-submit@debbugs.gnu.org id=B16733.139525107012202 (code B ref 16733); Wed, 19 Mar 2014 17:45:02 +0000 Original-Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 17:44:30 +0000 Original-Received: from localhost ([127.0.0.1]:41472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQKXV-0003Aj-0A for submit@debbugs.gnu.org; Wed, 19 Mar 2014 13:44:29 -0400 Original-Received: from mail-yh0-f54.google.com ([209.85.213.54]:61404) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQKXT-0003Ab-3c for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 13:44:27 -0400 Original-Received: by mail-yh0-f54.google.com with SMTP id f73so9006304yha.27 for <16733@debbugs.gnu.org>; Wed, 19 Mar 2014 10:44:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=pJViaApjeWXqLwWXqnIUdLiy66hYa2b6Cm8JFUFFf3g=; b=vOpEcXnObwmLjNGAgeQ8YkN7aObBgC5lW8bCEWtjG3okZ/FakxN5RV1TMK7KYzz+oO ojk7rhrOTUC7AX4GNw5fMLgwwvuyTw9XggRz3k98x2nILDtFB+achXOQql2nuKTqriIz xfYNTLOIjZBy/va+Ku60mNLxiYtCsXrup6Ezvrm/nd0i2yHfVSR3Q6usVTp5sD0UEdW8 A2sKjwLtqqnYnlD8Ey6doa4t1AjXE06G/6eTdoWtROijQZ/+hhsC1Ez7erx4n6TeYec7 M+YzdVBFHNEPROjDhHpktRs96+0D8Q250kyChm/BuLqMwgq2PjBeGHOFDSdOQDPVStOD rvgw== X-Received: by 10.236.23.71 with SMTP id u47mr3937232yhu.143.1395251066339; Wed, 19 Mar 2014 10:44:26 -0700 (PDT) Original-Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 10:43:46 -0700 (PDT) In-Reply-To: <83zjkm865z.fsf@gnu.org> 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:86984 Archived-At: On Wed, Mar 19, 2014 at 6:11 PM, Eli Zaretskii wrote: > I think you want url-insert from url-handlers.el. Thanks. So the following patch is a better fix. I'm OK with installing it, though it is a bit more intrusive that the previous one. J 2014-03-19 Juanma Barranquero * emacs-lisp/package.el: Fix bug#16733. (url-handlers): Require. (package--with-work-buffer): When LOCATION is a URL, use url-insert to properly decode the buffer. Suggested by Eli Zaretskii . === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2014-03-19 16:14:26 +0000 +++ lisp/emacs-lisp/package.el 2014-03-19 17:35:44 +0000 @@ -166,6 +166,7 @@ (eval-when-compile (require 'cl-lib)) (require 'tabulated-list) +(require 'url-handlers) (defgroup package nil "Manager for Emacs Lisp packages." @@ -770,15 +771,13 @@ and evaluates BODY while that buffer is current. This work buffer is killed afterwards. Return the last value in BODY." (declare (indent 2) (debug t)) - `(let* ((http (string-match "\\`https?:" ,location)) - (buffer - (if http - (url-retrieve-synchronously (concat ,location ,file)) - (generate-new-buffer "*package work buffer*")))) + `(let ((buffer (generate-new-buffer "*package work buffer*"))) (prog1 (with-current-buffer buffer - (if http - (progn (package-handle-response) + (if (string-match-p "\\`https?:" ,location) + (progn (url-insert (url-retrieve-synchronously + (concat ,location ,file))) + (package-handle-response) (re-search-forward "^$" nil 'move) (forward-char) (delete-region (point-min) (point))) @@ -1531,8 +1530,7 @@ (setq readme-string (buffer-string)) t)) (error nil)) - (let ((coding (detect-coding-string readme-string t))) - (insert (decode-coding-string readme-string coding t)))) + (insert readme-string)) ((file-readable-p readme) (insert-file-contents readme) (goto-char (point-max))))))))