Tracing the workings of a function in Emacs

emacs

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?

Thanks.

Best,
Bart

Best Answer

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.