Size: a a a

Emacs — русскоговорящее сообщество

2020 December 15

PG

Pig Greenest in Emacs — русскоговорящее сообщество
@xFA25E можно так сделать, императивненько
(let (result)
 (while bindings
   (push `(define-key ,map ,(pop bindings) ,(pop bindings))
         result))
 (nreverse result))
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
Pig Greenest
@xFA25E можно так сделать, императивненько
(let (result)
 (while bindings
   (push `(define-key ,map ,(pop bindings) ,(pop bindings))
         result))
 (nreverse result))
а зачем nreverse?
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
а вдруг у тебя логика зависит от порядка
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
чтобы порядок сохранить
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
Pig Greenest
чтобы порядок сохранить
зачем хранить порядок для define-key? если в define-key важен порядок, ты что-то делаешь не так
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Pig Greenest
@xFA25E можно так сделать, императивненько
(let (result)
 (while bindings
   (push `(define-key ,map ,(pop bindings) ,(pop bindings))
         result))
 (nreverse result))
(cl-loop for (key cmd) on bindings by #'cddr
        collect `(define-key ,map ,key ,cmd))
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
loop is just too strong
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
но я знаю что ты без лупа хотел
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
можешь не отвечать
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
это просто флекс
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
@greenest_pig кста, если тебе прям так отвратителен loop, то можешь попробовать через pcase-dolist)
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
(-> bindings
   (into {})
   (mapcat (fn [[k v]]
             `(define-key ,map k v))))

псевдокложа :3
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Valeriy L
@greenest_pig кста, если тебе прям так отвратителен loop, то можешь попробовать через pcase-dolist)
но я хз можно ли там by сделать
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
(-> bindings
   (into {})
   (mapcat (fn [[k v]]
             `(define-key ,map k v))))

псевдокложа :3
забыл запятые у k v
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
Valeriy L
забыл запятые у k v
да, но суть ясен
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
да
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
элегантно
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
хотя я бы не заюзал здесь тред макро
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
нахуй надо, если всё и так умещается в 80 символов
источник