Compilazione dei byte della mia modalità:
(defun dict-setup-expansions ()
"Add `dict-mode' specific expansions."
(set (make-local-variable 'er/try-expand-list) (list #'dict-mark-article)))
dà avvertimento:
Warning: assignment to free variable `er/try-expand-list'
Questa è una situazione normale perché er/try-expand-list
è definita in esterno; biblioteca expand-region
che si trova su http://elpa.gnu.org
La mia modalità registra l'estensione nella expand-region
libreria ma è ok eseguire la mia modalità senza expand-region
modalità.
Penso che il modo corretto di gestire l'avvertimento sia quello di aggiungere una dichiarazione:
(defvar er/try-expand-list)
defvar
i documenti dicono:
The `defvar' form also declares the variable as "special",
so that it is always dynamically bound even if `lexical-binding' is t.
Io uso -*- lexical-binding: t -*-
. Significa che senza defvar
variabili er/try-expand-list
rientrano nell'ambito lessicale e ho un vero bug?
(defvar er/try-expand-list)
.