emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Why am I being told to use "straight.el"?
@ 2023-04-21  9:42 Colin Baxter
  2023-04-21 11:04 ` Max Nikulin
  0 siblings, 1 reply; 12+ messages in thread
From: Colin Baxter @ 2023-04-21  9:42 UTC (permalink / raw)
  To: emacs-orgmode


I load org-mode directly from my local copy of the org-mode git
repository and update on the fly. It works well, until today.

After an initial 'pull', 'make clean' and 'make', I 'cd' to lisp and 'rm
*.elc'. I then updated from an org-mode buffer, successfully. I 'make
clean' again followed by 'make'. I then did a further update from an
org-mode buffer. The second update was successfully loaded, and
subsequent launches of emacs cause no errors. However, I did initially
receive the following warning:

--8<---------------cut here---------------start------------->8---
 It is recommended to put

    (straight-use-package 'org)

   early in the config.  Ideally, right after the straight.el
   bootstrap.  Moving `use-package' :straight declaration may not be
   sufficient if the corresponding `use-package' statement is
   deferring the loading.
--8<---------------cut here---------------end--------------->8---

I do not use "packages" nor "straight", so why the recommendation? My
method works perfectly well. As well as the above warning, the debugger
clicked in with an "Org version mismatch" error. The path to org-mode is
already loaded early (very early) in my ~/.emacs. 

After the update, I received no further warnings or errors from emacs,
from both the active and subsequent sessions. In my opinion, all the
update warnings were essentially wrong and unnecessary. So why are
they there?

Colin.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-21  9:42 Why am I being told to use "straight.el"? Colin Baxter
@ 2023-04-21 11:04 ` Max Nikulin
  2023-04-21 13:25   ` Colin Baxter
  0 siblings, 1 reply; 12+ messages in thread
From: Max Nikulin @ 2023-04-21 11:04 UTC (permalink / raw)
  To: emacs-orgmode

On 21/04/2023 16:42, Colin Baxter wrote:
> 
> After an initial 'pull', 'make clean' and 'make',
...
> However, I did initially
> receive the following warning:
> 
> --8<---------------cut here---------------start------------->8---
>   It is recommended to put
> 
>      (straight-use-package 'org)
> 
>     early in the config.  Ideally, right after the straight.el
> --8<---------------cut here---------------end--------------->8---

You got this warning because it is assumed that straight.el users are 
mostly affected by the mixed compile/mixed load issue.

https://orgmode.org/worg/org-faq.html#mixed-install

Did you get this warning when you restarted emacs?

Next time please, save result of "ls -ltr lisp/". It sounds like some 
issue with dependencies in makefiles. Perhaps something was wrong with 
org-version.el, org-macs.el, org-loaddefs.el and .elc files.

Another way to get mixed versions issue is to put some require, e.g.

(require 'org-protocol)

before adding the directory to `load-path'. There are long threads on 
errors due to compiling ELPA package from Emacs when old Org version is 
already loaded.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-21 11:04 ` Max Nikulin
@ 2023-04-21 13:25   ` Colin Baxter
  2023-04-21 14:16     ` Max Nikulin
  0 siblings, 1 reply; 12+ messages in thread
From: Colin Baxter @ 2023-04-21 13:25 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

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

    > On 21/04/2023 16:42, Colin Baxter wrote:
    >> After an initial 'pull', 'make clean' and 'make',
    > ...
    >> However, I did initially receive the following warning:
    >> --8<---------------cut here---------------start------------->8---
    >> It is recommended to put (straight-use-package 'org) early in the
    >> config.  Ideally, right after the straight.el
    >> --8<---------------cut here---------------end--------------->8---

    > You got this warning because it is assumed that straight.el users
    > are mostly affected by the mixed compile/mixed load issue.

I have never used straight, and I update my org-mode every couple of
days. Today was the first time I received the warning.

    > https://orgmode.org/worg/org-faq.html#mixed-install

    > Did you get this warning when you restarted emacs?

No.

    > Next time please, save result of "ls -ltr lisp/". It sounds like
    > some issue with dependencies in makefiles. Perhaps something was
    > wrong with org-version.el, org-macs.el, org-loaddefs.el and .elc
    > files.

Ok, will do.


    > Another way to get mixed versions issue is to put some require,
    > e.g.

    > (require 'org-protocol)

There is no org-protocol anywhere in my ~/.emacs.

Colin.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-21 13:25   ` Colin Baxter
@ 2023-04-21 14:16     ` Max Nikulin
  2023-04-21 14:32       ` William Denton
  2023-04-21 16:17       ` Colin Baxter
  0 siblings, 2 replies; 12+ messages in thread
From: Max Nikulin @ 2023-04-21 14:16 UTC (permalink / raw)
  To: emacs-orgmode

On 21/04/2023 20:25, Colin Baxter wrote:
>>>>>> Max Nikulin writes:
> 
> I have never used straight

That warning message is rather long and I suspect you may miss its 
beginning because it was scrolled out of the warnings buffer. If so, 
have a look into `org-assert-version' definition in lisp/org-macs.el or 
you may try something like

     emacs -Q -l org -L ~/path/to/your/org/repository/lisp -l ob-shell

