* Edgar Toernig: > + case 'U': read_and_save_uniesc(ls, 8); continue; Shouldn't \U take only 6 digits, and only characters up to \U1fffff? Code points beyond that are no longer representable in the current version of UTF-8, after all.