On 4/7/24 17:45, Stefan Monnier wrote: >> + (lambda (form) (keymap--compile-check from (and to to)) form))) > ^^^^^^^^^^^ > ?? > >> (keymap--check from) >> - (keymap--check to) >> - (or (char-table-p keyboard-translate-table) >> - (setq keyboard-translate-table >> - (make-char-table 'keyboard-translate-table nil))) >> - (aset keyboard-translate-table >> - (aref (key-parse from) 0) >> - (aref (key-parse to) 0))) >> + (when to >> + (keymap--check to)) >> + (let ((from-key (key-parse from)) >> + (to-key (and to (key-parse to)))) >> + (when (> (length from-key) 1) >> + (error "FROM key %s is not a single key" from)) >> + (when (and to (> (length to-key) 1)) >> + (error "TO key %s is not a single key" to)) > I'd check `=` while at it (if length is 0 the error is caught by > `aref`, but it's a less helpful error). > > > Stefan Updated & attached. -- Charalampos