Hi! While developing a font-lock package for CMake, I realized that there was no way to regression-test it. So, I wrote a package for that as well. It's called "faceup" and is based on a plain-text representation of texts with faces and is designed to be used with the "ert" regression test system. The package itself can be found at https://github.com/Lindydancer/faceup To see this package in action, see the see the "test" directory of https://github.com/Lindydancer/cmake-font-lock . The tests range from small snippets to real-world CMake source files. When I mentioned this package to Stefan Monnier, he suggested that I should submit it for inclusion, so here it is. -- Anders Lindgren In GNU Emacs 24.3.50.2 (i386-apple-darwin10.8.0, NS apple-appkit-1038.36) of 2013-06-15 on macpro.local Bzr revision: 112898 aidalgol@no8wireless.co.nz-20130609064447-q302fijrwdjsptj1 Windowing system distributor `Apple', version 10.3.1265 Configured using: `configure --with-ns' Important settings: locale-coding-system: nil default enable-multibyte-characters: t Major mode: Text Minor modes in effect: global-prepaint-mode: t global-auto-revert-mode: t global-cwarn-mode: t minibuffer-electric-file-mode: t recentf-mode: t msb-mode: t display-time-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t Recent input: f r e s h SPC i t . SPC q C-k ( T h i s SPC d o e s SPC n o t SPC w o r k SPC o n SPC o n l d e r SPC l d e r SPC v E m a c s SPC v e r s i o n s . ) C-a C-x C-s C-e SPC t h o u g h . C-a C-x C-s q C-a C-x C-s C-SPC C-SPC C-M-f w C-a C-e C-a C-a C-x C-f d o C-g C-x C-f d o . C-x o < C-e 3 C-a C-x C-s C-e ; ; SPC D a t e Ö SPC 2 0 : SPC 2 0 1 3 - 1 2 - 0 5 C-a C-x C-s C-k C-k C-x C-s C-v C-v C-c C-v < C-s r e f r e s h - d e C-a C-e M-d C-a C-x C-s C-x p C-e / x x x C-a C-x C-s x r e p o r t - e m a Recent messages: Beginning of buffer Mark saved where search started Saving file /Users/anders/emacs/src/cmake-font-lock/andersl-cmake-font-lock.el... Wrote /Users/anders/emacs/src/cmake-font-lock/andersl-cmake-font-lock.el Beginning of buffer Saving file /Users/anders/emacs/doc/GitHub.txt... Wrote /Users/anders/emacs/doc/GitHub.txt Restarting server Library idna specified by `autoload' does not exist. Library messagexmas specified by `autoload' does not exist. Load-path shadows: /Users/anders/emacs/lisp/table hides /Applications/Emacs24.3-trunk.app/Contents/Resources/lisp/textmodes/table /Users/anders/emacs/lisp/ruby-mode hides /Applications/Emacs24.3-trunk.app/Contents/Resources/lisp/progmodes/ruby-mode /Users/anders/emacs/src/asm-mode-new/src/asm-mode hides /Applications/Emacs24.3-trunk.app/Contents/Resources/lisp/progmodes/asm-mode Features: (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils dabbrev vc-bzr dired pp jka-compr find-func help-mode misearch multi-isearch follow vc-dispatcher vc-svn sh-script smie executable eldoc ps-print ps-def lpr server autorevert folding-isearch folding view rdebug cwarn prepaint cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs tempo split-nways lockdir project-name uniquify ange-ftp comint ansi-color ring paren mic-paren cl-macs gv iso-insert minibuf-elfile easy-mmode recentf tree-widget wid-edit easymenu msb edmacro kmacro disp-table warnings time advice help-fns cl nadvice cl-lib time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process ns multi-tty emacs)