With function `ucs-insert' (from lisp/international/ucs-tables.el): M-x ucs-insert RET 4DF9 RET => "Character U+4DF9 is not yet supported" (an error message). With ucs input method: U4DF9 => "ä·¹" (in the buffer). Why does the ucs input method try to insert what it knows is an unsupported character? In which way it is better to get "ä·¹" than a helpful error message? I ask because the behavior is clearly intentional. `utf-8-ccl-encode' is defined in leim/quail/uni-input.el, and `ucs-input-method' includes this error handling: (if c (list c) (aset status 0 n) (string-to-list (ccl-execute-on-string 'utf-8-ccl-encode status ""))) /L/e/k/t/u