Looks like Emacs 22 has a --script flag that allows you to use it to write #! scripts. So here's a kinda ugly command-line-callable elisp script to colorize a file with Emacs font-lock.
Like everything else posted to kragen-hacks without any notice to the contrary, this program is in the public domain; I abandon any copyright in it. #!/usr/local/bin/emacs --script ;;; environment setup (require 'cl) ;; It's too bad there's no convenient way to set EMACSLOADPATH in my ;; environment. (push "/usr/share/emacs/site-lisp" load-path) (push "/usr/share/emacs/site-lisp/autoconf" load-path) (push "/usr/share/emacs/site-lisp/bigloo-ude" load-path) (push "/usr/share/emacs/site-lisp/dictionaries-common" load-path) (push "/usr/share/emacs/site-lisp/emacs-goodies-el" load-path) (push "/usr/share/emacs/site-lisp/erlang" load-path) (push "/usr/share/emacs/site-lisp/ess" load-path) (push "/usr/share/emacs/site-lisp/gambc" load-path) (push "/usr/share/emacs/site-lisp/haskell-mode" load-path) (push "/usr/share/emacs/site-lisp/mmm-mode" load-path) (push "/usr/share/emacs/site-lisp/octave2.1-emacsen" load-path) (push "/usr/share/emacs/site-lisp/php-elisp" load-path) (push "/usr/share/emacs/site-lisp/pymacs" load-path) (push "/usr/share/emacs/site-lisp/pymacs-elisp" load-path) (push "/usr/share/emacs/site-lisp/python-mode" load-path) (push "/usr/share/emacs/site-lisp/ruby1.8-elisp" load-path) (push "/usr/share/emacs/site-lisp/tuareg-mode" load-path) (require 'htmlize) (find-file "/home/kragen/devel/mystrlen.s") ; could just pass this on the command line (message "ok") (font-lock-fontify-buffer) ; not happening automatically (message "fontified") (switch-to-buffer (htmlize-buffer)) ; note that htmlize-file would probably be better... (message "htmlized") (write-file "mystrlen.s.html") (message "wrote")