On 05/08/2021 04:41, Вячеслав Гришин wrote:
Now I don't know if I need to do something extra, because the
problem  arose because of my mistake.

Vyacheslav, you do not need to react to my patch, it is for Org maintainers. There is neither continuous integration server nor ready to use configuration (e.g. a set of docker containers) to verify commits in clean environment. As a result some files may have minor issues that are unnoticeable by most of users. However it is better to fix inconsistencies like missed `require', etc.

When I removed the second version of Org and the extra code from .emacs,
everything worked. I don't know how to explain it, because I'm just
starting to learn emacs and lisp

Notice that you can have more than one org mode version installed. E.g. in Debian and Ubuntu in addition to the version bundled with Emacs, it is possible to install elpa-org deb package. The version however is anyway noticeably older than current stable Org release, so people often use various package managers for Emacs.

The problem you have met is not uncommon, example of usual response:
https://orgmode.org/list/87im5gszqs....@kyleam.com/
Unfortunately symptoms are usually quite obscure, they may reveal another issue. I do not know if it is possible to implement a trap to explicitly notify user that parts of org are loaded from different directories.

There are may be some pitfalls on the way to have newer org version:
- You should not require any org modules before `load-path' is adjusted.
- Do not forget to recompile after update of sources. It seems, Emacs do not have means to detect stale .elc file similar to e.g. Python. - Attempt to try alternative version without modification of init.el may result in unexpected result. Usually "-Q" or at least "-q" option is required to suppress initialization. "-L" option is processed after init.el. So "emacs -L ~/src/org-mode/lisp" can easily result in mixed install. E.g. "emacs -Q -L ~/src/org-mode/lisp -l ~/.emacs.d/init.el" mostly work but there are some edge cases since it is not full equivalent of real initialization. There is no way to specify custom init file through command line option, it is necessary to create a part of parallel universe and pass it as --user option argument, HOME or XDG_CONFIG_HOME (for latest emacs version) environment:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=15539#121

Do not be afraid by such complications too much. ELPA package is the recommended way to have latest stable version:
https://orgmode.org/install.html
Alternatively ensure that (add-to-list 'load-path "~/src/org-mode/lisp") is early enough in your init.el.


Reply via email to