[emacs-w3m:13460] Re: New branch 201906
Katsumi Yamaoka <[email protected]>
| Newsgroups | gmane.emacs.w3m |
|---|---|
| Organization | Emacsen advocacy group |
| Message-ID | <[email protected]> |
>> In [emacs-w3m:13457] >> On Mon, 17 Jun 2019 16:12:26 +0900, Katsumi Yamaoka wrote: >>> Tested and tweaked the code so that `make slow' with Emacs 25.1, >>> 26.1, 26.2.90, and 27.0.50 may issue no warning. >> Sorry. Not `make slow' but `make very-slow' that compiles the >> .el files one by one individually. `one by one individually' means to run Emacs with -q and some arguments (that includes --eval '(push "." load-path)'), byte- compile *an* .el file, and exit Emacs. This way is applied for all the .el files. Moreover, `very-slow' does it in two passes, one is that .el files other than the one beeing byte-compiled are not byte-compiled (there is no .elc file), and the other is that .el files other than the one beeing byte-compiled have been all byte-compiled (only the .elc file for the one being compiled is absent). If w3m-foo.el uses the features that cl-lib provides whereas it does not have (eval-when-compile (require 'cl-lib)), it will be compiled successfully in the first pass if w3m-foo.el requires w3m-bar and it has (eval-when-compile (require 'cl-lib)), however it will fail in the second pass since eval-when-compile lines are not in the w3m-bar.elc file. Then we get to know that w3m-foo.el needs to have (eval-when-compile (require 'cl-lib)). The second pass of `very-slow' is significant, the first pass is existent for mainly byte-compiling all the .el files. What we aime at is to ensure any .el file to be byte-comipled with no constraint. `very-slow' takes a long time, so it is named so. `slow' is similar to the first pass of `very-slow', just `make' does byte-compiling all the .el files in one Emacs process. Regards,