The role-selection does not work with the tty interface. You only get to pick 'random'.
The reason seems to be that flags.initrace,initgend,initalign are not
initialized. One solution for this ist to put
flags.initrace = -1;
flags.initgend = -1;
flags.initalign = -1;
before the first loop in tty_role_select.
Confirmed present in 0.0.6E4.
Workaround: Don't define any role, race, gender or alignment in slashemrc
Repeat by: Use the following slashemrc:
OPTIONS=windowtype:tty
OPTIONS=align:chaotic
The problem appears to be that ok_role(), and presumably others, assume that aligns[].allow etc., have the full set of role, race, gender and alignment flags that are compatible with that alignment. This is not the case; the allow field only contains the relevant alignment bit. This has been changed from vanilla, but I'm not clear why, so I don't immediately see how to fix it.
The suggested fix, by the way, appears to simply enforce the workaround
listed above.