* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
@ 2021-10-11 22:37 Robert Irelan
2021-10-12 2:30 ` Michael Heerdegen
0 siblings, 1 reply; 12+ messages in thread
From: Robert Irelan @ 2021-10-11 22:37 UTC (permalink / raw)
To: 51140
With native compilation, cl-letf appears not to work with
process-exit-status (and perhaps other builtin functions).
Specifically, when I add the following advice
(defun +ivy--always-return-zero-exit-code-a (fn &rest args)
(cl-letf* (((symbol-function 'process-exit-status-orig)
(symbol-function 'process-exit-status))
((symbol-function 'process-exit-status)
(lambda (_proc)
(let ((code (process-exit-status-orig proc)))
(if (= code 2) 0 code)))))
(apply fn args)))
(advice-add #'counsel-rg :around #'+ivy--always-return-zero-exit-code-a)
I see the following error whenever I run counsel-rg
comp--native-compile: Native compiler error: (lambda (arg1010
&optional) (let ((f #'process-exit-status-orig)) (funcall f
arg1010))), "Compiling
/Users/rmirelan/.doom.d/doom.emacs.d/.local/cache/eln/28_0_50-263b1cd8/subr--trampoline-70726f636573732d657869742d7374617475732d6f726967_process_exit_status_orig_0.eln...
Debugger entered--Lisp error: (wrong-type-argument comp-data-container nil)
comp-finalize-relocs()
comp-compile-ctxt-to-file(\"/Users/rmirelan/.doom.d/doom.emacs.d/.local/cache/...\")
comp-final1()
load-with-code-conversion(\"/private/var/folders/nc/b_w18yx56z1bhhrh2f57k90w00...\"
\"/private/var/folders/nc/b_w18yx56z1bhhrh2f57k90w00...\" nil t)
load-with-shorthands-and-code-conversion(\"/private/var/folders/nc/b_w18yx56z1bhhrh2f57k90w00...\"
\"/private/var/folders/nc/b_w18yx56z1bhhrh2f57k90w00...\" nil t)
command-line-1((\"-l\"
\"/var/folders/nc/b_w18yx56z1bhhrh2f57k90w006zmf/T/e...\"))
command-line()
normal-top-level()
Removing the advice removes the error.
In GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin20.6.0, NS
appkit-2022.60 Version 11.5.2 (Build 20G95))
of 2021-09-06 built on rmirelan-macbookpro.roam.corp.google.com
Repository revision: cfcf42ff879f766ffe5812fb0cd12f35803c1bfb
Repository branch: HEAD
Windowing system distributor 'Apple', version 10.3.2022
System Description: macOS 11.6
Configured using:
'configure --prefix=/opt/local --disable-silent-rules --without-dbus
--without-gconf --without-libotf --without-m17n-flt --with-gmp
--with-gnutls --with-json --with-xml2 --with-modules --infodir
/opt/local/share/info/emacs --with-ns --with-lcms2 --without-harfbuzz
--without-xaw3d --with-native-compilation --with-imagemagick
--with-rsvg 'CFLAGS=-pipe -Os
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch
x86_64' 'CPPFLAGS=-I/opt/local/include
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk'
'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie
-Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
-arch x86_64''
Configured features:
ACL GIF GLIB GMP GNUTLS IMAGEMAGICK JPEG JSON LCMS2 LIBXML2 MODULES
NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF
TOOLKIT_SCROLL_BARS XIM ZLIB
Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Outline
Minor modes in effect:
goto-address-mode: t
pdf-occur-global-minor-mode: t
diff-hl-margin-mode: t
visual-fill-column-mode: t
el-patch-use-package-mode: t
org-super-agenda-mode: t
global-anzu-mode: t
anzu-mode: t
projectile-mode: t
whitespace-mode: t
flycheck-popup-tip-mode: t
global-evil-surround-mode: t
evil-surround-mode: t
eros-mode: t
vi-tilde-fringe-mode: t
display-line-numbers-mode: t
save-place-mode: t
global-so-long-mode: t
envrc-global-mode: t
envrc-mode: t
evil-traces-mode: t
which-key-mode: t
better-jumper-mode: t
better-jumper-local-mode: t
global-company-mode: t
company-mode: t
ivy-prescient-mode: t
prescient-persist-mode: t
ivy-rich-project-root-cache-mode: t
ivy-rich-mode: t
ivy-mode: t
evil-goggles-mode: t
evil-escape-mode: t
evil-snipe-override-mode: t
evil-snipe-mode: t
evil-snipe-override-local-mode: t
evil-snipe-local-mode: t
yas-global-mode: t
yas-minor-mode: t
savehist-mode: t
recentf-mode: t
gcmh-mode: t
winner-mode: t
show-paren-mode: t
smartparens-global-mode: t
smartparens-mode: t
global-flycheck-mode: t
flycheck-mode: t
ws-butler-global-mode: t
editorconfig-mode: t
dtrt-indent-mode: t
solaire-global-mode: t
doom-modeline-mode: t
override-global-mode: t
global-git-commit-mode: t
org-roam-db-autosync-mode: t
adaptive-wrap-prefix-mode: t
auto-compile-on-load-mode: t
auto-compile-on-save-mode: t
persp-mode: t
ns-auto-titlebar-mode: t
shell-dirtrack-mode: t
evil-mode: t
evil-local-mode: t
windmove-mode: t
+popup-mode: t
general-override-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
window-divider-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
size-indication-mode: t
column-number-mode: t
line-number-mode: t
global-visual-line-mode: t
visual-line-mode: t
transient-mark-mode: t
view-mode: t
Load-path shadows:
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package-diminish
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-diminish
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package-lint
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-lint
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package-delight
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-delight
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package-jump
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-jump
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package-core
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-core
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package-ensure
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-ensure
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/use-package/use-package-bind-key
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-bind-key
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/bind-key/bind-key
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/use-package/bind-key
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/straight/straight-x
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/straight.el/straight-x
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/straight/straight
hides /Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/straight.el/straight
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/repos/straight.el/indent
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/indent
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/transient/transient
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/xref/xref
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/xref
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/project/project
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/project
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-stan
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-stan
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-exp
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-exp
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-J
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-J
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-emacs-lisp
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-css
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-css
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-lob
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lob
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-irc
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-irc
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-forth
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-forth
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-macs
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-version
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-version
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-scheme
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-scheme
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-abc
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-abc
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-C
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-C
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-capture
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-capture
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-ref
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ref
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-clojure
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-clojure
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-mouse
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-ledger
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ledger
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-ctags
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-ctags
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-entities
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-entities
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-archive
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-screen
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-screen
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-bibtex
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-bibtex
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-haskell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-haskell
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-asymptote
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-asymptote
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-table
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-eww
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-eww
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-org
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-org
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-num
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-num
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-plot
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-rmail
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-rmail
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-awk
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-awk
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-groovy
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-groovy
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-octave
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-octave
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-faces
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-colview
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-R
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-R
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-refile
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-refile
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-timer
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-ebnf
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ebnf
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-mobile
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-fortran
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-fortran
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-shell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-shell
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-perl
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-perl
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-sqlite
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sqlite
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-sed
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sed
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-list
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-ruby
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ruby
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-eval
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-eval
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-habit
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-clock
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-goto
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-goto
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-html
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-html
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-src
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-lisp
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lisp
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-eshell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-eshell
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-ditaa
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ditaa
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-pcomplete
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-pcomplete
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-lint
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-lint
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-latex
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-latex
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-sass
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sass
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-io
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-io
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-tangle
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-tangle
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-calc
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-calc
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-java
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-java
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-icalendar
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-icalendar
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-mhe
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-mhe
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-attach-git
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-attach-git
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-md
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-md
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-beamer
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-beamer
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-element
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-element
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-protocol
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-mscgen
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-mscgen
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-gnuplot
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-tempo
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-tempo
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-latex
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-latex
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-w3m
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-w3m
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-id
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-vala
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-vala
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-man
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-man
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-feed
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-lua
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lua
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-table
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-table
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-ocaml
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ocaml
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-coq
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-coq
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-gnus
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-gnus
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-picolisp
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-picolisp
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-indent
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-lilypond
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lilypond
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-matlab
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-matlab
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-datetree
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-docview
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-docview
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-python
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-python
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-makefile
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-makefile
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-duration
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-duration
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-agenda
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-dot
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-dot
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-js
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-js
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-publish
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-publish
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-inlinetask
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-org
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-org
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-keys
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-keys
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-core
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-core
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-compat
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-odt
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-odt
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-info
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-info
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-plantuml
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-plantuml
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-eshell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-eshell
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-ascii
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-ascii
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-loaddefs
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-loaddefs
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-hledger
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-hledger
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-maxima
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-maxima
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ol-bbdb
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-bbdb
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-macro
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macro
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-sql
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sql
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-attach
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-processing
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-processing
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ox-texinfo
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-texinfo
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-crypt
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-footnote
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/org-install
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-install
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org/ob-comint
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-comint
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/org-contrib/ob-shen
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-shen
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/map/map
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/emacs-lisp/map
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/aio/aio
hides /Users/rmirelan/.doom.d/emacs-google-config/third_party/elisp/aio/aio
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/dash/dash
hides /Users/rmirelan/.doom.d/emacs-google-config/third_party/elisp/dash/dash
/Users/rmirelan/.doom.d/doom.emacs.d/.local/straight/build-28.0.50/s/s
hides /Users/rmirelan/.doom.d/emacs-google-config/third_party/elisp/s/s
Features:
(shadow mail-extr emacsbug sendmail descr-text evil-collection-term term
ehelp elisp-def ert overseer pkg-info epl tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat ls-lisp git-rebase magit-extras
elisp-demos org-ql-search org-ql-view ov org-ql peg org-clock-csv
org-gcal org-generic-id org-archive goto-addr elisp-mode
evil-collection-helpful helpful trace evil-collection-edebug edebug
info-look evil-collection-info info evil-collection-elisp-refs
elisp-refs evil-collection-debug debug request-deferred
org-roam-protocol org-roam-migrate org-roam-mode org-roam-capture
org-roam-node org-roam-db org-roam org-roam-compat org-roam-utils
org-protocol anki-editor request ox-pandoc ox-org ox-hugo ox-blackfriday
ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn
nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-icalendar ox-ascii ox-md
ox-beamer ox-latex org-re-reveal ox-html table ox-publish ox oc-basic
org-cite-basic tabify timezone facemenu pdf-occur
evil-collection-tablist tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet
pdf-isearch pdf-misc evil-collection-pdf pdf-tools saveplace-pdf-view
pdf-view pdf-cache pdf-info tq pdf-util pdf-macs image-mode exif
org-noter evil-markdown smartparens-markdown markdown-mode edit-indirect
magit-bookmark evil-collection-bookmark bookmark call-log org-pomodoro
org-timer org-journal cal-move org-clock org-crypt org-eldoc toc-org
evil-org diary-lib diary-loaddefs cal-iso parse-time magit-gitflow
bug-reference evil-ex company-files company-shell
evil-collection-sh-script sh-script smie executable dired-aux vc-hg
vc-svn evil-collection-indent diredfl diff-hl-margin diff-hl-dired
diff-hl evil-collection-log-view log-view evil-collection-vc-dir vc-dir
ewoc org-download company-ispell company-dabbrev company-yasnippet
org-attach org-hugo-auto-export-mode git-auto-commit-mode
visual-fill-column image-file image-converter ol-bibtex bibtex iso8601
org-buganizer google-bugged org-p4 p4-files google-process aio ffap
google-paths google-platform sql evil-collection-view view
google-emacs-utilities ediff-merg ediff-mult ediff-wind ediff-diff
ediff-help ediff-init ediff-util evil-collection-magit-todos magit-todos
pcre2el rxt re-builder hl-todo async el-patch org-super-agenda ts ht
org-habit org-inlinetask org-duration org-drill persist org-id
org-agenda the-org-mode-expansions org-capture org-refile
smartparens-org org-yt org-element avl-tree generator org noutline
outline org-table org-loaddefs github-review ghub-graphql treepy gsexp
ghub gnutls deferred a magit-autoloads magit-submodule magit-obsolete
magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push
magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
char-fold amx help-fns radix-tree cl-print backtrace
evil-collection-help evil-anzu anzu sort hide-mode-line nav-flash
git-gutter-fringe fringe-helper git-gutter evil-collection-vc-git vc-git
projectile auto-minor-mode disp-table whitespace flycheck-popup-tip
evil-collection-popup popup flycheck-cask evil-embrace evil-surround
embrace expand-region text-mode-expansions er-basic-expansions
expand-region-core expand-region-custom parinfer-rust-mode
parinfer-rust-changes parinfer-rust parinfer-rust-helper eros
highlight-quoted rainbow-delimiters vi-tilde-fringe highlight-numbers
parent-mode display-line-numbers rainbow-identifiers raku-detect
editorconfig-core editorconfig-core-handle editorconfig-fnmatch
saveplace so-long envrc inheritenv mc-hide-unmatched-lines-mode
mc-mark-more mc-cycle-cursors multiple-cursors-core cursor-sensor
evil-collection-minibuffer alert log4e notifications dbus xml gntp
evil-traces evil-collection-which-key which-key better-jumper
company-capf company ivy-prescient prescient evil-collection-ivy ivy-avy
ivy-rich counsel xdg ivy-xref evil-collection-xref xref project swiper
ivy delsel ivy-faces ivy-overlay colir evil-goggles pulse color
evil-easymotion avy evil-escape evil-snipe ob ob-tangle ol ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src org-keys oc org-cite
ob-comint ob-core ob-eval org-pcomplete org-list org-entities org-faces
org-compat org-macs emacsql-sqlite url-http url-auth url-gw nsm emacsql
emacsql-compiler magit-repos magit-apply magit-wip magit-log which-func
magit-diff smerge-mode diff evil-collection-diff-mode diff-mode
magit-core magit-autorevert autorevert filenotify magit-margin
magit-transient magit-process magit-mode git-commit
evil-collection-log-edit log-edit message rmc puny evil-collection-dired
dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa epa epg
epg-config gnus-util rmail rmail-loaddefs time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
magit-git magit-section magit-utils crm with-editor doom-snippets
doom-snippets-lib yasnippet evil-collection-elisp-mode savehist recentf
tree-widget gcmh winner paren smartparens-config smartparens-text
smartparens flycheck-package package-lint evil-collection-imenu imenu
evil-collection-finder finder finder-inf lisp-mnt core-packages package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source password-cache url-vars evil-collection-flycheck flycheck
json map ws-butler editorconfig server jka-compr dtrt-indent
doom-themes-ext-org solaire-mode face-remap doom-one-light-theme
doom-themes doom-themes-base doom-modeline doom-modeline-segments
doom-modeline-env doom-modeline-core shrink-path f s all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons dash find-func
evil-collection-calendar cal-menu calendar cal-loaddefs adaptive-wrap
evil-collection-explain-pause-mode explain-pause-mode explain-pause-top
explain-pause-log-to-socket evil-collection-profiler profiler hl-line+
hl-line evil-collection-rg rg vc vc-dispatcher rg-info-hack rg-menu
transient format-spec eieio eieio-core eieio-loaddefs rg-ibuffer
rg-result wgrep-rg evil-collection-wgrep wgrep rg-history rg-header
ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs
evil-collection-grep grep evil-collection-compile compile
text-property-search auto-compile packed evil-collection-custom cus-edit
cus-load wid-edit evil-collection-comint evil-collection annalist
persp-mode let-alist ns-auto-titlebar evil evil-integration evil-maps
evil-commands reveal flyspell ispell evil-jumps evil-command-window
evil-types evil-search shell pcomplete comint ansi-color evil-macros
evil-repeat evil-states evil-core advice evil-common windmove calc
calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring
easy-mmode derived edmacro kmacro core-editor core-projects core-ui comp
comp-cstr warnings rx core-keybinds pp general cl-extra help-mode seq
byte-opt cl-seq use-package-core bytecomp byte-compile cconv
core-modules tex-site core core-lib pcase cl-macs gv cl-loaddefs cl-lib
subr-x iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win 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 cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray cl-preloaded nadvice button loaddefs faces
cus-face macroexp files window text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote threads kqueue cocoa ns lcms2 multi-tty make-network-process
native-compile emacs)
Memory information:
((conses 16 3150947 2552516)
(symbols 48 97895 5)
(strings 32 436040 423311)
(string-bytes 1 18734123)
(vectors 16 205721)
(vector-slots 8 7462515 2071473)
(floats 8 6019 24069)
(intervals 56 184228 68053)
(buffers 992 226))
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-11 22:37 bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins) Robert Irelan
@ 2021-10-12 2:30 ` Michael Heerdegen
2021-10-12 2:40 ` Robert Irelan
0 siblings, 1 reply; 12+ messages in thread
From: Michael Heerdegen @ 2021-10-12 2:30 UTC (permalink / raw)
To: Robert Irelan; +Cc: 51140
Robert Irelan <rirelan@gmail.com> writes:
> (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> (cl-letf* (((symbol-function 'process-exit-status-orig)
> (symbol-function 'process-exit-status))
> ((symbol-function 'process-exit-status)
> (lambda (_proc)
^^^^^
> (let ((code (process-exit-status-orig proc)))
^^^^
I don't know about native compilation, I just found this free variable
problem when compiling your defun normally. You may want to correct
your recipe.
Michael.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-12 2:30 ` Michael Heerdegen
@ 2021-10-12 2:40 ` Robert Irelan
2021-10-12 2:50 ` Michael Heerdegen
0 siblings, 1 reply; 12+ messages in thread
From: Robert Irelan @ 2021-10-12 2:40 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: 51140
I changed the function definition to the following, which I think
doesn't have the free variable problem, and got the same error:
(defun +ivy--always-return-zero-exit-code-a (fn &rest args)
(let ((process-exit-status-orig
(symbol-function 'process-exit-status)))
(cl-letf* (((symbol-function 'process-exit-status)
(lambda (_proc)
(let ((code (funcall process-exit-status-orig proc)))
(if (= code 2) 0 code)))))
(apply fn args)))
Interestingly, I now see the error when I evaluate the function
definition, not when I call the advised function.
I think this isolates it to `cl-flet`, since `symbol-function` seems
to return the correct function definition and I can funcall that
definition.
(let* ((process-exit-status-orig
(symbol-function 'process-exit-status))
(proc (start-process-shell-command "true" nil "true")))
(sleep-for 1)
(funcall process-exit-status-orig proc))
returns 0, as expected.
On Mon, Oct 11, 2021 at 7:30 PM Michael Heerdegen
<michael_heerdegen@web.de> wrote:
>
> Robert Irelan <rirelan@gmail.com> writes:
>
> > (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> > (cl-letf* (((symbol-function 'process-exit-status-orig)
> > (symbol-function 'process-exit-status))
> > ((symbol-function 'process-exit-status)
> > (lambda (_proc)
> ^^^^^
> > (let ((code (process-exit-status-orig proc)))
> ^^^^
>
> I don't know about native compilation, I just found this free variable
> problem when compiling your defun normally. You may want to correct
> your recipe.
>
> Michael.
--
Robert Irelan
rirelan@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-12 2:40 ` Robert Irelan
@ 2021-10-12 2:50 ` Michael Heerdegen
2021-10-12 2:57 ` Robert Irelan
0 siblings, 1 reply; 12+ messages in thread
From: Michael Heerdegen @ 2021-10-12 2:50 UTC (permalink / raw)
To: Robert Irelan; +Cc: 51140
Robert Irelan <rirelan@gmail.com> writes:
> (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> (let ((process-exit-status-orig
> (symbol-function 'process-exit-status)))
> (cl-letf* (((symbol-function 'process-exit-status)
> (lambda (_proc)
> (let ((code (funcall process-exit-status-orig proc)))
> (if (= code 2) 0 code)))))
> (apply fn args)))
You didn't touch what I meant: the variable `proc' is free in your
lambda. There is only an argument with the similar name `_prog'. So
that code still looks broken.
Michael.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-12 2:50 ` Michael Heerdegen
@ 2021-10-12 2:57 ` Robert Irelan
2021-10-12 22:35 ` Stefan Kangas
0 siblings, 1 reply; 12+ messages in thread
From: Robert Irelan @ 2021-10-12 2:57 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: 51140
Ah, I see what you mean. I get the same error when I fix the free
variables in the lambda.
On Mon, Oct 11, 2021 at 7:50 PM Michael Heerdegen
<michael_heerdegen@web.de> wrote:
>
> Robert Irelan <rirelan@gmail.com> writes:
>
> > (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> > (let ((process-exit-status-orig
> > (symbol-function 'process-exit-status)))
> > (cl-letf* (((symbol-function 'process-exit-status)
> > (lambda (_proc)
> > (let ((code (funcall process-exit-status-orig proc)))
> > (if (= code 2) 0 code)))))
> > (apply fn args)))
>
> You didn't touch what I meant: the variable `proc' is free in your
> lambda. There is only an argument with the similar name `_prog'. So
> that code still looks broken.
>
> Michael.
--
Robert Irelan
rirelan@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-12 2:57 ` Robert Irelan
@ 2021-10-12 22:35 ` Stefan Kangas
2021-10-13 5:13 ` Robert Irelan
0 siblings, 1 reply; 12+ messages in thread
From: Stefan Kangas @ 2021-10-12 22:35 UTC (permalink / raw)
To: Robert Irelan; +Cc: Michael Heerdegen, 51140
Robert Irelan <rirelan@gmail.com> writes:
> Ah, I see what you mean. I get the same error when I fix the free
> variables in the lambda.
Could you provide a fixed recipe for this bug?
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-12 22:35 ` Stefan Kangas
@ 2021-10-13 5:13 ` Robert Irelan
2021-10-19 5:31 ` Stefan Kangas
2022-09-12 11:49 ` Lars Ingebrigtsen
0 siblings, 2 replies; 12+ messages in thread
From: Robert Irelan @ 2021-10-13 5:13 UTC (permalink / raw)
To: Stefan Kangas; +Cc: Michael Heerdegen, 51140
[-- Attachment #1: Type: text/plain, Size: 795 bytes --]
(defun +ivy--always-return-zero-exit-code-a (fn &rest args)
(let ((process-exit-status-orig
(symbol-function 'process-exit-status)))
(cl-letf* (((symbol-function 'process-exit-status)
(lambda (_proc)
(let ((code (funcall process-exit-status-orig _proc)))
(if (= code 2) 0 code)))))
(apply fn args)))
(advice-add #'counsel-rg :around #'+ivy--always-return-zero-exit-code-a)
On Tue, Oct 12, 2021 at 3:35 PM Stefan Kangas <stefan@marxist.se> wrote:
> Robert Irelan <rirelan@gmail.com> writes:
>
> > Ah, I see what you mean. I get the same error when I fix the free
> > variables in the lambda.
>
> Could you provide a fixed recipe for this bug?
>
--
Robert Irelan
rirelan@gmail.com
[-- Attachment #2: Type: text/html, Size: 1395 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-13 5:13 ` Robert Irelan
@ 2021-10-19 5:31 ` Stefan Kangas
2021-11-30 16:22 ` Andrea Corallo
2022-09-12 11:49 ` Lars Ingebrigtsen
1 sibling, 1 reply; 12+ messages in thread
From: Stefan Kangas @ 2021-10-19 5:31 UTC (permalink / raw)
To: Robert Irelan; +Cc: Michael Heerdegen, 51140, Andrea Corallo
Robert Irelan <rirelan@gmail.com> writes:
> (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> (let ((process-exit-status-orig
> (symbol-function 'process-exit-status)))
> (cl-letf* (((symbol-function 'process-exit-status)
> (lambda (_proc)
> (let ((code (funcall process-exit-status-orig _proc)))
> (if (= code 2) 0 code)))))
> (apply fn args)))
> (advice-add #'counsel-rg :around #'+ivy--always-return-zero-exit-code-a)
Thanks, copying in Andrea here.
> On Tue, Oct 12, 2021 at 3:35 PM Stefan Kangas <stefan@marxist.se> wrote:
>
> Robert Irelan <rirelan@gmail.com> writes:
>
> > Ah, I see what you mean. I get the same error when I fix the free
> > variables in the lambda.
>
> Could you provide a fixed recipe for this bug?
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-19 5:31 ` Stefan Kangas
@ 2021-11-30 16:22 ` Andrea Corallo
0 siblings, 0 replies; 12+ messages in thread
From: Andrea Corallo @ 2021-11-30 16:22 UTC (permalink / raw)
To: Stefan Kangas; +Cc: Michael Heerdegen, 51140, Robert Irelan
Stefan Kangas <stefan@marxist.se> writes:
> Robert Irelan <rirelan@gmail.com> writes:
>
>> (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
>> (let ((process-exit-status-orig
>> (symbol-function 'process-exit-status)))
>> (cl-letf* (((symbol-function 'process-exit-status)
>> (lambda (_proc)
>> (let ((code (funcall process-exit-status-orig _proc)))
>> (if (= code 2) 0 code)))))
>> (apply fn args)))
>> (advice-add #'counsel-rg :around #'+ivy--always-return-zero-exit-code-a)
>
> Thanks, copying in Andrea here.
I tried to reproduce a reduced version of this. On current master
starting emacs -Q I native compiled and loaded the following:
test.el =======================================
;;; -*- lexical-binding: t; -*-
(defun foo ())
(defun bar (fn &rest args)
(let ((process-exit-status-orig
(symbol-function 'process-exit-status)))
(cl-letf* (((symbol-function 'process-exit-status)
(lambda (proc)
(let ((code (funcall process-exit-status-orig proc)))
(if (= code 2) 0 code)))))
(apply fn args))))
=======================================
Then I've advised `foo' as follow
(advice-add #'foo :around #'bar)
After that running `foo' triggers the compilation of the trampoline for
`process-exit-status' but with no errors.
Robert could you try this reduced recipe and see if it works or not on
your setup?
If it works we need another a precise description on how to trigger this
bug starting from emacs -Q.
Thanks
Andrea
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2021-10-13 5:13 ` Robert Irelan
2021-10-19 5:31 ` Stefan Kangas
@ 2022-09-12 11:49 ` Lars Ingebrigtsen
2022-09-14 3:22 ` Robert Irelan
1 sibling, 1 reply; 12+ messages in thread
From: Lars Ingebrigtsen @ 2022-09-12 11:49 UTC (permalink / raw)
To: Robert Irelan; +Cc: Michael Heerdegen, 51140, Stefan Kangas, Andrea Corallo
Robert Irelan <rirelan@gmail.com> writes:
> (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> (let ((process-exit-status-orig
> (symbol-function 'process-exit-status)))
> (cl-letf* (((symbol-function 'process-exit-status)
> (lambda (_proc)
> (let ((code (funcall process-exit-status-orig _proc)))
> (if (= code 2) 0 code)))))
> (apply fn args)))
> (advice-add #'counsel-rg :around #'+ivy--always-return-zero-exit-code-a)
(I'm going through old bug reports that unfortunately weren't resolved
at the time.)
Andrea was apparently unable to reproduce the problem here on the
current "master" branch. Robert, would it be possible for you to test
this on that branch and see whether this works better there?
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins)
2022-09-12 11:49 ` Lars Ingebrigtsen
@ 2022-09-14 3:22 ` Robert Irelan
2022-09-14 12:41 ` Lars Ingebrigtsen
0 siblings, 1 reply; 12+ messages in thread
From: Robert Irelan @ 2022-09-14 3:22 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: Michael Heerdegen, 51140, Stefan Kangas, Andrea Corallo
[-- Attachment #1: Type: text/plain, Size: 1914 bytes --]
I can't reproduce this anymore on 28.1 either:
> (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> (let ((process-exit-status-orig
> (symbol-function 'process-exit-status)))
> (cl-letf* (((symbol-function 'process-exit-status)
> (lambda (_proc)
> (let ((code (funcall process-exit-status-orig _proc)))
> (if (/= code 0) 0 code)))))
> (apply fn args))))
> (defun my-test-exit-status-advised ()
> (my-test-exit-status))
> (defun my-test-exit-status ()
> (let ((proc (start-process "my-test-exit-status" nil "false")))
> (while (not (eq (process-status proc) 'exit))
> (sit-for 0.05))
> (process-exit-status proc)))
> (advice-add #'my-test-exit-status-advised :around
#'+ivy--always-return-zero-exit-code-a)
> (my-test-exit-status-advised) ; => 0
> (my-test-exit-status) ; => 1
So let's close this.
On Mon, Sep 12, 2022 at 4:49 AM Lars Ingebrigtsen <larsi@gnus.org> wrote:
> Robert Irelan <rirelan@gmail.com> writes:
>
> > (defun +ivy--always-return-zero-exit-code-a (fn &rest args)
> > (let ((process-exit-status-orig
> > (symbol-function 'process-exit-status)))
> > (cl-letf* (((symbol-function 'process-exit-status)
> > (lambda (_proc)
> > (let ((code (funcall process-exit-status-orig
> _proc)))
> > (if (= code 2) 0 code)))))
> > (apply fn args)))
> > (advice-add #'counsel-rg :around
> #'+ivy--always-return-zero-exit-code-a)
>
> (I'm going through old bug reports that unfortunately weren't resolved
> at the time.)
>
> Andrea was apparently unable to reproduce the problem here on the
> current "master" branch. Robert, would it be possible for you to test
> this on that branch and see whether this works better there?
>
--
Robert Irelan
rirelan@gmail.com
[-- Attachment #2: Type: text/html, Size: 2840 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2022-09-14 12:41 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-11 22:37 bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins) Robert Irelan
2021-10-12 2:30 ` Michael Heerdegen
2021-10-12 2:40 ` Robert Irelan
2021-10-12 2:50 ` Michael Heerdegen
2021-10-12 2:57 ` Robert Irelan
2021-10-12 22:35 ` Stefan Kangas
2021-10-13 5:13 ` Robert Irelan
2021-10-19 5:31 ` Stefan Kangas
2021-11-30 16:22 ` Andrea Corallo
2022-09-12 11:49 ` Lars Ingebrigtsen
2022-09-14 3:22 ` Robert Irelan
2022-09-14 12:41 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).