From unknown Mon Jun 23 16:44:54 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#16733 <16733@debbugs.gnu.org> To: bug#16733 <16733@debbugs.gnu.org> Subject: Status: messed up unicode chars in package description Reply-To: bug#16733 <16733@debbugs.gnu.org> Date: Mon, 23 Jun 2025 23:44:54 +0000 retitle 16733 messed up unicode chars in package description reassign 16733 emacs submitter 16733 Glenn Morris severity 16733 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 12 20:47:40 2014 Received: (at submit) by debbugs.gnu.org; 13 Feb 2014 01:47:41 +0000 Received: from localhost ([127.0.0.1]:49729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WDlOu-0000Xe-CX for submit@debbugs.gnu.org; Wed, 12 Feb 2014 20:47:40 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:56111 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WDlOr-0000XQ-KL for submit@debbugs.gnu.org; Wed, 12 Feb 2014 20:47:38 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WDlOq-0002zs-IL; Wed, 12 Feb 2014 20:47:36 -0500 From: Glenn Morris To: submit@debbugs.gnu.org Subject: messed up unicode chars in package description X-Spook: asset Mena passwd gamma South Africa Sundevil Telex Agfa X-Ran: {)+-S8@sbV:t}{~*^V$BH5T>ISlz',&#GM>#JOA7aN4:@@[*|OF!io=upMm?.T$l6;nMkd X-Hue: red X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 12 Feb 2014 20:47:36 -0500 Message-ID: <7tfvnn7phj.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -5.4 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.4 (-----) --=-=-= Package: emacs Version: 24.3 (Also in current trunk.) emacs -Q M-x list-packages RET Select "ascii-art-to-unicode" Scroll down the description past the part that says "M-x aa2u RET". The buffer is completely messed up at this point, showing raw characters instead of the unicode box that you see if you visit the raw source file for the package. See attached image. --=-=-= Content-Type: image/png Content-Disposition: attachment; filename=emacs.png Content-Transfer-Encoding: base64 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 fveDDz7Qqa+oqHjqqaduvPHGW2655ZlnnlHul3L33Xenp6fbd2PJkiWy6mp1sqioqF+/fnfeeefX v/71fm3Y7sKrGl8f1X7W1NT87ne/k5m96aabQkJCqqurlcaffPLJsGHD+vbtK3//+7//2/YVvdls lm7cfPPNDl/aa/WH7QgAzf+Lurq6a6+9VutBsark5ubKvunYsWMxMTH33nuvyxtpyS5myJAhsve5 ePHiqFGjQkNDO7Y99ARk1CsyM6h51eX7/vvvHzlyRPHWQw89NHv2bHtN3nHHHZmZma1t9y0/ffq0 Tr1U/vKXv5S3yiNSxK+tbY89dHi6sZj1jTfe8GA0rxrfpead+zlu3LjRo0efP39eDmh+9atfTZo0 SWksyXn22WebmppycnJuuOEGB6k7n5vX6g/bEQCa/xfKk5v379/v1n9t3LhRxiW33357RkaGkd36 woULldevvPLK008/3bHtoSfw6KOPPvfccwY173L5zps3T0ao9iaTcaqqPh3qtR54GhER8eSTT8oL GcHPmjVLXsgR6oEDB9zVvMsHxWpp3qGf5eXlst2JyJW3hw4d6t2796VLl06ePCn1paWlSr0kR1/z +g94ZTsC8FnNBwQEKI2ff/55l92SZlqjea04MkS48847DT6RTOsJVB3VHrwLreW7a9cuWaPuuece EfC3v/3txx9/3F6Tqg8qdK5XDltFlsrbHTt2KM9H//jjj+WoVKQ4aNCgRx55RCwrWm1sbNRfz501 rxVfP45zP7OysqSZHCv/sA1x86233iobo/he6m0de+GFF/Q1r9MftiMARvOX6d+/v8MzrV0yderU //qv//Lz81u2bBmah/Zrvrq6ulevXjExMcp1HnPnzjXygFrneq3RrYSVQ4cVK1b8/e9/HzdunLww cpCanp4uh7MdMpp36Ofp06dlK3Y+X66M5m3abudonu0IAM3/iy1btvTp08dsNssY4tSpU+vWrdNv v2HDhvvuu6+qqio/P1+GDrZdDJq/mnnttdfCw8M91vyZM2euvfbaoqIieX3+/PkHH3zQM80LP//5 z8ePH9/Q0KCcq7Ydwj755JMyNJfVdfXq1fLilVdecdnVY8eOXX/99bJRGInvluaVyokTJyqXtlgs FtkAlfrBgwdPnz69ubk5Nzf3pptucnluXqs/bEcAaP5LoqKiZEwvezSXv5v/+OOPv/Wtb9nU/u67 79599936F/Gi+asBPz+/dp7EWbx4cb9+/Uwm0xNPPCEm81jz5eXlv/jFL2688UYZvk+dOtV2xb4c hdx+++2XLl0SbcsWtGvXLiO9feaZZ2655RY5LJg3b55+fHc1X11dLf8uXerbt6/MeFhYmFL/ySef /PSnPxXBSyp+/etf2x6gLnm79957pf6GG26QF7LB6veH7QgAzQN0DDU1Ndddd11MTAyp6FjkcMfd E2oAgOYBOpj4+PjBgwfr3z4BDHLkyBHl5MXJkye/853vcM87ADSP5gF8h4SEhLvuuuu222675557 Fi9eTEIA0DyaBwAAQPMAAACA5gEAAADNAwAAAJoHAABA812v+YULF0o02wW9v/nNb+RtWlpaN2bq T3/603333Xfdddd973vfmzt3rmc/01IeDSJce+213/nOd2bMmGG7bcijjz5qn8977723te0GJs6p /vOf/8yKCwAA3q35H/7whz/5yU9a254l/+///u8333xz92r+j3/844EDB86dO5ecnNy3b9+VK1d6 rPmPPvrIarVmZGT827/920svvWTT/MyZMy9cQRpIZVNTk/I2MDDw97//vfK6ubmZFRcAALxb8wEB AaNGjSosLNy0adMLL7xw66236mheDgUefPDB1atXK2+fe+65J554Qn/ALY3lX/r06XPbbbdNmzbN NqrWqrfnySefnDx5svLarZt3Kpo/dOiQ8nbKlCk/+9nPbJrXGaY/9thjLh/rBwAA4E2aj4yMnD17 thguKytLX/NCbm6uiPnYsWMxMTH33nuv8uwNHd5///0jR47Ii4qKioceekgmpF9vo7GxUeLb1O6x 5iX+/fff/9e//hXNAwDA1aj5qqqqH/zgBz/60Y+kxqXmhY0bNz7wwAO33357RkaGW5ObN2/eU089 ZbD+2WefHTVqlO2bcw80L/Minbzuuuuk/cWLF22a7927961X+M1vfoPmAQDAmzQv5lYauzSWonl5 8cILL0RERDhoXivOhQsX7rzzToNPJNu1a5e0vOeee2Ro/u1vf/vxxx/Xr1eQAffgwYOrq6ttNR5o PiUlxWKx/O1vf7v77rvlUMam+RkzZpRdweHxemgeAAB8bTRvX2NkND916tT/+q//8vPzW7ZsmX5L 8XSvXr1iYmKU8/dz585VHjCqVa/w8ssvDxkyxCZmm56XL1+uvJaDErfOzT/yyCO2J33xpT0AAKB5 TTZs2HDfffeJg/Pz82+++Wbbs+dVOXPmzLXXXqs8cev8+fMPPvigonOteuHFF18cOHCgNFAud29q alLqn3nmmZCQECWVP/jBD9zSfHJycp8+faSy1elKewHNAwAAmv8XH3/88be+9S2b2t999927777b 4XtvBxYvXtyvXz+TyfTEE0/8z//8j03nqvUiXYf5tbUvLi5+6KGH5IDgF7/4xW9/+1u3NC8MGTLk D3/4Q6vT7+aVlKJ5AADwQc0DAAAAmgcAAAA0DwAAgObRPAAAAJpH8wAAAGgezQMAAKB5AAAAQPMA AACA5gEAANA8mgcAAEDzaB4AAADNo3kAAAA0DwAAAGgeAAAA0DwAAACgeQAAADSP5gEAANA8mgcA AEDzAAAAgOYBAAAAzQMAAACaBwAAQPNoHgAAAM2jeQAAADRPogEAAND8ZeosluiBA+vLy50/yggN jQsIiPLzizWZMufObW5osP/0otWaOHZszE9+Yqs5HB4eFxgY1b//Nn//YxERrS0t+vFV2+vUq07X g/hnPvoofcqUmCFDZNac/8t4fF/NT/OFCwf/8pctgwfHDh9+dPlyW3vVevJDfsgP+SE/SnvFwva+ 7imj+f0zZx4KC3Our8jMrCsra6qtPV9QED9mjH3GhezFi3dNnGifpqz58z/PzrZWVZ3et2/LoEFF UVH68bXaa9VrTdfd+Gdzckp27JC3qpo3Ht9X8yONk8aPt1ZW1hQXm02mT81m/XryQ37ID/khP6qa V2Td/ZqvKiyUXkr6tBo0VlcnBQXlrlljq6nMy0sODi7dudM+TfbsnT794KxZBuM7tNepV52uZ/FP 7d3rrHnP4vtUflpatj7ySHF8/OWNYdGitN/+Vq+e/JAf8kN+yE9be2cjf2nt1u4+N793xoycpUud 6/PXrYs1mUSHh8PDWy5eVCovNTfLUdXZ7OyTu3appulSU1Pc6NFF0dEu42u1V63Xma4H8Z0170F8 38tPw+efv/+f/3k+P//4xo2WtDTZrmKHDdOpJz/kh/yQH/KjtLep3WFY3yM0fzYnZ+vQoU11dQ71 zfX1DRUVklazyXRqzx6l8lhERMacOfJCK00ZoaHpkyfb0qoTX6u9ar3OdD2I76x5D+L7Xn5qS0tl c6otKUkJCcmYPduSmrp5wACdevJDfsgP+SE/l/uv9qV9T9G8kD5lSl5kpNanR1esSJ00SV7UnDix 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 RxUFBcpbx9GYU73L+ApHV6xInTTJSD/JD/nx4fy4mzcA6E7Nq15pX5KQ4PAAPimVubm2bTtlwoRG td/dlR88aB4x4qLV6rAvUG3vXK8/XTfit50jLElMtDWwP7eqUq8b34aMhJKCglz2k/yQHx/Pj7t5 A4CeNpq3n6TDUf+RBQtkV3Xh3DnZF0hxfn5wSkhIod1lvVrtXcbR+jLTYPxDYWEyzmisrq6zWGTP ZX+ltGq9avwLlZUFGzbUlZU119efycw0jxzp/Bsh8kN+rsL8uJs3AOjO0bz+7XHsdweyPTsMBXZP m+bQxbL09LjAQOVcnVZ7I3G0dkNG4rde+f1uzJAhscOG5SxbZvt3rXrV+LK32j11qrSM8vPbNmqU jE70d5fkh/xcDfnxIG8A0HM17zYtLTvGjSuOi+usHBCf+MT33vgA4PWab22tyMoqSUjovCwQn/jE 9974AOD1mgcAAAA0DwAAAGgeAAAAzaN5AAAANI/mAQAA0DwAAABc5Zqvs1iiBw6sLy93/igjNDQu ICDKzy/WZMqcO7e5ocH+04tWa+LYsfa36TgcHh4XGBjVv/82f/9jERGtLS368VXb69SrTteD+Mpt QLYMHhw7fLj9rc30pwudCush6yEAmu+s0fz+mTMPhYU511dkZtaVlTXV1p4vKIgfM8bhZp/Zixfv mjjRfveaNX/+59nZ1qqq0/v2bRk0qOjKfTe14mu116rXmq678aVx0vjx1srKmuJis8lku6mn/nSh s2E9ZD0EQPOdovmqwkLZm8juRqtBY3V1UlBQ7po1tprKvLzk4ODSnTtVb7op7J0+/eCsWQbjO7TX qVedrnvx2x7RURwff3lnrfGIDq3+QOfBesh6CIDmO+vc/N4ZM3KWLnWuz1+3LtZkivLzOxwebnte 9aXmZhmFnM3O1rq39qWmprjRo4uio13G12qvWq8zXePxLz9wMz//+MaNlrQ01QduavUHOhvWQ9ZD ADTfKZo/m5OzdejQpro6h/rm+vqGigrZDZlNplN79iiVxyIiMubMadV+hEZGaGj65Mm23bFOfK32 qvU60zUev7a0VHavtSUlKSEhGbNnW1JTNw8YYLA/0NmwHrIeAqD5zrrSPn3KlLzISK1Pj65YkTpp kryoOXFiu79/Y02N1u41e9Gi5ODgJqeeaMXXau9Q73K6BuNfHkUVFChvnUdRWv2BroH1kPUQAM13 iubLDx40jxhx0WpV/VRGMElBQfKiJCHB4UGWUipzc237ppQJExrVuqEaX6u9c73+dN2I33ZOtCQx 0dbA/pyoTv+ha2A9ZD0EQPOd9bv5lJCQwiuX9V6orCzYsKGurKy5vv5MZqZ55EiHK5ydRzNHFiyQ XfCFc+dkHyfF+fnc9vF12ruMo/UlrcH4h8LCZJzUWF1dZ7HIHtl2hbPL6ULXwHrIegiA5jtF82Xp 6XGBgcq5QNn77J46NXbYsCg/v22jRsnwQn83J/sjhyHO7mnTdOJrtTcSR2v3aiR+65XfK8cMGSJz l7NsmfH+Q9fAesh6CIDmO+cueC0tO8aNK46L66wceHt86BpYDwEAzXfSzW4rsrJKEhI6LwveHh+6 BtZDAEDz3NMeAAAAzQMAAACaBwAAADQPAAAAaB4AAADNo3kAAAA03/Gar7NYogcOrC8vd/4oIzQ0 LiAgys8v1mTKnDu3uaHB/tOLVmvi2LH2twc5HB4eFxgY1b//Nn//YxERrS0t+vFV2+vUq07Xg/jK bUm2DB4cO3y4/S3V9Kfbw7kKl+OZjz5KnzIlZsgQmTXn/zIe/2pbz1XryQ/5IT/tz49iYXtf95TR /P6ZMw+FhTnXV2Rm1pWVNdXWni8oiB8zxuEmo9mLF++aONF+8WTNn/95dra1qur0vn1bBg0qunK/ T634Wu216rWm6258aZw0fry1srKmuNhsMtluMqo/3Z7P1bYcz+bklOzYIW9VNW88/tW2nmvVkx/y Q37amR9nzSuy7n7NVxUWSu+lu1oNGqurk4KCctessdVU5uUlBweX7typerNPYe/06QdnzTIY36G9 Tr3qdN2L3/bIkOL4+MsL+6uPDHHZn57M1bUcr3Bq715nzXsW/6pYz7XXf/JDfshPO/PjbOQvrd3a 3efm986YkbN0qXN9/rp1sSaT7EYPh4fbnnt9qblZjmLOZmdr3dP7UlNT3OjRRdHRLuNrtVet15mu 8fiXHwCan39840ZLWprzA0B1+tPzuXqWo47mPYh/9azn+us/+SE/5Kc9+bGp3WFY3yM0fzYnZ+vQ oU11dQ71zfX1DRUVMhtmk+nUnj1K5bGIiIw5c1q1H92RERqaPnmybXHqxNdqr1qvM13j8WtLS2Xx 1JaUpISEZMyebUlN3TxggMH+9HyunuWoo3kP4l8967n++k9+yA/5aVd+1L607ymaF9KnTMmLjNT6 9OiKFamTJsmLmhMntvv7N9bUaC2e7EWLkoODm5x6ohVfq71DvcvpGox/+SisoEB56zya1+qPt3CV LEctzXsc/ypZz12u/+SH/JAfj/PTc8/NK5QfPGgeMeKi1ar6qRwBJQUFyYuShASHB2VKqczNteUi ZcKERrVuqMbXau9crz9dN+K3nVMpSUxUPTev039v4WpZjhqa9yz+VbSe667/5If8kJ/25KfnXmlv IyUkpPDKZYQXKisLNmyoKytrrq8/k5lpHjnS4QpJ56OhIwsWyCK8cO6c5EiK83PB7ePrtHcZR+tL HoPxD4WFyXFZY3V1ncUiS9R2pajL6XoLV8lybLl0Sd5a0tJE8//6qLHRg/hX4XquVU9+yA/5aWd+ evpoXihLT48LDFTOPUjvd0+dGjtsmOxDt40aJUcr+mmS+Xc4RNo9bZpOfK32RuJoLR4j8Vuv/N4x ZsgQmbucZcuM999buEqW4+l9++zrnUMZiX+1rec69eSH/JCfdubHG+6C19KyY9y44ri4zvKPt8f3 FliOxCc+8Ynf5fG942a3FVlZJQkJnScgb4/vLbAciU984hO/i+NzT3sAAACfBc0DAACgeTQPAACA 5tE8AAAAmgcAAAA0DwAAAD1H86o31VN93H2dxRI9cGB9eblzzzJCQ+MCAqL8/GJNpsy5c5sbGuw/ vWi1Jo4da38bgcPh4XGBgVH9+2/z9z8WEdHa0qIfX7W9Tr3qdD2Ir5oH8kN+yE/78/PFqVMOtw1J Dg72LD7rD/nxmfx0/M1une+op4RTfdy9sH/mTPnIeTYqMjPrysqaamvPFxTEjxnjcDPC7MWLd02c aJ+mrPnzP8/OtlZVnd63b8ugQUVX7guoFV+rvVa91nTdja+VB/JDfshPe/PT0qLc+1MpKSEh+evX exaf9Yf8+Ex+Ovhmt/Zq/8qXAxqPuxeqCgulN5I+rS8cGqurk4KCctessdVU5uXJQXrpzp2qNwUU 9k6ffnDWLIPxHdrr1KtO1734WnkgP+SH/LQ/P3acP35884AB1vPn2xmf9Yf8eHt+nI3crgfROpje 9kLrcfeXezNjRs7Spc69zF+3LtZkivLzOxwebnsu76XmZjmqOpudrXXv30tNTXGjRxdFR7uMr9Ve tV5nusbja+WB/JAf8tP+/HzlW9PZs2Uk9GUz9+Oz/pAf38iPg47b+7x5Zy4fPGg87l7hbE7O1qFD m+rqHDraXF/fUFEhaTWbTKf27FEqj0VEZMyZ06p9i/+M0ND0yZNtadWJr9VetV5nusbja+WB/JAf 8tP+/Nhoqq2VMdCZzExbjQfxWX/Ij2/kR/VLe881r3VuXutx9zbSp0zJi4zUOmA5umJF6qRJ8qLm xInt/v6NNTVaacpetCg5OLjJ6dp+rfha7R3qXU7XYHytPJAf8kN+2p8fG8c3bUocO9b21uP4rD/k xwfy0ykPolW5BE/jcfc2yg8eNI8YcdFqVU2THAElBQXJi5KEBIcraaVU5ubawqZMmNCo9vs91fha 7Z3r9afrRnytPJAf8kN+2p+fK4jj7S++8yw+6w/58Y38dOmV9s6Pu7cnJSSk8MrlghcqKws2bKgr K2uurz+TmWkeOdLhSkXno6EjCxZIKi+cO6dcZOv8/GD7+DrtXcbR+rLFYHytPJAf8kN+2p8f4cxH HzlcfOdufNYfti9fyk+njOZVf4av+rh7e8rS0+MCA5VzCZLN3VOnSssoP79to0bJ4Yn+4pT5cThE 2j1tmk58rfZG4mitRkbi6+SB/JAf8tP+/Aj7Xnhh/4svan2DaiQ+6w/58aX89KS74LW07Bg3rjgu rrWTID7xiU984hP/Kovfs252W5GVVZKQ0NppEJ/4xCc+8Yl/VcXnnvYAAAA+C5oHAABA82geAAAA zaN5AAAANA8AAABoHgAAAHqO5lXvgqdw0WpNHDvWdluAOosleuDA+vJy554dDg+PCwyM6t9/m7// sYiI1pYW/Xrl9gVbBg+OHT7c+ZZDAAAAaL4DNK91s1uF7MWLd02caH+Xov0zZx4KC3PuWdb8+Z9n Z1urqk7v27dl0KCiK/f506qXIEnjx1srK2uKi80mk/PNCAEAANB8uzT/lYfPOn1pX5mXlxwcXLpz p73mqwoLxdaiZ51e7p0+/eCsWXr1bY8WKI6Pv3ww4fRoAQAAADTfMZq3//beFu5Sc7OMts9mZzvf c3jvjBk5S5dqdfFSU1Pc6NFF0dE69ZcfFJiff3zjRktamvODAgEAANB8h2ne+Uv7YxERGXPmtKo9 WuBsTs7WoUOb6upUu5gRGpo+ebJyy36t+trSUtF8bUlJSkhIxuzZltTUzQMGsHQBAADNd8W5+ZoT J7b7+zfW1LRqPEEofcqUvMhI5/5lL1qUHBzcpPZIXfv6y6P5ggLlLaN5AACA1i670r4kIcHhAXlS KnNzbf0oP3jQPGLERavVweUpEyY0qjnesb7t3HxJYqKtAefmAQAAuvpK+1bt5wGnhIQUXrlsXjiy YEFSUNCFc+fE/VJsz+vVqj8UFibj+8bq6jqLRY4YuNIeAACgG26Po6X5svT0uMBA5Vy7+Nth6L97 2jSd+tYrv5uPGTIkdtiwnGXLWLQAAAA96S54LS07xo0rjotjqQAAAPic5ltbK7KyShISWCoAAAA+ qHkAAABA8wAAAIDmAQAA0DyaBwAAQPNoHgAAAM2jeQAAADSvSp3FEj1wYH15ufNHGaGhcQEBUX5+ sSZT5ty5zQ0N9p9etFoTx461v/3O4fDwuMDAqP79t/n7H4uIaG1p0Y+v2l6nXnW6HsRXbu+zZfDg 2OHDjy5f7rK9V8ByZDmyHMmnr24XaL69o/n9M2ceCgtzrq/IzKwrK2uqrT1fUBA/Zoz9GiNkL168 a+JE+80ga/78z7OzrVVVp/ft2zJoUNGV++lqxddqr1WvNV1340vjpPHjrZWVNcXFZpPJdrNe/en2 fFiOLEeWI/n01e0CzbdL81WFhbLUZbXQatBYXZ0UFJS7Zo2tpjIvLzk4uHTnTtWb6Qp7p08/OGuW wfgO7XXqVafrXvy2R+8Ux8df3qg0Hr2j1Z+eDMuR5chyJJ++ul2g+faem987Y0bO0qXO9fnr1sWa TFF+fofDw23Pob/U3CxHi2ezs7XumX+pqSlu9Oii6GiX8bXaq9brTNd4/MsP0s3PP75xoyUtTfVB ulr96fmwHFmOLEfy6avbBZpvl+bP5uRsHTq0qa7Oob65vr6hokJWF7PJdGrPHqXyWERExpw5rdqP xskIDU2fPNm22ejE12qvWq8zXePxa0tLZTOoLSlJCQnJmD3bkpq6ecAAg/3p+bAcWY4sR/Lpq9sF mm/vlfbpU6bkRUZqfXp0xYrUSZPkRc2JE9v9/RtrarQ2g+xFi5KDg5uceqIVX6u9Q73L6RqMf/lo t6BAeet8tKvVH2+B5chyZDmST1/dLtB8uzRffvCgecSIi1ar6qdypJkUFCQvShISHB5QK6UyN9e2 DqVMmNCo1g3V+Frtnev1p+tG/LZzVyWJibYG9ueudPrvLbAcWY4sR/Lpq9sFmm/v7+ZTQkIKr1x+ eaGysmDDhrqysub6+jOZmeaRIx2uRHU+6jyyYIFsKhfOnZN1Ucql5mad+DrtXcbR+jLNYPxDYWFy PNtYXV1nsciWY7sS1eV0vQWWI8uR5Ug+fXW7QPPt0nxZenpcYKByzkbWkt1Tp8YOGxbl57dt1Cg5 DNRfHWW9cTgU3T1tmk58rfZG4mhtBkbit175XWnMkCEydznLlhnvv7fAcmQ5shzJp69uF2i+fd/G tLTsGDeuOC6us3Lg7fG9BZYjy5HlSD4BzatSkZVVkpDQeVnw9vjeAsuR5chyJJ+A5gEAAADNAwAA AJoHAABA82geAAAAzaN5AAAANI/mAQAAerrmDdKBmq+zWKIHDqwvL3f+KCM0NC4gIMrPL9Zkypw7 t7mhwf7Ti1Zr4tix9rdxOBweHhcYGNW//zZ//2MREa0tLfrxVdvr1KtO14P4yu0jtgweHDt8uP2t r/Sn28NhObIcWY7k01e3CzTf3tH8/pkzD4WFOddXZGbWlZU11daeLyiIHzPG4WaQ2YsX75o40X4z yJo///PsbGtV1el9+7YMGlR05b6MWvG12mvVa03X3fjSOGn8eGtlZU1xsdlkst0MUn+6PR+WI8uR 5Ug+fXW7QPPt0nxVYaEsdVkttBo0VlcnBQXlrlljq6nMy0sODi7duVP1pozC3unTD86aZTC+Q3ud etXpuhe/7dEOxfHxlzeqrz7awWV/ejIsR5Yjy5F8+up2gebbe25+74wZOUuXOtfnr1sXazJF+fkd Dg+3PZ/4UnOzHC2ezc7WuvfypaamuNGji6KjXcbXaq9arzNd4/EvP6gxP//4xo2WtDTnBzXq9Kfn w3JkObIcyaevbhdovl2aP5uTs3Xo0Ka6Oof65vr6hooKWV3MJtOpPXuUymMRERlz5rRqP2IhIzQ0 ffJk22ajE1+rvWq9znSNx68tLZXNoLakJCUkJGP2bEtq6uYBAwz2p+fDcmQ5shzJp69uF2i+vVfa p0+ZkhcZqfXp0RUrUidNkhc1J05s9/dvrKnR2gyyFy1KDg5ucuqJVnyt9g71LqdrMP7lo92CAuWt 89GuVn+8BZYjy5HlSD59dbtA8+3SfPnBg+YRIy5araqfypFmUlCQvChJSHB4oKGUytxc2zqUMmFC o1o3VONrtXeu15+uG/Hbzl2VJCbaGtifu9Lpv7fAcmQ5shzJp69uF2i+vb+bTwkJKbxy+eWFysqC DRvqysqa6+vPZGaaR450uBLV+ajzyIIFsqlcOHdO1kUpzs9vto+v095lHK0v0wzGPxQWJsezjdXV dRaLbDm2K1FdTtdbYDmyHFmO5NNXtws03y7Nl6WnxwUGKudsZC3ZPXVq7LBhUX5+20aNksNA/dVR 1huHQ9Hd06bpxNdqbySO1mZgJH7rld+VxgwZInOXs2yZ8f57CyxHliPLkXz66naB5tv3bUxLy45x 44rj4jorB94e31tgObIcWY7kE9C8KhVZWSUJCZ2XBW+P7y2wHFmOLEfyCWgeAAAA0DwAAACgeQAA ADSP5gEAANA8mgcAAEDzaB4AAADNO1JnsUQPHFhfXu78UUZoaFxAQJSfX6zJlDl3bnNDg/2nF63W xLFj7W/jcDg8PC4wMKp//23+/sciIlpbWvTjq7bXqVedrgfxldtHbBk8OHb4cPtbX+lPt4fDcmQ5 shzJp69uF2i+vaP5/TNnHgoLc66vyMysKytrqq09X1AQP2aMw80gsxcv3jVxov1mkDV//ufZ2daq qtP79m0ZNKjoyn0ZteJrtdeq15quu/GlcdL48dbKypriYrPJZLsZpP50ez4sR5Yjy5F8+up2gebb pfmqwkJZ6rJaaDVorK5OCgrKXbPGVlOZl5ccHFy6c6fqTRmFvdOnH5w1y2B8h/Y69arTdS9+26Md iuPjL29UX320g8v+9GRYjixHliP59NXtAs2399z83hkzcpYuda7PX7cu1mSK8vM7HB5uez7xpeZm OVo8m52tde/lS01NcaNHF0VHu4yv1V61Xme6xuNfflBjfv7xjRstaWnOD2rU6U/Ph+XIcmQ5kk9f 3S7QfLs0fzYnZ+vQoU11dQ71zfX1DRUVsrqYTaZTe/YolcciIjLmzGnVfsRCRmho+uTJts1GJ75W e9V6nekaj19bWiqbQW1JSUpISMbs2ZbU1M0DBhjsT8+H5chyZDmST1/dLtB8e6+0T58yJS8yUuvT oytWpE6aJC9qTpzY7u/fWFOjtRlkL1qUHBzc5NQTrfha7R3qXU7XYPzLR7sFBcpb56Ndrf54CyxH liPLkXz66naB5tul+fKDB80jRly0WlU/lSPNpKAgeVGSkODwQEMplbm5tnUoZcKERrVuqMbXau9c rz9dN+K3nbsqSUy0NbA/d6XTf2+B5chyZDmST1/dLtB8e383nxISUnjl8ssLlZUFGzbUlZU119ef ycw0jxzpcCWq81HnkQULZFO5cO6crItSnJ/fbB9fp73LOFpfphmMfygsTI5nG6ur6ywW2XJsV6K6 nK63wHJkObIcyaevbhdovl2aL0tPjwsMVM7ZyFqye+rU2GHDovz8to0aJYeB+qujrDcOh6K7p03T ia/V3kgcrc3ASPzWK78rjRkyROYuZ9ky4/33FliOLEeWI/n01e0Czbfv25iWlh3jxhXHxXVWDrw9 vrfAcmQ5shzJJ6B5VSqyskoSEjovC94e31tgObIcWY7kE9A8AAAAoHkAAABA8wAAAGgezQMAAKB5 NA8AAIDm0TwAAACad6TOYokeOLC+vNz5o4zQ0LiAgCg/v1iTKXPu3OaGBvtPL1qtiWPH2t/G4XB4 eFxgYFT//tv8/Y9FRLS2tOjHV22vU6863W6M76v5UW6vsWXw4Njhw+1vDaZaT37ID/khP+RHaa9Y +Bo7espofv/MmYfCwpzrKzIz68rKmmprzxcUxI8Z43AzyOzFi3dNnGifpqz58z/PzrZWVZ3et2/L oEFFV+7LqBVfq71WvdZ0uyu+r+ZHGieNH2+trKwpLjabTLabZWrVkx/yQ37ID/lR1bwi6+7XfFVh ofRS0qfVoLG6OikoKHfNGltNZV5ecnBw6c6dqjdlFPZOn35w1iyD8R3a69SrTrfb4/tUftoefVEc H395Y7A9+kKrnvyQH/JDfshPW3tnIyumb+0J5+b3zpiRs3Spc33+unWxJlOUn9/h8HDb84kvNTfL UdXZ7Gytey9famqKGz26KDraZXyt9qr1OtPtrvi+l5/LD7LMzz++caMlLc32IEutevJDfsgP+SE/ Snub2h2G9T1C82dzcrYOHdpUV+dQ31xf31BRIWk1m0yn9uxRKo9FRGTMmdOq/YiFjNDQ9MmTbWnV ia/VXrVeZ7rdFd/38lNbWiqbU21JSUpISMbs2ZbU1M0DBujUkx/yQ37ID/m53H+1L+17iuaF9ClT 8iIjtT49umJF6qRJ8qLmxInt/v6NNTVaacpetCg5OLjJqSda8bXaO9S7nG53xfex/Fw+ai4oUN46 Hk071ZMf8kN+yA/5Ud723HPzCuUHD5pHjLhotap+KkdASUFB8qIkIcHhgYZSKnNzbfOcMmFCo1o3 VONrtXeu159ud8X3wfy0nQMrSUxUPTemUk9+yA/5IT/kR0PzPe538ykhIYVXLi+8UFlZsGFDXVlZ c339mcxM88iRDlcqOh8NHVmwQFJ54dw5yYUU5+c328fXae8yjtaXLV0Z34fzcygsTI5PG6ur6ywW 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 RU5ErkJggg== --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 18 21:35:43 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 01:35:43 +0000 Received: from localhost ([127.0.0.1]:40564 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQ5Py-0005ZQ-Ba for submit@debbugs.gnu.org; Tue, 18 Mar 2014 21:35:42 -0400 Received: from mail-yk0-f172.google.com ([209.85.160.172]:55294) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQ5Pv-0005ZG-KR for 16733@debbugs.gnu.org; Tue, 18 Mar 2014 21:35:40 -0400 Received: by mail-yk0-f172.google.com with SMTP id 200so21387778ykr.3 for <16733@debbugs.gnu.org>; Tue, 18 Mar 2014 18:35:39 -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=RRg9xwtTO/rEV68xKssWbCKe3EC8H/MdIcaP3azyp0s=; b=zry8S9JaoFesJ9bgXqWMkKFpGEcIVYTM6ouioMEY99dr1K/lK8atFM1c1yfnisWGHA ruAQKlIYAsyhGq20/wlV8guYhCNVjgnp2WWg1WbdspX/k4g2gz4Rn6RdjTwMWC+xDnaS b92MPi5/69MLaJdFUKP/xFti+oHAWAW9S1ZkiZRTdg9D8jhSIIoOr2hbViYNSFgDEzHN vXcEaIdaplj8VxxBQ2dw5ql7GOMKwtMdzhOSvyrUHaPwPd24OpLDUkn2rdh7EXKWdVRY AtJmwSGqS92e755MjadjYNZjFokOtW+7wD+MaTD6Q8C0kGxMRuWrMYck/qN73LaIWPMr lwIA== X-Received: by 10.236.175.161 with SMTP id z21mr7567077yhl.80.1395192938891; Tue, 18 Mar 2014 18:35:38 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Tue, 18 Mar 2014 18:34:58 -0700 (PDT) In-Reply-To: <7tfvnn7phj.fsf@fencepost.gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> From: Juanma Barranquero Date: Wed, 19 Mar 2014 02:34:58 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Glenn Morris Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Thu, Feb 13, 2014 at 2:47 AM, Glenn Morris wrote: > Scroll down the description past the part that says "M-x aa2u RET". > The buffer is completely messed up at this point, showing raw > characters instead of the unicode box that you see if you visit the raw > source file for the package. See attached image. This seems enough. === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2014-03-14 20:55:40 +0000 +++ lisp/emacs-lisp/package.el 2014-03-19 01:31:28 +0000 @@ -1528,7 +1528,8 @@ (let ((version-control 'never) (require-final-newline t)) (save-buffer)) - (setq readme-string (buffer-string)) + (setq readme-string (decode-coding-string + (buffer-string) 'prefer-utf-8 t)) t)) (error nil)) (insert readme-string)) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 02:27:06 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 06:27:06 +0000 Received: from localhost ([127.0.0.1]:40646 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQ9xw-0005hh-Lf for submit@debbugs.gnu.org; Wed, 19 Mar 2014 02:27:05 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:35490) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQ9xs-0005hK-Cx for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 02:27:01 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WQ9xr-0005n9-QM; Wed, 19 Mar 2014 02:26:59 -0400 From: Glenn Morris To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description References: <7tfvnn7phj.fsf@fencepost.gnu.org> X-Spook: Ft. Knox FIPS140 sweep UOP president UFO militia Ortega X-Ran: |SC'bkW7/Ed{aU'b92kp\!R7v/I1C)YM"Mx User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -4.3 (----) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.3 (----) Juanma Barranquero wrote: > On Thu, Feb 13, 2014 at 2:47 AM, Glenn Morris wrote: > >> Scroll down the description past the part that says "M-x aa2u RET". >> The buffer is completely messed up at this point, showing raw >> characters instead of the unicode box that you see if you visit the raw >> source file for the package. See attached image. > > This seems enough. OK. (Presumably it could still go wrong if it ever finds a non-ascii, non-utf-8 package, but those are probably very rare.) > === modified file 'lisp/emacs-lisp/package.el' > --- lisp/emacs-lisp/package.el 2014-03-14 20:55:40 +0000 > +++ lisp/emacs-lisp/package.el 2014-03-19 01:31:28 +0000 > @@ -1528,7 +1528,8 @@ > (let ((version-control 'never) > (require-final-newline t)) > (save-buffer)) > - (setq readme-string (buffer-string)) > + (setq readme-string (decode-coding-string > + (buffer-string) 'prefer-utf-8 t)) > t)) > (error nil)) > (insert readme-string)) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 06:20:10 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 10:20:10 +0000 Received: from localhost ([127.0.0.1]:40712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQDbS-0005Rs-8L for submit@debbugs.gnu.org; Wed, 19 Mar 2014 06:20:10 -0400 Received: from mail-yh0-f53.google.com ([209.85.213.53]:40704) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQDbM-0005RG-Il for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 06:20:04 -0400 Received: by mail-yh0-f53.google.com with SMTP id v1so8222149yhn.40 for <16733@debbugs.gnu.org>; Wed, 19 Mar 2014 03:20:00 -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=27in63esBgrnbOHfnGoq1v4TRtAaI6bfrMzkkvgXuao=; b=Gg/5Kxd63ifSGZZ3XI/0C4+uIAvkC+1k7SW8G2CXFUtU/eaPIKCMpxUdJ6UPwTUCQn O4dod5myDsaxetX8pLsiYp9E8JncbqRcNSmyyvDdpGMHlGny1U+piyWZBM6pOYe+WjXS Eb1LvPvXAVwm5oVMwEfw7Ejjalabx4IbtFW44vWwMKlP2dvC4bzKmiHbDSw7/DznmhKz +CXMnqgP8ggn9rm4RZ64bpf26HIFASAXlw+siHLKlBbmM4vmxhIJgtHWXps064SCU7YD lq+mYnmN6E/Udip6x6bErQt7dhE4S0rjSyxbN4P8W7tQfirzB3JIIAAegaqbEaHxI6Co eeSQ== X-Received: by 10.236.18.227 with SMTP id l63mr9483152yhl.101.1395224400074; Wed, 19 Mar 2014 03:20:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 03:19:19 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> From: Juanma Barranquero Date: Wed, 19 Mar 2014 11:19:19 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Glenn Morris Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Wed, Mar 19, 2014 at 7:26 AM, Glenn Morris wrote: > (Presumably it could still go wrong if it ever finds a non-ascii, > non-utf-8 package True. What about this one? === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2014-03-14 20:55:40 +0000 +++ lisp/emacs-lisp/package.el 2014-03-19 10:17:45 +0000 @@ -1528,7 +1528,9 @@ (let ((version-control 'never) (require-final-newline t)) (save-buffer)) - (setq readme-string (buffer-string)) + (let* ((text (buffer-string)) + (coding (detect-coding-string text t))) + (setq readme-string (decode-coding-string text coding t))) t)) (error nil)) (insert readme-string)) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 11:53:13 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 15:53:13 +0000 Received: from localhost ([127.0.0.1]:41334 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQIno-0008JS-J1 for submit@debbugs.gnu.org; Wed, 19 Mar 2014 11:53:12 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:46792) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQInl-0008JJ-Nw for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 11:53:10 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WQInk-0006jn-NB; Wed, 19 Mar 2014 11:53:08 -0400 From: Glenn Morris To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description References: <7tfvnn7phj.fsf@fencepost.gnu.org> X-Spook: AMW Semtex ASPIC Lexis-Nexis Mossad supercomputer X-Ran: Wpv9<5]fTU!-^Q8M\^y?@xuP[>V`/#j7nzm!m-Y0bpxOcO"u\Y-YS^CC=?d>@vS2`ZEfy' X-Hue: black X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 19 Mar 2014 11:53:08 -0400 In-Reply-To: (Juanma Barranquero's message of "Wed, 19 Mar 2014 11:19:19 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) If it works, sounds fine. (I wonder why doesn't Emacs simply DTRT though.) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 12:09:32 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 16:09:32 +0000 Received: from localhost ([127.0.0.1]:41353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJ3b-0000M1-MB for submit@debbugs.gnu.org; Wed, 19 Mar 2014 12:09:31 -0400 Received: from mail-yh0-f48.google.com ([209.85.213.48]:39936) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJ3Y-0000Lq-DI for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 12:09:29 -0400 Received: by mail-yh0-f48.google.com with SMTP id z6so8690550yhz.7 for <16733@debbugs.gnu.org>; Wed, 19 Mar 2014 09:09:27 -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:content-transfer-encoding; bh=rZFkauq2udEhODZVGf1HmR8FFx7oK7gh5TZBS2chpsc=; b=kQvqOx2tOKBPHKLEqcv21hwKgLVdbCWza6v9o16+QPBYYgqktZ4YUjqsLMCcwSq2ie tMwdQj2Hj2PgrRZvMyYdhvqJKd8imAsr8NRL4CnLSD3d91ajCNcRVr7a6yUQ3tmAptjv 7HHqs2SxjyNaYt2o7+jcxRoDE6D3PxKclkcmH5X6V07LEJhDMn9W8wPPIqogwzoh62PJ sYsW0T40U3JcbVmowUC0QDvilEjbbzt+5KWRjICSM7tdDMacwKIuembVEf3HPEYzZxAj /zp8mhtdsxOm7TqdxOHsnOQnt0Rh8aaY1VyUWzYGdGeQspBEUA9fgelq973ZPOF2qq6D 9Yag== X-Received: by 10.236.149.2 with SMTP id w2mr11437994yhj.114.1395245367728; Wed, 19 Mar 2014 09:09:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 09:08:47 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> From: Juanma Barranquero Date: Wed, 19 Mar 2014 17:08:47 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Glenn Morris Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Wed, Mar 19, 2014 at 4:53 PM, Glenn Morris wrote: > If it works, sounds fine. Yes, it does. > (I wonder why doesn't Emacs simply DTRT though.) Apparently, url-retrieve-synchronously returns a unibyte buffer. (multibyte-string-p (with-current-buffer (url-retrieve-synchronously "http://es.gnu.org") (buffer-string))) =3D> nil and yet the homepage of GNU Espa=C3=B1a contains non-ASCII chars and its metadata says it is encoded in utf-8: C:\> lwp-request -m HEAD http://es.gnu.org 200 OK [...] Content-Language: es Content-Type: text/html; charset=3DUTF-8 [...] From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 12:16:49 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 16:16:49 +0000 Received: from localhost ([127.0.0.1]:41359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJAe-0000Yn-Md for submit@debbugs.gnu.org; Wed, 19 Mar 2014 12:16:49 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:47547) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJAb-0000Ye-2G for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 12:16:45 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WQJAZ-0005vT-Cp; Wed, 19 Mar 2014 12:16:43 -0400 From: Glenn Morris To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description References: <7tfvnn7phj.fsf@fencepost.gnu.org> X-Spook: propaganda government Firefly Telex Saddam Hussein X-Ran: ^F?J"5} (Juanma Barranquero's message of "Wed, 19 Mar 2014 17:08:47 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Juanma Barranquero wrote: > Apparently, url-retrieve-synchronously returns a unibyte buffer. > > (multibyte-string-p (with-current-buffer > (url-retrieve-synchronously "http://es.gnu.org") > (buffer-string))) > > =3D> nil > > and yet the homepage of GNU Espa=C3=B1a contains non-ASCII chars and its GNU what?! ;) > metadata says it is encoded in utf-8: > > C:\> lwp-request -m HEAD http://es.gnu.org > 200 OK > [...] > Content-Language: es > Content-Type: text/html; charset=3DUTF-8 I wonder if url.el has/should have a facility for fetching urls and automatically decoding them according to the charset they claim to be in? From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 12:25:04 2014 Received: (at 16733-done) by debbugs.gnu.org; 19 Mar 2014 16:25:04 +0000 Received: from localhost ([127.0.0.1]:41381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJId-0000ne-Ml for submit@debbugs.gnu.org; Wed, 19 Mar 2014 12:25:04 -0400 Received: from mail-yk0-f172.google.com ([209.85.160.172]:53983) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJIZ-0000n9-Jf for 16733-done@debbugs.gnu.org; Wed, 19 Mar 2014 12:25:00 -0400 Received: by mail-yk0-f172.google.com with SMTP id 200so23775076ykr.3 for <16733-done@debbugs.gnu.org>; Wed, 19 Mar 2014 09:24:59 -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=uLv2L6Ehgn+3y9Jsrfs64GBBPGiqiJ9DED3+DXHip14=; b=sTuSuu6+WV+lcgOu0IPVElPBuP8XLkwEFxtpYXylv5UZaq/XJNRGuXDlQTCSW2hrTL +jn/D2ouSpCPqA5/5Ff+JHjZAU5vVQW6zlN9ZZYtAmCthjXianOQRTOWryx3zyHo8Kit 7d1HEah5WnYjiHCZtGO8Y4IRNTXJXvMwEfZrTrk154X1gLDuHhgvBXb04NTBwXoeq8Pk M+7XHb8eb3QdMN3UBnxc5qw/PazI9wa3swJDoYZ0QqPA/AlyZcKvoU/bdhKAyQiyttU7 DkMf9U9ei8A+FekPv7XGXM9pHzgL68K4mA/lHHAt6OagUX6NoyePebCS0WxcRBCoujqF FEUw== X-Received: by 10.236.91.67 with SMTP id g43mr3268637yhf.146.1395246298867; Wed, 19 Mar 2014 09:24:58 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 09:24:18 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> From: Juanma Barranquero Date: Wed, 19 Mar 2014 17:24:18 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Glenn Morris Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733-done Cc: 16733-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Wed, Mar 19, 2014 at 5:16 PM, Glenn Morris wrote: > GNU what?! ;) Oh, you know, the webpage of these barbarian free-software advocates who speak the world's second language in number of native speakers (after Mandarin) ;-) > I wonder if url.el has/should have a facility for fetching urls and > automatically decoding them according to the charset they claim to be > in? Perhaps it has, but url/*.el has 32 files; I'm not going to delve into it right now ;-) If it has the facility and a better fix than mine is possible, fine (my fix isn't complex, removing it is trivial). And if not, certainly adding that feature is a post-freeze endeavour. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 13:08:22 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 17:08:22 +0000 Received: from localhost ([127.0.0.1]:41435 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJyX-00026a-1m for submit@debbugs.gnu.org; Wed, 19 Mar 2014 13:08:21 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:50607) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQJyS-00026E-4c for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 13:08:17 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0N2P005000SJ8M00@a-mtaout22.012.net.il> for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 19:08:14 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2P005V80XQ0560@a-mtaout22.012.net.il>; Wed, 19 Mar 2014 19:08:14 +0200 (IST) Date: Wed, 19 Mar 2014 19:08:25 +0200 From: Eli Zaretskii Subject: Re: bug#16733: messed up unicode chars in package description In-reply-to: X-012-Sender: halo1@inter.net.il To: Juanma Barranquero Message-id: <831txy9kvq.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16733 Cc: rgm@gnu.org, 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Juanma Barranquero > Date: Wed, 19 Mar 2014 17:08:47 +0100 > Cc: 16733@debbugs.gnu.org > > > (I wonder why doesn't Emacs simply DTRT though.) > > Apparently, url-retrieve-synchronously returns a unibyte buffer. Right, so we need to decode the buffer before displaying it. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 13:10:09 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 17:10:09 +0000 Received: from localhost ([127.0.0.1]:41440 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQK0F-00029w-VJ for submit@debbugs.gnu.org; Wed, 19 Mar 2014 13:10:08 -0400 Received: from mail-yk0-f171.google.com ([209.85.160.171]:35042) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQK0C-00029l-2E for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 13:10:04 -0400 Received: by mail-yk0-f171.google.com with SMTP id q9so23954610ykb.2 for <16733@debbugs.gnu.org>; Wed, 19 Mar 2014 10:10:03 -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=ysYym6UoDfw7aRaTm5oQ/SxzCQQ/Dac4sKd0eSfv0gk=; b=lmc8eAMrkpYotSfHYKhEdpUZIJWRN2YoXDyiolUQk3UEt4pSjPdw8kDD1XSogWHbah D268JIFGk2nzz4YEwLzUNN0GU8CWGE4xbtBPZJ2gIpGxvXjns1LoMgWUc4U+6xaG5ODF k6fCsFwlpETCEP0Wh7dbww+P1Y2C/DNwR/AYmiP+Aof03XVFLLbgiKRKNBuMP2N2dobC F0YfZtqlMmhD8hUoR7cduwdkF5PfeeWuweDRNr2M7G4ieIqy6OAHS9+z9+/8JcYtOTew +TxOzcHvzslcS1jWA6swFLLDoMzeflrvH4hQqPFfpwKlvYxVeM/4qCoZ7bSq2jVvzjWW mgwQ== X-Received: by 10.236.23.71 with SMTP id u47mr3697409yhu.143.1395249003579; Wed, 19 Mar 2014 10:10:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 10:09:23 -0700 (PDT) In-Reply-To: <831txy9kvq.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <831txy9kvq.fsf@gnu.org> From: Juanma Barranquero Date: Wed, 19 Mar 2014 18:09:23 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Glenn Morris , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Wed, Mar 19, 2014 at 6:08 PM, Eli Zaretskii wrote: > Right, so we need to decode the buffer before displaying it. That's what my fix does. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 13:11:31 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 17:11:31 +0000 Received: from localhost ([127.0.0.1]:41444 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQK1a-0002CR-3q for submit@debbugs.gnu.org; Wed, 19 Mar 2014 13:11:30 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:46376) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQK1W-0002CF-JT for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 13:11:27 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0N2P00I000PFA100@mtaout25.012.net.il> for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 19:09:54 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2P00FVL10IR530@mtaout25.012.net.il>; Wed, 19 Mar 2014 19:09:54 +0200 (IST) Date: Wed, 19 Mar 2014 19:11:36 +0200 From: Eli Zaretskii Subject: Re: bug#16733: messed up unicode chars in package description In-reply-to: X-012-Sender: halo1@inter.net.il To: Juanma Barranquero Message-id: <83zjkm865z.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16733 Cc: lekktu@gmail.com, 16733@debbugs.gnu.org, rgm@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Juanma Barranquero > Date: Wed, 19 Mar 2014 17:24:18 +0100 > Cc: 16733-done@debbugs.gnu.org > > > I wonder if url.el has/should have a facility for fetching urls and > > automatically decoding them according to the charset they claim to be > > in? > > Perhaps it has, but url/*.el has 32 files; I'm not going to delve into > it right now ;-) I think you want url-insert from url-handlers.el. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 13:44:29 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 17:44:30 +0000 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 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 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) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 10:43:46 -0700 (PDT) In-Reply-To: <83zjkm865z.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> From: Juanma Barranquero Date: Wed, 19 Mar 2014 18:43:46 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Glenn Morris , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 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)))))))) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 14:05:34 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 18:05:34 +0000 Received: from localhost ([127.0.0.1]:41484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQKrt-0003mm-R8 for submit@debbugs.gnu.org; Wed, 19 Mar 2014 14:05:33 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:50268) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQKrr-0003mc-8i for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 14:05:31 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WQKrp-0008Hy-Od; Wed, 19 Mar 2014 14:05:29 -0400 From: Glenn Morris To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> X-Spook: encryption subversive AUTODIN mindwar BATF tempest AMW X-Ran: `5NoSug7D-u;l\!qpW|HSOAV$:@xy"<\yL]H3M^8f[(5+{*Tn{t^=[0^F}oOJB&XuAyr,4 X-Hue: black X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 19 Mar 2014 14:05:29 -0400 Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Juanma Barranquero wrote: > +(require 'url-handlers) I'd favour autoloading url-insert rather than requiring. (I see url-insert-file-contents has an autoload cookie, so maybe that is supposed to be the relevant entry point.) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 14:33:30 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 18:33:30 +0000 Received: from localhost ([127.0.0.1]:41534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQLIv-0004an-V3 for submit@debbugs.gnu.org; Wed, 19 Mar 2014 14:33:30 -0400 Received: from mail-yh0-f46.google.com ([209.85.213.46]:43282) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQLIt-0004af-90 for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 14:33:27 -0400 Received: by mail-yh0-f46.google.com with SMTP id b6so9046272yha.33 for <16733@debbugs.gnu.org>; Wed, 19 Mar 2014 11:33: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:date:message-id:subject:from:to :cc:content-type; bh=uCwNuKwnkIw0J7G8PCTxnXQBq4epJtmX7TbDeq8YZY4=; b=CT0oX+AfNmDZNv9JtFc22llSSPHRAIAacxSeKLsTChdxD47Uq/t2fxarGAHzeJoY6C dRpDsCEUiwgEEHbNA9QxlBMpY0KH3jZR9E0Z8KG49E8+4WXGjZh661pqAS5r+DKJzdNK Uniwd8px7dcXThVx26eEOCdWbrknJAgykl5MFYGkO8E2hCrCXcY3EdPUtwOZtise0YGF sUeBemGkVFlTNaWuxD21VQgiq4mtcc4HzazQCh12Yxs3mSmbODbjLVoogWYJVxrAAwmb C58i3t7/x5HCa44JOM2dpn/NY0IufycoFLixu+dlKSpExPtvfgZm7DKmvciPCBM+8kE5 B5bw== MIME-Version: 1.0 X-Received: by 10.236.149.2 with SMTP id w2mr12509560yhj.114.1395254006766; Wed, 19 Mar 2014 11:33:26 -0700 (PDT) Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 11:33:26 -0700 (PDT) Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 11:33:26 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> Date: Wed, 19 Mar 2014 19:33:26 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description From: Juanma Barranquero To: Glenn Morris Content-Type: multipart/alternative; boundary=20cf302efa4471e0f904f4f9e373 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --20cf302efa4471e0f904f4f9e373 Content-Type: text/plain; charset=UTF-8 On Mar 19, 2014 7:05 PM, "Glenn Morris" wrote: > I'd favour autoloading url-insert rather than requiring. > (I see url-insert-file-contents has an autoload cookie, so maybe that is > supposed to be the relevant entry point.) I'll look into it (and also fix my patch so it kills the URL buffer). J --20cf302efa4471e0f904f4f9e373 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Mar 19, 2014 7:05 PM, "Glenn Morris" <rgm@gnu.org> wrote:

