From: Don Armstrong Date: Wed, 17 Jan 2018 00:05:36 +0000 (-0800) Subject: large rework of configuration to allow compilation X-Git-Url: https://git.donarmstrong.com/?p=lib.git;a=commitdiff_plain;h=0ab610215b0c3442cecefd41b1ff4796d303be88 large rework of configuration to allow compilation --- diff --git a/emacs_el/configuration/don-configuration.org b/emacs_el/configuration/don-configuration.org index d2b33c0..abbd4cc 100644 --- a/emacs_el/configuration/don-configuration.org +++ b/emacs_el/configuration/don-configuration.org @@ -128,6 +128,12 @@ load [[https://github.com/jwiegley/use-package/][use-package]] even faster ) #+END_SRC +** Flymake +#+begin_src emacs-lisp :tangle yes + (use-package flymake + :diminish "Φ") +#+end_src + ** Winnermode #+BEGIN_SRC emacs-lisp (winner-mode 1) @@ -342,11 +348,9 @@ value, scrolling continues until there is no more output. #+BEGIN_SRC emacs-lisp ;; load tinyprocmail (use-package tinyprocmail - :ensure f - :config (with-library 'tinyprocmail - ;; (setq tinyprocmail--procmail-version "v3.22") - (add-hook 'tinyprocmail--load-hook 'tinyprocmail-install)) - ) + :load-path "~/lib/emacs_el/tiny-tools/lisp/tiny" + :mode (".procmailrc" . turn-on-tinyprocmail-mode) + ) #+END_SRC ** Magit @@ -356,25 +360,17 @@ value, scrolling continues until there is no more output. :bind (("C-x g" . magit-status) ("C-x C-g" . magit-status)) :config - ;; don't verify where we are pushing - (setq magit-push-always-verify nil) ;; refine diffs always (hilight words) (setq magit-diff-refine-hunk nil) - ;; load magit-annex - (setq load-path - (append '("~/lib/emacs_el/magit-annex") - load-path)) - ;; load magit-vcsh - (setq load-path - (append '("~/lib/emacs_el/magit-vcsh") - load-path)) ) (use-package magit-annex :ensure t - ) + :load-path "~/lib/emacs_el/magit-annex/" + ) (use-package magit-vcsh :ensure f ; currently not in melpa, so don't try to install - ) + :load-path "~/lib/emacs_el/magit-vcsh/" + ) #+END_SRC ** Perl @@ -407,15 +403,60 @@ value, scrolling continues until there is no more output. ** Helm #+BEGIN_SRC emacs-lisp + (defun malb/helm-omni (&rest arg) + ;; just in case someone decides to pass an argument, helm-omni won't fail. + (interactive) + (unless helm-source-buffers-list + (setq helm-source-buffers-list + (helm-make-source "Buffers" 'helm-source-buffers))) + (helm-other-buffer + (append + + (if (projectile-project-p) + '(helm-source-projectile-buffers-list + helm-source-buffers-list) + '(helm-source-buffers-list)) ;; list of all open buffers + + `(((name . "Virtual Workspace") + (candidates . ,(--map (cons (eyebrowse-format-slot it) (car it)) + (eyebrowse--get 'window-configs))) + (action . (lambda (candidate) + (eyebrowse-switch-to-window-config candidate))))) + + (if (projectile-project-p) + '(helm-source-projectile-recentf-list + helm-source-recentf) + '(helm-source-recentf)) ;; all recent files + + ;; always make some common files easily accessible + ;;'(((name . "Common Files") + ;; (candidates . malb/common-file-targets) + ;; (action . (("Open" . (lambda (x) (find-file (eval x)))))))) + + '(helm-source-files-in-current-dir + helm-source-locate + helm-source-bookmarks + helm-source-buffer-not-found ;; ask to create a buffer otherwise + )) + "*Helm all the things*")) (use-package helm - :ensure t + :ensure helm + :diminish helm-mode + :bind (("M-x" . helm-M-x) + ("C-x C-f" . helm-find-files) + ("C-x b" . helm-buffers-list) ; malb/helm-omni) + ("C-x C-b" . helm-buffers-list) ; malb/helm-omni) + ("C-c " . helm-all-mark-rings)) :config + (require 'helm-config) + (require 'helm-for-files) + (require 'helm-bookmark) + (helm-mode 1) (define-key global-map [remap find-file] 'helm-find-files) (define-key global-map [remap occur] 'helm-occur) (define-key global-map [remap list-buffers] 'helm-buffers-list) (define-key global-map [remap dabbrev-expand] 'helm-dabbrev) - (global-set-key (kbd "M-x") 'helm-M-x) (unless (boundp 'completion-in-region-function) (define-key lisp-interaction-mode-map [remap completion-at-point] 'helm-lisp-completion-at-point) (define-key emacs-lisp-mode-map [remap completion-at-point] 'helm-lisp-completion-at-point)) @@ -450,48 +491,50 @@ value, scrolling continues until there is no more output. ;;; stolen from https://github.com/malb/emacs.d/blob/master/malb.org (defun malb/helm-swoop-pre-fill () (thing-at-point 'symbol)) - (setq malb/helm-swoop-ignore-major-mode '(dired-mode - paradox-menu-mode doc-view-mode pdf-view-mode - mu4e-headers-mode org-mode markdown-mode latex-mode - ein:notebook-multilang-mode)) + (defvar malb/helm-swoop-ignore-major-mode "List of major modes to ignore for helm-swoop") + (setq malb/helm-swoop-ignore-major-mode '(dired-mode + paradox-menu-mode doc-view-mode pdf-view-mode + mu4e-headers-mode org-mode markdown-mode latex-mode + ein:notebook-multilang-mode)) - (defun malb/swoop-or-search () - (interactive) - (if (or (> (buffer-size) 1048576) ;; helm-swoop can be slow on big buffers - (memq major-mode malb/helm-swoop-ignore-major-mode)) - (isearch-forward) - (helm-swoop))) + (defun malb/swoop-or-search () + (interactive) + (if (or (> (buffer-size) 1048576) ;; helm-swoop can be slow on big buffers + (memq major-mode malb/helm-swoop-ignore-major-mode)) + (isearch-forward) + (helm-swoop))) + + (use-package helm-swoop + :ensure t + :commands helm-swoop + :bind (("C-c o" . helm-multi-swoop-org) + ("C-s" . malb/swoop-or-search) + ("C-M-s" . helm-multi-swoop-all)) + :config (progn + + (setq helm-swoop-pre-input-function #'malb/helm-swoop-pre-fill + helm-swoop-split-with-multiple-windows nil + helm-swoop-split-direction #'split-window-horizontally + helm-swoop-split-window-function 'helm-default-display-buffer + helm-swoop-speed-or-color t) + + ;; https://emacs.stackexchange.com/questions/28790/helm-swoop-how-to-make-it-behave-more-like-isearch + (defun malb/helm-swoop-C-s () + (interactive) + (if (boundp 'helm-swoop-pattern) + (if (equal helm-swoop-pattern "") + (previous-history-element 1) + (helm-next-line)) + (helm-next-line))) + + (bind-key "C-S-s" #'helm-swoop-from-isearch isearch-mode-map) + (bind-key "C-S-s" #'helm-multi-swoop-all-from-helm-swoop helm-swoop-map) + (bind-key "C-r" #'helm-previous-line helm-swoop-map) + (bind-key "C-s" #'malb/helm-swoop-C-s helm-swoop-map) + (bind-key "C-r" #'helm-previous-line helm-multi-swoop-map) + (bind-key "C-s" #'malb/helm-swoop-C-s helm-multi-swoop-map)) + ) - (use-package helm-swoop - :ensure t - :bind (("C-c o" . helm-multi-swoop-org) - ("C-s" . malb/swoop-or-search) - ("C-M-s" . helm-multi-swoop-all)) - :config (progn - - (setq helm-swoop-pre-input-function #'malb/helm-swoop-pre-fill - helm-swoop-split-with-multiple-windows nil - helm-swoop-split-direction #'split-window-horizontally - helm-swoop-split-window-function 'helm-default-display-buffer - helm-swoop-speed-or-color t) - - ;; https://emacs.stackexchange.com/questions/28790/helm-swoop-how-to-make-it-behave-more-like-isearch - (defun malb/helm-swoop-C-s () - (interactive) - (if (boundp 'helm-swoop-pattern) - (if (equal helm-swoop-pattern "") - (previous-history-element 1) - (helm-next-line)) - (helm-next-line))) - - (bind-key "C-S-s" #'helm-swoop-from-isearch isearch-mode-map) - (bind-key "C-S-s" #'helm-multi-swoop-all-from-helm-swoop helm-swoop-map) - (bind-key "C-r" #'helm-previous-line helm-swoop-map) - (bind-key "C-s" #'malb/helm-swoop-C-s helm-swoop-map) - (bind-key "C-r" #'helm-previous-line helm-multi-swoop-map) - (bind-key "C-s" #'malb/helm-swoop-C-s helm-multi-swoop-map)) - ) - #+END_SRC *** Helm Ag #+BEGIN_SRC emacs-lisp @@ -562,6 +605,47 @@ This can be used to link things pretty quickly if necessary t) )) #+END_SRC + +** Projectile -- Project management +#+begin_src emacs-lisp + (use-package projectile + :ensure t + :bind (("" . projectile-compile-project) + ("" . next-error)) + :config (progn + (use-package magit :ensure t) + (require 'helm-projectile) + (helm-projectile-on) + + (setq projectile-make-test-cmd "make check" + projectile-switch-project-action 'helm-projectile + projectile-mode-line '(:eval (format "»{%s}" (projectile-project-name)))) + + (projectile-global-mode))) +#+end_src + +*** helm integration +#+begin_src emacs-lisp + (use-package helm-projectile + :ensure t + :config (progn + (defvar malb/helm-source-file-not-found + (helm-build-dummy-source + "Create file" + :action 'find-file)) + + (add-to-list + 'helm-projectile-sources-list + malb/helm-source-file-not-found t) + + (helm-delete-action-from-source + "Grep in projects `C-s'" + helm-source-projectile-projects) + + (helm-add-action-to-source + "Grep in projects `C-s'" + 'helm-do-ag helm-source-projectile-projects 4))) +#+end_src ** Zap to char #+BEGIN_SRC emacs-lisp (use-package avy-zap @@ -569,8 +653,72 @@ This can be used to link things pretty quickly if necessary :bind ("M-z" . avy-zap-up-to-char-dwim)) #+END_SRC ** Hydra -#+BEGIN_SRC emacs-lisp :tangle don-configuration.el -(require 'don-hydra) +#+BEGIN_SRC emacs-lisp + (use-package hydra + :bind (("C-c 2" . my/hydra-orgmodes/body) + ("C-c @" . my/hydra-orgmodes/body) + ("C-c #" . my/hydra-outline/body) + ("C-c 3" . my/hydra-outline/body) + ) + :config + (defhydra my/hydra-orgmodes (:color blue :hint nil) + " + _n_: notes _c_: chaim _w_: wildman _o_: ool + _u_: uddin _s_: steve _r_: refile _f_: fh + _p_: read papers _R_: paper notes + _h_: hpcbio + _q_: quit + _z_: quit + " + ("n" (find-file "~/projects/org-notes/notes.org")) + ("c" (find-file "~/projects/org-notes/chaim.org")) + ("w" (find-file "~/projects/org-notes/wildman.org")) + ("u" (find-file "~/projects/org-notes/uddin.org")) + ("o" (find-file "~/projects/org-notes/ool.org")) + ("f" (find-file "~/projects/org-notes/fh.org")) + ("s" (find-file "~/projects/org-notes/sndservers.org")) + ("r" (find-file "~/projects/org-notes/refile.org")) + ("p" (find-file "~/projects/research/papers_to_read.org")) + ("R" (find-file "~/projects/research/paper_notes.org")) + ("h" (find-file "~/projects/org-notes/hpcbio.org")) + ("q" nil "quit") + ("z" nil "quit") + ) + + ;; from https://github.com/abo-abo/hydra/wiki/Emacs + (defhydra my/hydra-outline (:color pink :hint nil) + " + ^Hide^ ^Show^ ^Move + ^^^^^^------------------------------------------------------ + _q_: sublevels _a_: all _u_: up + _t_: body _e_: entry _n_: next visible + _o_: other _i_: children _p_: previous visible + _c_: entry _k_: branches _f_: forward same level + _l_: leaves _s_: subtree _b_: backward same level + _d_: subtree + + " + ;; Hide + ("q" outline-hide-sublevels) ; Hide everything but the top-level headings + ("t" outline-hide-body) ; Hide everything but headings (all body lines) + ("o" outline-hide-other) ; Hide other branches + ("c" outline-hide-entry) ; Hide this entry's body + ("l" outline-hide-leaves) ; Hide body lines in this entry and sub-entries + ("d" outline-hide-subtree) ; Hide everything in this entry and sub-entries + ;; Show + ("a" outline-show-all) ; Show (expand) everything + ("e" outline-show-entry) ; Show this heading's body + ("i" outline-show-children) ; Show this heading's immediate child sub-headings + ("k" outline-show-branches) ; Show all sub-headings under this heading + ("s" outline-show-subtree) ; Show (expand) everything in this heading & below + ;; Move + ("u" outline-up-heading) ; Up + ("n" outline-next-visible-heading) ; Next + ("p" outline-previous-visible-heading) ; Previous + ("f" outline-forward-same-level) ; Forward - same level + ("b" outline-backward-same-level) ; Backward - same level + ("z" nil "leave")) + ) #+END_SRC ** Tramp @@ -827,59 +975,57 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori '(("template-toolkit" . "\\.tmpl\\'"))) ) #+END_SRC -* Email -** Message Mode +** Spamassassin Mode #+BEGIN_SRC emacs-lisp - (use-package post - :config - (setq post-email-address "don@donarmstrong.com") - (setq post-kill-quoted-sig nil) - (setq post-mail-message "mutt\\(ng\\|\\)-[a-z0-9]+-[0-9]+-.*") - (setq post-uses-fill-mode nil) + (use-package spamassassin-mode + :defer + :ensure f ) #+END_SRC +* Email ** Mutt *** Message-mode #+BEGIN_SRC emacs-lisp (use-package message - + :ensure f + :diminish "✉" :mode "muttng-[a-z0-9]+-[0-9]+-" :mode "mutt-[a-z0-9]+-[0-9]+-" :hook 'my/message-mode-settings :hook 'turn-on-flyspell :bind (:map message-mode-map - ("C-c C-a" . my/post-attach-file)) + ("C-c C-a" . my/post-attach-file)) :config (defun my/message-mode-settings () (font-lock-add-keywords nil - '(("^[ \t]*>[ \t]*>[ \t]*>.*$" - (0 'message-multiply-quoted-text-face)) - ("^[ \t]*>[ \t]*>.*$" - (0 'message-double-quoted-text-face)))) + '(("^[ \t]*>[ \t]*>[ \t]*>.*$" + (0 'message-multiply-quoted-text-face)) + ("^[ \t]*>[ \t]*>.*$" + (0 'message-double-quoted-text-face)))) ) (defun my/post-attach-file () "Prompt for an attachment." (interactive) (let ((file (read-file-name "Attach file: " nil nil t nil)) - (description (string-read "Description: "))) - (my/header-attach-file file description))) + (description (string-read "Description: "))) + (my/header-attach-file file description))) (defun my/header-attach-file (file description) "Attach a FILE to the current message (works with Mutt). Argument DESCRIPTION MIME description." (interactive "fAttach file: \nsDescription: ") (when (> (length file) 0) - (save-excursion - (save-match-data - (save-restriction - (widen) - (goto-char (point-min)) - (search-forward-regexp "^$") - (insert (concat "Attach: " (replace-regexp-in-string "\\([[:space:]\\]\\)" "\\\\\\1" (file-truename file)) " " - description "\n")) - (message (concat "Attached '" file "'.")) - (setq post-has-attachment t)))))) + (save-excursion + (save-match-data + (save-restriction + (widen) + (goto-char (point-min)) + (search-forward-regexp "^$") + (insert (concat "Attach: " (replace-regexp-in-string "\\([[:space:]\\]\\)" "\\\\\\1" (file-truename file)) " " + description "\n")) + (message (concat "Attached '" file "'.")) + (setq post-has-attachment t)))))) (setq mail-yank-prefix "> ") ) @@ -1029,7 +1175,7 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (with-temp-buffer (dolist (org-agenda-file org-agenda-files) (insert-file-contents org-agenda-file nil) - (end-of-buffer) + (goto-char (point-max)) (newline)) (write-file "/tmp/timeline.org") (org-agenda arg "L"))) @@ -1100,7 +1246,7 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ; org mode configuration from http://doc.norang.ca/org-mode.html ;; Custom Key Bindings (global-set-key (kbd "") 'org-agenda) - (global-set-key (kbd "") 'bh/org-todo) + ; (global-set-key (kbd "") 'bh/org-todo) (global-set-key (kbd "") 'bh/widen) (global-set-key (kbd "") 'bh/set-truncate-lines) (global-set-key (kbd "") 'org-cycle-agenda-files) @@ -1824,13 +1970,14 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ** appt integration #+BEGIN_SRC emacs-lisp (use-package appt + :ensure f :config ;; Show notification 10 minutes before event (setq appt-message-warning-time 10) ;; Disable multiple reminders (setq appt-display-interval appt-message-warning-time) (setq appt-display-mode-line nil) - + ;; add automatic reminders for appointments (defun my/org-agenda-to-appt () (interactive) @@ -1850,15 +1997,15 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ;; Display appointments as a window manager notification (setq appt-disp-window-function 'my/appt-display) (setq appt-delete-window-function (lambda () t)) - + (setq my/appt-notification-app (concat (getenv "HOME") "/bin/appt_notification")) - + (defun my/appt-display (min-to-app new-time msg) (if (atom min-to-app) (start-process "my/appt-notification-app" nil my/appt-notification-app min-to-app msg) (dolist (i (number-sequence 0 (1- (length min-to-app)))) (start-process "my/appt-notification-app" nil my/appt-notification-app - (nth i min-to-app) (nth i msg)))) + (nth i min-to-app) (nth i msg)))) ) ) @@ -1869,35 +2016,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ) #+END_SRC * Keybindings -** Override other things -#+BEGIN_SRC emacs-lisp - ; apparently things like to step on C-;, so we'll use a hack from - ; http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs/5340797#5340797 to fix this - - (defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.") - - ; use mc everywhere - (define-key my-keys-minor-mode-map (kbd "C-;") 'mc/mark-all-dwim) - ;; use outline mode keybindings everywhere - ;; (define-key my-keys-minor-mode-map (kbd "C-;") 'my/mydra-outline/body) - - (define-minor-mode my-keys-minor-mode - "A minor mode so that my key settings override annoying major modes." - t " my-keys" 'my-keys-minor-mode-map) - - (my-keys-minor-mode 1) - (defun my-minibuffer-setup-hook () - (my-keys-minor-mode 0)) - - (add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook) - (defadvice load (after give-my-keybindings-priority) - "Try to ensure that my keybindings always have priority." - (if (not (eq (car (car minor-mode-map-alist)) 'my-keys-minor-mode)) - (let ((mykeys (assq 'my-keys-minor-mode minor-mode-map-alist))) - (assq-delete-all 'my-keys-minor-mode minor-mode-map-alist) - (add-to-list 'minor-mode-map-alist mykeys)))) - (ad-activate 'load) -#+END_SRC ** Goto line #+BEGIN_SRC emacs-lisp (global-unset-key "\M-g") @@ -1907,6 +2025,7 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ** debian-changelog #+BEGIN_SRC emacs-lisp (use-package debian-changelog + :ensure f :mode "debian/changelog" :config (setq debian-changelog-mailing-address "don@debian.org") @@ -1976,18 +2095,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ;; tramp configuration (setq tramp-use-ssh-controlmaster-options nil) - ;; self-insert-command hack. - ;; Without this, "if" expands to - ;; if ( -!-) { - ;; } - ;; which really should be, - ;; if (-!-) { - ;; } - - - - ;(load-library "php-mode") - (setq-default c-indent-level 4) (setq-default c-brace-imaginary-offset 0) (setq-default c-brace-offset -4) @@ -2020,30 +2127,7 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ) (column-number-mode t) - - ; (require 'mode-compile) - - (defadvice server-process-filter (after post-mode-message first activate) - "If the buffer is in post mode, overwrite the server-edit - message with a post-save-current-buffer-and-exit message." - (if (eq major-mode 'post-mode) - (message - (substitute-command-keys "Type \\[describe-mode] for help composing; \\[post-save-current-buffer-and-exit] when done.")))) - ; This is also needed to see the magic message. Set to a higher - ; number if you have a faster computer or read slower than me. - '(font-lock-verbose 1000) - ;(setq-default server-temp-file-regexp "mutt\(-\|ng-\)") - ; (add-hook 'server-switch-hook - ; (function (lambda() - ; (cond ((string-match "Post" mode-name) - ; (post-goto-body))) - ; set-buffer-file-coding-system 'utf-8 - ; ))) - ; - - (add-hook 'post-mode-hook - (auto-fill-mode nil) - ) + ; abbrev mode settings ; load abbreviations from (setq abbrev-file-name @@ -2056,20 +2140,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ; for now, use abbrev mode everywhere (setq default-abbrev-mode t) - - (defun insert-function-documentation () - "Insert function documentation" - (interactive) - (insert-file-contents "/home/don/lib/templates/perl_function_documentation" nil)) - (global-set-key "\M-f" 'insert-function-documentation) - - (eval-after-load "lilypond-mode" - '(progn - (load-library "lyqi-mode") - (define-key LilyPond-mode-map "\C-cq" 'lyqi-mode))) - - (autoload 'spamassassin-mode "spamassassin-mode" nil t) - (desktop-load-default) (desktop-read) '(icomplete-mode on) @@ -2094,18 +2164,18 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ; Outline-minor-mode key map (define-prefix-command 'cm-map nil "Outline-") ; HIDE - (define-key cm-map "q" 'hide-sublevels) ; Hide everything but the top-level headings - (define-key cm-map "t" 'hide-body) ; Hide everything but headings (all body lines) - (define-key cm-map "o" 'hide-other) ; Hide other branches - (define-key cm-map "c" 'hide-entry) ; Hide this entry's body - (define-key cm-map "l" 'hide-leaves) ; Hide body lines in this entry and sub-entries - (define-key cm-map "d" 'hide-subtree) ; Hide everything in this entry and sub-entries + (define-key cm-map "q" 'outline-hide-sublevels) ; Hide everything but the top-level headings + (define-key cm-map "t" 'outline-hide-body) ; Hide everything but headings (all body lines) + (define-key cm-map "o" 'outline-hide-other) ; Hide other branches + (define-key cm-map "c" 'outline-hide-entry) ; Hide this entry's body + (define-key cm-map "l" 'outline-hide-leaves) ; Hide body lines in this entry and sub-entries + (define-key cm-map "d" 'outline-hide-subtree) ; Hide everything in this entry and sub-entries ; SHOW - (define-key cm-map "a" 'show-all) ; Show (expand) everything - (define-key cm-map "e" 'show-entry) ; Show this heading's body - (define-key cm-map "i" 'show-children) ; Show this heading's immediate child sub-headings - (define-key cm-map "k" 'show-branches) ; Show all sub-headings under this heading - (define-key cm-map "s" 'show-subtree) ; Show (expand) everything in this heading & below + (define-key cm-map "a" 'outline-show-all) ; Show (expand) everything + (define-key cm-map "e" 'outline-show-entry) ; Show this heading's body + (define-key cm-map "i" 'outline-show-children) ; Show this heading's immediate child sub-headings + (define-key cm-map "k" 'outline-show-branches) ; Show all sub-headings under this heading + (define-key cm-map "s" 'outline-show-subtree) ; Show (expand) everything in this heading & below ; MOVE (define-key cm-map "u" 'outline-up-heading) ; Up (define-key cm-map "n" 'outline-next-visible-heading) ; Next @@ -2133,22 +2203,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5")) (multi-web-global-mode 1) - ;;; alias the new `flymake-report-status-slim' to - ;;; `flymake-report-status' - (defalias 'flymake-report-status 'flymake-report-status-slim) - (defun flymake-report-status-slim (e-w &optional status) - "Show \"slim\" flymake status in mode line." - (when e-w - (setq flymake-mode-line-e-w e-w)) - (when status - (setq flymake-mode-line-status status)) - (let* ((mode-line " Φ")) - (when (> (length flymake-mode-line-e-w) 0) - (setq mode-line (concat mode-line ":" flymake-mode-line-e-w))) - (setq mode-line (concat mode-line flymake-mode-line-status)) - (setq flymake-mode-line mode-line) - (force-mode-line-update))) - ; load sql-indent when sql is loaded (eval-after-load "sql" '(load-library "sql-indent")) @@ -2248,11 +2302,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ) ; (add-hook 'tty-setup-hook 'fix-up-tmux-keys) - ; procmailmode configuration - (load "procmail_mode") - - (load "mode-line-cleaner") - (defadvice ask-user-about-supersession-threat (around ask-user-about-supersession-threat-if-necessary) "Call ask-user-about-supersession-threat only if the buffer is actually obsolete." (if (or (buffer-modified-p) @@ -2264,30 +2313,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (not-modified))) (ad-activate 'ask-user-about-supersession-threat) - ; apparently things like to step on C-;, so we'll use a hack from - ; http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs/5340797#5340797 to fix this - - (defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.") - - ; use iedit everywhere - (define-key my-keys-minor-mode-map (kbd "C-;") 'mc/mark-all-dwim) - - (define-minor-mode my-keys-minor-mode - "A minor mode so that my key settings override annoying major modes." - t " my-keys" 'my-keys-minor-mode-map) - - (my-keys-minor-mode 1) - (defun my-minibuffer-setup-hook () - (my-keys-minor-mode 0)) - - (add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook) - (defadvice load (after give-my-keybindings-priority) - "Try to ensure that my keybindings always have priority." - (if (not (eq (car (car minor-mode-map-alist)) 'my-keys-minor-mode)) - (let ((mykeys (assq 'my-keys-minor-mode minor-mode-map-alist))) - (assq-delete-all 'my-keys-minor-mode minor-mode-map-alist) - (add-to-list 'minor-mode-map-alist mykeys)))) - (ad-activate 'load) (global-set-key "\M- " 'hippie-expand) #+END_SRC