Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

To disable the scrollbar in emacs I added (toggle-scroll-bar -1) to the my .emacs file and it works great when I run emacs outside of console mode. However when I run emacs in the terminal I get the error Symbol's function definition is void: toggle-scroll-bar

I'm running Emacs 23.3.1

heres the trace when I run --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 "^H\205\264^@   \306=\203^Q^@\307^H\310Q\2027^@ \311=\2033^@\312\307$
    7   command-line()                                                             
    8   normal-top-level()
share|improve this question
Emacs probably gave you a Warnings buffer telling you to run emacs with the --debug-init option to get a complete error backtrace. Try that and add that information to the question. Along with the Emacs version M-x emacs-version. That chunk of code works just fine with Emacs 23.2. – Trey Jackson Jul 21 '11 at 21:48
@Trey Jackson, I added the details you requested, I seem to be running Emacs 23.1, so I'll try upgrading. Thank you for your suggestions. – bneil Jul 22 '11 at 16:23
Very odd. Ok, next test is running Emacs w/out your .emacs, emacs -nw -q, and then in the scratch buffer, type (scroll-bar-mode -1)C-j and see if you get an error. That function is distributed with Emacs in the scroll-bar.el package, so I'm guessing your .emacs has something odd, or the Emacs wasn't installed properly. – Trey Jackson Jul 22 '11 at 16:25
I get this error upon doing that Debugger entered--Lisp error: (void-function scroll-bar-mode) (scroll-bar-mode -1) eval((scroll-bar-mode -1)) eval-last-sexp-1(t) eval-last-sexp(t) eval-print-last-sexp() call-interactively(eval-print-last-sexp nil nil) – bneil Jul 22 '11 at 16:30
Here is my .emacs file too – bneil Jul 22 '11 at 16:34
up vote 11 down vote accepted

FWIW. The emacs manual discourage the use of window-system as a predicate.

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.

I use this to turn off the scrollbar and toolbar when in a graphical display.

(if (display-graphic-p)
      (tool-bar-mode -1)
      (scroll-bar-mode -1)))
share|improve this answer
ah ok thanks for the clarification – bneil Oct 4 '12 at 7:34

While I think @neatonk's answer is best and covers all the bases, to specifically disable the scroll bar you can put the following in your ~/.emacs

(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
share|improve this answer

My guess is when you open emacs -nw emacs doesn't even bother to load scroll-bar.el. thats why it is having trouble to find the function toggle-scroll-bar.
may be instead if you put
(scroll-bar-mode -1)
probably work.

share|improve this answer
(toggle-scroll-bar -1) works just fine in emacs -nw for Emacs 23.2... – Trey Jackson Jul 21 '11 at 21:45

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.