> I'd favour autoloading url-insert rather than requi= ring.
> (I see url-insert-file-contents has an autoload cookie, so maybe that = is
> supposed to be the relevant entry point.)

I'll look into it (and also fix my patch so it kills the= URL buffer).

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 J

--20cf302efa4471e0f904f4f9e373-- From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 15:00:12 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 19:00:12 +0000 Received: from localhost ([127.0.0.1]:41559 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQLil-0005Ov-IM for submit@debbugs.gnu.org; Wed, 19 Mar 2014 15:00:12 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:23012) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQLii-0005O3-6i for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 15:00:08 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al8FABK/CFHO+KKg/2dsb2JhbABEj0SvShdzgh4BAQQBViMFCwsOJhIUGA0kiB4GwS2RCgOOGIRDA5IcgV6DEw X-IPAS-Result: Al8FABK/CFHO+KKg/2dsb2JhbABEj0SvShdzgh4BAQQBViMFCwsOJhIUGA0kiB4GwS2RCgOOGIRDA5IcgV6DEw X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="52641049" Received: from 206-248-162-160.dsl.teksavvy.com (HELO pastel.home) ([206.248.162.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 19 Mar 2014 15:00:07 -0400 Received: by pastel.home (Postfix, from userid 20848) id 5A13460123; Wed, 19 Mar 2014 15:00:07 -0400 (EDT) From: Stefan To: Glenn Morris Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> Date: Wed, 19 Mar 2014 15:00:07 -0400 In-Reply-To: (Glenn Morris's message of "Wed, 19 Mar 2014 12:16:42 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16733 Cc: Juanma Barranquero , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > I wonder if url.el has/should have a facility for fetching urls and > automatically decoding them according to the charset they claim to > be in? IIRC there's something to that effect already somewhere in url/*.el, but maybe it's not in url-retrieve-synchronously, or it fails in this case for some reason. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 15:42:32 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 19:42:32 +0000 Received: from localhost ([127.0.0.1]:41577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQMNj-0006bm-NU for submit@debbugs.gnu.org; Wed, 19 Mar 2014 15:42:32 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:52985) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQMNh-0006bc-7h for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 15:42:29 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WQMNg-0002Fg-1B; Wed, 19 Mar 2014 15:42:28 -0400 From: Glenn Morris To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description References: <7tfvnn7phj.fsf@fencepost.gnu.org> X-Spook: unclassified Abbas Mantis bluebird UOP Echelon brigand X-Ran: Wl[%mB}%-RLg"#mf+PI<*}JU+)S,)~|=;mCziT{k2_e;we"}p!v_uu?yV7D-l4u*}y&Wnm X-Hue: cyan X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 19 Mar 2014 15:42:27 -0400 In-Reply-To: (Glenn Morris's message of "Wed, 19 Mar 2014 12:16:42 -0400") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Glenn Morris wrote: >> and yet the homepage of GNU Espa=C3=B1a contains non-ASCII chars and its > > GNU what?! ;) [...] >> C:\> lwp-request -m HEAD http://es.gnu.org I'm sorry! I did not read that properly. I thought you'd made a freudian typo for "GNU elpa", but now I see you were talking about a different URL. No offence intended. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 19 16:44:57 2014 Received: (at 16733) by debbugs.gnu.org; 19 Mar 2014 20:44:57 +0000 Received: from localhost ([127.0.0.1]:41587 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQNM7-0008NK-Qy for submit@debbugs.gnu.org; Wed, 19 Mar 2014 16:44:56 -0400 Received: from mail-yk0-f175.google.com ([209.85.160.175]:58656) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQNM0-0008N4-8Y for 16733@debbugs.gnu.org; Wed, 19 Mar 2014 16:44:52 -0400 Received: by mail-yk0-f175.google.com with SMTP id 131so24709689ykp.6 for <16733@debbugs.gnu.org>; Wed, 19 Mar 2014 13:44:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=HiJPj4bBCDVFngdt0ew44so7L58YvQ/soRRoKrrXBnU=; b=VeU5MERpGbEYtWfO1pF0uSZ7zHkB1AvF6W2ar1Z4RpoO053cDMjOrB5KxMAck7bQPN gupFRSKrwVf+g7YV57dhtJUG4Hb9RW6R8GgFMhQNVKOt87B0BbpG/u/h/gEoX+fnw/3i GwfARe8qKBBtawdb/waUTHiOl5ouI/lIW6f82XXq0NQ7Pb2KRoifAfolOYRigQ4bhynz G1zFYFd5zFwPEUs1enKE8hU6Z+DhROBjiI4jiZdurrJ2LQZ9oWfeN+2XcfUYVbnA6R5J XmTb1w3ifDc2FWEJghDDMTyjY9Dk2FWorfoIl7lXgZ77kF22d6mEVvJCMQr3wAJ3ILF5 jgZQ== MIME-Version: 1.0 X-Received: by 10.236.169.33 with SMTP id m21mr5117620yhl.137.1395261887552; Wed, 19 Mar 2014 13:44:47 -0700 (PDT) Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 13:44:47 -0700 (PDT) Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 13:44:47 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> Date: Wed, 19 Mar 2014 21:44:47 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description From: Juanma Barranquero To: Glenn Morris Content-Type: multipart/alternative; boundary=20cf303f660e2d232004f4fbb9ba X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --20cf303f660e2d232004f4fbb9ba Content-Type: text/plain; charset=UTF-8 On Mar 19, 2014 8:42 PM, "Glenn Morris" wrote: > I'm sorry! I did not read that properly. > I thought you'd made a freudian typo for "GNU elpa", but now I see you > were talking about a different URL. No offence intended. Don't worry, no offense at all. I thought you were joking. --20cf303f660e2d232004f4fbb9ba Content-Type: text/html; charset=UTF-8


On Mar 19, 2014 8:42 PM, "Glenn Morris" <rgm@gnu.org> wrote:

> I'm sorry! I did not read that properly.
> I thought you'd made a freudian typo for "GNU elpa", but now I see you
> were talking about a different URL. No offence intended.

Don't worry, no offense at all. I thought you were joking.

--20cf303f660e2d232004f4fbb9ba-- From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 20 01:13:12 2014 Received: (at 16733) by debbugs.gnu.org; 20 Mar 2014 05:13:12 +0000 Received: from localhost ([127.0.0.1]:41793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQVHz-0006fv-53 for submit@debbugs.gnu.org; Thu, 20 Mar 2014 01:13:12 -0400 Received: from mail-yh0-f49.google.com ([209.85.213.49]:36925) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQVHt-0006fk-LT for 16733@debbugs.gnu.org; Thu, 20 Mar 2014 01:13:06 -0400 Received: by mail-yh0-f49.google.com with SMTP id z6so329958yhz.22 for <16733@debbugs.gnu.org>; Wed, 19 Mar 2014 22:13:05 -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=Kc4wvElG/v5jdUyftix3CQmx4cIDyNWh8YWB+nbAo+Y=; b=QXyl3PR9HEZQVxGG+XzkLzWcvmRJ64CWvw++pVeNPvmqvDo1DL3XjDX20Yoya1usS7 r0Hryv/5Kqcxs9AHgOPAjv+wLmwS7r8ZCquErla9YQDZCfaxSMwQfU06bKdC5y36UQGw sshVu3QkQTqc0lWaEX0TXKTZdLQXpq9lYTkLLwptYxlfSmXqxAnYRQyPIih+WzdFC7yt B+X3NMcY5ZQltmub2hV5Yj8Pr2Jobzo4pLxgDYYazeWynSR6clvOlPFoGzOveX3pI3jg pZSVSNyVpO9jEng+ubMhAxF0DG9axT/tS9p4xG647dKMu9hW6NV70uxJPo7x9aAz2zYH ob0A== X-Received: by 10.236.62.232 with SMTP id y68mr31893325yhc.12.1395292385067; Wed, 19 Mar 2014 22:13:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Wed, 19 Mar 2014 22:12:24 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> From: Juanma Barranquero Date: Thu, 20 Mar 2014 06:12:24 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Glenn Morris Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Wed, Mar 19, 2014 at 7:05 PM, Glenn Morris wrote: > I'd favour autoloading url-insert rather than requiring. > (I see url-insert-file-contents has an autoload cookie, so maybe that is > supposed to be the relevant entry point.) All in all, trying to use url-insert(-file-contents) has been less than straightforward. - url-insert-file-contents can be used, and in fact it simplifies the code in package--with-work-buffer quite a bit. A nicety is that, if the HTTP response headers to not set an explicit coding, it guesses. The catch is that it does not detect missing URLs, i.e., if you point it to http://www.gnu.org/does-not-exist it will happily, and successfully, return the 404 Page Not Found error page. (That, BTW, makes package-handle-response irrelevant, because it is no longer used anywhere). - url-insert works on the buffer returned by url-retrieve-synchronously, so package-handle-response can be used to detect errors, i.e. response codes not in [200, 300). The problem is that if the response header does not include a coding, url-insert doesn't know what to do. Ironically, that's exactly the case with Glenn's original report: C:\> lwp-request -m HEAD http://elpa.gnu.org/packages/ascii-art-to-unicode-readme.txt 200 OK [...] Content-Length: 1255 Content-Type: text/plain [...] So, at this point, I see the following alternatives: 1) Leave it as it is now, with detect-coding-string/decode-coding-string (or perhaps decode-coding-(inserted-)region). 2) Use url-insert-file and accept that it will return the wrong contents for missing URLs; that could be acceptable, depending on how consistent is the data returned by ELPA and other repositories (this is my preferred fix, BTW). 3) Copy all or some of the logic of url-insert-file and create a package-* version which checks for errors with package-handle-response (Ugly duplication of code). 4) Fix url-insert-file so it can (optionally) check for errors (after the freeze). The patch for 3), as an example: === 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-20 05:09:52 +0000 @@ -770,38 +770,16 @@ 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*")))) - (prog1 - (with-current-buffer buffer - (if http - (progn (package-handle-response) - (re-search-forward "^$" nil 'move) - (forward-char) - (delete-region (point-min) (point))) - (unless (file-name-absolute-p ,location) - (error "Archive location %s is not an absolute file name" - ,location)) - (insert-file-contents (expand-file-name ,file ,location))) - ,@body) - (kill-buffer buffer)))) - -(defun package-handle-response () - "Handle the response from a `url-retrieve-synchronously' call. -Parse the HTTP response and throw if an error occurred. -The url package seems to require extra processing for this. -This should be called in a `save-excursion', in the download buffer. -It will move point to somewhere in the headers." - ;; We assume HTTP here. - (require 'url-http) - (let ((response (url-http-parse-response))) - (when (or (< response 200) (>= response 300)) - (error "Error downloading %s:%s" - (url-recreate-url url-http-target-url) - (buffer-substring-no-properties (point) (line-end-position)))))) + `(with-temp-buffer + (if (string-match-p "\\`https?:" ,location) + (progn + (url-insert-file-contents (concat ,location ,file)) + (goto-char (point-min))) + (unless (file-name-absolute-p ,location) + (error "Archive location %s is not an absolute file name" + ,location)) + (insert-file-contents (expand-file-name ,file ,location))) + ,@body)) (defun package--archive-file-exists-p (location file) (let ((http (string-match "\\`https?:" location))) @@ -1272,7 +1250,7 @@ (car archive))))) ;; Read the retrieved buffer to make sure it is valid (e.g. it ;; may fetch a URL redirect page). - (when (listp (read buffer)) + (when (listp (read (current-buffer))) (make-directory dir t) (setq buffer-file-name (expand-file-name file dir)) (let ((version-control 'never) @@ -1531,8 +1509,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)))))))) From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 20 12:02:32 2014 Received: (at 16733) by debbugs.gnu.org; 20 Mar 2014 16:02:32 +0000 Received: from localhost ([127.0.0.1]:42461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQfQM-0001sL-S6 for submit@debbugs.gnu.org; Thu, 20 Mar 2014 12:02:31 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:45345) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQfQJ-0001s4-GW for 16733@debbugs.gnu.org; Thu, 20 Mar 2014 12:02:28 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WQfQI-0001y8-26; Thu, 20 Mar 2014 12:02:26 -0400 From: Glenn Morris To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> X-Spook: digicash oil Al Jazeera InfoSec Agfa Bletchley Park MD4 X-Ran: G~Z~6SbH&:c9SV"yo>+qlKap5C:G"k5K`O&-gCM1?[0E~4x9IF+B, (Juanma Barranquero's message of "Thu, 20 Mar 2014 06:12:24 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Juanma Barranquero wrote: > that if the response header does not include a coding, url-insert > doesn't know what to do. Ironically, that's exactly the case with > Glenn's original report: > > C:\> lwp-request -m HEAD > http://elpa.gnu.org/packages/ascii-art-to-unicode-readme.txt > 200 OK > [...] > Content-Length: 1255 > Content-Type: text/plain > [...] IMO this could be a bug in whatever script generates elpa webpages. Seems like it should specify a charset, based on coding:, if present. > So, at this point, I see the following alternatives: > > 1) Leave it as it is now, with > detect-coding-string/decode-coding-string (or perhaps > decode-coding-(inserted-)region). Seems fine to me for 24.4. It's a minor issue. Maybe reopen this as a reminder to revisit it afterwards (or new report). (BTW, I'm surprised if url.el does not have a way to handle 404s.) From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 20 12:21:37 2014 Received: (at 16733) by debbugs.gnu.org; 20 Mar 2014 16:21:37 +0000 Received: from localhost ([127.0.0.1]:42493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQfiq-0002Ud-GS for submit@debbugs.gnu.org; Thu, 20 Mar 2014 12:21:36 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:32987) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQfin-0002UR-MN for 16733@debbugs.gnu.org; Thu, 20 Mar 2014 12:21:34 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0N2Q00C00TAFSE00@mtaout26.012.net.il> for 16733@debbugs.gnu.org; Thu, 20 Mar 2014 18:20:43 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2Q00BJ4TEJUS10@mtaout26.012.net.il>; Thu, 20 Mar 2014 18:20:43 +0200 (IST) Date: Thu, 20 Mar 2014 18:21:45 +0200 From: Eli Zaretskii Subject: Re: bug#16733: messed up unicode chars in package description In-reply-to: X-012-Sender: halo1@inter.net.il To: Juanma Barranquero Message-id: <838us496xy.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16733 Cc: rgm@gnu.org, 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Juanma Barranquero > Date: Thu, 20 Mar 2014 06:12:24 +0100 > Cc: Eli Zaretskii , 16733@debbugs.gnu.org > > 1) Leave it as it is now, with > detect-coding-string/decode-coding-string (or perhaps > decode-coding-(inserted-)region). This is suboptimal when the URL already tells its charset. In that case, you should use the information; you should fall back to detect-coding-string only if that information is not available. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 20 12:31:31 2014 Received: (at 16733) by debbugs.gnu.org; 20 Mar 2014 16:31:31 +0000 Received: from localhost ([127.0.0.1]:42506 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQfsP-0003uh-Tq for submit@debbugs.gnu.org; Thu, 20 Mar 2014 12:31:30 -0400 Received: from mail-yh0-f41.google.com ([209.85.213.41]:62781) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQfsM-0003uN-Iz for 16733@debbugs.gnu.org; Thu, 20 Mar 2014 12:31:27 -0400 Received: by mail-yh0-f41.google.com with SMTP id v1so1094109yhn.14 for <16733@debbugs.gnu.org>; Thu, 20 Mar 2014 09:31: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=iB1Yypqirh1LKWXcmfti7tbIJUN7Jl0fFZiA4752eCQ=; b=ql6SuvekuZdQBO56NcgvJVUG8VwUyseamwORrVhZmMabaAE/UQRWDEW/lHrEz2C8RP LryoXs5XgeOfjAsHbSjr6bdCNe9TPLQEcJmt1n/w/YmpzhqjgKMyYGWTXJiIAOe7nM5l LE8ZuRWJxcUDa9jjKvYs8JdMeIAAOXzzonAqnlVjBwMzYnG4U/A8s0a0XGl9YRSS/M8A ppKSDzj7PINxyYLeLzYvDCeENahBR8CNiKFqtgLqZ31PNdPaSgr3Oda8XNrBLZ8aCVT9 44MKd6yIeFgD5pO5oZZmkumH33pk1Gzkrw4BRqL6nzHfKRxWAi1+lJ7fvFbP3gWMZ6e3 hSNw== X-Received: by 10.236.61.45 with SMTP id v33mr36022931yhc.20.1395333086052; Thu, 20 Mar 2014 09:31:26 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Thu, 20 Mar 2014 09:30:46 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> From: Juanma Barranquero Date: Thu, 20 Mar 2014 17:30:46 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Glenn Morris Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Thu, Mar 20, 2014 at 5:02 PM, Glenn Morris wrote: > Juanma Barranquero wrote: > IMO this could be a bug in whatever script generates elpa webpages. > Seems like it should specify a charset, based on coding:, if present. Or a misconfiguration in the Apache server. > Seems fine to me for 24.4. It's a minor issue. > Maybe reopen this as a reminder to revisit it afterwards (or new report). I'm OK with that. > (BTW, I'm surprised if url.el does not have a way to handle 404s.) Perhaps I haven't been clear enough. url has ways to deal with it; url-retrieve(-synchronously) return the status code in the buffer along other HTTP responses. It's url-insert-file-contents which ignores it. The way they are implemented, you can use url-insert, check the status in the resulting buffer, and lose the additional coding checks that url-insert-file-contents does, or you can use url-insert-file-contents, and lose the status check (because url-insert-file-contents does not give back the buffer it gets from url-retrieve-synchronously). From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 20 13:27:00 2014 Received: (at 16733) by debbugs.gnu.org; 20 Mar 2014 17:27:00 +0000 Received: from localhost ([127.0.0.1]:42594 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQgk6-0006jk-U6 for submit@debbugs.gnu.org; Thu, 20 Mar 2014 13:26:59 -0400 Received: from mail-yh0-f48.google.com ([209.85.213.48]:44441) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQgk4-0006jU-Bf for 16733@debbugs.gnu.org; Thu, 20 Mar 2014 13:26:56 -0400 Received: by mail-yh0-f48.google.com with SMTP id z6so1165722yhz.21 for <16733@debbugs.gnu.org>; Thu, 20 Mar 2014 10:26:55 -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=xH/H+JfplFDM03K9NyKvGi70gdMvpRj5AlbzYwl/60A=; b=pdb5omBpHeky3lmYS9h8cs8MCWbR1Y85ETu6XSAFkrfUqYgJAIvGjn9UvpW5Ghzn73 hHey9XNBEFNliLQYszWavHOh/OtpsogzoVUXsrdDWAOpq3ovmJAmD7nTu0mTMaaKVHZl a5hJyFNZmAXOuzzNMSxyQMzJ3Hiz0mFNYgFsFhToix2A9fn4p8M5Z9USqA2p2gPwTtM+ m0/xZYKBhWI7sfO/5HK1Srt4hKBeDp+SV9mV0MsFbtvcF/uPlExrGZARgFjudDVwn8ud ghtkyJZf6yDowMVIM+RYBVKA7uzJLhTXO0prnJ184luBrz96wb8BCGsDCI9q9pSQn37M s/vg== X-Received: by 10.236.91.67 with SMTP id g43mr3804654yhf.146.1395336415548; Thu, 20 Mar 2014 10:26:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Thu, 20 Mar 2014 10:26:15 -0700 (PDT) In-Reply-To: <838us496xy.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Thu, 20 Mar 2014 18:26:15 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Glenn Morris , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Thu, Mar 20, 2014 at 5:21 PM, Eli Zaretskii wrote: > This is suboptimal when the URL already tells its charset. In that > case, you should use the information; you should fall back to > detect-coding-string only if that information is not available. That would mean to manually parse the headers and/or duplicate part of what url-insert / url-insert-file-contents do. In that case, I'd prefer one of the other fixes. J From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 21 21:12:37 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 01:12:37 +0000 Received: from localhost ([127.0.0.1]:44031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRAUG-0007o3-Be for submit@debbugs.gnu.org; Fri, 21 Mar 2014 21:12:36 -0400 Received: from mail-yh0-f43.google.com ([209.85.213.43]:33277) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRAUD-0007nt-9V for 16733@debbugs.gnu.org; Fri, 21 Mar 2014 21:12:33 -0400 Received: by mail-yh0-f43.google.com with SMTP id b6so3191226yha.30 for <16733@debbugs.gnu.org>; Fri, 21 Mar 2014 18:12:32 -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=8pCNg/g9cp9O148IhA4qBGxyk+oMBNKdioVNDujOfMU=; b=tVtZv5lWbCKXz9qYn1kttbm4kFO4qR5YQYjrVKqnbTTq4ILUUQnJCsrfTF84mZ5rKc W1b+2N5Vwbv3qJU5In6oiu/LXzwbWwqAMp11prr2cfE/QVP0usz78BSaCjPO/MBrppIP uHucr8l3XVSoafX5zbGIRmKTg+KflpPgvd0tSDxyw9RoYl+0GvlSoms7CcNWyInTHNDM Vs7f28FzR2BE0hPxjNi64KOCke0XAycfz+HcT0lpeP1nLUM1VZ/SeBi2bOGcy9LVFE8m 0Cb24pOUZmQO5bxp+3RwHcTIgW7BwUdPF/pZevgMfHjXu4q5hbBp+QBfy3VKCkpCFAsm FKHw== X-Received: by 10.236.128.47 with SMTP id e35mr339406yhi.96.1395450752829; Fri, 21 Mar 2014 18:12:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Fri, 21 Mar 2014 18:11:51 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 02:11:51 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Glenn Morris , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) A possible fix for trunk, not the release branch. Basically, the idea is to move most functionality from url-insert-file-contents to a new url-insert-file-contents-internal, which has an additional arg, a check function (possibly nil). That function is called with the same parameters that url-insert-file-contents plus the url buffer (with response codes, etc.) returned by url-retrieve-synchronously. The original u-i-f-c turns into a wrapper for u-i-f-c-internal, and package--with-work-buffer can call u-i-f-c-internal and leverage package-handle-response to check for errors. (If we can assume that package-handle-response isn't used outside package.el, a further simplification is possible.) J === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2014-03-21 06:06:52 +0000 +++ lisp/emacs-lisp/package.el 2014-03-22 00:48:26 +0000 @@ -770,24 +770,20 @@ 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*")))) - (prog1 - (with-current-buffer buffer - (if http - (progn (package-handle-response) - (re-search-forward "^$" nil 'move) - (forward-char) - (delete-region (point-min) (point))) - (unless (file-name-absolute-p ,location) - (error "Archive location %s is not an absolute file name" - ,location)) - (insert-file-contents (expand-file-name ,file ,location))) - ,@body) - (kill-buffer buffer)))) + `(with-temp-buffer + (if (string-match-p "\\`https?:" ,location) + (progn + (require 'url-handlers) + (url-insert-file-contents-internal + (lambda (buffer &rest _) + (with-current-buffer buffer (package-handle-response))) + (concat ,location ,file)) + (goto-char (point-min))) + (unless (file-name-absolute-p ,location) + (error "Archive location %s is not an absolute file name" + ,location)) + (insert-file-contents (expand-file-name ,file ,location))) + ,@body)) (defun package-handle-response () "Handle the response from a `url-retrieve-synchronously' call. @@ -1272,7 +1268,7 @@ (car archive))))) ;; Read the retrieved buffer to make sure it is valid (e.g. it ;; may fetch a URL redirect page). - (when (listp (read buffer)) + (when (listp (read (current-buffer))) (make-directory dir t) (setq buffer-file-name (expand-file-name file dir)) (let ((version-control 'never) @@ -1531,8 +1527,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)))))))) === modified file 'lisp/url/url-handlers.el' --- lisp/url/url-handlers.el 2014-01-01 07:43:34 +0000 +++ lisp/url/url-handlers.el 2014-03-22 00:53:21 +0000 @@ -290,11 +290,12 @@ (insert data)) (list (length data) charset))) -;;;###autoload -(defun url-insert-file-contents (url &optional visit beg end replace) +(defun url-insert-file-contents-internal (check url &optional visit beg end replace) (let ((buffer (url-retrieve-synchronously url))) - (if (not buffer) - (error "Opening input file: No such file or directory, %s" url)) + (when check + (unwind-protect + (funcall check buffer url visit beg end replace) + (when buffer (kill-buffer)))) (if visit (setq buffer-file-name url)) (save-excursion (let* ((start (point)) @@ -308,6 +309,14 @@ ;; usual heuristic/rules that we apply to files. (decode-coding-inserted-region start (point) url visit beg end replace)) (list url (car size-and-charset)))))) + +;;;###autoload +(defun url-insert-file-contents (url &optional visit beg end replace) + (url-insert-file-contents-internal + (lambda (buffer url &rest _ignore) + (unless buffer + (error "Opening input file: No such file or directory, %s" url))) + url visit beg end replace)) (put 'insert-file-contents 'url-file-handlers 'url-insert-file-contents) (defun url-file-name-completion (url directory &optional predicate) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 21 21:18:53 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 01:18:53 +0000 Received: from localhost ([127.0.0.1]:44036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRAaK-0007yg-Ee for submit@debbugs.gnu.org; Fri, 21 Mar 2014 21:18:52 -0400 Received: from mail-yh0-f54.google.com ([209.85.213.54]:44656) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRAaI-0007yW-8g for 16733@debbugs.gnu.org; Fri, 21 Mar 2014 21:18:50 -0400 Received: by mail-yh0-f54.google.com with SMTP id f73so3219914yha.13 for <16733@debbugs.gnu.org>; Fri, 21 Mar 2014 18:18:49 -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=TRQ6de6toGqmLhCJbqyf4x6s7cSEj3WNvubd9ZXPqi8=; b=zAObgxL0atC4u1XPVQDCWxYYFXajv22EaCk7kutnt2Ugw6+PdVg+Uwy8Ar47FSddOH 5S3IKSxoHeWVyzt4KV6GFhY7hG1wC6SPcVQ3lXziVJi7xThD6hgB6HHYMklqaW0AW25/ dCp1xmwvy1eo9cI7MlrLXldL9EffnDHmnlw9HZWbyu8MQ3E3oBTmDasx2xr5IuTB+YV5 8vb7GBdneoSffEZa14L2AmZOegbJtYQLSonOjadKPOG+HyRt6SB4T1QkopnpY1NnLq4/ jVR7r6GYJNg+yWE0gysQSOSt24yEcmsBk86NTN2LtUh/xPDlsHQg76WfyrKsaBOzDCGR OoOw== X-Received: by 10.236.198.243 with SMTP id v79mr391174yhn.87.1395451129821; Fri, 21 Mar 2014 18:18:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Fri, 21 Mar 2014 18:18:09 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 02:18:09 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Glenn Morris , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 2:11 AM, Juanma Barranquero wrote: > + (when check > + (unwind-protect > + (funcall check buffer url visit beg end replace) > + (when buffer (kill-buffer)))) An obvious braino for (when check (condition-case err (funcall check buffer url visit beg end replace) (error (when buffer (kill-buffer)) (signal (car err) (cdr err))))) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 21 21:34:04 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 01:34:04 +0000 Received: from localhost ([127.0.0.1]:44047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRAp1-0008Q7-LL for submit@debbugs.gnu.org; Fri, 21 Mar 2014 21:34:04 -0400 Received: from mail-yh0-f45.google.com ([209.85.213.45]:53631) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRAoz-0008PR-LH for 16733@debbugs.gnu.org; Fri, 21 Mar 2014 21:34:02 -0400 Received: by mail-yh0-f45.google.com with SMTP id a41so3196182yho.32 for <16733@debbugs.gnu.org>; Fri, 21 Mar 2014 18:34:01 -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=qmjYOfTiL9cvdqIeYSi+xbFPOHc1ymIhLVaunE6rbQM=; b=kMqMsJ+no3/riFIgHPR4DmUlDKq9FDgLpOdVF2cw7hCREGKOA4sA73nlXxvkR6uBh/ 2ndffE3OjRbUypnmBkgcN5687o+K8VdgsctAqdVt4AvHljqQc5AXHMt7TnK37IhpTD77 NDQDrFEMWxKk+nCQRRpFVQD7w3dnOVthJ9Riu6TWxe4IfgYedvHX2/fr45exV+9Eeov9 5mUWxuTofBqF0kmT5alYAtTRES2IFVnQKeLTA/Cyapwg4QVHDrY687QDCwkWwm/MLnij RMn3TMMB/3dVrP29RiLZmx97nbrj4AbrRSGLd+0PRVGLUxQCpBzFSpfNuYeaG3yROYFr xg9Q== X-Received: by 10.236.83.194 with SMTP id q42mr46476417yhe.56.1395452041223; Fri, 21 Mar 2014 18:34:01 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Fri, 21 Mar 2014 18:33:21 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 02:33:21 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Glenn Morris , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) This is the same patch, but adding additional parameters to package-handle-response to pass the buffer to check. === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2014-03-21 06:06:52 +0000 +++ lisp/emacs-lisp/package.el 2014-03-22 01:24:09 +0000 @@ -770,38 +770,35 @@ 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*")))) - (prog1 - (with-current-buffer buffer - (if http - (progn (package-handle-response) - (re-search-forward "^$" nil 'move) - (forward-char) - (delete-region (point-min) (point))) - (unless (file-name-absolute-p ,location) - (error "Archive location %s is not an absolute file name" - ,location)) - (insert-file-contents (expand-file-name ,file ,location))) - ,@body) - (kill-buffer buffer)))) + `(with-temp-buffer + (if (string-match-p "\\`https?:" ,location) + (progn + (require 'url-handlers) + (url-insert-file-contents-internal #'package-handle-response + (concat ,location ,file)) + (goto-char (point-min))) + (unless (file-name-absolute-p ,location) + (error "Archive location %s is not an absolute file name" + ,location)) + (insert-file-contents (expand-file-name ,file ,location))) + ,@body)) -(defun package-handle-response () +(defun package-handle-response (&optional buffer &rest _ignore) "Handle the response from a `url-retrieve-synchronously' call. Parse the HTTP response and throw if an error occurred. +Parsing happens in BUFFER, or the current buffer if nil. The url package seems to require extra processing for this. This should be called in a `save-excursion', in the download buffer. It will move point to somewhere in the headers." ;; We assume HTTP here. (require 'url-http) - (let ((response (url-http-parse-response))) - (when (or (< response 200) (>= response 300)) - (error "Error downloading %s:%s" - (url-recreate-url url-http-target-url) - (buffer-substring-no-properties (point) (line-end-position)))))) + (with-current-buffer (or buffer (current-buffer)) + (let ((response (url-http-parse-response))) + (when (or (< response 200) (>= response 300)) + (error "Error downloading %s:%s" + (url-recreate-url url-http-target-url) + (buffer-substring-no-properties (point) + (line-end-position))))))) (defun package--archive-file-exists-p (location file) (let ((http (string-match "\\`https?:" location))) @@ -1272,7 +1269,7 @@ (car archive))))) ;; Read the retrieved buffer to make sure it is valid (e.g. it ;; may fetch a URL redirect page). - (when (listp (read buffer)) + (when (listp (read (current-buffer))) (make-directory dir t) (setq buffer-file-name (expand-file-name file dir)) (let ((version-control 'never) @@ -1531,8 +1528,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)))))))) === modified file 'lisp/url/url-handlers.el' --- lisp/url/url-handlers.el 2014-01-01 07:43:34 +0000 +++ lisp/url/url-handlers.el 2014-03-22 01:16:06 +0000 @@ -290,11 +290,14 @@ (insert data)) (list (length data) charset))) -;;;###autoload -(defun url-insert-file-contents (url &optional visit beg end replace) +(defun url-insert-file-contents-internal (check url &optional visit beg end replace) (let ((buffer (url-retrieve-synchronously url))) - (if (not buffer) - (error "Opening input file: No such file or directory, %s" url)) + (when check + (condition-case err + (funcall check buffer url visit beg end replace) + (error + (when buffer (kill-buffer)) + (signal (car err) (cdr err))))) (if visit (setq buffer-file-name url)) (save-excursion (let* ((start (point)) @@ -308,6 +311,14 @@ ;; usual heuristic/rules that we apply to files. (decode-coding-inserted-region start (point) url visit beg end replace)) (list url (car size-and-charset)))))) + +;;;###autoload +(defun url-insert-file-contents (url &optional visit beg end replace) + (url-insert-file-contents-internal + (lambda (buffer url &rest _ignore) + (unless buffer + (error "Opening input file: No such file or directory, %s" url))) + url visit beg end replace)) (put 'insert-file-contents 'url-file-handlers 'url-insert-file-contents) (defun url-file-name-completion (url directory &optional predicate) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 21 22:54:26 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 02:54:27 +0000 Received: from localhost ([127.0.0.1]:44066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRC4n-0002B2-UJ for submit@debbugs.gnu.org; Fri, 21 Mar 2014 22:54:26 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:49056) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRC4l-0002Au-R7 for 16733@debbugs.gnu.org; Fri, 21 Mar 2014 22:54:24 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFHO+KKg/2dsb2JhbABEuzWDWRdzgh8BBVYjEAsOJhIUGA0kiCTBLZEKA5JbA5IcgV6DEw X-IPAS-Result: Av8EABK/CFHO+KKg/2dsb2JhbABEuzWDWRdzgh8BBVYjEAsOJhIUGA0kiCTBLZEKA5JbA5IcgV6DEw X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="52939840" Received: from 206-248-162-160.dsl.teksavvy.com (HELO ceviche.home) ([206.248.162.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 21 Mar 2014 22:54:23 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 11DE1660FE; Fri, 21 Mar 2014 22:54:23 -0400 (EDT) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> Date: Fri, 21 Mar 2014 22:54:23 -0400 In-Reply-To: (Juanma Barranquero's message of "Sat, 22 Mar 2014 02:33:21 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > --- lisp/url/url-handlers.el 2014-01-01 07:43:34 +0000 > +++ lisp/url/url-handlers.el 2014-03-22 01:16:06 +0000 > @@ -290,11 +290,14 @@ > (insert data)) > (list (length data) charset))) > -;;;###autoload > -(defun url-insert-file-contents (url &optional visit beg end replace) > +(defun url-insert-file-contents-internal (check url &optional visit > beg end replace) > (let ((buffer (url-retrieve-synchronously url))) > - (if (not buffer) > - (error "Opening input file: No such file or directory, %s" url)) > + (when check > + (condition-case err > + (funcall check buffer url visit beg end replace) > + (error > + (when buffer (kill-buffer)) > + (signal (car err) (cdr err))))) > (if visit (setq buffer-file-name url)) > (save-excursion > (let* ((start (point)) Let's not call it "-internal" since it should be "always" preferred over the other one. Also, I see no need to pass "url visit beg end replace" to "check" (if that function needs it, the caller can provide it). Also, how 'bout only calling that `check' function in case of a problem? Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 21 23:27:55 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 03:27:55 +0000 Received: from localhost ([127.0.0.1]:44070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRCbC-000349-Db for submit@debbugs.gnu.org; Fri, 21 Mar 2014 23:27:54 -0400 Received: from mail-yh0-f45.google.com ([209.85.213.45]:50348) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRCb9-00033x-GT for 16733@debbugs.gnu.org; Fri, 21 Mar 2014 23:27:52 -0400 Received: by mail-yh0-f45.google.com with SMTP id a41so3263461yho.18 for <16733@debbugs.gnu.org>; Fri, 21 Mar 2014 20:27:50 -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=pqrsuBjH9EQLSQtHJlUnJgZhhcgoyZwkjdbGND7PmMI=; b=aH3x+6IfoAiIqeWJt7W7E1hX55YGlEkBRSrsk03j7Yj9bhZpc5vKose+sp+7Q/aGN1 FfYA01DWZB8Uu/HskeVAebb+jdtK60vCXosA4T4p1FlEE6+1tw2qyXG1v8690FYQaf1H teWpB64W4Pe173s93ViHtTe6dboAkg9WR/6OIr4SAzqmVfe6dIXuOEZc4AMy+WhDJ5HG E0cytyVHvty57DQYKX/CPmOcm1OtnjnFNYUHd3cIpUusp/S93KXCtJ9XiHUfmilJoqbw Z5ujQpYOn7MIB2gNNRlF36JyJUs39DHnB1qsSp2BCoynfs2y6vMcUq8FlQIYnWnTBkCH 8Mqw== X-Received: by 10.236.120.44 with SMTP id o32mr102418yhh.99.1395458870781; Fri, 21 Mar 2014 20:27:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Fri, 21 Mar 2014 20:27:10 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 04:27:10 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 3:54 AM, Stefan Monnier wrote: > Let's not call it "-internal" since it should be "always" preferred over > the other one. Then please suggest a name; I'm out of ideas. And a docstring (for url-insert-file-contents, I mean; the one for url-whatever-its-name is just the same, plus CHECK). Also, if the new function is to be "preferred", I'll add an autoload for it. > Also, I see no need to pass "url visit beg end replace" > to "check" (if that function needs it, the caller can provide it). OK. > Also, how 'bout only calling that `check' function in case of a problem? That check function is the one that should decide that there is a problem... The idea being that different callers of url-whatever-its-name will want to check different things. For example, the current url-insert-file-contents does not worry about 404, etc., only that the buffer wasn't created (which can happen if you pass it a mailto: URI, for example). We don't want to change url-insert-file-contents behavior, do we? J From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 03:25:32 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 07:25:32 +0000 Received: from localhost ([127.0.0.1]:44139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRGJ9-0002VV-49 for submit@debbugs.gnu.org; Sat, 22 Mar 2014 03:25:31 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:64040) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRGJ4-0002VK-Uv for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 03:25:28 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0N2T00900TYD1R00@a-mtaout20.012.net.il> for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 09:25:25 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2T0089UTYCZF10@a-mtaout20.012.net.il>; Sat, 22 Mar 2014 09:25:24 +0200 (IST) Date: Sat, 22 Mar 2014 09:25:42 +0200 From: Eli Zaretskii Subject: Re: bug#16733: messed up unicode chars in package description In-reply-to: X-012-Sender: halo1@inter.net.il To: Juanma Barranquero Message-id: <8338ia66fd.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16733 Cc: rgm@gnu.org, 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Juanma Barranquero > Date: Sat, 22 Mar 2014 02:11:51 +0100 > Cc: Glenn Morris , 16733@debbugs.gnu.org > > A possible fix for trunk, not the release branch. Why not for the release branch? It's a simple fix for a glaring bug. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 08:21:17 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 12:21:17 +0000 Received: from localhost ([127.0.0.1]:44248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRKvM-0003Ru-Nv for submit@debbugs.gnu.org; Sat, 22 Mar 2014 08:21:17 -0400 Received: from mail-yk0-f170.google.com ([209.85.160.170]:45000) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRKvK-0003Rj-5K for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 08:21:14 -0400 Received: by mail-yk0-f170.google.com with SMTP id 9so9359129ykp.1 for <16733@debbugs.gnu.org>; Sat, 22 Mar 2014 05:21:13 -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=lwwwqnYY/FfYA3lWBUHRfepkCRqHJqB+iKsexpXacOE=; b=ogS2o5QZ42NHoBaF4T1Dy0pyq/3/12pz/Ai/XYYvEAA9T0s1anSYlIm8wZMKZvGNMT +3gR9g+C+XYyO3BrMly8g0jV9WAAgTguUPl6J9YD7268pL2j28LWen1zX3SPSFNjGefh XPGdeBZv3tVi9TNWUdJSQIkGjzbUF0bV+Defuqa4nqxWdQ7FW6L0NsQl0EOtGEkdM4jS s4Qkl8VOWQZqORJgR3JwTK9F0dE8d/KGztt6zmy33eSGyLTTkWT4XTxW7ld3AfQ3DlEH g6rOzc1S1LKq2o1nQStWkeZNb4svRN1PyBDaQqDQHyaQ3P5436N1lQeoRglwmPxTavp9 pW8Q== X-Received: by 10.236.202.18 with SMTP id c18mr1127317yho.117.1395490873543; Sat, 22 Mar 2014 05:21:13 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Sat, 22 Mar 2014 05:20:33 -0700 (PDT) In-Reply-To: <8338ia66fd.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> <8338ia66fd.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 13:20:33 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Glenn Morris , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 8:25 AM, Eli Zaretskii wrote: > Why not for the release branch? It's a simple fix for a glaring bug. Stefan's definition of simple is what counts in this case. If he's OK with it, great. I agree with you and would prefer to commit it to the release branch, of course. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 10:31:46 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 14:31:46 +0000 Received: from localhost ([127.0.0.1]:44876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRMxd-00072i-UQ for submit@debbugs.gnu.org; Sat, 22 Mar 2014 10:31:46 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:7455) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRMxb-00072a-Ng for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 10:31:44 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al8FABK/CFHO+KKg/2dsb2JhbABEj0SvShdzgh4BAQQBViMQCzQSFBgNJIgeBsEtkQoDjhiEQwOSHIFegxM X-IPAS-Result: Al8FABK/CFHO+KKg/2dsb2JhbABEj0SvShdzgh4BAQQBViMQCzQSFBgNJIgeBsEtkQoDjhiEQwOSHIFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="52963354" Received: from 206-248-162-160.dsl.teksavvy.com (HELO pastel.home) ([206.248.162.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 22 Mar 2014 10:31:42 -0400 Received: by pastel.home (Postfix, from userid 20848) id 5121F600A9; Sat, 22 Mar 2014 10:31:39 -0400 (EDT) From: Stefan To: Eli Zaretskii Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> <8338ia66fd.fsf@gnu.org> Date: Sat, 22 Mar 2014 10:31:39 -0400 In-Reply-To: <8338ia66fd.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 22 Mar 2014 09:25:42 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16733 Cc: Juanma Barranquero , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> A possible fix for trunk, not the release branch. > Why not for the release branch? It's a simple fix for a glaring bug. Doesn't look that simple to me. And IIUC we already have a(nother) fix for the glaring bug installed in emacs-24. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 10:33:58 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 14:33:58 +0000 Received: from localhost ([127.0.0.1]:44880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRMzm-00076l-FX for submit@debbugs.gnu.org; Sat, 22 Mar 2014 10:33:58 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:6496) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRMzj-00076c-OS for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 10:33:56 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFHO+KKg/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtkQoDjhiEQwOSHIFegxM X-IPAS-Result: Av4EABK/CFHO+KKg/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtkQoDjhiEQwOSHIFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="52963500" Received: from 206-248-162-160.dsl.teksavvy.com (HELO pastel.home) ([206.248.162.160]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 22 Mar 2014 10:33:54 -0400 Received: by pastel.home (Postfix, from userid 20848) id EAC5B600A9; Sat, 22 Mar 2014 10:33:51 -0400 (EDT) From: Stefan To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> Date: Sat, 22 Mar 2014 10:33:51 -0400 In-Reply-To: (Juanma Barranquero's message of "Sat, 22 Mar 2014 04:27:10 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Then please suggest a name; I'm out of ideas. And a docstring (for > url-insert-file-contents, I mean; the one for url-whatever-its-name is > just the same, plus CHECK). > Also, if the new function is to be "preferred", I'll add an autoload for it. Let's settle the rest first. > We don't want to change url-insert-file-contents behavior, do we? I don't know, but ignoring 404 errors seems like a bug to me. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 10:40:18 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 14:40:18 +0000 Received: from localhost ([127.0.0.1]:44893 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRN5t-0007JU-1z for submit@debbugs.gnu.org; Sat, 22 Mar 2014 10:40:17 -0400 Received: from mail-yh0-f47.google.com ([209.85.213.47]:64389) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRN5l-0007JG-FQ for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 10:40:14 -0400 Received: by mail-yh0-f47.google.com with SMTP id 29so3583806yhl.20 for <16733@debbugs.gnu.org>; Sat, 22 Mar 2014 07:40:08 -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=HhOBmTaA3KkMOWw80WuBSMpCNoSDw8CZwpgCu74WVlA=; b=A8jlLBf+307l+WZM7nrqQzLijugbj1Sv+7/QB8w68zhmWxj7OTcBz22YFIcQgHm0Fw IaPOlAWSdEmSzIo2TdPyi+BlOOtg4tS2ayB2Bf1PDHvRXx78eUEVe0VhlcI0WdpFZssY Nhp2xfAE/pvgcJ8N3G1H8wD4gIuAO51U6jDZiKBGaC5C2rTIOjgrNxgvbRXeW4CLRPQM XI+uO4ti6JBeV128vRG1VPw5iJ6s3DFj90OXp9o/zZkTCFwJjH4ooYyWNaHpT+Iw7X8A q97C1ZDP4yUKMM3HxoKM9TdpjkvW0Zafk63QjkCbJVG9UvGaCC6rNR5Pri9g5A951BFj FJvA== X-Received: by 10.236.199.212 with SMTP id x60mr2443883yhn.90.1395499208766; Sat, 22 Mar 2014 07:40:08 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Sat, 22 Mar 2014 07:39:28 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> <8338ia66fd.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 15:39:28 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 3:31 PM, Stefan wrote: > And IIUC we already have a(nother) fix > for the glaring bug installed in emacs-24. Yes. The current fix disregards HTTP headers and uses the highest priority coding system that can decode the received text. It is not impossible to imagine cases where that would fail, but given that most ELPA entries are likely to be ASCII or UTF-8, I'm not really worried. J From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 10:44:39 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 14:44:39 +0000 Received: from localhost ([127.0.0.1]:44897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNA6-0007Qa-Ko for submit@debbugs.gnu.org; Sat, 22 Mar 2014 10:44:38 -0400 Received: from mail-yk0-f176.google.com ([209.85.160.176]:43729) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNA1-0007QF-AJ for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 10:44:37 -0400 Received: by mail-yk0-f176.google.com with SMTP id 19so9646173ykq.7 for <16733@debbugs.gnu.org>; Sat, 22 Mar 2014 07:44:32 -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=j6FBqWmhN08quQXDAHDa53l1W0visEHGxHd8KnyOPng=; b=pDmL8sfAsCvlkS1am0eyBgxJ8UrR/x53WDGP5qurFA7q9SlITgw5/kqyzLJgX3waJu o5yB5pT/CpVX5lgei5fTPlwObSJGM6JA598HkJFXO73NIKgQ+qzPSuKZnjgb4kqrpwvA T1LzIwhS59tdgwqz1/04jPa83WrMJXHbqYWwkaFkZEFDelD7HzMX441jarNTIGtEjckg YtEsDGXICKGNCZVyWdrnuoz2eHu09KPqmvzrxVXsTOzInMy8DWQDMdxPmQ751Cld4nr+ owQZE9G7M+G7m6gq7pQDY/0IRSTmM0cd0Puq9RZSOhMaSFMzXmZ1sdvl90GFlkuDRcFX +blQ== X-Received: by 10.236.60.68 with SMTP id t44mr50017755yhc.47.1395499472792; Sat, 22 Mar 2014 07:44:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Sat, 22 Mar 2014 07:43:52 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 15:43:52 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 3:33 PM, Stefan wrote: > I don't know, but ignoring 404 errors seems like a bug to me. url-insert-file-contents acts like visiting the URL. If you go to http://www.gnu.org/nonexistent, the fact that the page does not exist is an error from your POV. But your web browser receives the error page just fine and displays it like any other page (the fact that HTTP returned 404 is metadata for the action). If the caller wants a different behavior, they should be using other lower level url functions, not url-insert-file-contents. J From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 11:02:51 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 15:02:51 +0000 Received: from localhost ([127.0.0.1]:44905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNRj-0007vr-Er for submit@debbugs.gnu.org; Sat, 22 Mar 2014 11:02:51 -0400 Received: from mtaout28.012.net.il ([80.179.55.184]:45511) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNRh-0007vi-00 for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 11:02:50 -0400 Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0N2U00700E1RE000@mtaout28.012.net.il> for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 17:02:39 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2U00BB6F4FKS00@mtaout28.012.net.il>; Sat, 22 Mar 2014 17:02:39 +0200 (IST) Date: Sat, 22 Mar 2014 17:02:46 +0200 From: Eli Zaretskii Subject: Re: bug#16733: messed up unicode chars in package description In-reply-to: X-012-Sender: halo1@inter.net.il To: Juanma Barranquero Message-id: <83bnwy46p5.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> <8338ia66fd.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16733 Cc: monnier@iro.umontreal.ca, 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Juanma Barranquero > Date: Sat, 22 Mar 2014 15:39:28 +0100 > Cc: Eli Zaretskii , 16733@debbugs.gnu.org > > On Sat, Mar 22, 2014 at 3:31 PM, Stefan wrote: > > > And IIUC we already have a(nother) fix > > for the glaring bug installed in emacs-24. > > Yes. The current fix disregards HTTP headers and uses the highest > priority coding system that can decode the received text. It is not > impossible to imagine cases where that would fail The correct fix is not much more complex, so I wonder why do we need to settle for less than that, when the pretest not even started yet. There's no danger to destabilize anything here. > but given that most ELPA entries are likely to be ASCII or UTF-8, > I'm not really worried. Indeed, but that goes both ways: the correct fix will not be able to make too much damage, even if it misses something. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 11:07:55 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 15:07:55 +0000 Received: from localhost ([127.0.0.1]:44910 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNWc-000849-47 for submit@debbugs.gnu.org; Sat, 22 Mar 2014 11:07:54 -0400 Received: from mail-yk0-f178.google.com ([209.85.160.178]:61673) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNWU-00083r-BB for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 11:07:52 -0400 Received: by mail-yk0-f178.google.com with SMTP id 79so9676230ykr.9 for <16733@debbugs.gnu.org>; Sat, 22 Mar 2014 08:07:46 -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=pN4t2YHzdoLYne9QmmXIPrgJKN0O9t1ubcJZsP9Q268=; b=stWpMrrJjYZSnMyYrLKhfx/PUp6lVvWZ/Niy62+rQPlqo0RFKUQy+y0kFvNjj5ba3F QFUT/6tzj5J9V1COeZSuj49EzKtpu/jHUssm/FhIywnOhnvgOv3pZHmBdg+dVDpoEXX3 ntn5JP5Wf35tG+xxnhExnaCA1eWV+0ueyTXfa5iIUGlpThUcfSeLtcDXDQdIIJviKs1L CAl3aGjfHyH5AUT3DWqQvNA7LhbSK1S58dvtylztRab03vY1MllEEKP2siwuOEMZOb6/ QwcBvu0IWRzWbcphvTQMNsCwqUHv6uz1ie0DsZnkHu/8YwHD8jwZsdoa046y/15FyLRO sQJw== X-Received: by 10.236.91.67 with SMTP id g43mr1061858yhf.146.1395500865989; Sat, 22 Mar 2014 08:07:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Sat, 22 Mar 2014 08:07:05 -0700 (PDT) In-Reply-To: <83bnwy46p5.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> <8338ia66fd.fsf@gnu.org> <83bnwy46p5.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 16:07:05 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Stefan Monnier , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 4:02 PM, Eli Zaretskii wrote: > The correct fix is not much more complex, so I wonder why do we need > to settle for less than that, when the pretest not even started yet. > There's no danger to destabilize anything here. I'm not settling for anything, I wrote what I think is a better fix. But it's not my decision to say whether it is complex enough or not, or whether it goes to the trunk or the branch. I've already agreed with you that, if it were my decision, I would apply the better fix to the release branch. But at the same time, I'm not worried about the hacky fix in the branch, so I'm not willing to make a stand on this issue. J From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 11:09:29 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 15:09:29 +0000 Received: from localhost ([127.0.0.1]:44914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNY9-00087E-8u for submit@debbugs.gnu.org; Sat, 22 Mar 2014 11:09:29 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:58044) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNY6-000873-0G for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 11:09:27 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0N2U00500ET6VH00@a-mtaout23.012.net.il> for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 17:09:24 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2U00572FFOWJ00@a-mtaout23.012.net.il>; Sat, 22 Mar 2014 17:09:24 +0200 (IST) Date: Sat, 22 Mar 2014 17:09:23 +0200 From: Eli Zaretskii Subject: Re: bug#16733: messed up unicode chars in package description In-reply-to: X-012-Sender: halo1@inter.net.il To: Juanma Barranquero Message-id: <837g7m46e4.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> <8338ia66fd.fsf@gnu.org> <83bnwy46p5.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16733 Cc: monnier@iro.umontreal.ca, 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Juanma Barranquero > Date: Sat, 22 Mar 2014 16:07:05 +0100 > Cc: Stefan Monnier , 16733@debbugs.gnu.org > > On Sat, Mar 22, 2014 at 4:02 PM, Eli Zaretskii wrote: > > > The correct fix is not much more complex, so I wonder why do we need > > to settle for less than that, when the pretest not even started yet. > > There's no danger to destabilize anything here. > > I'm not settling for anything Relax, my comment wasn't aimed at you. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 11:11:48 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 15:11:48 +0000 Received: from localhost ([127.0.0.1]:44918 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNaO-0008BO-2Y for submit@debbugs.gnu.org; Sat, 22 Mar 2014 11:11:48 -0400 Received: from mail-yk0-f177.google.com ([209.85.160.177]:55998) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRNaL-0008BE-Cu for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 11:11:46 -0400 Received: by mail-yk0-f177.google.com with SMTP id q200so9700912ykb.8 for <16733@debbugs.gnu.org>; Sat, 22 Mar 2014 08:11:45 -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=Vr7uov42kwessc4PzadP0VYV6E+yIMXbsBJt2/dWBoQ=; b=E8mYA03C/ByEzzBq/fkT5OukDGnOKjU5k9m8fx/1eRjaL2xEM2FosOiayXCMrnPvs/ zolrEyZsTIwNrgPT/33NmHvdTaHAehMHCMN7Ki3zVjLoKs8wyvbDrYXr/cGRyfHgSEcN W2jQQnC4ttSH7gccHC7YFVXkxCI1sKwKqoSiAyNuuiK8pvolqHe4X4CxaL9V7CUORdlP 2EixOhTTEnVsLo3b199q6uqwV+2zTS/d5InBz+jCqRF3ulytTqEEHSht5IO4ocUPiOHQ 7jN1bC7kzXawIpkfP+TJzcxMrP3FLqZF9NrewdsNZwxZIKFLSl09KWyn0JXinZ/ymEqv 6QhA== X-Received: by 10.236.149.2 with SMTP id w2mr2429298yhj.114.1395501105003; Sat, 22 Mar 2014 08:11:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Sat, 22 Mar 2014 08:11:04 -0700 (PDT) In-Reply-To: <837g7m46e4.fsf@gnu.org> References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> <8338ia66fd.fsf@gnu.org> <83bnwy46p5.fsf@gnu.org> <837g7m46e4.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 16:11:04 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Stefan Monnier , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 4:09 PM, Eli Zaretskii wrote: > Relax, my comment wasn't aimed at you. Well, it was a direct reply to a message by me. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 11:55:31 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 15:55:32 +0000 Received: from localhost ([127.0.0.1]:44961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WROGh-0000y1-Gw for submit@debbugs.gnu.org; Sat, 22 Mar 2014 11:55:31 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:2757) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WROGf-0000xr-0V for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 11:55:30 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFHAqyMT/2dsb2JhbABEvw4Xc4IeAQEEAUkNIwULCw4mEhQYDSQciAIGwS2RCgOOGIRDA45rhQ+DEw X-IPAS-Result: Av8EABK/CFHAqyMT/2dsb2JhbABEvw4Xc4IeAQEEAUkNIwULCw4mEhQYDSQciAIGwS2RCgOOGIRDA45rhQ+DEw X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="52970130" Received: from 192-171-35-19.cpe.pppoe.ca (HELO pastel.home) ([192.171.35.19]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 22 Mar 2014 11:55:27 -0400 Received: by pastel.home (Postfix, from userid 20848) id B30FF600A9; Sat, 22 Mar 2014 11:55:27 -0400 (EDT) From: Stefan To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> Date: Sat, 22 Mar 2014 11:55:27 -0400 In-Reply-To: (Juanma Barranquero's message of "Sat, 22 Mar 2014 15:43:52 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> I don't know, but ignoring 404 errors seems like a bug to me. > url-insert-file-contents acts like visiting the URL. If you go to > http://www.gnu.org/nonexistent, the fact that the page does not exist > is an error from your POV. But your web browser receives the error > page just fine and displays it like any other page (the fact that HTTP > returned 404 is metadata for the action). I think for url-insert-file-contents, the intention is to pretend URLs make up a virtual file-system (that's the point of url-handlers.el). >From this point of view http://www.gnu.org/nonexistent is a file that doesn't exist. So url-insert-file-contents should signal an error just like insert-file-contents would. > If the caller wants a different behavior, they should be using other > lower level url functions, not url-insert-file-contents. I think it's the other way around: if the caller really wants to see the particular error page that www.gnu.org decided to return, then he should use a lower level URL function. Similarly, url-insert-file-contents should (and does, IIUC) follow redirections so you get to the the destination of the redirection rather than the redirection page itself. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 12:47:34 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 16:47:34 +0000 Received: from localhost ([127.0.0.1]:44985 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRP53-0002VN-Ik for submit@debbugs.gnu.org; Sat, 22 Mar 2014 12:47:33 -0400 Received: from mail-yk0-f177.google.com ([209.85.160.177]:38208) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRP4w-0002VA-I6 for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 12:47:32 -0400 Received: by mail-yk0-f177.google.com with SMTP id q200so9888715ykb.8 for <16733@debbugs.gnu.org>; Sat, 22 Mar 2014 09:47: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=nDzxfajP9yYAPYQHyM4I23D/mWvKAHBiygyINI0XLdE=; b=w+sGd10+4O/3UxlCxzFSicEQt4iJuYyF5eTSkS5og75EZvVmgS1fSUnWwH7lkWbsoa mcrcQ+K+NTAZgHgyAaSarm88cMykxRutwiPrIC+eJkXev+UsYuOk0voAqESHmuFAqXbb E47IJrlGNY+XyH3PYOvzy+MfWUPuxpChxIlyPC6wbbZWEl+AzHOaMEim1kkG975hjkKX MWOgSjXLBrr/I+t7H28Prc3jTTNruzuReHilN6omldpZYntWLh960mE1d4AsIWsK9VJ5 pf7oQXK+popKcm5ocIXeRaJlkNdP6cjYj4UZ9tmpWZQyC8FU3jCinLmytC6StcORXCcF Q1dA== X-Received: by 10.236.147.10 with SMTP id s10mr3194761yhj.88.1395506845983; Sat, 22 Mar 2014 09:47:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Sat, 22 Mar 2014 09:46:45 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 17:46:45 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 4:55 PM, Stefan wrote: > I think for url-insert-file-contents, the intention is to pretend URLs > make up a virtual file-system (that's the point of url-handlers.el). > From this point of view http://www.gnu.org/nonexistent is a file that > doesn't exist. So url-insert-file-contents should signal an error just > like insert-file-contents would. The semantics of a missing file in the filesystem and a missing page in a web site are different; filesystems do not usually have a "default error file" to return when the search failed; web sites, do, and in many cases, that page *is* informative; it can contain helpful links, etc. Try accessing http://en.wikipedia.org/wiki/Stefan_Monnier It returns a 404, but still, the error page created on the fly is quite useful (with a simple click you can search all mentions of "Stefan Monnier" in the Wikipedia, for example). > Similarly, url-insert-file-contents should (and does, IIUC) follow > redirections so you get to the the destination of the redirection rather > than the redirection page itself. Because the semantics of a redirection imply following the redirection. There's nothing in the semantics of 404 that say that you should ignore the result page, or not. Is up to the application / user. 404 is not telling you that you got nothing, only that you didn't get what you expected. Anyway, I can see how this discussion could lead us nowhere. We disagree in two points, so let's recapitulate: - Currently, url-insert-file-contents does ignore 404 results and most other response codes. I don't think it's a good idea to change its long-standing behavior, but if you insist, it's your call. That's only a matter of changing the function passed as CHECK to url-whatever-its-name. - You suggest that url-w-i-n should only call CHECK "in case of a problem". I do not like this, because I think CHECK is *the* function tasked with telling whether there's a problem or not. How will you define what is a problem (what if I really want to get back these 404 pages?) and how to pass back that information to CHECK? J From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 14:53:38 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 18:53:38 +0000 Received: from localhost ([127.0.0.1]:45041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRR33-0006DQ-7w for submit@debbugs.gnu.org; Sat, 22 Mar 2014 14:53:37 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:37815) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRR2z-0006DA-CH for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 14:53:34 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id s2MIrVxj016803; Sat, 22 Mar 2014 14:53:32 -0400 Received: by pastel.home (Postfix, from userid 20848) id C7FEA600C6; Sat, 22 Mar 2014 14:53:31 -0400 (EDT) From: Stefan To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> Date: Sat, 22 Mar 2014 14:53:31 -0400 In-Reply-To: (Juanma Barranquero's message of "Sat, 22 Mar 2014 17:46:45 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4889=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4889> : inlines <634> : streams <1142966> : uri <1706928> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) >> I think for url-insert-file-contents, the intention is to pretend URLs >> make up a virtual file-system (that's the point of url-handlers.el). >> From this point of view http://www.gnu.org/nonexistent is a file that >> doesn't exist. So url-insert-file-contents should signal an error just >> like insert-file-contents would. > The semantics of a missing file in the filesystem and a missing page > in a web site are different; filesystems do not usually have a > "default error file" to return when the search failed; web sites, do, > and in many cases, that page *is* informative; it can contain helpful > links, etc. Try accessing I know. But we're talking about a file-system, not about the web. So we're talking about accessing those not in a browser but from any random piece of code which may do god-knows-what. > http://en.wikipedia.org/wiki/Stefan_Monnier > It returns a 404, but still, the error page created on the fly is > quite useful (with a simple click you can search all mentions of > "Stefan Monnier" in the Wikipedia, for example). That's useful in a browser where the error can be rendered and read by a user. But it's inconsistent for example with url-http-file-exists-p. When your code fetches http://foo.bar/baz.el, it probably won't expect to get some HTML content instead. > - Currently, url-insert-file-contents does ignore 404 results and most > other response codes. I don't think it's a good idea to change its > long-standing behavior, but if you insist, it's your call. I think it should be changed, yes. > - You suggest that url-w-i-n should only call CHECK "in case of a > problem". I do not like this, because I think CHECK is *the* function > tasked with telling whether there's a problem or not. How will you > define what is a problem (what if I really want to get back these 404 > pages?) and how to pass back that information to CHECK? After url-insert-file-contents is changed, I don't care much about the rest because package.el will not need to call something else than url-insert-file-contents so we may not even need url-w-i-n. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 22 15:05:57 2014 Received: (at 16733) by debbugs.gnu.org; 22 Mar 2014 19:05:57 +0000 Received: from localhost ([127.0.0.1]:45049 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRREy-0006ZZ-4j for submit@debbugs.gnu.org; Sat, 22 Mar 2014 15:05:56 -0400 Received: from mail-yh0-f51.google.com ([209.85.213.51]:34938) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRREq-0006ZI-BN for 16733@debbugs.gnu.org; Sat, 22 Mar 2014 15:05:53 -0400 Received: by mail-yh0-f51.google.com with SMTP id f10so3706576yha.24 for <16733@debbugs.gnu.org>; Sat, 22 Mar 2014 12:05:47 -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=CTHu5GeinDyOXhWkl8snurV7jepD+Zl0Qaxc34BHZ28=; b=Op/0uVsJX3G5UkDs73TDax1MHuireb4z/jihTFBW4mCE2/MACAXQFP753VcJ6HqDaJ kyL0GP8gOaMvNdg4c6ApUf8n4YJVNVENnJ0m0bIkiv/KDmlFjiW08G46yvgTi5eO1fT7 B6kQVRgpL6mjeozdjpTm9c0YY5lVVFaHVyoVxQk9i6s+HURr3eHcFtWKpm4IybFR6ULe GtHYXgFmhhiNH95vAPinYvDAxmVfBDT2/6V2/GIZF3KbXfUuGzISIha53u0W/vdl1NP1 KmeK1PCloxqfQ8n1jI3pHfHlBvgEkXJJ0bjqig8xndVPSU/w67Rv0Q+zh93JNBfyVZpz 5Wyw== X-Received: by 10.236.169.33 with SMTP id m21mr62967yhl.137.1395515147776; Sat, 22 Mar 2014 12:05:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Sat, 22 Mar 2014 12:05:07 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 22 Mar 2014 20:05:07 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Mar 22, 2014 at 7:53 PM, Stefan wrote: > After url-insert-file-contents is changed, I don't care much about the > rest because package.el will not need to call something else than > url-insert-file-contents so we may not even need url-w-i-n. You'll have to describe the semantics you expect from url-i-f-c in greater detail, because at this moment I don't know how you define error, how do you intend to check it, and what you want to do if an error is detected. J From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 23 18:24:29 2014 Received: (at 16733) by debbugs.gnu.org; 23 Mar 2014 22:24:29 +0000 Received: from localhost ([127.0.0.1]:46328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRqoe-0004Qb-Kq for submit@debbugs.gnu.org; Sun, 23 Mar 2014 18:24:28 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:59087) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRqoc-0004QP-2Y for 16733@debbugs.gnu.org; Sun, 23 Mar 2014 18:24:27 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id s2NMONHX008322; Sun, 23 Mar 2014 18:24:23 -0400 Received: by pastel.home (Postfix, from userid 20848) id 09F456017C; Sun, 23 Mar 2014 18:24:23 -0400 (EDT) From: Stefan To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> Date: Sun, 23 Mar 2014 18:24:22 -0400 In-Reply-To: (Juanma Barranquero's message of "Sat, 22 Mar 2014 20:05:07 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4890=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4890> : inlines <634> : streams <1143542> : uri <1707925> X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) >> After url-insert-file-contents is changed, I don't care much about the >> rest because package.el will not need to call something else than >> url-insert-file-contents so we may not even need url-w-i-n. > You'll have to describe the semantics you expect from url-i-f-c in > greater detail, because at this moment I don't know how you define > error, I'd follow the behavior of url-http-file-exists-p, i.e. consider any result outside the range [200,300[ to be an error. > how do you intend to check it, Not sure about the details, here, because I'm not familiar enough with the URL package. > and what you want to do if an error is detected. Same as insert-file-contents, i.e. signal a `file-error'. Stefan From unknown Mon Jun 23 16:44:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: Did not alter fixed versions and reopened. Date: Mon, 24 Mar 2014 01:22:01 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # Did not alter fixed versions and reopened. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 24 23:04:56 2014 Received: (at 16733) by debbugs.gnu.org; 25 Mar 2014 03:04:56 +0000 Received: from localhost ([127.0.0.1]:48305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSHfb-0005EU-0k for submit@debbugs.gnu.org; Mon, 24 Mar 2014 23:04:55 -0400 Received: from mail-yh0-f43.google.com ([209.85.213.43]:50542) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSHfX-0005EH-Cp for 16733@debbugs.gnu.org; Mon, 24 Mar 2014 23:04:52 -0400 Received: by mail-yh0-f43.google.com with SMTP id b6so6079500yha.16 for <16733@debbugs.gnu.org>; Mon, 24 Mar 2014 20:04:50 -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=fnM9N434TOv3Rfr7JrpG/OoqcfgsdLq3uPCOWr7Sahk=; b=HFvR+wlwxUrwTO0OQ2o6irvp70mE4krJl4QuEBZlP2mXhtsv1qDaIdxFKjaV18UmNJ qTE6hZGxvgYtLi5Ouf4Nv5zcaQv6FM+UWcg5NJui1R1AHHaW9syYYsVqXC92T4QVCdgW 1qJHyiBpTcs88REQ002TlF8P31W6QWe4fOoEyy4M/Sp1BYT3fIVEgyydxfusZBX++XKu 9IqKuoq4IHNZmHYZt5EVbmEDjvifm6nmG69c6llMwHYZtohCFVncVwx7my/Xl/GRiImJ Y1J9ViE/SATrNgfjbxQBv0raxegp2SWC47SxZHmzBZHJjXx/U0Ny8PiFo0rPSjIr8htD MkpQ== X-Received: by 10.236.75.162 with SMTP id z22mr26895153yhd.32.1395716690868; Mon, 24 Mar 2014 20:04:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Mon, 24 Mar 2014 20:04:10 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Tue, 25 Mar 2014 04:04:10 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 2014-03-25 Juanma Barranquero * url-handlers.el (url-http-parse-response): Add autoload. (url-insert-file-contents): Signal file-error in case of HTTP error. * emacs-lisp/package.el (url-http-parse-response) (url-http-end-of-headers, url-recreate-url, url-http-target-url): Remove unused declarations. (package-handle-response): Remove. (package--with-work-buffer): Use url-insert-file-contents and simplify. (package--download-one-archive): Use current-buffer instead of dynamic binding of `buffer'. (describe-package-1): Do not decode readme-string. === modified file 'lisp/url/url-handlers.el' --- lisp/url/url-handlers.el 2014-01-01 07:43:34 +0000 +++ lisp/url/url-handlers.el 2014-03-25 02:44:43 +0000 @@ -33,6 +33,7 @@ (autoload 'url-expand-file-name "url-expand" "Convert url to a fully specified url, and canonicalize it.") (autoload 'mm-dissect-buffer "mm-decode" "Dissect the current buffer and return a list of MIME handles.") (autoload 'url-scheme-get-property "url-methods" "Get property of a URL SCHEME.") +(autoload 'url-http-parse-response "url-http" "Parse just the response code.") ;; Always used after mm-dissect-buffer and defined in the same file. (declare-function mm-save-part-to-file "mm-decode" (handle file)) @@ -293,21 +294,27 @@ ;;;###autoload (defun url-insert-file-contents (url &optional visit beg end replace) (let ((buffer (url-retrieve-synchronously url))) - (if (not buffer) - (error "Opening input file: No such file or directory, %s" url)) - (if visit (setq buffer-file-name url)) - (save-excursion - (let* ((start (point)) - (size-and-charset (url-insert buffer beg end))) - (kill-buffer buffer) - (when replace - (delete-region (point-min) start) - (delete-region (point) (point-max))) - (unless (cadr size-and-charset) - ;; If the headers don't specify any particular charset, use the - ;; usual heuristic/rules that we apply to files. - (decode-coding-inserted-region start (point) url visit beg end replace)) - (list url (car size-and-charset)))))) + (unwind-protect + (progn + (when (or (not buffer) + (with-current-buffer buffer + (let ((response (url-http-parse-response))) + (goto-char (point-min)) + (or (< response 200) (>= response 300))))) + (signal 'file-error `("Opening input URL" ,url))) + (if visit (setq buffer-file-name url)) + (save-excursion + (let* ((start (point)) + (size-and-charset (url-insert buffer beg end))) + (when replace + (delete-region (point-min) start) + (delete-region (point) (point-max))) + (unless (cadr size-and-charset) + ;; If the headers don't specify any particular charset, use the + ;; usual heuristic/rules that we apply to files. + (decode-coding-inserted-region start (point) url visit beg end replace)) + (list url (car size-and-charset))))) + (when buffer (kill-buffer buffer))))) (put 'insert-file-contents 'url-file-handlers 'url-insert-file-contents) (defun url-file-name-completion (url directory &optional predicate) === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2014-03-22 08:43:30 +0000 +++ lisp/emacs-lisp/package.el 2014-03-25 02:46:22 +0000 @@ -205,13 +205,9 @@ (defvar Info-directory-list) (declare-function info-initialize "info" ()) -(declare-function url-http-parse-response "url-http" ()) (declare-function url-http-file-exists-p "url-http" (url)) (declare-function lm-header "lisp-mnt" (header)) (declare-function lm-commentary "lisp-mnt" (&optional file)) -(defvar url-http-end-of-headers) -(declare-function url-recreate-url "url-parse" (urlobj)) -(defvar url-http-target-url) (defcustom package-archives '(("gnu" . "http://elpa.gnu.org/packages/")) "An alist of archives from which to fetch. @@ -770,38 +766,14 @@ 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*")))) - (prog1 - (with-current-buffer buffer - (if http - (progn (package-handle-response) - (re-search-forward "^$" nil 'move) - (forward-char) - (delete-region (point-min) (point))) - (unless (file-name-absolute-p ,location) - (error "Archive location %s is not an absolute file name" - ,location)) - (insert-file-contents (expand-file-name ,file ,location))) - ,@body) - (kill-buffer buffer)))) - -(defun package-handle-response () - "Handle the response from a `url-retrieve-synchronously' call. -Parse the HTTP response and throw if an error occurred. -The url package seems to require extra processing for this. -This should be called in a `save-excursion', in the download buffer. -It will move point to somewhere in the headers." - ;; We assume HTTP here. - (require 'url-http) - (let ((response (url-http-parse-response))) - (when (or (< response 200) (>= response 300)) - (error "Error downloading %s:%s" - (url-recreate-url url-http-target-url) - (buffer-substring-no-properties (point) (line-end-position)))))) + `(with-temp-buffer + (if (string-match-p "\\`https?:" ,location) + (url-insert-file-contents (concat ,location ,file)) + (unless (file-name-absolute-p ,location) + (error "Archive location %s is not an absolute file name" + ,location)) + (insert-file-contents (expand-file-name ,file ,location))) + ,@body)) (defun package--archive-file-exists-p (location file) (let ((http (string-match "\\`https?:" location))) @@ -1272,7 +1244,7 @@ (car archive))))) ;; Read the retrieved buffer to make sure it is valid (e.g. it ;; may fetch a URL redirect page). - (when (listp (read buffer)) + (when (listp (read (current-buffer))) (make-directory dir t) (setq buffer-file-name (expand-file-name file dir)) (let ((version-control 'never) @@ -1531,8 +1503,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)))))))) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 24 23:35:14 2014 Received: (at 16733) by debbugs.gnu.org; 25 Mar 2014 03:35:15 +0000 Received: from localhost ([127.0.0.1]:48311 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSI8v-00063g-GD for submit@debbugs.gnu.org; Mon, 24 Mar 2014 23:35:14 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:59179) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSI8r-00063S-6J for 16733@debbugs.gnu.org; Mon, 24 Mar 2014 23:35:10 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id s2P3Z65I016227; Mon, 24 Mar 2014 23:35:07 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 1529FAE260; Mon, 24 Mar 2014 23:35:07 -0400 (EDT) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> Date: Mon, 24 Mar 2014 23:35:07 -0400 In-Reply-To: (Juanma Barranquero's message of "Tue, 25 Mar 2014 04:04:10 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4891=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4891> : inlines <642> : streams <1144163> : uri <1709043> X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) > + (signal 'file-error `("Opening input URL" ,url))) The old package.el code included (buffer-substring-no-properties (point) (line-end-position)) in the message. Would it make sense to put it here as well? Otherwise, it looks good, and I think we can even put it on emacs-24. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 25 05:55:14 2014 Received: (at 16733) by debbugs.gnu.org; 25 Mar 2014 09:55:14 +0000 Received: from localhost ([127.0.0.1]:48489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSO4f-0000Bh-3n for submit@debbugs.gnu.org; Tue, 25 Mar 2014 05:55:13 -0400 Received: from mail-yk0-f175.google.com ([209.85.160.175]:34566) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSO4c-0000BX-G0 for 16733@debbugs.gnu.org; Tue, 25 Mar 2014 05:55:11 -0400 Received: by mail-yk0-f175.google.com with SMTP id 131so505097ykp.6 for <16733@debbugs.gnu.org>; Tue, 25 Mar 2014 02:55:09 -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=5Y5/0qx+Pw3uUFU4EUWfz2CsTirB/7msrFFKn0am7qM=; b=Sk3EN4wRdepCD7IKpbREnrgfnXwLr4gRXnwho1bZ5XTRYb1FD9BRxkfzwfm6/osbB9 cE5YIVxFMWzS40XdbASiA7h5M1lzjMp0ZCDOgAVi9xqBpW3irnPpqcnl6e+i8caVVMDm b90IFBtGJPNC3+Ls1GT7wcBWmSZQC75t3mTsD/4DlCk4/cAXNekKGELcV6Caem3r0WiU iKducHFrG8YX3QoeLjsKK/HZNQNg0VbqIq+Smh/DmDk65seYWIvOPeAdwBfEV++rASmD k3p51ZQ2mqKhgf9aX0bwMINzMwjtbzTEmxnhun9u7pj3nHVaikVn9JbEgHcTx6p+9LJ3 psOg== X-Received: by 10.236.166.39 with SMTP id f27mr1042148yhl.116.1395741309707; Tue, 25 Mar 2014 02:55:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Tue, 25 Mar 2014 02:54:29 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <83zjkm865z.fsf@gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Tue, 25 Mar 2014 10:54:29 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Tue, Mar 25, 2014 at 4:35 AM, Stefan Monnier wrote: > The old package.el code included (buffer-substring-no-properties (point) > (line-end-position)) in the message. Would it make sense to put it here > as well? It's the HTTP error description. As the "no buffer" case doesn't have such a description, I've modified url-insert-file-contents so in tha case it returns "No Data", to match "Not Found" and other HTTP errors. That's the resulting url-i-f-c: (defun url-insert-file-contents (url &optional visit beg end replace) (let ((buffer (url-retrieve-synchronously url))) (unless buffer (signal 'file-error (list url "No Data"))) (with-current-buffer buffer (let ((response (url-http-parse-response))) (if (and (>= response 200) (< response 300)) (goto-char (point-min)) (let ((desc (buffer-substring-no-properties (1+ (point)) (line-end-position)))) (kill-buffer buffer) (signal 'file-error (list url desc)))))) (if visit (setq buffer-file-name url)) (save-excursion (let* ((start (point)) (size-and-charset (url-insert buffer beg end))) (kill-buffer buffer) (when replace (delete-region (point-min) start) (delete-region (point) (point-max))) (unless (cadr size-and-charset) ;; If the headers don't specify any particular charset, use the ;; usual heuristic/rules that we apply to files. (decode-coding-inserted-region start (point) url visit beg end replace)) (list url (car size-and-charset)))))) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 26 11:14:28 2014 Received: (at 16733) by debbugs.gnu.org; 26 Mar 2014 15:14:28 +0000 Received: from localhost ([127.0.0.1]:51052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSpXA-0007nP-GC for submit@debbugs.gnu.org; Wed, 26 Mar 2014 11:14:28 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:59588) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSpX8-0007nG-T4 for 16733@debbugs.gnu.org; Wed, 26 Mar 2014 11:14:27 -0400 Received: from ceviche.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id s2QFEW6M010912; Wed, 26 Mar 2014 11:14:37 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 3FA706668E; Tue, 25 Mar 2014 09:21:25 -0400 (EDT) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#16733: messed up unicode chars in package description Message-ID: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <838us496xy.fsf@gnu.org> Date: Tue, 25 Mar 2014 09:21:25 -0400 In-Reply-To: (Juanma Barranquero's message of "Tue, 25 Mar 2014 10:54:29 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV4893=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4893> : inlines <648> : streams <1145006> : uri <1710583> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 16733 Cc: Eli Zaretskii , 16733@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.2 (-) > That's the resulting url-i-f-c: Looks good, thanks, Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 26 11:25:40 2014 Received: (at 16733-done) by debbugs.gnu.org; 26 Mar 2014 15:25:40 +0000 Received: from localhost ([127.0.0.1]:51061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSphy-00086u-65 for submit@debbugs.gnu.org; Wed, 26 Mar 2014 11:25:40 -0400 Received: from mail-yk0-f178.google.com ([209.85.160.178]:45029) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WSphu-00086j-0q for 16733-done@debbugs.gnu.org; Wed, 26 Mar 2014 11:25:35 -0400 Received: by mail-yk0-f178.google.com with SMTP id 79so869622ykr.9 for <16733-done@debbugs.gnu.org>; Wed, 26 Mar 2014 08:25:33 -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=OvUIUWVRiyvC+/UzWYGEMs4r0KoF+MQy/8YJSUKtak4=; b=sH3C02kPlQMP2L8ib/K9OiUGO6XjBOQqYyEbTS/4XHg5GoCl9AY2lYgpZdAKi1Ql7j 3LfxPJvCITy39BgwPNmSeEunTyIL0kkro6QDVkF4mHAEh6b6fgjihbn9W0+WeZyalRk1 IskeFn+/+aifiL70qp2GV5pbWeM4Gg9EoFGhBsj+Ff/4BIlZtd5g5KLQKjnThzBqMMLT FaZ/dIQPJ9VJWubUTy1ffG4j7SaMSGW/3Chyq3kdy0rXxE4Xc71/7nHdUEZfxP1lWVLG Ux5p3FTL3Xv+e7JVE5Gb26hG0a5PnCFwVsvXXUuBIYtjPC4NebMPJymESybCPWVHavU0 +e8w== X-Received: by 10.236.147.10 with SMTP id s10mr35437791yhj.88.1395847533328; Wed, 26 Mar 2014 08:25:33 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.163.3 with HTTP; Wed, 26 Mar 2014 08:24:53 -0700 (PDT) In-Reply-To: References: <7tfvnn7phj.fsf@fencepost.gnu.org> <838us496xy.fsf@gnu.org> From: Juanma Barranquero Date: Wed, 26 Mar 2014 16:24:53 +0100 Message-ID: Subject: Re: bug#16733: messed up unicode chars in package description To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 16733-done Cc: Eli Zaretskii , 16733-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Version: 24.4 Committed to the release branch. From unknown Mon Jun 23 16:44:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 24 Apr 2014 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator