GNU bug report logs -
#21319
`package-install-file' fails with CRLF (Windows) line endings
Previous Next
Reported by: steckerhalter <emacs <at> postmomentum.ch>
Date: Sat, 22 Aug 2015 05:39:02 UTC
Severity: minor
Tags: moreinfo
Found in version 25.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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).
What we did now is to replace `insert-file-contents-literally' with
`insert-file-contents' dynamically for non-tar files and that seems to
work, although I'm not sure if that's a good solution since I don't
know if there might be side-effects somewhere that can cause other
problems.
The other solution I can think of might be to adapt the regexp in
`package-buffer-info` so that in can deal with CRLF.
cheers,
steckerhalter
This bug report was last modified 3 years and 114 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.