Trying to understand Surfaces and the RLE optimization

So, when a SDL_Surface is first created, does it always have RLE off?

And then you enable RLE using SDL_SetSurfaceRLE, right?

Can you remove the RLE effect using SDL_SetSurfaceRLE with a flag of 0?

I ask because, when I look at the source, SDL_LockSurface and SDL_SetSurfaceRLE seem to be running totally different code paths. It looks like SDL_SetSurfaceRLE doesn’t actually immediately apply/remove the RLE effect, the same way that SDL_LockSurface immediately adjusts the pixel data for direct access.