>>>>> Max Nikulin <maniku...@gmail.com> writes:

    > On 21/04/2023 23:17, Colin Baxter wrote:
    >> I will address the other points in your reply the next time I
    >> update org-mode. In the meantime, I can answer some of your other
    >> questions immediately.

    > Thanks for info. I have asked for org git branch. I am almost sure
    > it is main, but to be sure

    >    git -C ~/git/org-mode branch --show-current git -C
    > ~/git/org-mode describe

main

    > If the issue was caused by specific order of file changes, even in
    > the current state output of the following command may be used for
    > attempt to replay updates by git checkout + make

    >    git -C ~/git/org-mode reflog --max-count 20

f81ba451a (HEAD -> main, origin/main, origin/HEAD) HEAD@{0}: pull --stat: 
Fast-forward
3c449cc43 HEAD@{1}: pull: Fast-forward
4929f0c55 HEAD@{2}: pull: Fast-forward
f4446ce79 HEAD@{3}: pull: Fast-forward
7c8623be9 HEAD@{4}: clone: from 
https://git.savannah.gnu.org/git/emacs/org-mode.git

    > I assume you build it yourself. Do you run emacs binary from
    > source+build tree or from install tree (make install)?

>From a local install-tree.

    > The latter
    > has .el.gz files instead of .el, and at least in Emacs-28 it
    > affects behavior of compilation of ELPA packages by package.el.

    > Another point is that the origin of your issue might be in
    > built-in version of Org. It has `org-assert-version' as
    > well. Perhaps there is a bug in make rules for Org in Emacs
    > tree. Could you, please, try the following for your *current*
    > emacs build?

    >     emacs -Q -l org-agenda

Only message and scratch buffers present.

    >> 1. emacs <RET>

    > Till `org-reload' C-c C-x ! at the step 10 org is not
    > involved. Does you init file loads some Org component or some Org
    > buffer is created at startup? To be sure

    >     M-: (featurep 'org)

"No match."

This figures since loading org-mode is only the second load-path
adjustment done by my ~/.emacs. The first is setting the path to
slime. All other load-path adjustments, such as other org-mode
application libraries come later after org-mode itself. 

    > I assume that ~/git/org-mode/lisp is added to `load-path' in your
    > init file.

Yes, via (add-to-list 'load-path (expand-file-name "~/git/org-mode/lisp")) 

    >> 2. M-x vc-dir <RET> 3. Navigate to ~/git/org-mode.  4. + (to
    >> pull) 5. M-x compile <RET> 6. make clean <RET> 7. make <RET>

    > I am sorry for my ignorance, I usually run make from a terminal
    > independent of emacs. Doesn't M-x compile runs make, so I expect
    > it is the same as

In the case of build org-mode, I first select "make clean" from the
history of "M-x compile". Then I do "M-x compile" again and select "make"
from the history. The effect is the same using the terminal, except the
outputs are now contained in emacs buffers.

    >     make; make clean; make

    > and it is a bit strange for me.

    >> 8. In an eshell buffer navigate to ~/git/emacs/lisp.

    >> Typo! I meant navigate to ~/git/org-mode/lisp.

    >> 9. rm *.elc <RET>

    > Why did you decided to manually delete *.elc files? I have lost at
    > which step you got the warning. I expect that "make clean" should
    > remove .elc files.

If I don't delete the elc files in ~/git/org-mode/lisp after the first
build then I do get errors. I find that a running emacs-session at this
stage of the process is happy to load new org-mode .el files but not
.elc files. I then repeat "make clean" and "make". Now the running emacs
will load the .elc files and complete the update. 

    >> 10. Open any org-mode file or buffer and do C-c C-x !

    > `org-reload' immediately after removing of .elc files sounds
    > strange for me. At least since previous command was "make", not
    > "make clean", org-loaddefs.el should exist at this moment, so
    > uncompiled version should be loaded, but prefix argument should be
    > used to load Org uncompiled

    >     C-u C-c C-x !

    > If org has not been loaded before the step 10, then `org-reload'
    > should-not be necessary at all.

    >> 11. Return to vc-dir or eshell 12. make clean <RET> 13. make
    >> <RET> 15. Return to org-mode buffer and do C-c C-x ! again.
    >> 16. Update complete, usually with no warnings or errors.

    > Is org-loaddefs loaded from ~/git/org-mode/lisp? It is a sanity
    > check for working Org and more interesting when it is broken.

I think it must be because ~/git/org-mode/ is the first org-mode found
and not the org-mode within emacs itself. How can I check?

    >     emacs -Q -L ~/git/org-mode/lisp -l org-agenda

    > is not affected, so the problem is solely with reloading of
    > updated version without emacs restart.

Ok. I will do that.

Colin.


Reply via email to