Como excluir uma função?

8

Pelo que faço, costumo definir muitas funções que uso temporariamente. O tempo de vida útil é geralmente de uma a duas semanas - e então defino um novo conjunto de funções.

Não consegui encontrar onde essas definições realmente estão, nem como excluí-las apenas fornecendo um nome de função (o que seria útil).

A_P
fonte
3
Porque se importar? Eles desaparecerão se e quando você reiniciar o Emacs (a menos que você os salve no seu .emacs).
Barmar
11
@Barmar. Veja, eu não sabia disso. Minha pergunta foi editada várias vezes. O que faço é definir uma macro do teclado, salvá-la como funções e vinculá-la a um atalho. Quando terminar o que faço, geralmente defina mais e reenvie. Mas a função ainda está lá se eu pressionar Mx. Daí a questão. PS. Eu não conheço muitos internos do Emacs, então isso pode parecer uma pergunta óbvia para alguns.
A_P

Respostas:

7

Além de remover a definição de função com fmakunbounde a ligação de variável com makunbound, você também pode remover o próprio nome com unintern.

Observe também que, a menos que você salve suas definições em um arquivo (por exemplo, arquivo init ) e o carregue, suas funções e variáveis ​​desaparecerão quando você reiniciar o Emacs.

sds
fonte
13

As funções são ilimitadas com:

(fmakunbound 'NAME)

(O equivalente para variáveis ​​é makunbound.)

phils
fonte