Package: emacs;
Reported by: Bohong Huang <bohonghuang <at> qq.com>
Date: Sat, 19 Oct 2024 07:41:01 UTC
Severity: normal
Found in version 29.4
To reply to this bug, email your comments to 73874 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#73874
; Package emacs
.
(Sat, 19 Oct 2024 07:41:01 GMT) Full text and rfc822 format available.Bohong Huang <bohonghuang <at> qq.com>
:bug-gnu-emacs <at> gnu.org
.
(Sat, 19 Oct 2024 07:41:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Bohong Huang <bohonghuang <at> qq.com> To: bug-gnu-emacs <at> gnu.org Subject: 29.4; Inconsistent cl-loop behavior with Common Lisp Date: Sat, 19 Oct 2024 13:11:11 +0800
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))
bug-gnu-emacs <at> gnu.org
:bug#73874
; Package emacs
.
(Sun, 03 Nov 2024 06:08:02 GMT) Full text and rfc822 format available.Message #8 received at 73874 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Kangas <stefankangas <at> gmail.com> To: Bohong Huang <bohonghuang <at> qq.com> Cc: 73874 <at> debbugs.gnu.org Subject: Re: bug#73874: 29.4; Inconsistent cl-loop behavior with Common Lisp Date: Sat, 2 Nov 2024 23:06:29 -0700
Bohong Huang <bohonghuang <at> 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
bug-gnu-emacs <at> gnu.org
:bug#73874
; Package emacs
.
(Thu, 02 Jan 2025 02:14:02 GMT) Full text and rfc822 format available.Message #11 received at 73874 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Kangas <stefankangas <at> gmail.com> To: Bohong Huang <bohonghuang <at> qq.com> Cc: 73874 <at> debbugs.gnu.org Subject: Re: bug#73874: 29.4; Inconsistent cl-loop behavior with Common Lisp Date: Wed, 1 Jan 2025 20:13:25 -0600
[Please use "Reply to all" to record the discussion in the bug tracker.] Bohong Huang <bohonghuang <at> qq.com> writes: > Stefan Kangas <stefankangas <at> gmail.com> writes: > >> Is this a duplicate of Bug#72753? >> >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72753 > > This doesn't seem to be the same issue. The report you mentioned is > about incorrect results of the loop value in the `finally` block, > whereas this issue is during the loop where variables `j` and `k` are > not correctly assigned. Through debugging, it can be observed that the > assignment expressions `(1 - i)` and `(1 + i)` are evaluated only once > despite multiple iterations.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.