История изменений
Исправление iVS, (текущая версия) :
банальный map filter map, а столько писанины
Разве настольно неопциональный код что-либо доказывает? Две лямбды, три функции, переводящие список в другой список - ужас. Только одна лямбда, и только один map:
(defun list-buffers-string ()
(mapconcat (lambda (buf)
(let ((name (buffer-name buf)))
(unless (string= (substring name 0 1) " ")
(format "%s\n" name))))
(buffer-list) ""))
Исходная версия iVS, :
банальный map filter map, а столько писанины
Разве настольно неопциональный код что-либо доказывает? Две лямбды, три функции, переводящие список в другой список - ужас. Только одна лямбда, и только один map:
(defun list-buffers-string ()
(mapconcat (lambda (buf)
(let ((name (buffer-name buf)))
(unless (string= (substring name 0 1) " ")
(format "%s\n" name))))
(buffer-list) ""))