I am grateful to you for your explanations and patience with my inexperience. I made several mistakes, the main one being haste. I should have checked my emacs first.. The fact is that, in addition to the built-in version of orgmode, for some reason I installed another one. Your recommendation helped: when I removed the extra (newer) version of Orgmode and removed the extraneous code from .emacs, everything worked. Thank you for helping me master emacs — it is incredibly useful and hardly replaceable.
> I suspect that adding that line has actually hidden a larger problem. > The above line is essentially telling emacs to load the subr-x package > when your compiling an emacs-lisp file. However, your not compiling your > .emacs file, so this will not have any effect unless your compiling your > .emacs file. It is rarely worthwhile compiling your init file. Far > better off to keep your init file relatively small and pushing > complex/large configuration stuff into separate files which can be > compiled. There are a number of complications you often need to deal > with when compiling your init file and dealing with these often adds > enough complexity to outweigh the any benefits to startup time, which > are typically very small anyway. > > The symptoms you are seeing are frequently seen with a broken org > install. This can easily happen if you attempt to upgrade org when you > already have org functions loaded. Basic problem is that you end up with > a broken mixed installation with parts from the old version and parts > from the upgraded version. > > Note that if the issue was as you described, many people would be > experiencing this bug, but they aren't. This suggests the problem is > local to your setup. > > I would remove the upgraded org package and try re-installing. However, > it is really important to make sure your .emacs does not call any org > functions because this will load org during startup and then when you > attempt to upgrade the package, you will get the same issue. This may > require some re-organisation of your .emacs file - possibly wrapping org > related code in an eval-after-load or using something like use-package > etc. > > An easy way to verify which avoids large refactoring of your init file > would be to comment out any org related configuration from your init > file, restart emacs. upgrade org, uncomment what you commented and then > restart emacs. > >> >> The org-agenda-highlight-todo function (org-agenda.el file) uses the >> string-empty-p function from the emacs-lisp/subr-x.el module, but >> somewhere is not done (require ' subr-x), so when calling the >> org-agenda-highlight-todo function, string-empty-p is not defined, >> which leads to an error — org-agenda-highlight-todo: Symbol’s function >> definition is void: string-empty-p >> >> 2. >> >> For checking I called the emacs -Q and put in it scratch: >> (string-empty-p "test") >> (require 'subr-x) >> Then I executed the command >> C-x C-e >> on >> (require 'subr-x) >> output was >> Debugger entered--Lisp error: (void-function string-empty-p) >> (string-empty-p "test") > > When you did C-x C-e, either you evaluated the first sexp or it tried to > evaluate all sexps in the scratch buffer, calling string-empty-p first > and before require 'subr-x, so the library was not yet loaded and the > function was not found. the require needs to be before functions from > the required library are called. >