パスワードを読み取って別のプログラムに渡すには、関数 read-passwd を使用できます。
この関数は、prompt
と表示してパスワードを読み取ります。ユーザーが入力する際、パスワードをそのまま表示するのではなく、パスワードの各文字に対して ‘*’ を表示します。パスワードを隠すために別の文字を適用したい場合は、変数 read-hide-char にその文字を let-bind してください。
オプション引数 confirm が nil
以外の場合、パスワードを2回読み取り、両者が一致することを必須とします。一致しない場合は、直近の2回が一致するまで、ユーザーは繰り返し入力する必要があります。
オプション引数 default
は、ユーザーが空の入力をした場合に返されるデフォルトのパスワードを指定します。default が
nil である場合、read-passwd
はそのケースでヌル文字列を返します。
この関数は、マイナーモードであるread-passwd-modeを使用します。minbuffer内の2つのキーをバインドしており、C-u (delete-minibuffer-contents)
でパスワードを削除し、TAB (read-passwd--toggle-visibility)
でパスワードの表示/非表示を切り替えます。また、モードラインのglobal-mode-stringには追加のアイコンがあります。このアイコンをmouse-1でクリックすると、同様にパスワードの表示/非表示が切り替わります。