Size: a a a

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

2020 September 07

a

akater in Emacs — русскоговорящее сообщество
Глеб
Народ, тут есть пользователи EXWM? Есть ли там какие-нибудь полезные лайфхаки, которые не каждый новичок в EXWM знает?
Можно заголовок окна с шеллом менять когда он меняется в процессе.  Вроде достаточно этого:
(add-hook 'exwm-update-class-hook 'exwm-rename-buffer)
(add-hook 'exwm-update-title-hook 'exwm-rename-buffer)

Но у меня старый конфиг, может, оно само так уже.
источник

a

akater in Emacs — русскоговорящее сообщество
Pig Greenest
а чего там учить? работают как if, when, биндят как let
when-let раскрывается в let*, не одобряю.  Надо было делать when-let* для этого.
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
лол
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
зачем же тогда есть when-let*?
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
а, ну вообще понятно зачем так сделали
источник

PG

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

PG

Pig Greenest in Emacs — русскоговорящее сообщество
(let*
   ((foo
     (and t 'bar))
    (baz
     (and foo 'qux)))
 (if baz
     (list foo bar)
   nil))
источник

a

akater in Emacs — русскоговорящее сообщество
В общем, они биндят не «как let»: не оттуда возьмут референсы, откуда let бы взял.  Не по фен-шую.
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
akater
В общем, они биндят не «как let»: не оттуда возьмут референсы, откуда let бы взял.  Не по фен-шую.
Тебе шашечки или ехать?
источник

a

akater in Emacs — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
Тебе шашечки или ехать?
Не понимаю проблемы сделать when-let и when-let*.
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
akater
Не понимаю проблемы сделать when-let и when-let*.
алло, when-let* есть
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
Pig Greenest
(let*
   ((foo
     (and t 'bar))
    (baz
     (and foo 'qux)))
 (if baz
     (list foo bar)
   nil))
и посмотри зачем нужно раскрытие в let*
источник

PG

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

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
akater
Не понимаю проблемы сделать when-let и when-let*.
Лол
источник

a

akater in Emacs — русскоговорящее сообщество
Pig Greenest
и посмотри зачем нужно раскрытие в let*
Пусть оно происходит в when-let*.

В отличие от +1 вместо 1+, это реально создает непонимание
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
akater
Пусть оно происходит в when-let*.

В отличие от +1 вместо 1+, это реально создает непонимание
ты дурачок или прикидываешься?
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
ты устал, перечитай мои сообщения ещё раз
источник

Г

Глеб in Emacs — русскоговорящее сообщество
akater
Можно заголовок окна с шеллом менять когда он меняется в процессе.  Вроде достаточно этого:
(add-hook 'exwm-update-class-hook 'exwm-rename-buffer)
(add-hook 'exwm-update-title-hook 'exwm-rename-buffer)

Но у меня старый конфиг, может, оно само так уже.
Спс
источник

a

akater in Emacs — русскоговорящее сообщество
Pig Greenest
ты устал, перечитай мои сообщения ещё раз
(when-let ((x first) (y (something спец-переменная))) вычислит не то, что вычислил бы
(let ((x first) (y (something спец-переменная))), a, что вычислил бы
(let* ((x first) (y (something спец-переменная))).  Это плохо, и тут нечего обсуждать.
источник

a

akater in Emacs — русскоговорящее сообщество
ELISP> (let ((x 'x0)) (let ((x 'x1) (y x)) y))
x0
ELISP> (let ((x 'x0)) (let* ((x 'x1) (y x)) y))
x1

when-let поступит в данном случае не как let, a как let*, это плохо.  При этом никакой проблемы назвать «макрос с коротким замыканием» символом when-let*.
источник