SL Baur wrote:
 > > What is (event-to-character event) supposed to return when
`event' is
 > > #<keypress-event backspace> or #<keypress-event delete>?
 
 > I don't know what it's supposed to return, but event-to-character
 > appears to return the symbol's 'ascii-character property. These used
 > to be set to ?\010 and ?\177 respectively.
 
 O.K.  The broken code in question looks like:
 
 (defun canna-functional-insert-command (arg)
   "Use input character as a key of complex translation input such as\n\
 kana-to-kanji translation."
   (interactive "*p")
   (let ((ch))
     (if (char-or-char-int-p arg)
         (setq ch last-command-char)
       (setq ch (event-to-character last-command-event)))
     (canna:functional-insert-command2 ch arg) ))
 
 The problem appears to be with `last-command-char' being nil. 
I don't have canna here, but I would expect the following to provide
the previous behaviour (but without affecting other packages):
(defun canna-functional-insert-command (arg)
  "Use input character as a key of complex translation input such as\n\
kana-to-kanji translation."
  (interactive "*p")
  (let ((ch))
    (cond ((char-or-char-int-p arg)
           (setq ch last-command-char))
	  ((eq last-command-event 'backspace)
           (setq ch ?\010))
	  ((eq last-command-event 'delete)
           (setq ch ?\177))
          (t
           (setq ch (event-to-character last-command-event))))
    (canna:functional-insert-command2 ch arg) ))
-- 
Glynn Clements <glynn(a)sensei.co.uk>