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.