2017-10-03 1 views
0

J'essaie de basculer entre les tampons dans emacs. Normalement, cela a toujours fonctionné pendant des années. Mais maintenant, je reçois un dicton d'erreur:La définition de la fonction de symbole est vide: edmacro-parse-keys

Symbol's function definition is void: edmacro-parse-keys 

Je vois qu'il ya beaucoup de différentes erreur sur google sur le: Symbol's function definition is void Mais je ne peux pas trouver mon problème spécifique. Quelqu'un a une idée?

Merci

Mise à jour -------------- -----------------------

Voici l'erreur de débogage

Debugger entered--Lisp error: (void-function edmacro-parse-keys) 
    (edmacro-parse-keys key) 
    (define-key iswitchb-mode-map (edmacro-parse-keys key) fun) 
    (let* ((key (car K)) (fun (cdr K))) (define-key iswitchb-mode-map (edmacro-parse-keys key) fun)) 
    (lambda (K) (let* ((key (car K)) (fun (cdr K))) (define-key iswitchb-mode-map (edmacro-parse-keys key) fun)))(("<right>" . iswitchb-next-match)) 
    mapc((lambda (K) (let* ((key (car K)) (fun (cdr K))) (define-key iswitchb-mode-map (edmacro-parse-keys key) fun))) (("<right>" . iswitchb-next-match) ("<left>" . iswitchb-prev-match) ("<up>" . ignore) ("<down>" . ignore))) 
    iswitchb-local-keys() 
    run-hooks(iswitchb-define-mode-map-hook) 
    iswitchb-read-buffer("iswitch ") 
    iswitchb() 
    iswitchb-buffer() 
    call-interactively(iswitchb-buffer nil nil) 
    command-execute(iswitchb-buffer) 
+1

'M-x toggle-debug-on-error', puis copiez et collez le backtrace dans votre question après avoir déclenché l'erreur. – phils

+1

'(require 'edmacro)' devrait guérir le symptôme, bien que la maladie ne soit pas très claire. Les informations de version peuvent aider à affiner le problème. – Nick

+2

'edmacro-parse-keys' est défini dans' edmacro.el', qui est automatiquement chargé lorsque vous utilisez quelque chose comme 'kbd' (qui appelle' read-kbd-macro', qui est automatiquement chargé depuis 'edmacro.el'). Il semble donc que vous ayez besoin de '(require 'edmacro)' explicitement ou que vous utilisiez quelque chose comme 'kbd' pour qu'il soit automatiquement chargé. – Drew

Répondre

1

Ceci est décrit emacswiki - vous devez ajouter

(require 'edmacro) 

à votre fichier de configuration

+0

Merci, ça l'a fait. Je ne comprends tout simplement pas pourquoi cela a été soudainement nécessaire, quand cela a fonctionné pendant plusieurs années. Je n'ai pas changé dans mon fichier .emacs, ni mis à jour emacs ou quoi que ce soit. Mais merci encore –