;; Tell me if a line goes over 80 columns: (defun is-source-buffer () (or (equal mode-name "C++") (equal mode-name "C") (equal mode-name "Java") (equal mode-name "JavaScript") (equal mode-name "JDE") ; another name for java (equal mode-name "Python") (equal mode-name "Text") (equal mode-name "Makefile"))) (make-face 'long-line-face) (set-face-background 'long-line-face "red") (defvar long-line-face 'long-line-face) (defun bmcs-font-lock-setup () (let ((long-line-regexp (concat "\\(^" (make-string 80 ?.) "\\(.*\\)\\)"))) (if (is-source-buffer) (setq font-lock-keywords (append `(("TODO" (0 font-lock-warning-face t nil)) ("FIXME" (0 font-lock-warning-face t nil)) (,long-line-regexp (2 long-line-face prepend t))) (cdr font-lock-keywords)))))) (add-hook 'font-lock-mode-hook 'bmcs-font-lock-setup) (put 'set-goal-column 'disabled nil)