Hello, I've attached complete test file. The test body is: zpty_start zpty_input 'stty 38400 columns 80 rows 24 tabs -icanon -iexten' nl zpty_input 'rh_widget() { BUFFER="ls"; region_highlight+=( 0 4 "fg=#12569a" ); echo yes; }' nl zpty_input 'zle -N rh_widget' nl zpty_input 'bindkey "\C-a" rh_widget' nl zpty_input 'zle -la | grep rh_widget' nl zpty_input 'bindkey | grep rh_widget' nl zpty_input $'\C-a' zpty_stop 0:region_highlight *>*ls* The result is always: Pattern match filead, line mismatch (1/3): <*ls* >rh_widget >"^A" rh_widget >zsh: command not found: ^A Note that the 2 middle lines confirm the widget is created and bound to Ctrl-A. I can change Ctrl-A sequence to just letter "a", and the result is the same. I've tried also without the first stty command (I was looking for some needed initialization in Y0* completion tests, that's why it's there). What can be the cause? Ctrl-T was invoking TTY "status" command, which on BSD gives system load. So I've changed to TTY-unused Ctrl-A. I just need to invoke zle widget so if there is other method (zle -F didn't work) I can use it. -- Sebastian Gniazdowski News: https://twitter.com/ZdharmaI IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin Blog: http://zdharma.org