systemd does not pass locale environment variables when spawning
a login shell. This can cause readline to improperly redraw the
input upon exiting incremental history search when $prompt
contains multibyte UTF-8 characters.

While it's possible to "fix" this by editing the getty@.service
file to comment out the Environment=... line, I think it's safer
to include the following code at the top of your ~/.xsrc file.

	-- begin ~/.xsrc --
	~ $LC_ALL () && {
		LC_ALL = en_US.UTF-8 # or UTF-8 for your region
		LANG = $LC_ALL
		SHLVL = `($SHLVL-1)
		exec xs -l
	}
	
	# ... your code goes here ...
	-- end ~/.xsrc --
