Perguntas com a marcação «elisp-macros»

13
"E" vs "quando" para condicionais

Este é um acompanhamento dos comentários sobre esta resposta . Os seguintes bits de código parecem ser equivalentes: (and a b) (when a b) É claro que andpermite colocar mais condições: (and a b c d)significa(when (and a b c) d) Eu costumo usar whenapenas para expressar ramificação. Existem...

12
Quando usar macro ou não usar [fechado]

Fechado . Esta questão precisa ser mais focada . No momento, não está aceitando respostas. Deseja melhorar esta pergunta? Atualize a pergunta para que ela se concentre apenas em um problema editando esta postagem . Fechado há 3 anos . Quando devo usar...

11
Como posso criar vários desonestos percorrendo uma lista?

Estou trabalhando para otimizar minha configuração do emacs, onde posso criar dinamicamente funções interativas para todos os temas que tenho em uma lista. Abaixo está uma versão simplificada da construção que estou tentando fazer funcionar. ;; List containing names of functions that I want to...

11
Como usar while-no-input?

Da documentação: Execute BODY apenas enquanto não houver entrada pendente. Se a entrada chegar, isso encerra a execução de BODY e while-no-inputretorna t. Sair faz com que ele retorne nulo. Se BODY terminar, while-no-inputretornará qualquer valor que BODY produziu. Se bem entendi, essa macro...

8
Carregamentos automáticos e variáveis

Eu entendo o que o carregamento automático faz para funções (registrar o arquivo para carregar quando essa função é chamada ou sua cadeia de documentação é recuperada). No entanto, não está claro como usar o recurso de carregamento automático em conjunto com variáveis ​​e macros. Eu tenho duas...

7
Como posso modificar uma macro que ligo com frequência?

Eu uso use-packagepara organizar o meu init.el. Percebi que todas as minhas declarações usam :ensure t. Um exemplo de declaração é: (use-package auto-complete :ensure t :diminish auto-complete-mode :init (global-auto-complete-mode t)) Como todas as minhas use-packagedeclarações usam :ensure...

7
Macro "cl-flet" que não permite funções recursivas

Estou acostumado com a macro elisp obsoleta flete me disseram para mudar para cl-flet. No entanto, ao fazer essa alteração, alguns dos meus programas elisp pararam de funcionar e percebi que o motivo é que, diferentemente flet, cl-fletnão permite funções recursivas. Por exemplo, definindo a função...

7
Setf expansão estranha

Tentando entender o que setfposso fazer, liguei para (macroexpand '(setf (aref vec i) val)) ⇒ (let* ((v vec) (v i)) (aset v v val)) Isso parece obviamente errado. No entanto, não consegui criar uma instância real em que (setf (aref ..falha. Por exemplo (setq vec (make-vector 10 nil) i 3 val...