> and I update my org-mode every couple of
> days. Today was the first time I received the warning.

What branch is tracked there, main or bugfix? I am unsure that it will 
be possible to reproduce the issue, but the following command may shed 
some light on updates history

     git reflog | head -n 20

Please, specify Emacs version.

>      > Did you get this warning when you restarted emacs?
> 
> No.

Then I am completely confused what happened. Org compiled by make should 
not be affected by the mixed compile issue, especially after "make 
clean". How do you load updated version without restarting of Emacs? Do 
you use `org-reload'? Please, try to specify all you steps from "git 
pull" to first time when you got the warning.

>      > (require 'org-protocol)
> 
> There is no org-protocol anywhere in my ~/.emacs.

It is not necessary org-protocol, any org file loaded before load path 
is changed may cause the issue. It might be e.g. building agenda buffer 
during startup.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-21 14:16     ` Max Nikulin
@ 2023-04-21 14:32       ` William Denton
  2023-04-21 16:17       ` Colin Baxter
  1 sibling, 0 replies; 12+ messages in thread
From: William Denton @ 2023-04-21 14:32 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 866 bytes --]

On 21 April 2023, Max Nikulin wrote:

> Then I am completely confused what happened. Org compiled by make should not 
> be affected by the mixed compile issue, especially after "make clean". How do 
> you load updated version without restarting of Emacs? Do you use 
> `org-reload'? Please, try to specify all you steps from "git pull" to first 
> time when you got the warning.

If I remember right---this may be related or not---I saw this warning myself 
little while ago, but "make maintainer-clean" in the Emacs source (I track the 
development tree) and recompiling made it go away.  (I find I need to do that a 
couple of times a year, for one reason or another.)

Bill

--
William Denton
https://www.miskatonic.org/
Librarian, artist and licensed private investigator.
Toronto, Canada
CO₂: 423.25 ppm (Mauna Loa Observatory, 2023-04-20)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-21 14:16     ` Max Nikulin
  2023-04-21 14:32       ` William Denton
@ 2023-04-21 16:17       ` Colin Baxter
  2023-04-21 19:13         ` Colin Baxter
  2023-04-22  3:29         ` Max Nikulin
  1 sibling, 2 replies; 12+ messages in thread
From: Colin Baxter @ 2023-04-21 16:17 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

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

    > On 21/04/2023 20:25, Colin Baxter wrote:
    >>>>>>> Max Nikulin writes:

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.

    > Please, specify Emacs version.

GNU Emacs 30.0.50 (build 1, i686-pc-linux-gnu, X toolkit, cairo version
1.14.8, Xaw3d scroll bars) of 2023-04-19.

My system is Linux 4.9.0-19-686-pae #1 SMP Debian 4.9.320-2 (2022-06-30)
i686 GNU/Linux.

    >> > Did you get this warning when you restarted emacs?  No.

    > Then I am completely confused what happened. Org compiled by make
    > should not be affected by the mixed compile issue, especially
    > after "make clean". How do you load updated version without
    > restarting of Emacs? Do you use `org-reload'? Please, try to
    > specify all you steps from "git pull" to first time when you got
    > the warning.

1. emacs <RET>
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>
8. In an eshell buffer navigate to ~/git/emacs/lisp.
9. rm *.elc <RET>
10. Open any org-mode file or buffer and do C-c C-x !
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.

Colin.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-21 16:17       ` Colin Baxter
@ 2023-04-21 19:13         ` Colin Baxter
  2023-04-22  3:29         ` Max Nikulin
  1 sibling, 0 replies; 12+ messages in thread
From: Colin Baxter @ 2023-04-21 19:13 UTC (permalink / raw)
  To: emacs-orgmode


1. emacs <RET>
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>
8. In an eshell buffer navigate to ~/git/emacs/lisp.

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

Sorry about that.


    



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-21 16:17       ` Colin Baxter
  2023-04-21 19:13         ` Colin Baxter
