Subject: 27.0.50; loop regression

From: Helmut Eller <[email-masked]>
Date: Thu, 23 Aug 2018 09:17:12 +0200

With Emacs25 this

(require 'cl)

(defun foo (vector)
  (loop for i from -1
	for exp = 0 then (list exp e i)
	for e across vector
	finally (return exp)))

(assert (equal (foo [a b]) '((0 a 0) b 1)))

works as it should.  With the current Emacs version (foo [a b])
incorrectly returns (0 a 0).

In GNU Emacs 27.0.50 (build 7, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2018-08-23 built on caladan
Repository revision: a4a3c92e9de59bd0251f36326375cce898919edc
Windowing system distributor 'The X.Org Foundation', version 11.0.11902000
System Description: Debian GNU/Linux 9 (stretch)

Configured using:
 'configure --with-xpm=no --with-gif=no --with-tiff=no --with-jpeg=no
 --without-pop'

Configured features:
PNG SOUND DBUS GSETTINGS NOTIFY GNUTLS LIBXML2 FREETYPE XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD GMP

Important settings:
  value of $LANG: C.UTF-8
  locale-coding-system: utf-8-unix