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).


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.


13

As funções são ilimitadas com:

(fmakunbound 'NAME)

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.