* Problem with native-compilation @ 2022-03-24 22:17 Jonas Damm 2022-03-25 7:04 ` Eli Zaretskii 0 siblings, 1 reply; 11+ messages in thread From: Jonas Damm @ 2022-03-24 22:17 UTC (permalink / raw) To: help-gnu-emacs Hi, I compiled Emacs with the native-compilation option. After installing the org-contacts package from nongnu org-contrib, at first everything works as expected. However, after the compiling in the background is done, some functions are broken: Warning (comp): org-contacts.el:648:13: Warning: the function ‘start’ is not known to be defined. Disable showing Disable logging Warning (comp): org-contacts.el:593:12: Warning: the function ‘lexical-let*’ is not known to be defined. Disable showing Disable logging Warning (comp): org-contacts.el:505:4: Warning: the function ‘list*’ is not known to be defined. Disable showing Disable logging Warning (comp): org-contacts.el:459:4: Warning: the function ‘lexical-let’ is not known to be defined. Disable showing Disable logging Warning (comp): org-contacts.el:372:28: Warning: the function ‘values’ is not known to be defined. Disable showing Disable logging Warning (comp): org-contacts.el:330:44: Warning: the function ‘first’ is not known to be defined. Disable showing Disable logging After this, message-tab does not work anymore so i can not complete addresses in mu4e anymore. Thanks for any help! Jonas ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-24 22:17 Problem with native-compilation Jonas Damm @ 2022-03-25 7:04 ` Eli Zaretskii 2022-03-26 13:58 ` Felix Dietrich 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2022-03-25 7:04 UTC (permalink / raw) To: help-gnu-emacs > From: Jonas Damm <emails@jonas-damm.de> > Date: Thu, 24 Mar 2022 23:17:38 +0100 > > I compiled Emacs with the native-compilation option. Which version of Emacs? > After installing > the org-contacts package from nongnu org-contrib, at first everything > works as expected. > > However, after the compiling in the background is done, some functions > are broken: > > > Warning (comp): org-contacts.el:648:13: Warning: the function ‘start’ is not known to be defined. Disable showing Disable logging > Warning (comp): org-contacts.el:593:12: Warning: the function ‘lexical-let*’ is not known to be defined. Disable showing Disable logging > Warning (comp): org-contacts.el:505:4: Warning: the function ‘list*’ is not known to be defined. Disable showing Disable logging > Warning (comp): org-contacts.el:459:4: Warning: the function ‘lexical-let’ is not known to be defined. Disable showing Disable logging > Warning (comp): org-contacts.el:372:28: Warning: the function ‘values’ is not known to be defined. Disable showing Disable logging > Warning (comp): org-contacts.el:330:44: Warning: the function ‘first’ is not known to be defined. Disable showing Disable logging > > > > After this, message-tab does not work anymore so i can not complete > addresses in mu4e anymore. What is org-contacts.el? I don't see it in Emacs. From the messages you show, it sounds like org-contacts.el has problems that are flagged by the native compilation, in particular it needs to (require 'cl) (for lexical-let*) and probably other packages to resolve the other "not known to be defined" problems. You need to be aware that JIT native compilation happens in a separate pristine Emacs process, which doesn't know about any packages you have loaded in the process that requests the compilation. So native compilation flags any problems caused by compiling a file in "emacs -Q". ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-25 7:04 ` Eli Zaretskii @ 2022-03-26 13:58 ` Felix Dietrich 2022-03-26 14:38 ` Eli Zaretskii 2022-04-03 17:57 ` Jonas Damm 0 siblings, 2 replies; 11+ messages in thread From: Felix Dietrich @ 2022-03-26 13:58 UTC (permalink / raw) To: help-gnu-emacs [-- Attachment #1: Type: text/plain, Size: 2592 bytes --] Eli Zaretskii <eliz@gnu.org> writes: > What is org-contacts.el? I don't see it in Emacs. Itʼs part of org-contrib whose package currently resides here <https://elpa.nongnu.org/nongnu/org-contrib.html>. Org-contrib used to be part of the org-mode repository but was removed with version 9.5. I do not know whether it was, together with org-mode, imported into the Emacs tree. >> From: Jonas Damm <emails@jonas-damm.de> >> Date: Thu, 24 Mar 2022 23:17:38 +0100 > >> After installing >> the org-contacts package from nongnu org-contrib, at first everything >> works as expected. >> >> However, after the compiling in the background is done, some functions >> are broken: >> >> >> Warning (comp): org-contacts.el:648:13: Warning: the function ‘start’ is not known to be defined. Disable showing Disable logging >> Warning (comp): org-contacts.el:593:12: Warning: the function ‘lexical-let*’ is not known to be defined. Disable showing Disable logging >> Warning (comp): org-contacts.el:505:4: Warning: the function ‘list*’ is not known to be defined. Disable showing Disable logging >> Warning (comp): org-contacts.el:459:4: Warning: the function ‘lexical-let’ is not known to be defined. Disable showing Disable logging >> Warning (comp): org-contacts.el:372:28: Warning: the function ‘values’ is not known to be defined. Disable showing Disable logging >> Warning (comp): org-contacts.el:330:44: Warning: the function ‘first’ is not known to be defined. Disable showing Disable logging > > From the messages you show, it sounds like org-contacts.el has > problems that are flagged by the native compilation, in particular it > needs to (require 'cl) (for lexical-let*) and probably other packages > to resolve the other "not known to be defined" problems. Can or should (require 'cl) be wrapped in a ‘eval-when-compile’? What is the state of the cl library? It is marked as obsolete. Are there plans on how long it will be supported? Anyway, Jonas, attached is a patch that cleans up the compilation errors and warnings (at least ‘batch-byte-compile’ is satisfied). If you have not yet gotten around to it yourself then this might be useful for you. I did not dispense with ‘lexical-let’ by activating ‘lexical-binding’ because I did not want to read all of the code to see whether org-contacts makes use of implicitly dynamically bound variables. The patch applies to the current master (8c138dc) of the git repository of the org-contrib package <https://git.sr.ht/~bzg/org-contrib/tree>. [-- Attachment #2: Patch to clean-up compilation errors in org-contacts.el --] [-- Type: text/x-diff, Size: 2317 bytes --] From b4444ae5f46b6edbb9064d2f2be5c4e2e1851948 Mon Sep 17 00:00:00 2001 From: Felix Dietrich <felix.dietrich@sperrhaken.name> Date: Sat, 26 Mar 2022 13:58:03 +0100 Subject: [PATCH] org-contacts: Fix compilation warnings and erros --- lisp/org-contacts.el | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lisp/org-contacts.el b/lisp/org-contacts.el index 94be38a..2866fff 100644 --- a/lisp/org-contacts.el +++ b/lisp/org-contacts.el @@ -62,6 +62,7 @@ ;;; Code: (require 'cl-lib) +(eval-when-compile (require 'cl)) ; for ‘lexical-let’ (require 'org) (require 'gnus-util) (require 'gnus-art) @@ -749,8 +750,8 @@ This function should be called from `gnus-article-prepare-hook'." (with-current-buffer (marker-buffer marker) (save-excursion (goto-char marker) - (let* ((org-email-link-description-format (or org-contacts-email-link-description-format - org-email-link-description-format)) + (let* ((org-link-email-description-format (or org-contacts-email-link-description-format + org-link-email-description-format)) (link (gnus-with-article-buffer (org-store-link nil)))) (org-set-property org-contacts-last-read-mail-property link))))))) @@ -1169,14 +1170,14 @@ are effectively trimmed). If nil, all zero-length substrings are retained." (member (buffer-file-name) (mapcar 'expand-file-name org-contacts-files))) (if (bound-and-true-p org-id-link-to-org-use-id) (org-id-store-link) - (let ((headline-str (substring-no-properties (org-get-heading t t t t)))) - (org-store-link-props + (let* ((headline-str (substring-no-properties (org-get-heading t t t t))) + (link (concat "org-contact:" headline-str))) + (org-link-store-props :type "org-contact" :link headline-str :description headline-str) - (setq desc headline-str) - (setq link (concat "org-contact:" headline-str)) - (org-add-link-props :link link :description desc) + (org-link-add-props :link link + :description headline-str) link)))) (defun org-contacts--all-contacts () -- 2.35.1 [-- Attachment #3: Type: text/plain, Size: 20 bytes --] -- Felix Dietrich ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-26 13:58 ` Felix Dietrich @ 2022-03-26 14:38 ` Eli Zaretskii 2022-04-04 10:50 ` Felix Dietrich 2022-04-03 17:57 ` Jonas Damm 1 sibling, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2022-03-26 14:38 UTC (permalink / raw) To: help-gnu-emacs > From: Felix Dietrich <felix.dietrich@sperrhaken.name> > Date: Sat, 26 Mar 2022 14:58:00 +0100 > > Can or should (require 'cl) be wrapped in a ‘eval-when-compile’? Probably. > What is the state of the cl library? It is marked as obsolete. Are > there plans on how long it will be supported? I don't know, but if someone wants to continue using org-contacts, I'd suggest that they modernize it regardless. Perhaps switching to lexical-binding would be the best first step? ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-26 14:38 ` Eli Zaretskii @ 2022-04-04 10:50 ` Felix Dietrich 0 siblings, 0 replies; 11+ messages in thread From: Felix Dietrich @ 2022-04-04 10:50 UTC (permalink / raw) To: help-gnu-emacs Eli Zaretskii <eliz@gnu.org> writes: >> From: Felix Dietrich <felix.dietrich@sperrhaken.name> >> Date: Sat, 26 Mar 2022 14:58:00 +0100 > I don't know, but if someone wants to continue using org-contacts, I'd > suggest that they modernize it regardless. Perhaps switching to > lexical-binding would be the best first step? It ainʼt broken yet. If I continue to use it, Iʼll fix it eventually; maybe even before it does. ;) -- Felix Dietrich ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-26 13:58 ` Felix Dietrich 2022-03-26 14:38 ` Eli Zaretskii @ 2022-04-03 17:57 ` Jonas Damm 2022-04-04 13:01 ` Felix Dietrich 1 sibling, 1 reply; 11+ messages in thread From: Jonas Damm @ 2022-04-03 17:57 UTC (permalink / raw) To: Felix Dietrich; +Cc: help-gnu-emacs Thank you very much. I am not sure, but your patch seems to have fixed it already. Here is what i did: - deleted the old contacts.elc file - applied your patch to contacts.el -recompiled with M-x byte-recompile-file There were no errors except for the 80 Characters Doc warning. The tab complete function works. So i guess that was all i needed? Anyway huge thanks! Jonas Felix Dietrich writes: > Eli Zaretskii <eliz@gnu.org> writes: > >> What is org-contacts.el? I don't see it in Emacs. > > Itʼs part of org-contrib whose package currently resides here > <https://elpa.nongnu.org/nongnu/org-contrib.html>. Org-contrib used to > be part of the org-mode repository but was removed with version 9.5. I > do not know whether it was, together with org-mode, imported into the > Emacs tree. > >>> From: Jonas Damm <emails@jonas-damm.de> >>> Date: Thu, 24 Mar 2022 23:17:38 +0100 >> >>> After installing >>> the org-contacts package from nongnu org-contrib, at first everything >>> works as expected. >>> >>> However, after the compiling in the background is done, some functions >>> are broken: >>> >>> >>> Warning (comp): org-contacts.el:648:13: Warning: the function ‘start’ is not known to be defined. Disable showing Disable logging >>> Warning (comp): org-contacts.el:593:12: Warning: the function ‘lexical-let*’ is not known to be defined. Disable showing Disable logging >>> Warning (comp): org-contacts.el:505:4: Warning: the function ‘list*’ is not known to be defined. Disable showing Disable logging >>> Warning (comp): org-contacts.el:459:4: Warning: the function ‘lexical-let’ is not known to be defined. Disable showing Disable logging >>> Warning (comp): org-contacts.el:372:28: Warning: the function ‘values’ is not known to be defined. Disable showing Disable logging >>> Warning (comp): org-contacts.el:330:44: Warning: the function ‘first’ is not known to be defined. Disable showing Disable logging >> >> From the messages you show, it sounds like org-contacts.el has >> problems that are flagged by the native compilation, in particular it >> needs to (require 'cl) (for lexical-let*) and probably other packages >> to resolve the other "not known to be defined" problems. > > Can or should (require 'cl) be wrapped in a ‘eval-when-compile’? What > is the state of the cl library? It is marked as obsolete. Are there > plans on how long it will be supported? > > Anyway, Jonas, attached is a patch that cleans up the compilation errors > and warnings (at least ‘batch-byte-compile’ is satisfied). If you have > not yet gotten around to it yourself then this might be useful for you. > I did not dispense with ‘lexical-let’ by activating ‘lexical-binding’ > because I did not want to read all of the code to see whether > org-contacts makes use of implicitly dynamically bound variables. The > patch applies to the current master (8c138dc) of the git repository of > the org-contrib package <https://git.sr.ht/~bzg/org-contrib/tree>. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-04-03 17:57 ` Jonas Damm @ 2022-04-04 13:01 ` Felix Dietrich 0 siblings, 0 replies; 11+ messages in thread From: Felix Dietrich @ 2022-04-04 13:01 UTC (permalink / raw) To: help-gnu-emacs Jonas Damm <emails@jonas-damm.de> writes: > Felix Dietrich writes: >> Jonas Damm <emails@jonas-damm.de> writes: >>> After installing the org-contacts package from nongnu org-contrib, >>> at first everything works as expected. >>> >>> However, after the compiling in the background is done, some >>> functions are broken: >>> >>> [error messages at the end bottom of this mail] >> Jonas, attached is a patch that cleans up the compilation errors and >> warnings (at least ‘batch-byte-compile’ is satisfied). > I am not sure, but your patch seems to have fixed it already. > So i guess that was all i needed? I think so. The errors about missing functions were, probably, caused by Emacs not knowing the ‘lexical-let’ macro because of the missing (require 'cl) and, thus, misinterpreting the value bindings as function calls. The other changes were about fixing assignments to free variables. I was a bit lazy in the commit message. Upon just looking at the compilation messages again for this mail, the version of “org-contacts” you were using, though, appears to be different both from the version in, what I believe to be, the current “org-contrib” [1] repository as well as from the older version I have in my site-lisp directory: the compilation messages donʼt match – or maybe this is caused by us using different Emacs versions. Anyway, if everything now works for you again, I guess that is alright. >>> Warning (comp): org-contacts.el:648:13: Warning: the function >>> ‘start’ is not known to be defined. Disable showing Disable >>> logging >>> Warning (comp): org-contacts.el:593:12: Warning: the function >>> ‘lexical-let*’ is not known to be defined. Disable showing Disable >>> logging >>> Warning (comp): org-contacts.el:505:4: Warning: the function >>> ‘list*’ is not known to be defined. Disable showing Disable >>> logging >>> Warning (comp): org-contacts.el:459:4: Warning: the function >>> ‘lexical-let’ is not known to be defined. Disable showing Disable >>> logging >>> Warning (comp): org-contacts.el:372:28: Warning: the function >>> ‘values’ is not known to be defined. Disable showing Disable >>> logging >>> Warning (comp): org-contacts.el:330:44: Warning: the function >>> ‘first’ is not known to be defined. Disable showing Disable >>> logging Footnotes: [1] https://git.sr.ht/~bzg/org-contrib -- Felix Dietrich ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <87wngio1qo.fsf@jonas-damm.de>]
* Re: Problem with native-compilation [not found] <87wngio1qo.fsf@jonas-damm.de> @ 2022-03-25 10:17 ` Eli Zaretskii 2022-03-25 10:36 ` Jonas Damm 0 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2022-03-25 10:17 UTC (permalink / raw) To: help-gnu-emacs > From: Jonas Damm <emails@jonas-damm.de> > Date: Fri, 25 Mar 2022 09:49:51 +0100 > > I apologize for emailing you directly, it turns out I was not > subscribed, and did not get any reply from the mailing list. > > I am using emacs 29.0.50. > > org-contacts is part of nongnu contrib these days. The weird thing for > me is, that it works before the native compilation, but not after. Because Emacs loads the natively-compiled code, and that code is not correct because of the problems mentioned in the warnings. So you (or the maintainer of org-contacts) need to fix the problems flagged by the native compilation first. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-25 10:17 ` Eli Zaretskii @ 2022-03-25 10:36 ` Jonas Damm 2022-03-25 11:24 ` Eli Zaretskii 2022-03-25 18:01 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 2 replies; 11+ messages in thread From: Jonas Damm @ 2022-03-25 10:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: help-gnu-emacs Thank you for the insight. I am willing to try to fix it. I don't know if org-contacts are maintained anymore. Could you, (or anyone else) point me to where to start? I can see the functions mentioned by the error message. Do i need to "import" those from a different file? I have not much experience in lisp or emacs in general. Thanks Eli Zaretskii writes: >> From: Jonas Damm <emails@jonas-damm.de> >> Date: Fri, 25 Mar 2022 09:49:51 +0100 >> >> I apologize for emailing you directly, it turns out I was not >> subscribed, and did not get any reply from the mailing list. >> >> I am using emacs 29.0.50. >> >> org-contacts is part of nongnu contrib these days. The weird thing for >> me is, that it works before the native compilation, but not after. > > Because Emacs loads the natively-compiled code, and that code is not > correct because of the problems mentioned in the warnings. > > So you (or the maintainer of org-contacts) need to fix the problems > flagged by the native compilation first. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-25 10:36 ` Jonas Damm @ 2022-03-25 11:24 ` Eli Zaretskii 2022-03-25 18:01 ` Emanuel Berg via Users list for the GNU Emacs text editor 1 sibling, 0 replies; 11+ messages in thread From: Eli Zaretskii @ 2022-03-25 11:24 UTC (permalink / raw) To: help-gnu-emacs > From: Jonas Damm <emails@jonas-damm.de> > Cc: help-gnu-emacs@gnu.org > Date: Fri, 25 Mar 2022 11:36:19 +0100 > > Thank you for the insight. > > I am willing to try to fix it. I don't know if org-contacts are > maintained anymore. > Could you, (or anyone else) point me to where to start? I can see the > functions mentioned by the error message. Do i need to "import" those > from a different file? I have not much > experience in lisp or emacs in general. Find out which package(s) need to be loaded before org-contacts so that the "unknown" functions and variables will be defined, then add 'require' statements for each such package to org-contacts.el. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Problem with native-compilation 2022-03-25 10:36 ` Jonas Damm 2022-03-25 11:24 ` Eli Zaretskii @ 2022-03-25 18:01 ` Emanuel Berg via Users list for the GNU Emacs text editor 1 sibling, 0 replies; 11+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-03-25 18:01 UTC (permalink / raw) To: help-gnu-emacs Jonas Damm wrote: > Thank you for the insight. > > I am willing to try to fix it. I don't know if org-contacts > are maintained anymore. Could you, (or anyone else) point me > to where to start? I can see the functions mentioned by the > error message. Do i need to "import" those from a different > file? I have not much experience in lisp or emacs > in general. If you fix it, tell them about it (if you can find them) so the next person don't have to do the same as you did. -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-04-04 13:01 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-03-24 22:17 Problem with native-compilation Jonas Damm 2022-03-25 7:04 ` Eli Zaretskii 2022-03-26 13:58 ` Felix Dietrich 2022-03-26 14:38 ` Eli Zaretskii 2022-04-04 10:50 ` Felix Dietrich 2022-04-03 17:57 ` Jonas Damm 2022-04-04 13:01 ` Felix Dietrich [not found] <87wngio1qo.fsf@jonas-damm.de> 2022-03-25 10:17 ` Eli Zaretskii 2022-03-25 10:36 ` Jonas Damm 2022-03-25 11:24 ` Eli Zaretskii 2022-03-25 18:01 ` Emanuel Berg via Users list for the GNU Emacs text editor
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).