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