http://bruda.ca/emacs/prolog_mode_for_emacs