続 Emacsのエンコーディング指定プラグマを挿入する

以前書いたバージョン
では, 各プログラミング言語用にコメント記法をリストで保持していましたけど、
comment-regionを使えば、Emacsが認識する言語であれば正しくコメントアウト
してくれるはず。

ということで以下のようなものにした

(defun insert-encoding-pragma ()
  "Insert encoding pragma for each programming languages"
  (interactive)
  (save-excursion
    (let* ((charset-list '(("utf-8") ("euc-jp") ("shift_jis")))
          (completion-ignore-case t)
          (charset (completing-read "Charset: "
                           charset-list nil t "utf-8"))
          (pragma (concat "-*- coding:" charset " -*-")))
      (progn
          (beginning-of-line)
          (let ((region-begin (point)))
            (progn
              (insert pragma)
              (end-of-line)
              (let ((region-end (point)))
                (comment-region region-begin region-end))))))))