Summary: | *.elc compression breaks documentation access | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey Vlasov <vsu> |
Component: | emacs-common | Assignee: | Ivan Zakharyaschev <imz> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P5 | CC: | sbolshakov |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Sergey Vlasov
2003-03-11 16:57:09 MSK
У меня не падает (во втором примере). Впрочем, это не так важно. Первое уже плохо. У меня не падает (во втором примере). Впрочем, это не так важно. Первое уже плохо. in 21.3-alt2 Некоторые подробности: `jka-compr-load\' заботится об этой проблеме (временно меняя знчение `load-force-doc-strings\' при загрузке распакованного файла). Всё должно было быть хорошо, но оказалось, что `jka-compr-load\' использовался не всегда при загрузке. Это ошибка в lread.c -- там на самом деле две ошибки в одном месте, поэтому и патча два. * Tue Apr 01 2003 Ivan Zakharyaschev <<a href="mailto:imz@altlinux.ru>" target="_new">imz@altlinux.ru></a>; 21.3-alt2 - built-in `load\': always use the load-handler if it is present (e.g. for compressed .elc\'s; fixes No. 0002355; patches 11 and 12); <...> Ещё более подробные объяснения и тесты: I have just tried the currently checked-out from Savannah Emacs sources. My conclusion is like this: in the current sources, another problem at the same place has been fixed, and the problem in focus remains there. (I\'ve made a patch.) (Meanwhile I discovered that the fix I suggested for Emacs 21.3 is not enough for it to work correctly -- it should be combined with the fix from the current sources to fight the problem completely.) Here are the details: the handler for load is not always used when it should. Here is a sequence of commands that demonstrates it on the newest Emacs, too. (Remember, /usr/share/emacs/21.3/lisp/play/life.elc.gz is compressed at the standard location; \"/usr/share/emacs/21.3/lisp\" and \"/usr/share/emacs/21.3/lisp/play\" are in the `load-path\'): (require \'jka-compr) (auto-compression-mode t) (debug-on-entry \'jka-compr-load) ;;;;;;;;; 1 ;;;;;;;;; (load \"/usr/share/emacs/21.3/lisp/play/life\") ; no entry into `jka-compr-load\' (load \"/usr/share/emacs/21.3/lisp/play/life.elc.gz\") ; `jka-compr-load\' entered ;;;;;;;;; 2 ;;;;;;;;; (load \"play/life\") ; no entry into `jka-compr-load\' (load \"play/life.elc.gz\") ; `jka-compr-load\' entered ;;;;;;;;; 3 ;;;;;;;;; (load \"life\") ; no entry into `jka-compr-load\' (load \"life.elc.gz\") ; `jka-compr-load\' entered This inconsistency is not good. It might cause errors. (E.g., in Emacs 21.3, it was the problems with docstrings.) In Emacs 21.3, there are even less entries (no entry in one of the cases 1--3.) in 21.3-alt2 Некоторые подробности: `jka-compr-load\' заботится об этой проблеме (временно меняя знчение `load-force-doc-strings\' при загрузке распакованного файла). Всё должно было быть хорошо, но оказалось, что `jka-compr-load\' использовался не всегда при загрузке. Это ошибка в lread.c -- там на самом деле две ошибки в одном месте, поэтому и патча два. * Tue Apr 01 2003 Ivan Zakharyaschev <<a href="mailto:imz@altlinux.ru>" target="_new">imz@altlinux.ru></a>; 21.3-alt2 - built-in `load\': always use the load-handler if it is present (e.g. for compressed .elc\'s; fixes No. 0002355; patches 11 and 12); <...> Ещё более подробные объяснения и тесты: I have just tried the currently checked-out from Savannah Emacs sources. My conclusion is like this: in the current sources, another problem at the same place has been fixed, and the problem in focus remains there. (I\'ve made a patch.) (Meanwhile I discovered that the fix I suggested for Emacs 21.3 is not enough for it to work correctly -- it should be combined with the fix from the current sources to fight the problem completely.) Here are the details: the handler for load is not always used when it should. Here is a sequence of commands that demonstrates it on the newest Emacs, too. (Remember, /usr/share/emacs/21.3/lisp/play/life.elc.gz is compressed at the standard location; \"/usr/share/emacs/21.3/lisp\" and \"/usr/share/emacs/21.3/lisp/play\" are in the `load-path\'): (require \'jka-compr) (auto-compression-mode t) (debug-on-entry \'jka-compr-load) ;;;;;;;;; 1 ;;;;;;;;; (load \"/usr/share/emacs/21.3/lisp/play/life\") ; no entry into `jka-compr-load\' (load \"/usr/share/emacs/21.3/lisp/play/life.elc.gz\") ; `jka-compr-load\' entered ;;;;;;;;; 2 ;;;;;;;;; (load \"play/life\") ; no entry into `jka-compr-load\' (load \"play/life.elc.gz\") ; `jka-compr-load\' entered ;;;;;;;;; 3 ;;;;;;;;; (load \"life\") ; no entry into `jka-compr-load\' (load \"life.elc.gz\") ; `jka-compr-load\' entered This inconsistency is not good. It might cause errors. (E.g., in Emacs 21.3, it was the problems with docstrings.) In Emacs 21.3, there are even less entries (no entry in one of the cases 1--3.) |