Max Nikulin <maniku...@gmail.com> writes: >>> It is `map-do' that causes the problem. Maybe earlier implementation in >>> Emacs-26 has some peculiarities. It is the version available from the >>> system repository for Ubuntu-20.04 LTS focal. >> >> Tests do not fail on my side using Emacs 26.3 > > Ihor, what is the origin of your Emacs-26.3? The patch uses `map-do' > with plist argument. I have tried: > > test-map-do.el > ---- >8 ---- > (require 'map) > (map-do (lambda (k v) (message "alist map-do: %S: %S" k v)) '((1 . 'a))) > (setq pl nil) > (setq pl (plist-put pl :a 'a)) > (message "plist: %S" pl) > (map-do (lambda (k v) (message "plist map-do %S: %S" k v)) pl) > ---- 8< ----
It also fails on my side. Yet, make test EMACS="emacs-26" does _not_ fail. I tried harder then and found that make test EMACS="emacs-26" BTEST_RE="test-ol/insert-link-insert-description" _does_ fail. > So I am puzzled how tests using a macro with map-do and plist may pass > under Emacs-26. I am also puzzled now. Running all the tests works, while running a single test does not. In any case, we cannot, unfortunately, use map-do here and should probably fall back to the previous version with cl-loop. Best, Ihor