* bug#73874: 29.4; Inconsistent cl-loop behavior with Common Lisp
@ 2024-10-19 5:11 Bohong Huang via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-03 6:06 ` Stefan Kangas
0 siblings, 1 reply; 2+ messages in thread
From: Bohong Huang via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-19 5:11 UTC (permalink / raw)
To: 73874
Hello, Emacs developers! When I was porting a Common Lisp library to
Emacs Lisp, I found that the following minimal code example fails the
assertion in Emacs Lisp:
```lisp
(cl-loop for i in '(1 2 3)
for j = (1- i)
and k = (1+ i)
do (cl-assert (= i (1+ j) (1- k))))
```
But it works fine in any proper Common Lisp implementation:
```lisp
(loop for i in '(1 2 3)
for j = (1- i)
and k = (1+ i)
do (assert (= i (1+ j) (1- k))))
```
By observing the macro expansion, it seems that `cl-loop` does not
correctly handle the `for ... and ...` clauses, which should bind
multiple variables in the current loop context in parallel, but
`cl-loop` always uses the values from the first iteration.
Thank you in advance for your time on this issue.
In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43,
cairo version 1.18.0)
System Description: Manjaro Linux
Configured using:
'configure --with-pgtk --with-native-compilation=aot --sysconfdir=/etc
--prefix=/usr --libexecdir=/usr/lib --with-tree-sitter
--localstatedir=/var --with-cairo --disable-build-details
--with-harfbuzz --with-libsystemd --with-modules 'CFLAGS=-march=x86-64
-mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3
-Wformat -Werror=format-security -fstack-clash-protection
-fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g
-ffile-prefix-map=/build/emacs/src=/usr/src/debug/emacs -flto=auto'
'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro
-Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto'
'CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security
-fstack-clash-protection -fcf-protection -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g
-ffile-prefix-map=/build/emacs/src=/usr/src/debug/emacs -flto=auto''
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
Important settings:
value of $LC_MONETARY: zh_CN.UTF-8
value of $LC_NUMERIC: zh_CN.UTF-8
value of $LC_TIME: zh_CN.UTF-8
value of $LANG: zh_CN.UTF-8
value of $XMODIFIERS: @im=fcitx
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
savehist-mode: t
nerd-icons-completion-mode: t
marginalia-mode: t
repeat-mode: t
which-key-mode: t
sis-global-context-mode: t
sis-context-mode: t
sis-global-respect-mode: t
sis-global-cursor-color-mode: t
sis-auto-refresh-mode: t
isearch-mb-mode: t
global-treesit-auto-mode: t
pixel-scroll-precision-mode: t
popper-echo-mode: t
popper-mode: t
cnfonts-mode: t
vertico-mouse-mode: t
vertico-mode: t
mode-line-bell-mode: t
doom-modeline-mode: t
winner-mode: t
minibuffer-depth-indicate-mode: t
override-global-mode: t
url-handler-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
context-menu-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/coco24/.emacs.d/elpa/vertico-directory-20221123.14415/vertico-directory hides /home/coco24/.emacs.d/elpa/vertico-20240926.924/vertico-directory
/home/coco24/.emacs.d/elpa/cmake-mode-20240814.1725/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/coco24/.emacs.d/elpa/transient-20240918.1138/transient hides /usr/share/emacs/29.4/lisp/transient
/home/coco24/.emacs.d/elpa/jsonrpc-1.0.25.0.20240720.4208/jsonrpc hides /usr/share/emacs/29.4/lisp/jsonrpc
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package hides /usr/share/emacs/29.4/lisp/use-package/use-package
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /usr/share/emacs/29.4/lisp/use-package/use-package-lint
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /usr/share/emacs/29.4/lisp/use-package/use-package-jump
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /usr/share/emacs/29.4/lisp/use-package/use-package-ensure
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /usr/share/emacs/29.4/lisp/use-package/use-package-diminish
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /usr/share/emacs/29.4/lisp/use-package/use-package-delight
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /usr/share/emacs/29.4/lisp/use-package/use-package-core
/home/coco24/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /usr/share/emacs/29.4/lisp/use-package/use-package-bind-key
/home/coco24/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /usr/share/emacs/29.4/lisp/use-package/bind-key
/home/coco24/.emacs.d/elpa/eglot-1.17/eglot hides /usr/share/emacs/29.4/lisp/progmodes/eglot
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox hides /usr/share/emacs/29.4/lisp/org/ox
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-texinfo hides /usr/share/emacs/29.4/lisp/org/ox-texinfo
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-publish hides /usr/share/emacs/29.4/lisp/org/ox-publish
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-org hides /usr/share/emacs/29.4/lisp/org/ox-org
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-odt hides /usr/share/emacs/29.4/lisp/org/ox-odt
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-md hides /usr/share/emacs/29.4/lisp/org/ox-md
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-man hides /usr/share/emacs/29.4/lisp/org/ox-man
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-latex hides /usr/share/emacs/29.4/lisp/org/ox-latex
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-koma-letter hides /usr/share/emacs/29.4/lisp/org/ox-koma-letter
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-icalendar hides /usr/share/emacs/29.4/lisp/org/ox-icalendar
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-html hides /usr/share/emacs/29.4/lisp/org/ox-html
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-beamer hides /usr/share/emacs/29.4/lisp/org/ox-beamer
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ox-ascii hides /usr/share/emacs/29.4/lisp/org/ox-ascii
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org hides /usr/share/emacs/29.4/lisp/org/org
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-version hides /usr/share/emacs/29.4/lisp/org/org-version
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-timer hides /usr/share/emacs/29.4/lisp/org/org-timer
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-tempo hides /usr/share/emacs/29.4/lisp/org/org-tempo
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-table hides /usr/share/emacs/29.4/lisp/org/org-table
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-src hides /usr/share/emacs/29.4/lisp/org/org-src
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-refile hides /usr/share/emacs/29.4/lisp/org/org-refile
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-protocol hides /usr/share/emacs/29.4/lisp/org/org-protocol
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-plot hides /usr/share/emacs/29.4/lisp/org/org-plot
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-persist hides /usr/share/emacs/29.4/lisp/org/org-persist
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-pcomplete hides /usr/share/emacs/29.4/lisp/org/org-pcomplete
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-num hides /usr/share/emacs/29.4/lisp/org/org-num
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-mouse hides /usr/share/emacs/29.4/lisp/org/org-mouse
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-mobile hides /usr/share/emacs/29.4/lisp/org/org-mobile
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-macs hides /usr/share/emacs/29.4/lisp/org/org-macs
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-macro hides /usr/share/emacs/29.4/lisp/org/org-macro
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-loaddefs hides /usr/share/emacs/29.4/lisp/org/org-loaddefs
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-list hides /usr/share/emacs/29.4/lisp/org/org-list
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-lint hides /usr/share/emacs/29.4/lisp/org/org-lint
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-keys hides /usr/share/emacs/29.4/lisp/org/org-keys
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-inlinetask hides /usr/share/emacs/29.4/lisp/org/org-inlinetask
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-indent hides /usr/share/emacs/29.4/lisp/org/org-indent
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-id hides /usr/share/emacs/29.4/lisp/org/org-id
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-habit hides /usr/share/emacs/29.4/lisp/org/org-habit
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-goto hides /usr/share/emacs/29.4/lisp/org/org-goto
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-footnote hides /usr/share/emacs/29.4/lisp/org/org-footnote
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-fold hides /usr/share/emacs/29.4/lisp/org/org-fold
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-fold-core hides /usr/share/emacs/29.4/lisp/org/org-fold-core
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-feed hides /usr/share/emacs/29.4/lisp/org/org-feed
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-faces hides /usr/share/emacs/29.4/lisp/org/org-faces
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-entities hides /usr/share/emacs/29.4/lisp/org/org-entities
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-element hides /usr/share/emacs/29.4/lisp/org/org-element
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-duration hides /usr/share/emacs/29.4/lisp/org/org-duration
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-datetree hides /usr/share/emacs/29.4/lisp/org/org-datetree
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-cycle hides /usr/share/emacs/29.4/lisp/org/org-cycle
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-ctags hides /usr/share/emacs/29.4/lisp/org/org-ctags
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-crypt hides /usr/share/emacs/29.4/lisp/org/org-crypt
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-compat hides /usr/share/emacs/29.4/lisp/org/org-compat
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-colview hides /usr/share/emacs/29.4/lisp/org/org-colview
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-clock hides /usr/share/emacs/29.4/lisp/org/org-clock
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-capture hides /usr/share/emacs/29.4/lisp/org/org-capture
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-attach hides /usr/share/emacs/29.4/lisp/org/org-attach
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-attach-git hides /usr/share/emacs/29.4/lisp/org/org-attach-git
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-archive hides /usr/share/emacs/29.4/lisp/org/org-archive
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/org-agenda hides /usr/share/emacs/29.4/lisp/org/org-agenda
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol hides /usr/share/emacs/29.4/lisp/org/ol
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-w3m hides /usr/share/emacs/29.4/lisp/org/ol-w3m
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-rmail hides /usr/share/emacs/29.4/lisp/org/ol-rmail
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-mhe hides /usr/share/emacs/29.4/lisp/org/ol-mhe
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-man hides /usr/share/emacs/29.4/lisp/org/ol-man
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-irc hides /usr/share/emacs/29.4/lisp/org/ol-irc
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-info hides /usr/share/emacs/29.4/lisp/org/ol-info
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-gnus hides /usr/share/emacs/29.4/lisp/org/ol-gnus
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-eww hides /usr/share/emacs/29.4/lisp/org/ol-eww
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-eshell hides /usr/share/emacs/29.4/lisp/org/ol-eshell
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-doi hides /usr/share/emacs/29.4/lisp/org/ol-doi
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-docview hides /usr/share/emacs/29.4/lisp/org/ol-docview
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-bibtex hides /usr/share/emacs/29.4/lisp/org/ol-bibtex
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ol-bbdb hides /usr/share/emacs/29.4/lisp/org/ol-bbdb
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/oc hides /usr/share/emacs/29.4/lisp/org/oc
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/oc-natbib hides /usr/share/emacs/29.4/lisp/org/oc-natbib
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/oc-csl hides /usr/share/emacs/29.4/lisp/org/oc-csl
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/oc-bibtex hides /usr/share/emacs/29.4/lisp/org/oc-bibtex
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/oc-biblatex hides /usr/share/emacs/29.4/lisp/org/oc-biblatex
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/oc-basic hides /usr/share/emacs/29.4/lisp/org/oc-basic
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob hides /usr/share/emacs/29.4/lisp/org/ob
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-tangle hides /usr/share/emacs/29.4/lisp/org/ob-tangle
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-table hides /usr/share/emacs/29.4/lisp/org/ob-table
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-sqlite hides /usr/share/emacs/29.4/lisp/org/ob-sqlite
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-sql hides /usr/share/emacs/29.4/lisp/org/ob-sql
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-shell hides /usr/share/emacs/29.4/lisp/org/ob-shell
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-sed hides /usr/share/emacs/29.4/lisp/org/ob-sed
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-screen hides /usr/share/emacs/29.4/lisp/org/ob-screen
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-scheme hides /usr/share/emacs/29.4/lisp/org/ob-scheme
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-sass hides /usr/share/emacs/29.4/lisp/org/ob-sass
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-ruby hides /usr/share/emacs/29.4/lisp/org/ob-ruby
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-ref hides /usr/share/emacs/29.4/lisp/org/ob-ref
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-python hides /usr/share/emacs/29.4/lisp/org/ob-python
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-processing hides /usr/share/emacs/29.4/lisp/org/ob-processing
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-plantuml hides /usr/share/emacs/29.4/lisp/org/ob-plantuml
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-perl hides /usr/share/emacs/29.4/lisp/org/ob-perl
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-org hides /usr/share/emacs/29.4/lisp/org/ob-org
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-octave hides /usr/share/emacs/29.4/lisp/org/ob-octave
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-ocaml hides /usr/share/emacs/29.4/lisp/org/ob-ocaml
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-maxima hides /usr/share/emacs/29.4/lisp/org/ob-maxima
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-matlab hides /usr/share/emacs/29.4/lisp/org/ob-matlab
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-makefile hides /usr/share/emacs/29.4/lisp/org/ob-makefile
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-lua hides /usr/share/emacs/29.4/lisp/org/ob-lua
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-lob hides /usr/share/emacs/29.4/lisp/org/ob-lob
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-lisp hides /usr/share/emacs/29.4/lisp/org/ob-lisp
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-lilypond hides /usr/share/emacs/29.4/lisp/org/ob-lilypond
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-latex hides /usr/share/emacs/29.4/lisp/org/ob-latex
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-julia hides /usr/share/emacs/29.4/lisp/org/ob-julia
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-js hides /usr/share/emacs/29.4/lisp/org/ob-js
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-java hides /usr/share/emacs/29.4/lisp/org/ob-java
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-haskell hides /usr/share/emacs/29.4/lisp/org/ob-haskell
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-groovy hides /usr/share/emacs/29.4/lisp/org/ob-groovy
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-gnuplot hides /usr/share/emacs/29.4/lisp/org/ob-gnuplot
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-fortran hides /usr/share/emacs/29.4/lisp/org/ob-fortran
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-forth hides /usr/share/emacs/29.4/lisp/org/ob-forth
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-exp hides /usr/share/emacs/29.4/lisp/org/ob-exp
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-eval hides /usr/share/emacs/29.4/lisp/org/ob-eval
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-eshell hides /usr/share/emacs/29.4/lisp/org/ob-eshell
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-emacs-lisp hides /usr/share/emacs/29.4/lisp/org/ob-emacs-lisp
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-dot hides /usr/share/emacs/29.4/lisp/org/ob-dot
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-ditaa hides /usr/share/emacs/29.4/lisp/org/ob-ditaa
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-css hides /usr/share/emacs/29.4/lisp/org/ob-css
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-core hides /usr/share/emacs/29.4/lisp/org/ob-core
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-comint hides /usr/share/emacs/29.4/lisp/org/ob-comint
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-clojure hides /usr/share/emacs/29.4/lisp/org/ob-clojure
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-calc hides /usr/share/emacs/29.4/lisp/org/ob-calc
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-awk hides /usr/share/emacs/29.4/lisp/org/ob-awk
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-R hides /usr/share/emacs/29.4/lisp/org/ob-R
/home/coco24/.emacs.d/elpa/org-9.8pre0.20240922.161519/ob-C hides /usr/share/emacs/29.4/lisp/org/ob-C
/home/coco24/.emacs.d/elpa/eldoc-1.15.0.0.20240708.123037/eldoc hides /usr/share/emacs/29.4/lisp/emacs-lisp/eldoc
Features:
(shadow sort mail-extr emacsbug message yank-media puny dired-ext dired
dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums vertico-directory
mule-util orderless savehist nerd-icons-completion marginalia
smartparens-config smartparens-text smartparens loadhist thingatpt
repeat which-key pulse color init sis isearch-mb language-support
treesit-auto treesit pixel-scroll cua-base popper-echo popper cnfonts
vlf-setup advice vertico-mouse vertico mode-line-bell doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
f s dash 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 compat compat-30 winner
ring monokai-theme finder-inf gnus nnheader gnus-util
text-property-search time-date mail-utils range mm-util mail-prsvr
wid-edit cus-load comp comp-cstr warnings icons kinsoku mb-depth
elisp-mode-ext edmacro kmacro emacs-ext quelpa-use-package cl-extra
help-mode use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core 0blayout-autoloads anaphora-autoloads
app-launcher-autoloads auctex-autoloads tex-site
blueprint-mode-autoloads breadcrumb-autoloads buffer-timer-autoloads
cal-china-x-autoloads cape-autoloads cdlatex-autoloads
chatgpt-shell-autoloads circe-autoloads citeproc-autoloads
citre-autoloads cl-format-autoloads cmake-mode-autoloads
cnfonts-autoloads command-log-mode-autoloads commenter-autoloads
consult-dir-autoloads consult-emms-autoloads consult-lsp-autoloads
corfu-doc-terminal-autoloads corfu-doc-autoloads
corfu-terminal-autoloads corfu-autoloads crux-autoloads
csv-mode-autoloads dired-narrow-autoloads dired-hacks-utils-autoloads
diredfl-autoloads docker-autoloads doom-modeline-autoloads
doom-modeline-pokemon-autoloads doom-themes-autoloads
drag-stuff-autoloads eat-autoloads edit-server-autoloads
eglot-tempel-autoloads eglot-autoloads eldoc-box-autoloads
eldoc-overlay-autoloads elmacro-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads emms-autoloads emms-vgm-autoloads
epc-autoloads ctable-autoloads concurrent-autoloads deferred-autoloads
esh-autosuggest-autoloads company-autoloads eshell-outline-autoloads
eshell-prompt-extras-autoloads eshell-syntax-highlighting-autoloads
expand-region-autoloads fd-dired-autoloads fish-completion-autoloads
fish-mode-autoloads flymake-popon-autoloads frameshot-autoloads
geiser-guile-autoloads glsl-mode-autoloads go-mode-autoloads
go-translate-autoloads gptel-autoloads graphql-autoloads
habitica-autoloads hackernews-autoloads hide-mode-line-autoloads
highlight-indent-guides-autoloads hnreader-autoloads htmlize-autoloads
indent-yank-autoloads inf-clojure-autoloads clojure-mode-autoloads
inline-docs-autoloads isearch-mb-autoloads json-mode-autoloads rx
json-snatcher-autoloads jsonrpc-autoloads kind-icon-autoloads
kotlin-mode-autoloads kotlin-ts-mode-autoloads
latex-math-preview-autoloads leetcode-autoloads aio-autoloads
log4e-autoloads lsp-java-autoloads dap-mode-autoloads
lsp-docker-autoloads bui-autoloads lsp-pyright-autoloads
lsp-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads
eldoc-autoloads lua-mode-autoloads macrostep-geiser-autoloads
geiser-autoloads magit-autoloads pcase marginalia-autoloads
markless-autoloads mode-fontify-autoloads mode-line-bell-autoloads
monokai-theme-autoloads multiple-cursors-autoloads
nerd-icons-completion-autoloads nerd-icons-corfu-autoloads
nerd-icons-dired-autoloads nerd-icons-ibuffer-autoloads
nhexl-mode-autoloads nov-autoloads esxml-autoloads kv-autoloads
ob-svgbob-autoloads orderless-autoloads org-appear-autoloads
org-attach-refactor-autoloads org-bars-autoloads org-download-autoloads
async-autoloads org-englearn-autoloads org-gtd-autoloads
org-agenda-property-autoloads org-edna-autoloads
org-gtd-habitica-autoloads org-journal-autoloads
org-media-note-autoloads mpv-autoloads org-mime-autoloads
org-remark-autoloads org-roam-ui-autoloads org-roam-autoloads
magit-section-autoloads emacsql-autoloads org-autoloads
org-tree-slide-autoloads ox-hugo-autoloads parsebib-autoloads
parsec-autoloads pdf-tools-autoloads peg-autoloads phi-search-autoloads
pkg-info-autoloads epl-autoloads polymode-autoloads popon-autoloads
popper-autoloads pretty-hydra-autoloads promise-autoloads
pyvenv-autoloads quelpa-use-package-autoloads quelpa-autoloads
queue-autoloads quick-peek-autoloads quickrun-autoloads
racket-mode-autoloads rainbow-delimiters-autoloads redacted-autoloads
request-autoloads rescript-mode-autoloads rustic-autoloads
flycheck-autoloads markdown-mode-autoloads rust-mode-autoloads
sbt-mode-autoloads scad-preview-autoloads scad-mode-autoloads
scala-mode-autoloads separedit-autoloads edit-indirect-autoloads
shell-maker-autoloads shrink-path-autoloads f-autoloads
simple-httpd-autoloads sis-autoloads sloff-autoloads
sly-macrostep-autoloads macrostep-autoloads sly-autoloads
smartparens-autoloads smooth-scroll-autoloads smooth-scrolling-autoloads
spinner-autoloads string-inflection-autoloads svg-lib-autoloads
tab-line-nerd-icons-autoloads nerd-icons-autoloads tablist-autoloads
tempel-autoloads terminal-focus-reporting-autoloads tomelr-autoloads
toml-mode-autoloads transient-autoloads treemacs-autoloads
cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads
lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads
s-autoloads dash-autoloads treesit-auto-autoloads
typescript-mode-autoloads undo-hl-autoloads use-package-autoloads
bind-key-autoloads vala-mode-autoloads cc-styles cc-align cc-engine
cc-vars cc-defs vertico-directory-autoloads vertico-autoloads
vlf-autoloads websocket-autoloads which-key-autoloads
with-editor-autoloads info compat-autoloads xclip-autoloads
xterm-color-autoloads yaml-autoloads yaml-mode-autoloads
yasnippet-autoloads zmq-autoloads 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 cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
china-util rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win
pgtk-win term/common-win pgtk-dnd 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 dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process
native-compile emacs)
Memory information:
((conses 16 561522 182453)
(symbols 48 28656 4)
(strings 32 188792 10817)
(string-bytes 1 5002799)
(vectors 16 46534)
(vector-slots 8 1546336 151419)
(floats 8 392 202)
(intervals 56 1666 0)
(buffers 984 13))
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#73874: 29.4; Inconsistent cl-loop behavior with Common Lisp
2024-10-19 5:11 bug#73874: 29.4; Inconsistent cl-loop behavior with Common Lisp Bohong Huang via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-03 6:06 ` Stefan Kangas
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Kangas @ 2024-11-03 6:06 UTC (permalink / raw)
To: Bohong Huang; +Cc: 73874
Bohong Huang <bohonghuang@qq.com> writes:
> Hello, Emacs developers! When I was porting a Common Lisp library to
> Emacs Lisp, I found that the following minimal code example fails the
> assertion in Emacs Lisp:
>
> ```lisp
> (cl-loop for i in '(1 2 3)
> for j = (1- i)
> and k = (1+ i)
> do (cl-assert (= i (1+ j) (1- k))))
> ```
>
> But it works fine in any proper Common Lisp implementation:
>
> ```lisp
> (loop for i in '(1 2 3)
> for j = (1- i)
> and k = (1+ i)
> do (assert (= i (1+ j) (1- k))))
> ```
>
> By observing the macro expansion, it seems that `cl-loop` does not
> correctly handle the `for ... and ...` clauses, which should bind
> multiple variables in the current loop context in parallel, but
> `cl-loop` always uses the values from the first iteration.
>
> Thank you in advance for your time on this issue.
Is this a duplicate of Bug#72753?
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72753
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-11-03 6:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-19 5:11 bug#73874: 29.4; Inconsistent cl-loop behavior with Common Lisp Bohong Huang via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-03 6:06 ` Stefan Kangas
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.