EmacsでASCII以外の文字を含むキーバインドを定義する

ちょっとはまったのでメモ。
Anythingを起動するためのキーバインドを「Ctrl + ;」としたくてこんな風に設定ファイルに書きました。

; AnythingをCtrl+;で呼び出す
(global-set-key "\C-;" 'anything)
でも、これでEmacsを起動すると、以下のようなエラーになります。

error: Invalid modifier in string
で、調べてみたところ、ASCII以外の文字を含むキーバインドを定義するには、以下のようにしないとダメらしい。
これで設定してみたらエラーは出なくなりました。

; AnythingをCtrl+;で呼び出す
(define-key global-map [?\C-;] 'anything)
でも、Ctrl+;を押してもAnythingが起動しない…なんで???って思ってたらこういうことらしいです。

ターミナルでC-,やC-.に割り当てたい

自分はEmacsを-nwオプションをつけてターミナルの中で使っているんですが、ターミナル経由だとASCIIの範囲でしかEmacs側に通知されないってことかな。
試しにターミナルの中ではなく、アプリ版(?)のEmacsをダウンロードして使ってみたら、Ctrl+;でもAnythingが起動しました。

上のリンクに裏技が書いてあってどうにかできるらしいけど、結局素直にASCIIの範囲内でのキーバインドにしました。