Since version 24.4 and till 25.1 when I want to make a rectangular copy C-x r r RET I got the following message: non-character-input-event

It appears that this problem happens only for rectangular copying but not for all other options (killing, yanking, deleting).

This happens on the following OS: Windows 7,8 and 10.


You are expected to type a character (which names the register) at the prompt Copy rectangle to register:. When you just hit RET that provides the event return for the register name, and that is rejected.

Type, for example, a, and your problem should be solved. IOW, this is pilot error combined with a UI that is not sufficiently clear.

The relevant code, which reads an input event and tries to interpret it as a character, is register-read-with-preview, in register.el. This is the test that leads to the error message:

(if (characterp last-input-event)
  (error "Non-character input-event"))

Predicate characterp returns nil for event return.

(setq foo (read-event))

Hit the "Enter" key. That binds foo to return.

(characterp foo) ;; Returns nil.
  • Thank's. Your answer solved my problem. I interpreted the last r in C-x r r r (see rectancles ) as <RET>. – giordano Jul 29 '17 at 14:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.