Petr Konecny <pekon(a)informatics.muni.cz> writes:
I think that the following code in package-get.el causes the
problem:
;; What ever happened to i-f-c-literally
(let (file-name-handler-alist)
(insert-file-contents-internal full-package-filename))
it should insert the file into temporary buffer without any changes, but
it does change its content and the md5 sum of the buffer is then
invalid. I tried to replace this piece with:
(insert-file-contents-literally full-package-filename)
and it works, i.e. md5 sum is correct and the installtion succeeds.
Judging from the comment in the code I guess, that i-f-c-literally was
broken for somebody and so he replaced it by this hack. It seems that
either i-f-c-literally has been fixed or it does not work with other
configurations of XEmacs (without Mule ?) or I missed something. Does
anybody know ?
If I understand things correctly, i-f-c-literally sets
file-name-handler-alist to nil and thus disables efs.
There's a patch from Jan to fix this problem, but it
involves efs change and it won't be in until Michael reviews
it.
This thread might be of some help:
http://www.xemacs.org/list-archives/xemacs-beta/199908/msg00345.html
Hmmm. Now I'm confused. The above code binds
file-name-handlers-list to nil, so it disables efs. Then,
what's the point of not using i-f-c-l?
And one more. i-f-c-l uses raw-text to read file.
Shouldn't it use binary coding-system?
It's been a long time since many people, including you,
filed a bug report for this. I'm all for fixing it *now*.
If we can't use i-f-c-l, just binding coding-system-for-read
to binary will fix the problem.
--
Yoshiki Hayashi