Subject: bug#18175: files.el: use mapc in (mapcar 'switch-to-buffer ...)

From: Drew Adams <[email-masked]>
Date: Sat, 2 Aug 2014 17:55:53 -0700 (PDT)

> 	Given that switch-to-buffer returns its argument, /and/ given
> 	that mapc returns the sequence it’s given, I suggest that the
> 	(mapcar 'switch-to-buffer LIST) forms in lisp/files.el be
> 	replaced with (mapc 'switch-to-buffer LIST), – if only to avoid
> 	the unnecessary consing when the list is effectively copied in
> 	the mapcar case.
> 
> 	The lists mapcar is applied to in such cases are returned from
> 	find-file-noselect, and so, as it seems, are “fresh” ones
> 	anyway.

Not a good idea, IMHO.

It's not just about performance; it's about coding style.

By using `mapcar' you are signaling that you are interested in the return values of the argument function (and of course the resulting list of them).

By using `mapc' you are signaling that the values returned by the argument function are unimportant (only its side effects are significant).

If you want to improve the performance, and that is the only change you want to make, then please consider another approach.