X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=setup%2Femacsstuff.el;h=cddd38c9043cf97be3f5160d1f5174d0bd147c75;hb=32d555442b43d5849735ee64fb7f7bdde68c9c2e;hp=71bd4f6b4f284733185a65e3bb127f098dcc4d7b;hpb=5f3c695024b3619e7239e9177cca2a07792f9876;p=emacs-init.git diff --git a/setup/emacsstuff.el b/setup/emacsstuff.el index 71bd4f6..cddd38c 100644 --- a/setup/emacsstuff.el +++ b/setup/emacsstuff.el @@ -1,14 +1,38 @@ -(let ((dir (concat (file-name-directory - (directory-file-name - (file-name-directory (or load-file-name - (when (boundp 'bytecomp-filename) bytecomp-filename) - buffer-file-name)))) - (file-name-as-directory "emacsstuff")))) - (add-to-list 'load-path dir)) - -(require 'g0dilstuff-init) -(require 'cc-ide) -(require 'softtext) - -(define-key c++-mode-map "\C-c\C-c" 'recompile) -(define-key c++-mode-map "\C-c\C-i" 'comment-indent) +(let ((dir (concat (file-name-directory + (directory-file-name + (file-name-directory (or load-file-name + (when (boundp 'bytecomp-filename) bytecomp-filename) + buffer-file-name)))) + (file-name-as-directory "emacsstuff")))) + (add-to-list 'load-path dir)) + +(require 'g0dilstuff-init) +(require 'cc-ide) +(require 'softtext) +(require 'cc-mode) + +(define-key c++-mode-map "\C-c\C-c" 'recompile) +(define-key c++-mode-map "\C-c\C-i" 'comment-indent) + +;;; remove some unnecessary compilation error regexp settings which just cause problems +(setq compilation-error-regexp-alist (delq 'cucumber compilation-error-regexp-alist)) +(setq compilation-error-regexp-alist (delq 'mips-1 compilation-error-regexp-alist)) + +;;; remove matching whitespace in filenames for 'gnu' style error messages +(setf (nth 1 (assoc 'gnu compilation-error-regexp-alist-alist)) + (replace-regexp-in-string (regexp-quote " [^-/\n]\\|") "" + (nth 1 (assoc 'gnu compilation-error-regexp-alist-alist)) t t)) + +(defun debug-compilation-error-regexps () + (interactive) + (save-excursion + (save-restriction + (beginning-of-line) + (narrow-to-region (point) (save-excursion (forward-line 1) (point))) + (let ((match (loop for key in compilation-error-regexp-alist + for elt = (assoc key compilation-error-regexp-alist-alist) + if (and elt (re-search-forward (cadr elt) nil t)) + thereis key))) + (if match + (message "compilation-error-regexp-alist-alist key: %s" match) + (error "no error line at point"))))))