Size: a a a

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

2020 April 02

PG

Pïg Grëënëst in Emacs — русскоговорящее сообщество
Aragaer
из емакса приходится выходить если он завис, прибил его sigusr2, но после этого он на любой C-g отвечает ошибкой
потому что C-g это keyboard-quit, который бросает ошибку, которую у тебя ловит включенный дебагер
источник

PG

Pïg Grëënëst in Emacs — русскоговорящее сообщество
Aragaer
но пока не понимаю, как правильно пользоваться setq-local
(setq-local x y) это когда тебе надо сделать (set (make-local-variable 'x) y), но хочется покороче
источник

S

Shizoid in Emacs — русскоговорящее сообщество
Сделать имакс пейлоадом корбута
источник

A

Aragaer in Emacs — русскоговорящее сообщество
Pïg Grëënëst
потому что C-g это keyboard-quit, который бросает ошибку, которую у тебя ловит включенный дебагер
то есть надо обратно выключить дебаггер? как?
источник

PG

Pïg Grëënëst in Emacs — русскоговорящее сообщество
toggle-debug-on-error, наверно
источник

A

Aragaer in Emacs — русскоговорящее сообщество
нет, оно было выключено
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ок, ошибка при C-g в минибуфере только
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Aragaer
ну для си я могу  C-x-f /tmp/x.c, написать там прогу в 5 строчек, открыть консолько, cd /tmp, make x, ./x
Попробуй compile. Я себе его на C-x c повесил. В итоге не нужно открывать консоль. Просто C-x c RET
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Aragaer
беда в том, что буфер "файла-архива" также остается открытым
Я не знаю как правильно, но я думаю можно повесить :after адвайс который сохраняет все буферы
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Aragaer
чот начал фигачить: https://pastecode.xyz/view/8710fc5f
А сорян) ты уже сделал)
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну я сделал, но теперь еще захотел сделать "а если он и так был открыт, то не надо" и надо что-то делать с переменными, чтобы из одного адвайса в другой передавать
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Aragaer
ну я сделал, но теперь еще захотел сделать "а если он и так был открыт, то не надо" и надо что-то делать с переменными, чтобы из одного адвайса в другой передавать
Можно просто обернуть все в :around. Запомнить архив файл в let переменную и в конце сохранить только этот файл
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
С :around нужно быть аккуратнее тк если функция часто вызывается, то стэк может кончится. У меня такое бывало))
Но я не думаю что archive-subtree часто вызывается
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ага, понял
источник

A

Aragaer in Emacs — русскоговорящее сообщество
попробую сделать такой вариант, ага
источник

VL

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

AK

Andrew Kravchuk in Emacs — русскоговорящее сообщество
В CCL, кстати, оно есть: https://ccl.clozure.com/manual/chapter4.3.html#Advising
источник

AK

Andrew Kravchuk in Emacs — русскоговорящее сообщество
А в стандарте CL нету(
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну птоновские декораторы это по сути тот же адвайс :around
источник

VL

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