我正在使用el-get并且未能安装颜色主题。经过一些研究,我发现el-get下载的文件color-theme-6.6.0.tar.gz
不完整。使用el-get下载的大小为124853
,如果文件是由wget下载的,则大小为124858
。
然后我发现el-get正在使用url-retrieve来下载包。所以我在*scratch*
缓冲区中评估了这段代码。
(url-retrieve
"http://download.savannah.gnu.org/releases/color-theme/color-theme-6.6.0.tar.gz"
(lambda (s)
(write-file "/home/jxq/data/tmp")))
文件/home/jxq/data/tmp
现在包含http标头和正文。 http标头的长度为279
,整个尺寸为125132
。因此,检索到的tar.gz文件大小为124853
。丢失的5个字节在哪里?
这是url-retrieve中的错误还是我错误地使用了它?
答案 0 :(得分:3)
在编写之前,您需要跳过HTTP标头(文档称之为“MIME标头”):
(url-retrieve
"http://download.savannah.gnu.org/releases/color-theme/color-theme-6.6.0.tar.gz"
(lambda (s)
(re-search-forward "\r?\n\r?\n")
(write-region (point) (point-max) "/tmp/bla")))
此版本保存与Wget相同的内容。