@ 2023-04-22  3:29         ` Max Nikulin
  2023-04-22  7:51           ` Colin Baxter
  1 sibling, 1 reply; 12+ messages in thread
From: Max Nikulin @ 2023-04-22  3:29 UTC (permalink / raw)
  To: emacs-orgmode

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

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

> GNU Emacs 30.0.50 (build 1, i686-pc-linux-gnu, X toolkit, cairo version
> 1.14.8, Xaw3d scroll bars) of 2023-04-19.

I assume you build it yourself. Do you run emacs binary from 
source+build tree or from install tree (make install)? 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

> 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)

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

> 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

     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.

> 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.

     (car (assoc "/org-loaddefs.el" load-history (lambda (a b) 
(string-match-p b a))))

However I am unsure if it is relevant to your case.

Next time when you get that warning, please, confirm that

     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.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-22  3:29         ` Max Nikulin
@ 2023-04-22  7:51           ` Colin Baxter
  2023-04-22 15:53             ` Max Nikulin
  0 siblings, 1 reply; 12+ messages in thread
From: Colin Baxter @ 2023-04-22  7:51 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

>>>>> Max Nikulin <manikulin@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.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-22  7:51           ` Colin Baxter
@ 2023-04-22 15:53             ` Max Nikulin
  2023-04-22 19:12               ` Colin Baxter
  0 siblings, 1 reply; 12+ messages in thread
From: Max Nikulin @ 2023-04-22 15:53 UTC (permalink / raw)
  To: emacs-orgmode

On 22/04/2023 14:51, Colin Baxter wrote:
>>>>>> Max Nikulin writes:
> 
>      > On 21/04/2023 23:17, Colin Baxter wrote:
> 
>      >     emacs -Q -l org-agenda
> 
> Only message and scratch buffers present.

C-h e to check messages, but since errors or warnings buffer does not 
appear it should be OK.

>      >> 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."

