all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#67239: 30.0.50; 30.0.50: Error in nativecomp
@ 2023-11-17 13:13 Imran Khan
  2023-11-17 15:02 ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Imran Khan @ 2023-11-17 13:13 UTC (permalink / raw)
  To: 67239


Hello, I have come across a function that gives error when native
compiled, but works fine when byte compiled.  The issue arose when using
a third-party library (ts-format function in ts.el):

https://github.com/alphapapa/ts.el/blob/master/ts.el

But I have curved out the code so that you hopefully don't need to
install that.

Reproduction under `emacs -Q`:

1. First library "my-time.el" looks like:

```
;;; -*- lexical-binding: t; -*-

(require 'cl-lib)

(cl-defstruct time
  unix)

(defvar time-default-format "%Y-%m-%d %H:%M:%S %z"
  "Default format for `time-format'.")

(defsubst time-format (&optional time-or-format-string time)
  "Format timestamp with `format-time-string'.
If TS-OR-FORMAT-STRING is a timestamp or nil, use the value of
`time-default-format'.  If both TS-OR-FORMAT-STRING and TS are nil,
use the current time."
  (cl-etypecase time-or-format-string
    (time (format-time-string time-default-format (time-unix time-or-format-string)))
    (string (cl-etypecase time
              (time (format-time-string time-or-format-string (time-unix time)))
              (null (format-time-string time-or-format-string))))
    (null (cl-etypecase time
            (time (format-time-string time-default-format (time-unix time)))
            (null (format-time-string time-default-format))))))

(provide 'my-time)
```

2. Then there is my code "my-bug.el":

```
;;; -*- lexical-binding: t -*-

(require 'my-time)

(defun my-bug ()
  (let ((time (make-time :unix (time-convert (current-time) 'integer))))
    ;; (message (time-format time)) ;; one argument works fine
    (message (time-format "%F" time)) ;; but this says: (wrong-type-argument stringp time)
    ))

(provide 'my-bug)
```

3. When both of these are native compiled, doing `M-: (my-bug)` gives:
```
Debugger entered--Lisp error: (wrong-type-argument stringp time)
  my-bug()
  eval-expression((my-bug) nil nil 127)
  funcall-interactively(eval-expression (my-bug) nil nil 127)
  command-execute(eval-expression)
```

4. But if I C-M-x on `my-bug` manually, it works fine.

As far as I can tell, under 29.1 it worked fine under nativecomp too.


In GNU Emacs 30.0.50 (build 1, x86_64-unknown-linux-gnu, cairo version
 1.18.0) of 2023-11-16 built on Alexandria
Windowing system distributor 'The X.Org Foundation', version 11.0.12101009
System Description: Void Linux

Configured using:
 'configure --with-x-toolkit=no --without-toolkit-scroll-bars
 --without-ns --with-xft --without-gconf --without-gsettings --with-zlib
 --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --bindir=/usr/bin
 --mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var
 --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu
 '--libdir=${exec_prefix}/lib64' --with-file-notification=inotify
 --with-modules --with-native-compilation --with-jpeg --with-tiff
 --with-gif --with-png --with-xpm --with-rsvg --with-imagemagick
 --with-json --with-xml2 --with-gnutls --with-sound --with-m17n-flt
 --with-harfbuzz --with-cairo --with-lcms --without-gmp --with-sqlite
 --with-xinput2 --with-webp --with-tree_sitter 'CFLAGS=-fno-PIE
 -mtune=generic -O2 -pipe
 -ffile-prefix-map=/builddir/emacs-nativecomp-30.0.50=.' 'CPPFLAGS= '
 'LDFLAGS=-no-pie -Wl,--as-needed ''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ IMAGEMAGICK JPEG
JSON LCMS2 LIBOTF LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY
OLDXMENU PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TREE_SITTER
WEBP X11 XDBE XIM XINPUT2 XPM ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LC_COLLATE: en_US.UTF-8
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  auto-compile-on-save-mode: t
  goggles-mode: t
  windmove-mode: t
  doom-modeline-mode: t
  server-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  vertico-prescient-mode: t
  prescient-persist-mode: t
  marginalia-mode: t
  vertico-mode: t
  display-time-mode: t
  savehist-mode: t
  recentf-mode: t
  save-place-mode: t
  delete-selection-mode: t
  minibuffer-depth-indicate-mode: t
  override-global-mode: t
  el-patch-use-package-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/natrys/.emacs.d/lisp/whisper.el/whisper hides /home/natrys/.emacs.d/lisp/whisper
/home/natrys/.emacs.d/elpa/emacsql-sqlite-builtin-20230409.1847/emacsql-sqlite-builtin hides /home/natrys/.emacs.d/elpa/emacsql-20230417.1448/emacsql-sqlite-builtin
/home/natrys/.emacs.d/elpa/emacsql-sqlite-20230225.2205/emacsql-sqlite hides /home/natrys/.emacs.d/elpa/emacsql-20230417.1448/emacsql-sqlite
/home/natrys/.emacs.d/elpa/transient-20231112.923/transient hides /usr/share/emacs/30.0.50/lisp/transient
/home/natrys/.emacs.d/elpa/ef-themes-1.4.0/theme-loaddefs hides /usr/share/emacs/30.0.50/lisp/theme-loaddefs
/home/natrys/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /usr/share/emacs/30.0.50/lisp/bind-key
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-protocol hides /usr/share/emacs/30.0.50/lisp/org/org-protocol
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-plantuml hides /usr/share/emacs/30.0.50/lisp/org/ob-plantuml
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-python hides /usr/share/emacs/30.0.50/lisp/org/ob-python
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-loaddefs hides /usr/share/emacs/30.0.50/lisp/org/org-loaddefs
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-emacs-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-attach hides /usr/share/emacs/30.0.50/lisp/org/org-attach
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-src hides /usr/share/emacs/30.0.50/lisp/org/org-src
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-org hides /usr/share/emacs/30.0.50/lisp/org/ob-org
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-persist hides /usr/share/emacs/30.0.50/lisp/org/org-persist
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-processing hides /usr/share/emacs/30.0.50/lisp/org/ob-processing
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-mobile hides /usr/share/emacs/30.0.50/lisp/org/org-mobile
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-js hides /usr/share/emacs/30.0.50/lisp/org/ob-js
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-ref hides /usr/share/emacs/30.0.50/lisp/org/ob-ref
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-org hides /usr/share/emacs/30.0.50/lisp/org/ox-org
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-plot hides /usr/share/emacs/30.0.50/lisp/org/org-plot
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-R hides /usr/share/emacs/30.0.50/lisp/org/ob-R
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-octave hides /usr/share/emacs/30.0.50/lisp/org/ob-octave
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-pcomplete hides /usr/share/emacs/30.0.50/lisp/org/org-pcomplete
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-compat hides /usr/share/emacs/30.0.50/lisp/org/org-compat
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-lilypond hides /usr/share/emacs/30.0.50/lisp/org/ob-lilypond
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-java hides /usr/share/emacs/30.0.50/lisp/org/ob-java
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-exp hides /usr/share/emacs/30.0.50/lisp/org/ob-exp
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox hides /usr/share/emacs/30.0.50/lisp/org/ox
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-icalendar hides /usr/share/emacs/30.0.50/lisp/org/ox-icalendar
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-rmail hides /usr/share/emacs/30.0.50/lisp/org/ol-rmail
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-publish hides /usr/share/emacs/30.0.50/lisp/org/ox-publish
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-latex hides /usr/share/emacs/30.0.50/lisp/org/ox-latex
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-cycle hides /usr/share/emacs/30.0.50/lisp/org/org-cycle
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-info hides /usr/share/emacs/30.0.50/lisp/org/ol-info
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-macro hides /usr/share/emacs/30.0.50/lisp/org/org-macro
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-colview hides /usr/share/emacs/30.0.50/lisp/org/org-colview
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-capture hides /usr/share/emacs/30.0.50/lisp/org/org-capture
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-texinfo hides /usr/share/emacs/30.0.50/lisp/org/ox-texinfo
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-entities hides /usr/share/emacs/30.0.50/lisp/org/org-entities
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-html hides /usr/share/emacs/30.0.50/lisp/org/ox-html
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-table hides /usr/share/emacs/30.0.50/lisp/org/org-table
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-makefile hides /usr/share/emacs/30.0.50/lisp/org/ob-makefile
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-element hides /usr/share/emacs/30.0.50/lisp/org/org-element
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-man hides /usr/share/emacs/30.0.50/lisp/org/ox-man
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-sql hides /usr/share/emacs/30.0.50/lisp/org/ob-sql
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-man hides /usr/share/emacs/30.0.50/lisp/org/ol-man
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-lob hides /usr/share/emacs/30.0.50/lisp/org/ob-lob
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-goto hides /usr/share/emacs/30.0.50/lisp/org/org-goto
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-eshell hides /usr/share/emacs/30.0.50/lisp/org/ol-eshell
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-id hides /usr/share/emacs/30.0.50/lisp/org/org-id
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-keys hides /usr/share/emacs/30.0.50/lisp/org/org-keys
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-bibtex hides /usr/share/emacs/30.0.50/lisp/org/ol-bibtex
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob hides /usr/share/emacs/30.0.50/lisp/org/ob
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-eval hides /usr/share/emacs/30.0.50/lisp/org/ob-eval
/home/natrys/.emacs.d/elpa/org-mode/lisp/oc-natbib hides /usr/share/emacs/30.0.50/lisp/org/oc-natbib
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-ocaml hides /usr/share/emacs/30.0.50/lisp/org/ob-ocaml
/home/natrys/.emacs.d/elpa/org-mode/lisp/oc-bibtex hides /usr/share/emacs/30.0.50/lisp/org/oc-bibtex
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-version hides /usr/share/emacs/30.0.50/lisp/org/org-version
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-css hides /usr/share/emacs/30.0.50/lisp/org/ob-css
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-groovy hides /usr/share/emacs/30.0.50/lisp/org/ob-groovy
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-gnuplot hides /usr/share/emacs/30.0.50/lisp/org/ob-gnuplot
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-haskell hides /usr/share/emacs/30.0.50/lisp/org/ob-haskell
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-datetree hides /usr/share/emacs/30.0.50/lisp/org/org-datetree
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-inlinetask hides /usr/share/emacs/30.0.50/lisp/org/org-inlinetask
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-md hides /usr/share/emacs/30.0.50/lisp/org/ox-md
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-sed hides /usr/share/emacs/30.0.50/lisp/org/ob-sed
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-eshell hides /usr/share/emacs/30.0.50/lisp/org/ob-eshell
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-macs hides /usr/share/emacs/30.0.50/lisp/org/org-macs
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-bbdb hides /usr/share/emacs/30.0.50/lisp/org/ol-bbdb
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-mouse hides /usr/share/emacs/30.0.50/lisp/org/org-mouse
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-koma-letter hides /usr/share/emacs/30.0.50/lisp/org/ox-koma-letter
/home/natrys/.emacs.d/elpa/org-mode/lisp/oc-biblatex hides /usr/share/emacs/30.0.50/lisp/org/oc-biblatex
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-agenda hides /usr/share/emacs/30.0.50/lisp/org/org-agenda
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-habit hides /usr/share/emacs/30.0.50/lisp/org/org-habit
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-shell hides /usr/share/emacs/30.0.50/lisp/org/ob-shell
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-dot hides /usr/share/emacs/30.0.50/lisp/org/ob-dot
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-maxima hides /usr/share/emacs/30.0.50/lisp/org/ob-maxima
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-duration hides /usr/share/emacs/30.0.50/lisp/org/org-duration
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-feed hides /usr/share/emacs/30.0.50/lisp/org/org-feed
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-odt hides /usr/share/emacs/30.0.50/lisp/org/ox-odt
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-calc hides /usr/share/emacs/30.0.50/lisp/org/ob-calc
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-indent hides /usr/share/emacs/30.0.50/lisp/org/org-indent
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-sqlite hides /usr/share/emacs/30.0.50/lisp/org/ob-sqlite
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-screen hides /usr/share/emacs/30.0.50/lisp/org/ob-screen
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-perl hides /usr/share/emacs/30.0.50/lisp/org/ob-perl
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-w3m hides /usr/share/emacs/30.0.50/lisp/org/ol-w3m
/home/natrys/.emacs.d/elpa/org-mode/lisp/oc-csl hides /usr/share/emacs/30.0.50/lisp/org/oc-csl
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-footnote hides /usr/share/emacs/30.0.50/lisp/org/org-footnote
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol hides /usr/share/emacs/30.0.50/lisp/org/ol
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-attach-git hides /usr/share/emacs/30.0.50/lisp/org/org-attach-git
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-doi hides /usr/share/emacs/30.0.50/lisp/org/ol-doi
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-lua hides /usr/share/emacs/30.0.50/lisp/org/ob-lua
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-awk hides /usr/share/emacs/30.0.50/lisp/org/ob-awk
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-timer hides /usr/share/emacs/30.0.50/lisp/org/org-timer
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-fold-core hides /usr/share/emacs/30.0.50/lisp/org/org-fold-core
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-C hides /usr/share/emacs/30.0.50/lisp/org/ob-C
/home/natrys/.emacs.d/elpa/org-mode/lisp/oc-basic hides /usr/share/emacs/30.0.50/lisp/org/oc-basic
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-comint hides /usr/share/emacs/30.0.50/lisp/org/ob-comint
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-matlab hides /usr/share/emacs/30.0.50/lisp/org/ob-matlab
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-eww hides /usr/share/emacs/30.0.50/lisp/org/ol-eww
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-latex hides /usr/share/emacs/30.0.50/lisp/org/ob-latex
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-scheme hides /usr/share/emacs/30.0.50/lisp/org/ob-scheme
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-julia hides /usr/share/emacs/30.0.50/lisp/org/ob-julia
/home/natrys/.emacs.d/elpa/org-mode/lisp/oc hides /usr/share/emacs/30.0.50/lisp/org/oc
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-clock hides /usr/share/emacs/30.0.50/lisp/org/org-clock
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-gnus hides /usr/share/emacs/30.0.50/lisp/org/ol-gnus
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-mhe hides /usr/share/emacs/30.0.50/lisp/org/ol-mhe
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-tangle hides /usr/share/emacs/30.0.50/lisp/org/ob-tangle
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-sass hides /usr/share/emacs/30.0.50/lisp/org/ob-sass
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-irc hides /usr/share/emacs/30.0.50/lisp/org/ol-irc
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-clojure hides /usr/share/emacs/30.0.50/lisp/org/ob-clojure
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-lisp
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-lint hides /usr/share/emacs/30.0.50/lisp/org/org-lint
/home/natrys/.emacs.d/elpa/org-mode/lisp/ol-docview hides /usr/share/emacs/30.0.50/lisp/org/ol-docview
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-archive hides /usr/share/emacs/30.0.50/lisp/org/org-archive
/home/natrys/.emacs.d/elpa/org-mode/lisp/org hides /usr/share/emacs/30.0.50/lisp/org/org
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-core hides /usr/share/emacs/30.0.50/lisp/org/ob-core
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-tempo hides /usr/share/emacs/30.0.50/lisp/org/org-tempo
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-table hides /usr/share/emacs/30.0.50/lisp/org/ob-table
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-beamer hides /usr/share/emacs/30.0.50/lisp/org/ox-beamer
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-crypt hides /usr/share/emacs/30.0.50/lisp/org/org-crypt
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-forth hides /usr/share/emacs/30.0.50/lisp/org/ob-forth
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-list hides /usr/share/emacs/30.0.50/lisp/org/org-list
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-fortran hides /usr/share/emacs/30.0.50/lisp/org/ob-fortran
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-ctags hides /usr/share/emacs/30.0.50/lisp/org/org-ctags
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-ditaa hides /usr/share/emacs/30.0.50/lisp/org/ob-ditaa
/home/natrys/.emacs.d/elpa/org-mode/lisp/ox-ascii hides /usr/share/emacs/30.0.50/lisp/org/ox-ascii
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-fold hides /usr/share/emacs/30.0.50/lisp/org/org-fold
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-faces hides /usr/share/emacs/30.0.50/lisp/org/org-faces
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-refile hides /usr/share/emacs/30.0.50/lisp/org/org-refile
/home/natrys/.emacs.d/elpa/org-mode/lisp/ob-ruby hides /usr/share/emacs/30.0.50/lisp/org/ob-ruby
/home/natrys/.emacs.d/elpa/org-mode/lisp/org-num hides /usr/share/emacs/30.0.50/lisp/org/org-num

Features:
(shadow emacsbug sort mail-extr my-time consult-imenu imenu my-person
dired-aux iedit iedit-lib mc-hide-unmatched-lines-mode mc-mark-more
mc-cycle-cursors multiple-cursors-core rect my-bug easy-kill macrostep
tramp-cmds link-hint shortdoc embark-org embark-consult embark ffap
ace-window avy misearch multi-isearch help-fns radix-tree cl-print debug
backtrace cursor-sensor my-orderless orderless my-test smerge-mode diff
shr-color textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check auto-compile mule-util aio ol-notmuch notmuch notmuch-tree
notmuch-jump notmuch-hello notmuch-show notmuch-print notmuch-crypto
notmuch-mua notmuch-message notmuch-draft notmuch-maildir-fcc
notmuch-address notmuch-company notmuch-parser notmuch-wash coolj
goto-addr icalendar diary-lib diary-loaddefs notmuch-tag notmuch-lib
notmuch-compat org-ql-search goggles find-file-in-project ido windmove
find-lisp find-file doom-modeline doom-modeline-segments
doom-modeline-env doom-modeline-core shrink-path nerd-icons
nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon
nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon
nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon
nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon my-bookmark-mode
my-reckoning init server org-superstar oc-basic disp-table ol-eww eww
url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr
pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start
gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec
gnus-int gnus-range gnus-win gnus nnheader range ol-docview doc-view
filenotify jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m
ol-doi org-link-doi bookmark-view mixed-pitch vc-git diff-mode
vc-dispatcher raku-detect my-diary-mode beframe org-ql-view ov
org-super-agenda ht crm my-notification lin hl-line face-remap pulsar
pulse message sendmail yank-media puny dired dired-loaddefs rfc822 mml
mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader crux tramp
trampver tramp-integration files-x tramp-message tramp-compat shell
parse-time iso8601 tramp-loaddefs vertico-prescient prescient char-fold
finder-inf consult marginalia vertico-directory vertico time treesit
diminish savehist recentf tree-widget saveplace delsel comp comp-cstr
warnings mb-depth org-expiry elec-pair my-functions project alert log4e
notifications dbus compile comp-run comp-common xml gntp org-ql peg ts
org-habit org-agenda org-duration org-capture expand-region
text-mode-expansions the-org-mode-expansions org-element org-persist xdg
org-id org-refile avl-tree generator er-basic-expansions thingatpt
expand-region-core expand-region-custom re-builder bookmark
text-property-search color f f-shortdoc dash s org ob ob-tangle ob-ref
ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete
pcomplete comint ansi-osc ansi-color org-list org-footnote org-faces
org-entities time-date noutline outline ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol rx org-fold org-fold-core org-keys oc
org-loaddefs advice find-func cal-menu calendar cal-loaddefs org-version
org-compat org-macs pcase modus-operandi-theme modus-themes cus-edit pp
cus-load icons wid-edit use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode use-package-core package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source
password-cache json map url-vars info ace-popup-menu-autoloads
age-autoloads all-the-icons-autoloads anaphora-autoloads
anki-editor-autoloads anki-mode-autoloads apprentice-autoloads
auctex-autoloads tex-site auto-compile-autoloads avy-menu-autoloads
beframe-autoloads bind-key-autoloads bison-mode-autoloads
blimp-autoloads bookmark-view-autoloads boxes-autoloads bufler-autoloads
burly-autoloads buttercup-autoloads cape-autoloads cargo-autoloads
cheat-sh-autoloads cider-autoloads clojure-mode-autoloads
combobulate-autoloads consult-dir-autoloads consult-lsp-autoloads
consult-org-roam-autoloads consult-project-extra-autoloads
consult-recoll-autoloads consult-todo-autoloads
corfu-prescient-autoloads corfu-autoloads crdt-autoloads crux-autoloads
crystal-mode-autoloads csv-mode-autoloads d2-mode-autoloads
darkroom-autoloads db-autoloads deadgrep-autoloads devdocs-autoloads
dhall-mode-autoloads difftastic-autoloads diminish-autoloads
dired-filter-autoloads dired-hacks-utils-autoloads
dockerfile-mode-autoloads doom-modeline-autoloads doom-themes-autoloads
dtrt-indent-autoloads dumb-jump-autoloads easy-hugo-autoloads
easy-kill-autoloads ediprolog-autoloads editorconfig-autoloads
ef-themes-autoloads eimp-autoloads el-fetch-autoloads el-patch-autoloads
el-patch subr-x el-patch-stub eldoc-box-autoloads elisp-lint-autoloads
elixir-mode-autoloads emacsql-sqlite-autoloads
emacsql-sqlite-builtin-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads emmet-mode-autoloads enlive-autoloads
ess-autoloads exercism-autoloads async-await-autoloads a-autoloads
expand-region-autoloads expreg-autoloads fennel-mode-autoloads
find-file-in-project-autoloads flutter-autoloads
font-lock-studio-autoloads forge-autoloads closql-autoloads
fussy-autoloads flx-autoloads ghub-autoloads gnuplot-mode-autoloads
go-mode-autoloads goggles-autoloads gptel-autoloads
graphql-ts-mode-autoloads graphviz-dot-mode-autoloads hammy-autoloads
haskell-mode-autoloads helpful-autoloads elisp-refs-autoloads
hindent-autoloads hl-todo-autoloads hledger-mode-autoloads
htmlize-autoloads humanoid-themes-autoloads hy-mode-autoloads
hyperbole-autoloads idris-mode-autoloads iedit-autoloads
inf-elixir-autoloads isearch-light-autoloads iter2-autoloads
janet-mode-autoloads jinx-autoloads jq-ts-mode-autoloads
js2-refactor-autoloads json-process-client-autoloads
julia-snail-autoloads julia-ts-mode-autoloads julia-mode-autoloads
jupyter-autoloads kbd-mode-autoloads kotlin-mode-autoloads
kotlin-ts-mode-autoloads kubernetes-autoloads
language-detection-autoloads ledger-mode-autoloads leetcode-autoloads
aio-autoloads graphql-autoloads lexic-autoloads
license-templates-autoloads ligature-autoloads lin-autoloads
lingva-autoloads link-hint-autoloads lively-autoloads
load-env-vars-autoloads lorem-ipsum-autoloads lsp-dart-autoloads
dart-mode-autoloads dap-mode-autoloads bui-autoloads
lsp-docker-autoloads lsp-pyright-autoloads lsp-treemacs-autoloads
lsp-ui-autoloads lsp-mode-autoloads lua-mode-autoloads
macrostep-autoloads magit-delta-autoloads magit-autoloads
git-commit-autoloads magit-popup-autoloads marginalia-autoloads
markdown-mode-autoloads mastodon-autoloads math-symbol-lists-autoloads
mbe-autoloads meow-autoloads mermaid-mode-autoloads
mindre-theme-autoloads minions-autoloads minizinc-mode-autoloads
mix-autoloads mixed-pitch-autoloads monroe-autoloads mpdel-autoloads
libmpdel-autoloads multiple-cursors-autoloads mw-thesaurus-autoloads
nano-theme-autoloads nasm-mode-autoloads navigel-autoloads
nerd-icons-autoloads nim-mode-autoloads flycheck-nimsuggest-autoloads
commenter-autoloads epc-autoloads ctable-autoloads concurrent-autoloads
deferred-autoloads nix-mode-autoloads nix-ts-mode-autoloads
nov-autoloads esxml-autoloads kv-autoloads ob-asymptote-autoloads
ob-elixir-autoloads ob-go-autoloads ob-p5js-autoloads ob-raku-autoloads
ob-redis-autoloads ob-restclient-autoloads ob-rust-autoloads
ob-sql-mode-autoloads ocaml-ts-mode-autoloads ol-notmuch-autoloads
notmuch-autoloads olivetti-autoloads omnisharp-autoloads
auto-complete-autoloads orderless-autoloads org-alert-autoloads
org-brain-autoloads org-clock-convenience-autoloads org-drill-autoloads
org-fc-autoloads org-id-cleanup-autoloads org-kanban-autoloads
org-noter-autoloads org-pomodoro-autoloads org-roam-autoloads
magit-section-autoloads emacsql-autoloads org-superstar-autoloads
org-timeblock-autoloads org-ql-autoloads org-super-agenda-autoloads
org-transclusion-autoloads org-wild-notifier-autoloads async-autoloads
ov-autoloads ox-json-autoloads ox-reveal-autoloads
package-lint-autoloads packed-autoloads parsec-autoloads
parseedn-autoloads parseclj-autoloads pcre2el-autoloads
pdf-tools-autoloads peg-autoloads persist-autoloads pest-mode-autoloads
php-mode-autoloads pikchr-mode-autoloads plantuml-mode-autoloads
pomm-autoloads alert-autoloads log4e-autoloads gntp-autoloads
popper-autoloads popup-autoloads powershell-autoloads
powerthesaurus-autoloads transient format-spec edmacro kmacro eieio
byte-opt bytecomp byte-compile eieio-core cl-macs gv compat cl-extra
help-mode cl-seq hydra ring lv cl-loaddefs cl-lib jeison-autoloads
pretty-hydra-autoloads projection-autoloads promise-autoloads
prop-menu-autoloads psci-autoloads pueue-autoloads
purescript-mode-autoloads py-snippets-autoloads pyvenv-autoloads
q-mode-autoloads quickrun-autoloads racket-mode-autoloads
rainbow-mode-autoloads raku-mode-autoloads restclient-autoloads
rjsx-mode-autoloads rust-mode-autoloads sandcastle-theme-autoloads
scss-mode-autoloads sesman-autoloads shift-number-autoloads
shrink-path-autoloads skewer-reload-stylesheets-autoloads
skewer-mode-autoloads js2-mode-autoloads simple-httpd-autoloads
sly-autoloads smartparens-autoloads sml-mode-autoloads
spacious-padding-autoloads spell-fu-autoloads spray-autoloads
sql-indent-autoloads sqlup-mode-autoloads standard-themes-autoloads
suggest-autoloads spinner-autoloads f-autoloads loop-autoloads
svelte-mode-autoloads svg-tag-mode-autoloads svg-lib-autoloads
sxhkdrc-mode-autoloads symbol-overlay-autoloads systemd-autoloads
tablist-autoloads tempel-collection-autoloads tempel-autoloads
terraform-mode-autoloads hcl-mode-autoloads tide-autoloads
flycheck-autoloads pkg-info-autoloads epl-autoloads tmr-autoloads
tmux-mode-autoloads togetherly-autoloads transient-autoloads
transpose-frame-autoloads treemacs-projectile-autoloads
treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads
hydra-autoloads lv-autoloads pfuture-autoloads projectile-autoloads
treepy-autoloads ts-autoloads s-autoloads dash-autoloads tsc-autoloads
typescript-mode-autoloads undo-tree-autoloads queue-autoloads
utop-autoloads tuareg-autoloads caml-autoloads verb-autoloads
vertico-prescient-autoloads vertico-autoloads prescient-autoloads
vimrc-mode-autoloads vimscript-ts-mode-autoloads
visual-regexp-steroids-autoloads visual-regexp-autoloads vterm-autoloads
wat-ts-mode-autoloads web-mode-autoloads webpaste-autoloads
request-autoloads websocket-autoloads wgrep-autoloads
which-key-autoloads with-editor-autoloads compat-autoloads
writeroom-mode-autoloads visual-fill-column-autoloads xr-autoloads
xterm-color-autoloads yaml-autoloads yaml-mode-autoloads
yankpad-autoloads yasnippet-capf-autoloads yasnippet-snippets-autoloads
yasnippet-autoloads yuck-mode-autoloads zetteldeft-autoloads
ace-window-autoloads avy-autoloads deft-autoloads zig-mode-autoloads
reformatter-autoloads zmq-autoloads zop-to-char-autoloads early-init rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode
register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting font-render-setting cairo
xinput2 x multi-tty move-toolbar make-network-process native-compile
emacs)

Memory information:
((conses 16 1117627 918671) (symbols 48 49623 8)
 (strings 32 265804 64532) (string-bytes 1 8623017)
 (vectors 16 110125) (vector-slots 8 2664039 929934)
 (floats 8 1241 8129) (intervals 56 5726 8665) (buffers 992 39))





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67239: 30.0.50; 30.0.50: Error in nativecomp
  2023-11-17 13:13 bug#67239: 30.0.50; 30.0.50: Error in nativecomp Imran Khan
@ 2023-11-17 15:02 ` Eli Zaretskii
  2023-11-17 20:50   ` Andrea Corallo
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2023-11-17 15:02 UTC (permalink / raw)
  To: Imran Khan, acorallo; +Cc: 67239

> From: Imran Khan <contact@imrankhan.live>
> Date: Fri, 17 Nov 2023 19:13:46 +0600
> 
> 
> Hello, I have come across a function that gives error when native
> compiled, but works fine when byte compiled.  The issue arose when using
> a third-party library (ts-format function in ts.el):
> 
> https://github.com/alphapapa/ts.el/blob/master/ts.el
> 
> But I have curved out the code so that you hopefully don't need to
> install that.
> 
> Reproduction under `emacs -Q`:
> 
> 1. First library "my-time.el" looks like:
> 
> ```
> ;;; -*- lexical-binding: t; -*-
> 
> (require 'cl-lib)
> 
> (cl-defstruct time
>   unix)
> 
> (defvar time-default-format "%Y-%m-%d %H:%M:%S %z"
>   "Default format for `time-format'.")
> 
> (defsubst time-format (&optional time-or-format-string time)
>   "Format timestamp with `format-time-string'.
> If TS-OR-FORMAT-STRING is a timestamp or nil, use the value of
> `time-default-format'.  If both TS-OR-FORMAT-STRING and TS are nil,
> use the current time."
>   (cl-etypecase time-or-format-string
>     (time (format-time-string time-default-format (time-unix time-or-format-string)))
>     (string (cl-etypecase time
>               (time (format-time-string time-or-format-string (time-unix time)))
>               (null (format-time-string time-or-format-string))))
>     (null (cl-etypecase time
>             (time (format-time-string time-default-format (time-unix time)))
>             (null (format-time-string time-default-format))))))
> 
> (provide 'my-time)
> ```
> 
> 2. Then there is my code "my-bug.el":
> 
> ```
> ;;; -*- lexical-binding: t -*-
> 
> (require 'my-time)
> 
> (defun my-bug ()
>   (let ((time (make-time :unix (time-convert (current-time) 'integer))))
>     ;; (message (time-format time)) ;; one argument works fine
>     (message (time-format "%F" time)) ;; but this says: (wrong-type-argument stringp time)
>     ))
> 
> (provide 'my-bug)
> ```
> 
> 3. When both of these are native compiled, doing `M-: (my-bug)` gives:
> ```
> Debugger entered--Lisp error: (wrong-type-argument stringp time)
>   my-bug()
>   eval-expression((my-bug) nil nil 127)
>   funcall-interactively(eval-expression (my-bug) nil nil 127)
>   command-execute(eval-expression)
> ```
> 
> 4. But if I C-M-x on `my-bug` manually, it works fine.
> 
> As far as I can tell, under 29.1 it worked fine under nativecomp too.

Adding Andrea to the discussion.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67239: 30.0.50; 30.0.50: Error in nativecomp
  2023-11-17 15:02 ` Eli Zaretskii
@ 2023-11-17 20:50   ` Andrea Corallo
  2023-12-02  9:44     ` Andrea Corallo
  0 siblings, 1 reply; 7+ messages in thread
From: Andrea Corallo @ 2023-11-17 20:50 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67239, Imran Khan

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Imran Khan <contact@imrankhan.live>
>> Date: Fri, 17 Nov 2023 19:13:46 +0600
>> 
>> 
>> Hello, I have come across a function that gives error when native
>> compiled, but works fine when byte compiled.  The issue arose when using
>> a third-party library (ts-format function in ts.el):
>> 
>> https://github.com/alphapapa/ts.el/blob/master/ts.el
>> 
>> But I have curved out the code so that you hopefully don't need to
>> install that.
>> 
>> Reproduction under `emacs -Q`:
>> 
>> 1. First library "my-time.el" looks like:
>> 
>> ```
>> ;;; -*- lexical-binding: t; -*-
>> 
>> (require 'cl-lib)
>> 
>> (cl-defstruct time
>>   unix)
>> 
>> (defvar time-default-format "%Y-%m-%d %H:%M:%S %z"
>>   "Default format for `time-format'.")
>> 
>> (defsubst time-format (&optional time-or-format-string time)
>>   "Format timestamp with `format-time-string'.
>> If TS-OR-FORMAT-STRING is a timestamp or nil, use the value of
>> `time-default-format'.  If both TS-OR-FORMAT-STRING and TS are nil,
>> use the current time."
>>   (cl-etypecase time-or-format-string
>>     (time (format-time-string time-default-format (time-unix time-or-format-string)))
>>     (string (cl-etypecase time
>>               (time (format-time-string time-or-format-string (time-unix time)))
>>               (null (format-time-string time-or-format-string))))
>>     (null (cl-etypecase time
>>             (time (format-time-string time-default-format (time-unix time)))
>>             (null (format-time-string time-default-format))))))
>> 
>> (provide 'my-time)
>> ```
>> 
>> 2. Then there is my code "my-bug.el":
>> 
>> ```
>> ;;; -*- lexical-binding: t -*-
>> 
>> (require 'my-time)
>> 
>> (defun my-bug ()
>>   (let ((time (make-time :unix (time-convert (current-time) 'integer))))
>>     ;; (message (time-format time)) ;; one argument works fine
>>     (message (time-format "%F" time)) ;; but this says: (wrong-type-argument stringp time)
>>     ))
>> 
>> (provide 'my-bug)
>> ```
>> 
>> 3. When both of these are native compiled, doing `M-: (my-bug)` gives:
>> ```
>> Debugger entered--Lisp error: (wrong-type-argument stringp time)
>>   my-bug()
>>   eval-expression((my-bug) nil nil 127)
>>   funcall-interactively(eval-expression (my-bug) nil nil 127)
>>   command-execute(eval-expression)
>> ```
>> 
>> 4. But if I C-M-x on `my-bug` manually, it works fine.
>> 
>> As far as I can tell, under 29.1 it worked fine under nativecomp too.
>
> Adding Andrea to the discussion.

Thanks will look at.

  Andrea





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67239: 30.0.50; 30.0.50: Error in nativecomp
  2023-11-17 20:50   ` Andrea Corallo
@ 2023-12-02  9:44     ` Andrea Corallo
  2023-12-04 20:00       ` Andrea Corallo
  0 siblings, 1 reply; 7+ messages in thread
From: Andrea Corallo @ 2023-12-02  9:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67239, Imran Khan

Andrea Corallo <acorallo@gnu.org> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Imran Khan <contact@imrankhan.live>
>>> Date: Fri, 17 Nov 2023 19:13:46 +0600
>>> 
>>> 
>>> Hello, I have come across a function that gives error when native
>>> compiled, but works fine when byte compiled.  The issue arose when using
>>> a third-party library (ts-format function in ts.el):
>>> 
>>> https://github.com/alphapapa/ts.el/blob/master/ts.el
>>> 
>>> But I have curved out the code so that you hopefully don't need to
>>> install that.
>>> 
>>> Reproduction under `emacs -Q`:
>>> 
>>> 1. First library "my-time.el" looks like:
>>> 
>>> ```
>>> ;;; -*- lexical-binding: t; -*-
>>> 
>>> (require 'cl-lib)
>>> 
>>> (cl-defstruct time
>>>   unix)
>>> 
>>> (defvar time-default-format "%Y-%m-%d %H:%M:%S %z"
>>>   "Default format for `time-format'.")
>>> 
>>> (defsubst time-format (&optional time-or-format-string time)
>>>   "Format timestamp with `format-time-string'.
>>> If TS-OR-FORMAT-STRING is a timestamp or nil, use the value of
>>> `time-default-format'.  If both TS-OR-FORMAT-STRING and TS are nil,
>>> use the current time."
>>>   (cl-etypecase time-or-format-string
>>>     (time (format-time-string time-default-format (time-unix time-or-format-string)))
>>>     (string (cl-etypecase time
>>>               (time (format-time-string time-or-format-string (time-unix time)))
>>>               (null (format-time-string time-or-format-string))))
>>>     (null (cl-etypecase time
>>>             (time (format-time-string time-default-format (time-unix time)))
>>>             (null (format-time-string time-default-format))))))
>>> 
>>> (provide 'my-time)
>>> ```
>>> 
>>> 2. Then there is my code "my-bug.el":
>>> 
>>> ```
>>> ;;; -*- lexical-binding: t -*-
>>> 
>>> (require 'my-time)
>>> 
>>> (defun my-bug ()
>>>   (let ((time (make-time :unix (time-convert (current-time) 'integer))))
>>>     ;; (message (time-format time)) ;; one argument works fine
>>>     (message (time-format "%F" time)) ;; but this says: (wrong-type-argument stringp time)
>>>     ))
>>> 
>>> (provide 'my-bug)
>>> ```
>>> 
>>> 3. When both of these are native compiled, doing `M-: (my-bug)` gives:
>>> ```
>>> Debugger entered--Lisp error: (wrong-type-argument stringp time)
>>>   my-bug()
>>>   eval-expression((my-bug) nil nil 127)
>>>   funcall-interactively(eval-expression (my-bug) nil nil 127)
>>>   command-execute(eval-expression)
>>> ```
>>> 
>>> 4. But if I C-M-x on `my-bug` manually, it works fine.
>>> 
>>> As far as I can tell, under 29.1 it worked fine under nativecomp too.
>>
>> Adding Andrea to the discussion.
>
> Thanks will look at.
>
>   Andrea

Quick update, didn't had much time and wans't trivial but I've a fix
that is under test.  I'll be pushing it when done.

Thanks

  Andrea





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67239: 30.0.50; 30.0.50: Error in nativecomp
  2023-12-02  9:44     ` Andrea Corallo
@ 2023-12-04 20:00       ` Andrea Corallo
  2023-12-04 21:30         ` Imran Khan
  0 siblings, 1 reply; 7+ messages in thread
From: Andrea Corallo @ 2023-12-04 20:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67239, Imran Khan

Okay,

f5e45247081 fix the issue on the testcase I further reduced (and adds
the test itself to our testsuite).

Imran would you mind checking it solves for you?

Thanks

  Andrea





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67239: 30.0.50; 30.0.50: Error in nativecomp
  2023-12-04 20:00       ` Andrea Corallo
@ 2023-12-04 21:30         ` Imran Khan
  2023-12-05  3:25           ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Imran Khan @ 2023-12-04 21:30 UTC (permalink / raw)
  To: Andrea Corallo, Eli Zaretskii; +Cc: 67239

Andrea Corallo <acorallo@gnu.org> writes:

> Okay,
>
> f5e45247081 fix the issue on the testcase I further reduced (and adds
> the test itself to our testsuite).
>
> Imran would you mind checking it solves for you?
>
> Thanks
>
>   Andrea

Yep, f5e45247081 fixed it for me too, including the original interface
code to the 3rd party library.  Thank you for your time and effort
Andrea, your brilliant work is appreciated as always.

I think Eli can close this one.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67239: 30.0.50; 30.0.50: Error in nativecomp
  2023-12-04 21:30         ` Imran Khan
@ 2023-12-05  3:25           ` Eli Zaretskii
  0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2023-12-05  3:25 UTC (permalink / raw)
  To: Imran Khan; +Cc: 67239-done, acorallo

> From: Imran Khan <contact@imrankhan.live>
> Cc: 67239@debbugs.gnu.org
> Date: Tue, 05 Dec 2023 03:30:49 +0600
> 
> Andrea Corallo <acorallo@gnu.org> writes:
> 
> > Imran would you mind checking it solves for you?
> >
> > Thanks
> >
> >   Andrea
> 
> Yep, f5e45247081 fixed it for me too, including the original interface
> code to the 3rd party library.  Thank you for your time and effort
> Andrea, your brilliant work is appreciated as always.
> 
> I think Eli can close this one.

Done.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-12-05  3:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-17 13:13 bug#67239: 30.0.50; 30.0.50: Error in nativecomp Imran Khan
2023-11-17 15:02 ` Eli Zaretskii
2023-11-17 20:50   ` Andrea Corallo
2023-12-02  9:44     ` Andrea Corallo
2023-12-04 20:00       ` Andrea Corallo
2023-12-04 21:30         ` Imran Khan
2023-12-05  3:25           ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.