[This was included as a self-decoding answer in the posting of Exercise #14; see exercise.014] Answer to Around the Bend #14: Catcode Char Codes Catcode Char Codes ------- ---------- ------- ---------- 1 0--255 10 1--255 2 0--255 3 0--255 11 0--255 4 0--255 12 0--255 13 0--255 6 0--255 7 0--255 8 0--255 Category 10 is the exceptional case. Catcode-10 characters with character code <> 32 can only be produced by \uppercase/\lowercase tricks (TeXbook, Appendix D). So the pair character 0, catcode 10 is not possible: \uppercase and \lowercase cannot produce a character 0 from a non-0 character. Active characters will test true for category 10 with \ifcat if they are \let equal to a space token. But if the ~ character (say) has been so defined, it will not match a space in the delimiter text of a macro with delimited arguments. And according to \tracingcommands the meaning of an active tilde that has been \let equal to a space is "blank space ", whereas the meaning of a category-10 tilde is "blank space ~".