Well, the patch is not correct because the sequence CH_LITERAL| must be used only in a map command. I thought that it would not be a problem when parsing the file, I don't know what I tested that made me think that. This is what you get with dirty hacks.
At least a comment in the man page noting that 0x16 must be inserted before a '|' inside a map when writing an exrc file would be of help. Note that this is done when using :mkexrc. Or as I said before, make Control-V| input the sequence 0x16|. In my opinion the way this is implemented is a mess. But all this time no one has complained, so I suppose it's just me. Regards, adr.