2013-02-07 19 views
7

Ho bisogno di usare la funzione update-directory-autoloads in un po 'di el-script. Quando sto cercando di chiamare questa funzione con un argomento che è un nome di una directory ricevo questo errore:Argomento di tipo errato: stringp, errore nil

Wrong type argument: stringp, nil.

chiamata si presenta così: (update-directory-autoloads "~/test")

risposta

6

Generazione di file autoload è scarsamente documentata . Stai riscontrando il problema che si verifica perché non hai impostato la variabile generated-autoload-file. Provare quanto segue:

(let ((generated-autoload-file "~/test/loaddefs.el")) 
    (update-directory-autoloads "~/test")) 

Aggiornare il generated-autoloads-file vincolante per essere la posizione in cui si desidera che il file loaddefs.el di vivere.

+0

Grazie. Il problema era in realtà nel file generato-autoload non definito. –

9

Quando si ottiene Wrong type argument: foo, bar., è necessario M-: (setq debug-on-error t) RET e quindi riprodurre l'errore in modo da ottenere un backtrace. In realtà, puoi impostare debug-on-error in modo che nel tuo .emacs ed Emacs di solito rimanga perfettamente utilizzabile.

+7

'M-x toggle-debug-on-error' è un po 'più carino per il caso interattivo. – phils

+0

Infatti. O anche "Opzioni => Inserisci debugger su errore" nel menu. – Stefan

Problemi correlati