Como evitar que a “definição da função do símbolo seja nula: erro” ao executar o emacs no console?

9

Para desabilitar a barra de rolagem no emacs, adicionei (toggle-scroll-bar -1) ao arquivo my.emacs e funciona muito bem quando executo o emacs fora do modo de console. No entanto, quando eu executo o emacs no terminal, recebo o erro. A definição da função do símbolo é void: toggle-scroll-bar

Estou executando o Emacs 23.3.1

heres o traço quando eu corro --debug-init

    1 Debugger entered--Lisp error: (void-function scroll-bar-mode)                
    2   (scroll-bar-mode -1)                                                       
    3   eval-buffer(#<buffer  *load*> nil "/Users/neil/.emacs.d/init.el" nil t)  ;$
    4   load-with-code-conversion("/Users/neil/.emacs.d/init.el" "/Users/neil/.ema$
    5   load("/Users/neil/.emacs.d/init" t t)                                      
    6   #[nil "^H54^@   6=3^Q^@7^H0Q27^@ 1=33^@27$
    7   command-line()                                                             
    8   normal-top-level()
    
por bneil 21.07.2011 / 20:46

3 respostas

12

FWIW. O manual do emacs desencoraja o uso de window-system como um predicado.

Do not use window-system and initial-window-system as predicates or boolean flag variables, if you want to write code that works differently on text terminals and graphic displays. That is because window-system is not a good indicator of Emacs capabilities on a given display type. Instead, use display-graphic-p or any of the other display-*-p predicates described in Display Feature Testing.

link

Eu uso isso para desativar a barra de rolagem e a barra de ferramentas quando estiver em uma exibição gráfica.

(if (display-graphic-p)
    (progn
      (tool-bar-mode -1)
      (scroll-bar-mode -1)))
    
por 28.09.2012 / 14:51
5

Embora eu ache que a resposta do @neatonk seja a melhor e cubra todas as bases, para desativar especificamente a barra de rolagem, você pode colocar o seguinte no seu ~/.emacs

(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
    
por 02.12.2014 / 00:10
-2

Meu palpite é quando você abre emacs -nw emacs nem se incomoda em carregar scroll-bar.el. é por isso que está tendo problemas para encontrar a função toggle-scroll-bar .
pode ser, em vez disso, se você colocar (scroll-bar-mode -1)
provavelmente funciona.

    
por 21.07.2011 / 21:33