I would expect either nil or t. Did you press M-x that is 
`execute-extended-command' instead of M-: that is `eval-expression'? 
Alternatively you may execute in in the *scratch* buffer

     (featurep 'org)

and C-j or C-x C-e when cursor is immediately after the closing parenthesis.

>      >> 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>

> 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.

Thank you for explanation. For some reason I believed that M-x compile 
invokes make without additional prompt. So

     make clean; make

sounds perfectly reasonable.

>      >> 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.

Do you mean that it happens on each update? No .elc files should survive 
"make clean". I have not tried to reproduce it accordingly to your 
steps, but I have seen something strange related to .el and .elc files 
while experimenting with package.el.

https://orgmode.org/worg/dev/org-build-system.html#orgd21575b
"Compatibility and Convenience" and
https://orgmode.org/worg/org-faq.html#keeping-current-with-Org-mode-development
suggests that

     make uncompiled

may be a shorter path to the same point.

However accordingly to your description I expect that you do not have 
Org loaded yet. If you can not load compiled org now it should cause an 
error after emacs restart as well.

>      > 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?

     (car (assoc "/org-loaddefs.el" load-history (lambda (a b) 
(string-match-p b a))))

Evaluate it e.g. in the *scratch* buffer by C-j

I removed parts of your message where I do not have questions concerning 
provided info. Thank you for it.

You enumerated 16 steps, but It is still unclear to me at which one you 
got the warning mentioning straight.el. Sorry for annoyance. Certainly 
you need working Org, but I am interested in a recipe that leads to 
broken state despite it looks like a valid way to update org.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-22 15:53             ` Max Nikulin
@ 2023-04-22 19:12               ` Colin Baxter
  2023-04-24 10:42                 ` Max Nikulin
  0 siblings, 1 reply; 12+ messages in thread
From: Colin Baxter @ 2023-04-22 19:12 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

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

    > On 22/04/2023 14:51, Colin Baxter wrote:
    >>>>>>> Max Nikulin writes:
    >> > On 21/04/2023 23:17, Colin Baxter wrote:
    >> > emacs -Q -l org-agenda Only message and scratch buffers
    >> present.

    > C-h e to check messages, but since errors or warnings buffer does
    > not appear it should be OK.

    >> >> 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."

    > I would expect either nil or t. Did you press M-x that is
    > `execute-extended-command' instead of M-: that is
    > `eval-expression'?  Alternatively you may execute in in the
    > *scratch* buffer

    >     (featurep 'org)

    > and C-j or C-x C-e when cursor is immediately after the closing
    > parenthesis.


Sorry, my mistake. I didn't follow your recipe exactly. If enter
(featurep 'org) in the scratch buffer and do C-j then I get nil.


    >> >> 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>

    >> 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.

    > Thank you for explanation. For some reason I believed that M-x
    > compile invokes make without additional prompt. So

    >     make clean; make

    > sounds perfectly reasonable.

    >> >> 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.

    > Do you mean that it happens on each update?


Yes. However, there was a time several months ago when I needed only
build org-mode once to update it successfully. Something then changed in
org-mode such that initially updated .elc files caused an error. I
subsequently discovered that if a went through the build process twice,
removing the .elc files after the first build, they would be accepted at
the second build. 


    > No .elc files should
    > survive "make clean". I have not tried to reproduce it accordingly
    > to your steps, but I have seen something strange related to .el
    > and .elc files while experimenting with package.el.

    > https://orgmode.org/worg/dev/org-build-system.html#orgd21575b
    > "Compatibility and Convenience" and
    > https://orgmode.org/worg/org-faq.html#keeping-current-with-Org-mode-development
    > suggests that

    >     make uncompiled

    > may be a shorter path to the same point.

    > However accordingly to your description I expect that you do not
    > have Org loaded yet. If you can not load compiled org now it
    > should cause an error after emacs restart as well.


Org-mode is already loaded, that is the git version of org that I am about to
update is already loaded. If I C-j

--8<---------------cut here---------------start------------->8---
(car (assoc "/org-loaddefs.el" load-history (lambda (a b)
(string-match-p b a))))
--8<---------------cut here---------------end--------------->8---

in a scratch buffer then I get "~/git/org-mode/lisp/org-loaddefs.el". I
update org-mode during a normal emacs session that may have run over 
one or two days, during which time I will have used org-agenda, clocked
in and out of various times and perhaps used org-export.

Best wishes,

Colin.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why am I being told to use "straight.el"?
  2023-04-22 19:12               ` Colin Baxter
@ 2023-04-24 10:42                 ` Max Nikulin
  0 siblings, 0 replies; 12+ messages in thread
From: Max Nikulin @ 2023-04-24 10:42 UTC (permalink / raw)
  To: emacs-orgmode


> GNU Emacs 30.0.50 (build 1, i686-pc-linux-gnu, X toolkit, cairo version
> 1.14.8, Xaw3d scroll bars) of 2023-04-19.

Since it is a custom emacs build, is its folder present in your PATH? Is 
it the same binary as reported by the following command in emacs eshell 
buffer

     sh -c 'command -v emacs'

(it does not work without sh -c since it is a shell built-in)

On 23/04/2023 02:12, Colin Baxter wrote:
>      > However accordingly to your description I expect that you do not
>      > have Org loaded yet. If you can not load compiled org now it
>      > should cause an error after emacs restart as well.
> 
> Org-mode is already loaded, that is the git version of org that I am about to
> update is already loaded. If I C-j

Sorry, but I do not see any step that may cause org loaded (step 8 is 
corrected):

> 1. emacs <RET>
> 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>
> 8. In an eshell buffer navigate to ~/git/org-mode/lisp.
> 9. rm *.elc <RET>

I failed to reproduce the issue.

I compiled and installed emacs
65735cee71c 2023-04-23 12:08:32 -0700 Jim Porter: ; Fix last change

I started from Org commit

> 7c8623be9 HEAD@{4}: clone: from https://git.savannah.gnu.org/git/emacs/org-mode.git

and then repeated for the following ones (from bottom to top)

> 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

1. emacs -L ~/src/org-mode
2. M-x eshell
3. eshell: cd ~/src/org-mode
4. eshell: git checkout f4446ce79 # etc.
5. eshell: make clean
6. eshell: make
7. C-x C-f /tmp/test.org
    no error
8. C-c C-x !
    should not be necessary, but no error anyway.
9. C-x C-c

repeat from step 1



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-04-24 10:43 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-21  9:42 Why am I being told to use "straight.el"? Colin Baxter
2023-04-21 11:04 ` Max Nikulin
2023-04-21 13:25   ` Colin Baxter
2023-04-21 14:16     ` Max Nikulin
2023-04-21 14:32       ` William Denton
2023-04-21 16:17       ` Colin Baxter
2023-04-21 19:13         ` Colin Baxter
2023-04-22  3:29         ` Max Nikulin
2023-04-22  7:51           ` Colin Baxter
2023-04-22 15:53             ` Max Nikulin
2023-04-22 19:12               ` Colin Baxter
2023-04-24 10:42                 ` Max Nikulin

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).