ardggy's blog

Esc - Meta - Alt - Ctrl - Shift

MySQL のコメント構文に対応する

MySQL--/* */ だけじゃなくて # スタイルのコメントもサポートしている。 Emacssql-mode だと # スタイルはサポートしていないので、構文テーブルをどうにかする必要がある。

(add-hook 'sql-mode-hook 'mysql-comment-syntax)

(defun mysql-comment-syntax ()
  (setq-local syntax-propertize-function 'mysql-comment-propertize-function))

(defun mysql-comment-propertize-function (begin end)
  (funcall
    (syntax-propertize-rules
      ("\\(#\\).*\\(\n\\)" (1 "<") (2 ">"))) ;; from "#" to newline
    begin
    end))

追記 たぶんこっちのほうがいいと思う。データベースごとの設定が標準で用意されていた。 .dir-locals.el に書いておけばプロジェクトごとの設定にも対応できそうである。

(sql-set-product 'mysql)

find -exec で bash を呼び出す

内容までチェックするような、凝ったファイル検査をしたいときに、-exec 節を使いたい。 そういうときは bash の引数として _{} を渡せばよいようだ。 _$0 に埋め込ませるだけである。

$ touch empty.txt
$ seq 10 > num1.txt
$ seq 4 > num2.txt
$ find . -type f -exec bash -c \ 
   'test $({ echo 0; cat "$1"; } | paste -sd+ - | bc) -eq 10' _ {} \; \
    -print
./num2.txt

serverfault.com