OVH Cloud OVH Cloud

void-variable ?

3 réponses
Avatar
Xavier Maillard
Bonjour,

Petite question vu que mon elisp a l'air rouillé.

Lorsque je veux utiliser les autoload plutôt que les require, pourquoi
un eval-after-load 'symbole suivi d'une forme du type:

(eval-after-load 'foo
'(setq bar (append bar '("toto" "titi"))))

cela me renvoie systématiquement un void-variable.

Je suis un peu perdu. Comment jouer avec ce genre de choses ?

--
Xavier

3 réponses

Avatar
Matthieu Moy
Xavier Maillard writes:

Lorsque je veux utiliser les autoload plutôt que les require, pourquoi
un eval-after-load 'symbole suivi d'une forme du type:

(eval-after-load 'foo
'(setq bar (append bar '("toto" "titi"))))

cela me renvoie systématiquement un void-variable.



Lapin compris.

Tu as fait quoi exactement ? As-tu une backtrace à poster ?

--
Matthieu
Avatar
Xavier Maillard
Matthieu Moy writes:

Xavier Maillard writes:

Lorsque je veux utiliser les autoload plutôt que les require, pourquoi
un eval-after-load 'symbole suivi d'une forme du type:

(eval-after-load 'foo
'(setq bar (append bar '("toto" "titi"))))

cela me renvoie systématiquement un void-variable.



Lapin compris.

Tu as fait quoi exactement ? As-tu une backtrace à poster ?



(eval-after-load 'vm-vars
'(setq vm-visible-headers (append vm-visible-headers
'("X-Mailer:" "X-SPAM:"))))

vm-visible-headers étant définit dans le fichier vm-vars.el, je
m'attendais à ce que emasc passe outre au chargement cette déclaration
pour ne l'évaluer qu'au chargement de vm-vars.

Ce n'est pas comme cela qu'il faut faire habituellement ?

--
Xavier
Avatar
Xavier Maillard
Xavier Maillard writes:

Ce n'est pas comme cela qu'il faut faire habituellement ?



Je viens de me rendre compte de mon erreur. Je n'utilisais pas le bon
symbole, du coup point de salut.

Cela dit, je dispose d'une autre façon de faire aussi en utilisant le
fichier de configuration pointé par `vm-init-file' qui lui, me
garantit qu'il a chargé un minimum de choses pour VM.

Et puis pour m'affranchir des doublons, je passe par une forme plus
propre à mon goût:

(mapc (lambda (h) (add-to-list 'vm-visible-headers h t))
'("User-Agent:" "X-Mailer:"))

Merci.
--
Xavier