O Emacs não pode ser fechado porque não pode salvar personalizações

1

Debugger entered--Lisp error: (error "Cannot save customizations; init file was not fully loaded") signal(error ("Cannot save customizations; init file was not fully loaded")) error("Cannot save customizations; init file was not fully loaded") custom-save-all()
customize-save-variable(bmkp-last-as-first-bookmark-file "~\.emacs.d\bookmarks") bookmark-save()
bookmark-exit-hook-internal() kill-emacs()
save-buffers-kill-emacs() handle-delete-frame((delete-frame (#)))

desde que um dia estou tendo este problema com o emacs: Eu não posso terminar por causa da mensagem de erro acima.

O que posso fazer para resolver este problema?

Emacs versão GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601) no Windows 7

Eu não mudei nada intencionalmente, talvez isso tenha a ver com o Windows Update ou com algumas alterações na nossa estrutura de rede? O arquivo .emacs é salvo no meu diretório pessoal, que é armazenado no meu perfil de usuário do Windows-7 (e, portanto, de alguma forma sincronizado com o nosso servidor).

    
por MostlyHarmless 07.03.2014 / 18:11

1 resposta

1

Desculpe pelo seu problema. Você encontrou um bug Bookmark + . / p>

Tente avaliar este código para redefinir esta função:

(defun bookmark-exit-hook-internal ()   ; This goes on 'kill-emacs-hook'.
  "Save currently defined bookmarks and perhaps bookmark menu-list state.
Run 'bookmark-exit-hook', then save bookmarks if they were updated.
Then save menu-list state to file 'bmkp-bmenu-state-file', but only if
that option is non-nil."
  (run-hooks 'bookmark-exit-hook)
  (when (bookmark-time-to-save-p t)
    (condition-case err ; Do NOT raise error.  (Need to be able to exit.)
        (bookmark-save)
      (error (if (fboundp 'display-warning)
                 (display-warning 'bookmark-plus (error-message-string err))
               (message (error-message-string err))
               (sit-for 4))
             nil)))
  (bmkp-save-menu-list-state))

Eu atualizei o arquivo de origem bookmark+-1.el com essa definição agora. Ele deve cuidar do problema - isto é, deve mostrar a mensagem de erro, mas deixá-lo sair do Emacs.

Se essa alteração não corrigir o problema, fale comigo por e-mail para que seja corrigida.

O problema é que a versão Bookmark + de bookmark-save salva o valor atualizado da opção bmkp-last-as-first-bookmark-file em seu arquivo personalizado (ou no arquivo init), e isso era impossível porque seu arquivo init não era carregado com sucesso, por algum motivo.

Mais uma vez, desculpe pelo seu problema. Antes de fazer qualquer um dos itens acima , a fim de sair do Emacs, faça uma cópia do seu arquivo de favoritos , apenas por segurança.

Além do acima, você aparentemente tem um problema no seu arquivo init ( ~/.emacs ). @legallist mencionou em um comentário como atacar isso: dividir e conquistar, também conhecido como recursivamente bisectar seu arquivo init para diminuir a localização do problema.

Da próxima vez que você visualizar "marcador" ou bmkp- (o prefixo Bookmark ) em um backtrace ou em uma mensagem de erro, informe-nos sobre o problema assim que possível. ; -)

    
por 08.03.2014 / 04:26