Closed birchpoplar closed 3 months ago
From: birchpoplar @.***> Date: Sun, 4 Aug 2024 06:13:24 -0700
I'm getting this error when calling denote-org-extras-dblock-insert-links in an org file:
byte-code: Symbol’s function definition is void: denote-files-matching-regexp-prompt
Usually when I get a void function error I find something got out of sync in package updates, but I've gone through a complete rebuild (deleting all under elpa/, straight/ and transient/) to no avail--this is with emacs 29.4. I have another machine with emacs 29.3 and same dotfiles and the function works fine.
It seems that 'denote' is not loaded at that time, which is surprising because 'denote-org-extras' depends on it. Can you evaluate the following and then repeat the test scenario?
(require 'denote)
-- Protesilaos Stavrou https://protesilaos.com
thanks. I get the same even after evaluating (require 'denote)
:
byte-code: Symbol’s function definition is void: denote-files-matching-regexp-prompt
What I'm doing here is calling org-dynamic-block-insert-dblock
and selecting denote-links
.
Also, if I put the cursor in an existing dblock header, such as:
#+BEGIN: denote-links :regexp "--germany" :sort-by-component nil :reverse-sort nil :id-only nil
#+END:
I get the following error:
denote-org-extras-dblock--files: Wrong number of arguments: ((t) nil "Return list of absolute file paths in variable `denote-directory'.
Files only need to have an identifier. The return value may thus
include file types that are not implied by `denote-file-type'.
To limit the return value to text files, use the function
`denote-directory-text-only-files'.
Remember that the variable `denote-directory' accepts a dir-local
value, as explained in its doc string." (mapcar #'expand-file-name (seq-filter #'denote-file-has-identifier-p (denote--directory-all-files-recursively)))), 2
From: birchpoplar @.***> Date: Sun, 4 Aug 2024 12:58:54 -0700
thanks. I get the same even after evaluating
(require 'denote)
:
byte-code: Symbol’s function definition is void: denote-files-matching-regexp-prompt
This is surprising! The only explanation I have is that you have old byte compiled files somewhere. Those with ".elc" at the end.
What I'm doing here is calling
org-dynamic-block-insert-dblock
and selectingdenote-links
.
This is an issue with autoloading. I can reproduce it with 'emacs -Q' if I do not load any package.
Though none of the problems occur if I start 'emacs -Q' and then evaluate '(package-initialize)'.
-- Protesilaos Stavrou https://protesilaos.com
Thanks for help here. I figured it out and it was--as could be expected--an issue in my init.el. I had an errant 'load-path
entry to local denote
copy from late last year. Appreciate the help. Now resolved.
From: birchpoplar @.***> Date: Mon, 5 Aug 2024 17:17:53 -0700
Thanks for help here. I figured it out and it was--as could be expected--an issue in my init.el. I had an errant
'load-path
entry to localdenote
copy from late last year. Appreciate the help. Now resolved.
Very well!
-- Protesilaos Stavrou https://protesilaos.com
I'm getting this error when calling denote-org-extras-dblock-insert-links in an org file:
byte-code: Symbol’s function definition is void: denote-files-matching-regexp-prompt
Usually when I get a void function error I find something got out of sync in package updates, but I've gone through a complete rebuild (deleting all under elpa/, straight/ and transient/) to no avail--this is with emacs 29.4. I have another machine with emacs 29.3 and same dotfiles and the function works fine.
Any suggestions on how to fix or where to look next? The function isn't loaded--I get nothing when using C-h, f.
Apologies if I'm mssing something as a generic mis-configuration in emacs, but have gone through some iterations on this and can't solve. The rest of denote works fine as far as I can tell.
debug on error report below:
relevant section below from emacs.org: