GNU bug report logs -
#65286
30.0.50; package-install-file for built-in package
Previous Next
To reply to this bug, email your comments to 65286 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65286
; Package
emacs
.
(Mon, 14 Aug 2023 11:55:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ihor Radchenko <yantar92 <at> posteo.net>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 14 Aug 2023 11:55:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi,
I am trying to figure out ways to deal with mixing Org versions.
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62762)
In my tests, I was trying to utilize M-x package-install-file to emulate
ELPA installation. And I think that I stumbled upon a bug in this
command.
Recipe:
1. Remove default elpa directory
2. cd /tmp; git clone --depth 1 --branch feature/provide-version https://git.sr.ht/~yantar92/org-mode
3. cd org-mode/lisp
4. emacs -Q
5. M-x org-version
6. M-x package-install-file <RET> /tmp/org-mode/lisp <RET>
7. Observe
ob-gnuplot.el:45:2: Error: Recursive load: "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/ox.el", "/home/yantar92/.emacs.d/elpa/org-9.7pre/ox-ascii.el"
The same does not happen if we skip step (4).
Also, keeping elpa directory around between the tests triggers various failures.
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.17.8) of 2023-08-13 built on localhost
Repository revision: bfde3a4482ce7775f00a17b597daa1b188ef0d43
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Gentoo Linux
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65286
; Package
emacs
.
(Mon, 14 Aug 2023 13:55:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 65286 <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> posteo.net> writes:
> Hi,
>
> I am trying to figure out ways to deal with mixing Org versions.
> (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62762)
>
> In my tests, I was trying to utilize M-x package-install-file to emulate
> ELPA installation. And I think that I stumbled upon a bug in this
> command.
>
> Recipe:
> 1. Remove default elpa directory
> 2. cd /tmp; git clone --depth 1 --branch feature/provide-version https://git.sr.ht/~yantar92/org-mode
> 3. cd org-mode/lisp
> 4. emacs -Q
> 5. M-x org-version
> 6. M-x package-install-file <RET> /tmp/org-mode/lisp <RET>
> 7. Observe
>
> ob-gnuplot.el:45:2: Error: Recursive load:
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/org-element.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/ox.el",
> "/home/yantar92/.emacs.d/elpa/org-9.7pre/ox-ascii.el"
>
> The same does not happen if we skip step (4).
>
> Also, keeping elpa directory around between the tests triggers various failures.
Are you sure that this is not an issue related to org-mode?
Could you create a minimal working example to reproduce this issue, by
removing as much as possible from the repository while retaining the
issue, and then send us a tarball with the remaining files?
> In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.38, cairo version 1.17.8) of 2023-08-13 built on localhost
> Repository revision: bfde3a4482ce7775f00a17b597daa1b188ef0d43
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
> System Description: Gentoo Linux
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65286
; Package
emacs
.
(Mon, 14 Aug 2023 14:03:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 65286 <at> debbugs.gnu.org (full text, mbox):
Philip Kaludercic <philipk <at> posteo.net> writes:
>> Also, keeping elpa directory around between the tests triggers various failures.
>
> Are you sure that this is not an issue related to org-mode?
It might be. But the difference between package-install-file w/without
built-in Org loaded is unlikely Org's fault in any case.
> Could you create a minimal working example to reproduce this issue, by
> removing as much as possible from the repository while retaining the
> issue, and then send us a tarball with the remaining files?
Sorry, but the issue is triggered by interaction between built-in and
non-built-in Org. I have no idea if it is possible at all to create more
minimal reproducer.
To be clear, I have no clue at all what is going on. I made some
relatively innocent changes in Org that added a couple of provide
statements. I could see things breaking completely, but not __only__
when built-in Org is loaded. So, any attempt to reduce the reproducer
steps will be me trying random things - not very productive unless you
absolutely cannot use the reproducer I provided.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65286
; Package
emacs
.
(Mon, 14 Aug 2023 14:16:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 65286 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ihor Radchenko <yantar92 <at> posteo.net> writes:
> Philip Kaludercic <philipk <at> posteo.net> writes:
>
>>> Also, keeping elpa directory around between the tests triggers various failures.
>>
>> Are you sure that this is not an issue related to org-mode?
>
> It might be. But the difference between package-install-file w/without
> built-in Org loaded is unlikely Org's fault in any case.
For the record, these are the changes between your checkout and what is
on master:
[Message part 2 (text/plain, inline)]
diff -u /tmp/org-mode/lisp/ob-gnuplot.el /home/philip/Source/emacs/lisp/org/ob-gnuplot.el
--- /tmp/org-mode/lisp/ob-gnuplot.el 2023-08-14 16:10:37.615919936 +0200
+++ /home/philip/Source/emacs/lisp/org/ob-gnuplot.el 2023-04-05 22:53:26.932222097 +0200
@@ -3,7 +3,7 @@
;; Copyright (C) 2009-2023 Free Software Foundation, Inc.
;; Author: Eric Schulte
-;; Maintainer: Ihor Radchenko <yantar92 at posteo dot net>
+;; Maintainer: Ihor Radchenko <yantar92 <at> gmail.com>
;; Keywords: literate programming, reproducible research
;; URL: https://orgmode.org
@@ -40,9 +40,11 @@
;;; Code:
-(require 'ob-9.7 "ob")
-(require 'org-macs-9.7 "org-macs")
-(require 'ox-ascii-9.7 "ox-ascii")
+(require 'org-macs)
+(org-assert-version)
+
+(require 'ob)
+(require 'org-macs)
(declare-function org-time-string-to-time "org" (s))
(declare-function orgtbl-to-generic "org-table" (table params))
@@ -196,7 +198,7 @@
(defun org-babel-execute:gnuplot (body params)
"Execute a block of Gnuplot code.
This function is called by `org-babel-execute-src-block'."
- (org-require-package 'gnuplot)
+ (require 'gnuplot)
(let ((session (cdr (assq :session params)))
(result-type (cdr (assq :results params)))
(body (org-babel-expand-body:gnuplot body params))
@@ -260,7 +262,7 @@
If there is not a current inferior-process-buffer in SESSION
then create one. Return the initialized session. The current
`gnuplot-mode' doesn't provide support for multiple sessions."
- (org-require-package 'gnuplot)
+ (require 'gnuplot)
(unless (string= session "none")
(save-window-excursion
(gnuplot-send-string-to-gnuplot "" "line")
@@ -293,33 +295,17 @@
(require 'ox-org)
(with-temp-file data-file
(insert (let ((org-babel-gnuplot-timestamp-fmt
- (or (plist-get params :timefmt) "%Y-%m-%d-%H:%M:%S"))
- ;; Create custom limited backend that will disable
- ;; advanced ASCII export features that may alter the
- ;; original data.
- (ob-gnuplot-data
- (org-export-create-backend
- :parent 'ascii
- :transcoders
- `(;; Do not try to resolve links. Export them verbatim.
- (link . (lambda (link _ _) (org-element-interpret-data link)))
- ;; Drop emphasis markers from verbatim and code.
- ;; This way, data can use verbatim when escaping
- ;; is necessary and yet be readable by Gnuplot,
- ;; which is not aware about Org's markup.
- (verbatim . (lambda (verbatim _ _) (org-element-property :value verbatim)))
- (code . (lambda (code _ _) (org-element-property :value code)))))))
+ (or (plist-get params :timefmt) "%Y-%m-%d-%H:%M:%S")))
(orgtbl-to-generic
table
(org-combine-plists
- `( :sep "\t" :fmt org-babel-gnuplot-quote-tsv-field
+ '( :sep "\t" :fmt org-babel-gnuplot-quote-tsv-field
;; Two setting below are needed to make :fmt work.
:raw t
- :backend ,ob-gnuplot-data)
+ :backend ascii)
params)))))
data-file)
(provide 'ob-gnuplot)
-(provide 'ob-gnuplot-9.7)
;;; ob-gnuplot.el ends here
Diff finished. Mon Aug 14 16:12:51 2023
[Message part 3 (text/plain, inline)]
The (org-assert-version) seems new, with this check
`(unless (or org--inhibit-version-check (equal (org-release) ,(org-release)))
...
could evaluating (org-release) during macro-expansion cause this
recursive load issue?
>> Could you create a minimal working example to reproduce this issue, by
>> removing as much as possible from the repository while retaining the
>> issue, and then send us a tarball with the remaining files?
>
> Sorry, but the issue is triggered by interaction between built-in and
> non-built-in Org. I have no idea if it is possible at all to create more
> minimal reproducer.
> To be clear, I have no clue at all what is going on. I made some
> relatively innocent changes in Org that added a couple of provide
> statements. I could see things breaking completely, but not __only__
> when built-in Org is loaded. So, any attempt to reduce the reproducer
> steps will be me trying random things - not very productive unless you
> absolutely cannot use the reproducer I provided.
No, sorry I couldn't reproduce it on my system :/
M-x emacs-version
GNU Emacs 30.0.50 (build 5, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.16.0) of 2023-08-14
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65286
; Package
emacs
.
(Mon, 14 Aug 2023 15:10:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 65286 <at> debbugs.gnu.org (full text, mbox):
Philip Kaludercic <philipk <at> posteo.net> writes:
> For the record, these are the changes between your checkout and what is
> on master:
The same error happens for a number of other libraries. I just did not
list all the errors in the initial report.
Also, the error does not happen when using Org main.
I started getting error after the following edits in across Org libraries:
> -(require 'ob-9.7 "ob")
> -(require 'org-macs-9.7 "org-macs")
> -(require 'ox-ascii-9.7 "ox-ascii")
> +(require 'org-macs)
> +(org-assert-version)
> ...
> (provide 'ob-gnuplot)
> -(provide 'ob-gnuplot-9.7)
> The (org-assert-version) seems new, with this check
>
> `(unless (or org--inhibit-version-check (equal (org-release) ,(org-release)))
> ...
>
> could evaluating (org-release) during macro-expansion cause this
> recursive load issue?
Nope. `org-release' is defined in automatically generated org-version.el
library, which does not depend on anything:
;;; org-version.el --- autogenerated file, do not edit -*- lexical-binding: t -*-
;;
;;; Code:
;;;###autoload
(defun org-release ()
"The release version of Org.
Inserted by installing Org mode or when a release is made."
(let ((org-release "9.6.7"))
org-release))
;;;###autoload
(defun org-git-version ()
"The Git version of Org mode.
Inserted by installing Org or when a release is made."
(let ((org-git-version "release_9.6.7-13-g99cc96"))
org-git-version))
(provide 'org-version)
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; coding: utf-8
;; End:
;;; org-version.el ends here
>> To be clear, I have no clue at all what is going on. I made some
>> relatively innocent changes in Org that added a couple of provide
>> statements. I could see things breaking completely, but not __only__
>> when built-in Org is loaded. So, any attempt to reduce the reproducer
>> steps will be me trying random things - not very productive unless you
>> absolutely cannot use the reproducer I provided.
>
> No, sorry I couldn't reproduce it on my system :/
>
> M-x emacs-version
> GNU Emacs 30.0.50 (build 5, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.16.0) of 2023-08-14
Curious.
To be sure, I just pulled the latest master, did autogen -> configure
(with no arguments) -> make bootstrap, and followed the steps to
reproduce. I can still see the same problem.
Same using Emacs 29, Emacs 28, and Emacs 27.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#65286
; Package
emacs
.
(Fri, 18 Aug 2023 10:44:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 65286 <at> debbugs.gnu.org (full text, mbox):
On 14/08/2023 22:09, Ihor Radchenko wrote:
> Philip Kaludercic writes:
>> No, sorry I couldn't reproduce it on my system :/
> Curious.
> To be sure, I just pulled the latest master, did autogen -> configure
> (with no arguments) -> make bootstrap, and followed the steps to
> reproduce. I can still see the same problem.
Spacemacs users recommend to install from file, not from ELPA
https://github.com/syl20bnr/spacemacs/issues/15896#issuecomment-1530129761
Maybe there is really some subtle difference how `package-install-file'
processes packages. Something like running Emacs<29 from source tree vs.
make install.
This bug report was last modified 1 year and 301 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.