GNU bug report logs -
#48133
28.0.50; [native-comp] time-to-days throws wrong-number-of-arguments error
Previous Next
Reported by: Ihor Radchenko <yantar92 <at> gmail.com>
Date: Sat, 1 May 2021 01:44:01 UTC
Severity: normal
Tags: fixed
Found in version 28.0.50
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48133 in the body.
You can then email your comments to 48133 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sat, 01 May 2021 01:44:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ihor Radchenko <yantar92 <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 01 May 2021 01:44:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
I just got the following error trying to run native-compiled time-to-days:
Debugger entered--Lisp error: (wrong-number-of-arguments (lambda (&optional time) (funcall #<subr decode-time> (or time G167))) 3)
(decode-time (22352 22528) nil nil)
(time-to-days (22352 22528))
Re-evaluating defun of time-to-days fixes the error.
Best,
Ihor
In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.16.0)
of 2021-04-30 built on localhost
Repository revision: fa65c044f2ebe666467166075c1507a8d0e1347f
Repository branch: feature/native-comp
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Gentoo/Linux
Configured using:
'configure --prefix=/usr --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --disable-silent-rules
--docdir=/usr/share/doc/emacs-28.0.9999
--htmldir=/usr/share/doc/emacs-28.0.9999/html --libdir=/usr/lib64
--program-suffix=-emacs-28-vcs --includedir=/usr/include/emacs-28-vcs
--infodir=/usr/share/info/emacs-28-vcs --localstatedir=/var
--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
--without-compress-install --without-hesiod --without-pop
--with-file-notification=inotify --with-pdumper --enable-acl
--with-dbus --with-modules --without-gameuser --with-libgmp
--without-gpm --with-json --without-kerberos --without-kerberos5
--without-lcms2 --with-xml2 --without-mailutils
--with-native-compilation --with-selinux --with-gnutls
--without-libsystemd --with-threads --with-wide-int --with-zlib
--with-sound=oss --with-x --without-ns --without-gconf
--without-gsettings --without-toolkit-scroll-bars --with-gif
--with-jpeg --with-png --with-rsvg --with-tiff --with-xpm
--with-imagemagick --with-xft --with-cairo --with-harfbuzz
--without-libotf --without-m17n-flt --with-x-toolkit=no
--with-dumping=pdumper 'CFLAGS=-march=native -pipe -O2' CPPFLAGS=
'LDFLAGS=-Wl,-O1 -Wl,--as-needed''
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ IMAGEMAGICK JPEG
JSON LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY OLDXMENU
PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF X11 XDBE XIM XPM ZLIB
Important settings:
value of $LC_COLLATE: C
value of $LANG: en_US.utf8
locale-coding-system: utf-8-unix
Major mode: ELisp/l
Memory information:
((conses 16 2803364 652253)
(symbols 48 82982 8)
(strings 32 394883 248801)
(string-bytes 1 13653046)
(vectors 16 187919)
(vector-slots 8 4341859 573177)
(floats 8 17548 3388)
(intervals 56 124000 2648)
(buffers 992 103))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sat, 01 May 2021 06:34:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 48133 <at> debbugs.gnu.org (full text, mbox):
> From: Ihor Radchenko <yantar92 <at> gmail.com>
> Date: Sat, 01 May 2021 09:47:35 +0800
>
> I just got the following error trying to run native-compiled time-to-days:
>
> Debugger entered--Lisp error: (wrong-number-of-arguments (lambda (&optional time) (funcall #<subr decode-time> (or time G167))) 3)
> (decode-time (22352 22528) nil nil)
> (time-to-days (22352 22528))
I cannot reproduce this. When was your time-date.el
natively-compiled? What happens if you delete the .eln file and
recompile it?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sat, 01 May 2021 07:08:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> I cannot reproduce this. When was your time-date.el
> natively-compiled?
It was compiled during emacs installation (I am on Gentoo):
/usr/lib64/emacs/28.0.50/native-lisp/28.0.50-7ff4cc51:
-rw-r--r--. 1 46K May 1 11:19 time-date-40951a48-0eafe94e.eln
I am not sure if it is important, but the problem appears in one of
org-mode tests. I just ran =make test= on current Org mode master.
> What happens if you delete the .eln file and
> recompile it?
I deleted the file and restarted emacs -Q. The new eln file is in
/home/yantar92/.emacs.d/eln-cache/28.0.50-7ff4cc51:
-rwxr-xr-x. 1 59K May 1 14:58 time-date-40951a48-0eafe94e.eln
The problem persist. I also tried to delete all the org eln files in my
local .emacs.d as well as system-wide eln files generated during Emacs
installation. It did not help.
The full backtrace:
decode-time((22352 22528) nil nil)
time-to-days((22352 22528))
org-time-stamp-to-now("2016-06-03 Fri")
org-deadline-close-p("2016-06-03 Fri" 0)
apply(org-deadline-close-p ("2016-06-03 Fri" 0))
(setq value-13032 (apply fn-13030 args-13031))
(unwind-protect (setq value-13032 (apply fn-13030 args-13031)) (setq
(if (unwind-protect (setq value-13032 (apply fn-13030 args-13031)) (
(let (form-description-13034) (if (unwind-protect (setq value-13032
(let ((value-13032 'ert-form-evaluation-aborted-13033)) (let (form-d
(let* ((fn-13030 #'org-deadline-close-p) (args-13031 (condition-case
(progn (org-mode) (let ((point (string-match "<point>" inside-text))
(unwind-protect (progn (org-mode) (let ((point (string-match "<point
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
(let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current
(let ((inside-text (if (stringp "* Heading") "* Heading" (eval "* He
(progn (fset 'time-subtract vnew) (fset 'time-less-p vnew) (fset 'ti
(unwind-protect (progn (fset 'time-subtract vnew) (fset 'time-less-p
(let* ((vnew #'(lambda nil G89)) (vnew #'(lambda (&optional time &re
(let* ((G88 "2016-06-03 Fri 01:43") (G89 (if (stringp G88) (apply #'
(lambda nil (let* ((G88 "2016-06-03 Fri 01:43") (G89 (if (stringp G8
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name test-org/deadline-close-p :documentat
ert-run-or-rerun-test(#s(ert--stats :selector "\\(org\\|ob\\)" :test
ert-run-tests("\\(org\\|ob\\)" #f(compiled-function (event-type &res
ert-run-tests-batch("\\(org\\|ob\\)")
ert-run-tests-batch-and-exit("\\(org\\|ob\\)")
(let ((org-id-track-globally t) (org-test-selector (if org-test-sele
org-test-run-batch-tests("\\(org\\|ob\\)")
command-line-1(("--eval" "(setq vc-handled-backends nil org-startup-
command-line()
normal-top-level()
Best,
Ihor
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sat, 01 May 2021 07:55:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 48133 <at> debbugs.gnu.org (full text, mbox):
> From: Ihor Radchenko <yantar92 <at> gmail.com>
> CC: 48133 <at> debbugs.gnu.org
> Date: Sat, 01 May 2021 15:11:36 +0800
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > I cannot reproduce this. When was your time-date.el
> > natively-compiled?
>
> It was compiled during emacs installation (I am on Gentoo):
>
> /usr/lib64/emacs/28.0.50/native-lisp/28.0.50-7ff4cc51:
> -rw-r--r--. 1 46K May 1 11:19 time-date-40951a48-0eafe94e.eln
>
> I am not sure if it is important, but the problem appears in one of
> org-mode tests. I just ran =make test= on current Org mode master.
So maybe the problem is not in time-date.el, maybe it's elsewhere?
Can you show the exact code of the test that fails and how to run it?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sat, 01 May 2021 08:19:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> So maybe the problem is not in time-date.el, maybe it's elsewhere?
> Can you show the exact code of the test that fails and how to run it?
I run it by cloning Org mode repo from
https://code.orgmode.org/bzg/org-mode.git
and running =make test=
The failing test is test-org/deadline-close-p failing at the first
should assertion:
(ert-deftest test-org/deadline-close-p ()
"Test `org-deadline-close-p' specifications."
(org-test-at-time "2016-06-03 Fri 01:43"
;; Timestamps are close if they are within `ndays' of lead time.
(org-test-with-temp-text "* Heading"
(should (org-deadline-close-p "2016-06-03 Fri" 0))
(should (org-deadline-close-p "2016-06-02 Thu" 0))
(should-not (org-deadline-close-p "2016-06-04 Sat" 0))
(should (org-deadline-close-p "2016-06-04 Sat" 1))
(should (org-deadline-close-p "2016-06-03 Fri 12:00" 0)))
;; Read `ndays' from timestamp if argument not given.
(org-test-with-temp-text "* H"
(should (org-deadline-close-p "2016-06-04 Sat -1d"))
(should-not (org-deadline-close-p "2016-06-04 Sat -0d"))
(should (org-deadline-close-p "2016-06-10 Fri -1w"))
(should-not (org-deadline-close-p "2016-06-11 Sat -1w")))
;; Prefer `ndays' argument over lead time in timestamp.
(org-test-with-temp-text "* H"
(should (org-deadline-close-p "2016-06-04 Sat -0d" 1))
(should-not (org-deadline-close-p "2016-06-04 Sat -0d" 0)))
;; Completed tasks are never close.
(let ((org-todo-keywords '(("TODO" "|" "DONE"))))
(org-test-with-temp-text "* TODO Heading"
(should (org-deadline-close-p "2016-06-03")))
(org-test-with-temp-text "* DONE Heading"
(should-not (org-deadline-close-p "2016-06-03"))))))
org-deadline-close-p code:
(defun org-deadline-close-p (timestamp-string &optional ndays)
"Is the time in TIMESTAMP-STRING close to the current date?"
(setq ndays (or ndays (org-get-wdays timestamp-string)))
(and (<= (org-time-stamp-to-now timestamp-string) ndays)
(not (org-entry-is-done-p))))
org-time-stamp-to-now:
(defun org-time-stamp-to-now (timestamp-string &optional seconds)
"Difference between TIMESTAMP-STRING and now in days.
If SECONDS is non-nil, return the difference in seconds."
(let ((fdiff (if seconds #'float-time #'time-to-days)))
(- (funcall fdiff (org-time-string-to-time timestamp-string))
(funcall fdiff nil))))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sat, 01 May 2021 08:28:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 48133 <at> debbugs.gnu.org (full text, mbox):
> From: Ihor Radchenko <yantar92 <at> gmail.com>
> CC: 48133 <at> debbugs.gnu.org
> Date: Sat, 01 May 2021 16:22:32 +0800
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > So maybe the problem is not in time-date.el, maybe it's elsewhere?
> > Can you show the exact code of the test that fails and how to run it?
>
> I run it by cloning Org mode repo from
> https://code.orgmode.org/bzg/org-mode.git
> and running =make test=
>
> The failing test is test-org/deadline-close-p failing at the first
> should assertion:
Thanks, I hope Andrea will be able to look into this soon.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sat, 01 May 2021 19:36:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> gmail.com> writes:
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>> So maybe the problem is not in time-date.el, maybe it's elsewhere?
>> Can you show the exact code of the test that fails and how to run it?
>
> I run it by cloning Org mode repo from
> https://code.orgmode.org/bzg/org-mode.git
> and running =make test=
Just to confirm I can reproduce this. Will look into it.
Andrea
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 07:19:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> gmail.com> writes:
> I just got the following error trying to run native-compiled time-to-days:
>
> Debugger entered--Lisp error: (wrong-number-of-arguments (lambda (&optional time) (funcall #<subr decode-time> (or time G167))) 3)
> (decode-time (22352 22528) nil nil)
> (time-to-days (22352 22528))
>
> Re-evaluating defun of time-to-days fixes the error.
I'm just taking a stab in the dark here -- but it's really odd that it
seems to say that the signature of `decode-time' is
(&optional time)
Is it possible that the test code is mocking/redefining `decode-time'
with the wrong signature, or something along those lines?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 07:40:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> I'm just taking a stab in the dark here -- but it's really odd that it
> seems to say that the signature of `decode-time' is
>
> (&optional time)
>
> Is it possible that the test code is mocking/redefining `decode-time'
> with the wrong signature, or something along those lines?
Yes, it is the case. `decode-time' is redefined via `cl-letf' form in
`org-test-at-time' macro in org-test.el:
((symbol-function 'decode-time)
(lambda (&optional time) (funcall ,(symbol-function 'decode-time)
(or time ,at))))
Hope it helps.
Best,
Ihor
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 08:02:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> gmail.com> writes:
> Yes, it is the case. `decode-time' is redefined via `cl-letf' form in
> `org-test-at-time' macro in org-test.el:
>
> ((symbol-function 'decode-time)
> (lambda (&optional time) (funcall ,(symbol-function 'decode-time)
> (or time ,at))))
>
> Hope it helps.
Yes, indeed. :-) So this is a bug in the org test harness, I think?
I've added Amin to the CCs.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 08:25:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> Yes, indeed. :-) So this is a bug in the org test harness, I think?
> I've added Amin to the CCs.
While I agree that it is a bug on Org mode side, I am also wondering how
to handle backward-compatibility with older Emacs versions in such cases.
Is there any way to know in which Emacs version the function argument
list was changed?
Best,
Ihor
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 08:28:02 GMT)
Full text and
rfc822 format available.
Message #38 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> gmail.com> writes:
> While I agree that it is a bug on Org mode side, I am also wondering how
> to handle backward-compatibility with older Emacs versions in such cases.
In this case, adding the additional optional arguments won't have an
adverse effect in any Emacs version, I think?
> Is there any way to know in which Emacs version the function argument
> list was changed?
You'd have to ask git.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 08:37:02 GMT)
Full text and
rfc822 format available.
Message #41 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> In this case, adding the additional optional arguments won't have an
> adverse effect in any Emacs version, I think?
Sure. I was thinking about more dramatic changes in argument list. Think
swapped args.
>> Is there any way to know in which Emacs version the function argument
>> list was changed?
>
> You'd have to ask git.
Fair enough. Though I was hoping for something like "Probably introduced
at or before Emacs version 19.29.", but for argument list. Or even
incorporating git changelog for given function into the help buffer.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 08:45:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> gmail.com> writes:
> Sure. I was thinking about more dramatic changes in argument list. Think
> swapped args.
I don't think we ever do things like that a lot. (If ever.)
> Fair enough. Though I was hoping for something like "Probably introduced
> at or before Emacs version 19.29.", but for argument list. Or even
> incorporating git changelog for given function into the help buffer.
No, it's just too much work.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 13:03:02 GMT)
Full text and
rfc822 format available.
Message #47 received at 48133 <at> debbugs.gnu.org (full text, mbox):
> Yes, indeed. :-) So this is a bug in the org test harness, I think?
Just letting know that it is now fixed on Org mode master. This bug
report can be closed.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48133
; Package
emacs
.
(Sun, 02 May 2021 13:05:01 GMT)
Full text and
rfc822 format available.
Message #50 received at 48133 <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> gmail.com> writes:
>> Yes, indeed. :-) So this is a bug in the org test harness, I think?
>
> Just letting know that it is now fixed on Org mode master. This bug
> report can be closed.
OK; closing.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Added tag(s) fixed.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 02 May 2021 13:05:02 GMT)
Full text and
rfc822 format available.
bug marked as fixed in version 28.1, send any further explanations to
48133 <at> debbugs.gnu.org and Ihor Radchenko <yantar92 <at> gmail.com>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 02 May 2021 13:05:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 31 May 2021 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 22 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.