The current implementation of the map-char-table method is allowed to pass a character range as the key to the lambda function instead of an integer. The current version of the code then generates a mysterious error because it passes that consp object as aset's key which causes emacs to generate the cryptic message: "Wrong type argument: integerp, (48 . 57) ", in which case emacs fails to load any document passed to it on the command line. This is in reference to emacs 23.1.1 and when the "(requires 'table)" directive appears in ones .emacs file. The ideal behavior would be to have the table--replace-binding method properly generate the char table by handling the case when map-char-table returns a degenerate list of 2 integerp to iterate over that list and perform the table--replace-binding1 action for each index in the inclusive range. This would then allow files to load normally in emacs. This is what the attached patch does.