Compilation d'octets de mon mode:
(defun dict-setup-expansions ()
"Add `dict-mode' specific expansions."
(set (make-local-variable 'er/try-expand-list) (list #'dict-mark-article)))
donne un avertissement:
Warning: assignment to free variable `er/try-expand-list'
C'est une situation normale car elle er/try-expand-list
est définie dans externa; bibliothèque expand-region
qui est à http://elpa.gnu.org
Mon mode enregistre l'extension à la expand-region
bibliothèque mais il est correct d'exécuter mon mode sans expand-region
mode.
Je pense que la bonne façon de gérer l'avertissement est d'ajouter une déclaration:
(defvar er/try-expand-list)
defvar
les documents disent:
The `defvar' form also declares the variable as "special",
so that it is always dynamically bound even if `lexical-binding' is t.
J'utilise -*- lexical-binding: t -*-
. Est-ce que cela signifie que sans defvar
variable er/try-expand-list
être de portée lexicale et j'ai un vrai bug?
(defvar er/try-expand-list)
.