Capisco cosa fa il caricamento automatico per le funzioni (registra il file da caricare quando viene chiamata tale funzione o viene recuperata la sua stringa di documentazione). Tuttavia, non è chiaro come utilizzare la funzione di caricamento automatico insieme a variabili e macro.
Ho due domande:
Cosa succede quando il pacchetto ha un parametro, implementato come variabile che l'utente può impostare, ma non è caricato automaticamente? Tali variabili dovrebbero essere caricate automaticamente? In caso contrario, si scopre che tali variabili non esistono, l'ambiente Lisp non ne sa nulla, inclusi i loro valori predefiniti, fino a quando non viene utilizzata una funzione caricata automaticamente dal pacchetto (in genere dopo il caricamento dei file di configurazione), quindi se l'utente li imposta nella sua / il suo file di configurazione, è come impostare una variabile inesistente. Se il valore della variabile è un elenco non vuoto e l'utente utilizza
push
oadd-to-list
per modificarne il valore, cosa succede esattamente? I valori predefiniti vengono persi?Cosa succede quando una macro viene caricata automaticamente? Quando dovremmo caricare automaticamente una macro?
setq
(ovvero non importa quali valori avevano prima) possono avere impostazioni predefinite specificate indefvar
odefcustom
forma, ma in caso di elenco che può essere esteso dall'utente è meglio usareeval-after-load
giusto? Inoltre, a volte le buone impostazioni predefinite sono buone, anche se prendono la forma di un elenco ;-)