* make update2 and ob-comint.el bugs
@ 2016-04-24 1:57 Charles C. Berry
2016-04-24 3:19 ` Charles C. Berry
0 siblings, 1 reply; 3+ messages in thread
From: Charles C. Berry @ 2016-04-24 1:57 UTC (permalink / raw)
To: Org-Mode mailing list
Summary: ob-comint.elc compiled with `make update2' fails, but
ob-comint.elc byte compiled via dired or with `emacs-lisp-byte-compile'
succeeds.
===
I recently pushed a fix [1] for ob-comint.el or so I thought. See [2] for
info on the bug.
First, I tested the fix on my own system by eval'ing ob-comint.el and
running some tests (including `make test' FWIW).
I also byte-compiled the code using `dired-do-byte-compile', loaded that
and ran more tests. All good.
Then I pushed that commit to master.
When I did `make update2' the compiled fixes did not work. But loading
`ob-comint.el' works, and compiling via `dired-do-byte-compile' works and
loading the result also works.
What?!
So I tried to undo the damage with two more commits, but in each case the
`make update2' step generated code that was buggy.
I see that `make update2' uses `byte-recompile-directory' and indeed
running that gives a different (larger) ob-comint.elc than does
`dired-do-byte-compile'. But both eventually use `byte-compile-file', and
AFAICS the optimization level is the same in both cases. So I am baffled.
Any advice on how to produce code that works when compiled with `make
update2' or just to understand what gives here is appreciated.
Best,
Chuck
[1] commit e42454088ff1176cce9cc65a4bd1c6f17fe958ec
[2]<http://permalink.gmane.org/gmane.emacs.orgmode/106557>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: make update2 and ob-comint.el bugs
2016-04-24 1:57 make update2 and ob-comint.el bugs Charles C. Berry
@ 2016-04-24 3:19 ` Charles C. Berry
2016-04-24 4:29 ` Charles C. Berry
0 siblings, 1 reply; 3+ messages in thread
From: Charles C. Berry @ 2016-04-24 3:19 UTC (permalink / raw)
To: Org-Mode mailing list
On Sat, 23 Apr 2016, Charles C. Berry wrote:
>
>
> Summary: ob-comint.elc compiled with `make update2' fails, but ob-comint.elc
> byte compiled via dired or with `emacs-lisp-byte-compile' succeeds.
>
> ===
>
A bit more info:
It appears that the crucial difference is that my init file has
(require 'ess-site)
in it. If I start `emacs -q' and byte-compile I get one file. If I
(require 'ess-site) and compile again, I get a different *.elc file.
The latter *.elc file works.
If anyone knows what ess is adding that results in ob-comint.elc that
works, I am keen to know what it might be.
Best,
Chuck
[rest deleted]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: make update2 and ob-comint.el bugs
2016-04-24 3:19 ` Charles C. Berry
@ 2016-04-24 4:29 ` Charles C. Berry
0 siblings, 0 replies; 3+ messages in thread
From: Charles C. Berry @ 2016-04-24 4:29 UTC (permalink / raw)
To: Org-Mode mailing list
On Sat, 23 Apr 2016, Charles C. Berry wrote:
> On Sat, 23 Apr 2016, Charles C. Berry wrote:
>
>>
>>
>> Summary: ob-comint.elc compiled with `make update2' fails, but
>> ob-comint.elc byte compiled via dired or with `emacs-lisp-byte-compile'
>> succeeds.
>>
>> ===
>>
To answer my own questions:
ob-comint.el needed to (require 'tramp) and to declare a number of
tramp functions that the macro `with-parsed-tramp-file-name' invokes.
The compilations I did interactively had tramp loaded as a result of
loading ess-site, which is why ob-comint.el compiled to produce a working
`org-babel-comint-eval-invisibly-and-wait-for-file'.
I'll check and test a bit more to be sure I've got a patch that really
works after `make update2' and then push it.
I guess the lesson is to batch compile or use `emacs -q' or a stripped
down .emacs for interactive compilation to avoid issues like this.
Sorry for messing up the commit history with so many commits for such a
simple (in the end) issue.
Chuck
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-04-24 4:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-24 1:57 make update2 and ob-comint.el bugs Charles C. Berry
2016-04-24 3:19 ` Charles C. Berry
2016-04-24 4:29 ` Charles C. Berry
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).