I am learning emacs lisp. One of the things I was playing with was setting variables. So I go and set fill-column to 50 (setq fill-column 60). After this evaluating fill-column does give me 60, but the function fill-paragraph ignores this. How would I go about figuring out why this happens?


Best, Bart

2 Answers 2


To instrument an Elisp function for debugging, load its source code, put point inside the function, and type M-x edebug-defun. Then, when the function is executed, the debugger will activate automatically.

In your particular case, fill-column becomes buffer local when set (see make-variable-buffer-local). You probably set it in the wrong buffer.

  • I run the code for setting the variable in the buffer I was running fill-paragraph.
    – kasterma
    Oct 26, 2010 at 19:13

Or, you could use debug-on-entry ^Hfdebug-on-entry

debug-on-entry is an interactive autoloaded Lisp function.

(debug-on-entry FUNCTION)

Request FUNCTION to invoke debugger each time it is called.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .