You want to find out which part of your init file (or some other Lisp file) is causing some change.
You probably do not want to just evaluate the file sequentially, one sexp (e.g. function definition) at a time, checking the resulting behavior.
Instead, consider bisecting the file recursively. That is, evaluate 1/2 of it (sequentially), to determine which half causes the problem. Then do the same with 1/2 of that half, etc. This way you narrow down the problem from 1/2 to 1/4, 1/8/, 1/16,..., which is a binary search.
This is very quick, even though it might not seem that way in the beginning.
To evaluate only part of a file, you can select that part and use
But for recursively bisecting a file that you load (e.g. your init file), the easiest way to proceed is to comment out the part that you do not want to evaluate, then load the file.
You can use command
comment-region to comment out the region. You can use it with plain
C-u to uncomment the region.
For your init file, you will typically need to restart Emacs after each such edit (commenting out part of the file). Even so, this is quick.
Not only is this a quick way to find the culprit; it is also sure. When you instead think that you can guess this or that, you can easily miss something. This blind and dumb approach doesn't have that weakness.
(And of course if you do have some good guesses then you can combine this blind method with a bit of guessing.)