[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: refresh not working for org-mode from git
From: |
Colin Baxter |
Subject: |
Re: refresh not working for org-mode from git |
Date: |
Sat, 24 Sep 2022 09:14:47 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Thank you for your detailed reply.
>>>>> Tim Cross <theophilusx@gmail.com> writes:
> Colin Baxter <m43cap@yandex.com> writes:
>> Recently, if I use C-c C-x ! to refresh org-mode after a git
>> pull, I get an error. I then have to close down emacs and launch
>> again. This rather defeats the object of C-c C-x !. This appears
>> to have happened only recently
----------------- snip ---------------------------------
> I wasn't aware that command even existed. However, I suspect it
> will cause issues in your use case. I'm not sure it is a good
> command to actually have given the complexities associated with
> getting a clean org build.
> In many cases, you may not run into issues - especially if you do
> a git pull frequently. However, I can see various scenarios which
> will lead to inconsistent builds. I suspect the error you are
> seeing is the result of recent work to try and identify builds
> which are likely to result in an inconsistent 'mixed' version
> build.
That could well be the case here because the technique used to work up
until quite recently (~2 weeks)
> Detecting such scenarios is difficult and relies on a
> number of heuristics, one of which is to flag a problem if the
> loaded version and the target build version don't match.
> A lot would depend on how you build (re-compile) org mode after
> doing a git pull. If you compile it in a separate Emacs instance,
> you should have less issues and reloading after the build will
> likely work. However, if your trying to build org mode within the
> running Emacs where you have already loaded org mode, I suspect
> you will run into issues. You have a slight 'chicken and egg'
> issue and will run into similar issues as the common mixed build
> problems.
Normally, I use `M-x vc-dir' to update from git, then `M-x compile'
followed by `make clean' and `make'. Finally, update org-mode in the
same emacs with an org-mode buffer present. As I said, it used to work
well.
> One thing which might work would be to ensure you run the reload
> command with the option to load from uncompiled sources BEFORE you
> run the build process and then re-run the load command after the
> build (loading compiled versions this time).
Yes, I will try that. And I will also ring all the other changes to see
what happens --- if anything.
> I have no idea how things might break given the new native
> compilation modes in Emacs. I suspect it will cause all sorts of
> issue with your workflow.
I have avoided problems here by not using native compilation. I did try
it once in the past, but I didn't think it was worth the candle since
frankly I didn't notice any change in emacs performance, possibly
because I only do simple things with emacs.
> Personally, I always update org in a fresh instance of Emacs
> (before any org functionality is loaded) and I would always
> restart Emacs after updating a major packages like org mode. I'm
> not sure why we have the reload command - I suspect it may be a
> hang over from earlier attempts to work around the mixed build
> problem. I do suspect that given new native compilation modes and
> the additional complexity ths can cause, combined with increasing
> org mode complexity, the notion of being able to pull down a new
> version, build and reload it within one emacs instance is perhaps
> flawed or at the very least, is more complex than just forcing a
> reload of org *.elc files.
Indeed. Emacs seems to have became a rather complex beast in recent
years. Perhaps it was ever thus.
Best wishes,
Colin.