Check the value of option initial-major-mode
: M-x customize-option RET initial-major-mode RET
.
Its default value is lisp-interaction-mode
, which puts *scratch*
in that mode.
C-h v initial-major-mode
tells you this:
Major mode command symbol to use for the initial *scratch*
buffer.
You can customize this variable.
So remove the customization that changed its value from the default value. In buffer *Customize Option: Initial Major Mode*
, click the State
button and choose the menu item that reverts the option to its standard value.
You say that you tried just using setq
to change the value, presumably in your init file. Using Customize instead, and reverting to the default value, instead of setting and saving the standard value, might help.
Beyond that, it is possible that something in your init file is changing the value of the option later on. To find it, recursively bisect your init file (by commenting out 1/2, then 3/4, 7/8, 15/16,...) until you find the tiny part that causes the problem. If it's not obvious then how to fix it, report what you found here. You can comment out a region of your init file by selecting it and using command comment-region
. With C-u
the command uncomments the region.