Subject: bug#21319: `package-install-file' fails with CRLF (Windows) line endings

From: Stefan Kangas <[email-masked]>
Date: Fri, 29 Nov 2019 13:58:15 +0100

Stefan Kangas <[email-masked]> writes:

> steckerhalter <[email-masked]> writes:
>
>> package.el contains this code:
>>
>> (defun package-install-file (file)
>>   "Install a package from a file.
>> The file can either be a tar file or an Emacs Lisp file."
>>   (interactive "fPackage file name: ")
>>   (with-temp-buffer
>>     (insert-file-contents-literally file)
>>     (when (string-match "\\.tar\\'" file) (tar-mode))
>>     (package-install-from-buffer)))
>>
>> Since `insert-file-contents-literally' does not do any conversion
>> `package-buffer-info' fails to parse the info if the file is .el and
>> contains CRLF line endings. It then errors out with:
>>
>> Debugger entered--Lisp error: (error "Package lacks a \"Version\" or
>> \"Package-Version\" header")
>>   signal(error ("Package lacks a \"Version\" or \"Package-Version\" header"))
>>   error("Package lacks a \"Version\" or \"Package-Version\" header")
>>   package-buffer-info()
>>
>> This affects all recent Emacs versions (including trunk).
>
> This was reported 4 years ago, but unfortunately never got a reply at
> the time.
>
> Are you still seeing this on a recent version of Emacs?  If yes, could
> you please provide a minimal example file which fails to install?
>
> Also, why does your file have these line endings in the first place?
> Was this file written in Emacs?  I'm trying to understand if this is
> an important use case or the common scenario for users of MS-Windows,
> since I don't use it myself.

We have gotten no more information within five weeks here.

Does anyone think it's important to support CRLF line endings in
package.el?  I don't use Windows, so I'm not sure that I understand if
this is an important use case or not.  But AFAIK, and this might be
completely wrong, you should be fine as long as you edit the file in
Emacs?

I'll give this a couple of weeks more, and if I don't hear anything
else within that time, I'll just go ahead and assume that what I'm
saying is correct and therefore close this bug report.

Please speak up if any of the above is incorrect and this bug should
remain open.

Best regards,
Stefan Kangas