X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/1bb62621e6163703c18750516bfc1317f79924ab..cc54616e6cba612f6376b152870715aeba5f32c0:/el/dot-emacs.el diff --git a/el/dot-emacs.el b/el/dot-emacs.el index 5d64501..c24d9ec 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -535,6 +535,12 @@ Pretend they don't exist. They might be on other display devices." '(progn (define-key compilation-shell-minor-mode-map "\C-c\M-g" 'recompile))) +(defadvice compile (around hack-environment compile activate) + "Hack the environment inherited by inferiors in the compilation." + (let ((process-environment process-environment)) + (setenv "LD_PRELOAD" nil) + ad-do-it)) + (defun mdw-compile (command &optional directory comint) "Initiate a compilation COMMAND, maybe in a different DIRECTORY. The DIRECTORY may be nil to not change. If COMINT is t, then @@ -1094,7 +1100,7 @@ case." (and mdw-auto-indent (cond ((eq major-mode 'lisp-mode) (local-set-key "\C-m" 'mdw-indent-newline-and-indent)) - ((derived-mode-p 'slime-repl-mode 'asm-mode) + ((derived-mode-p 'slime-repl-mode 'asm-mode 'comint-mode) nil) (t (local-set-key "\C-m" 'newline-and-indent)))) @@ -3507,6 +3513,9 @@ that character only to be normal punctuation.") (mdw-define-face eshell-ls-readonly (t nil)) (mdw-define-face eshell-ls-symlink (t :foreground "cyan")) +(defun mdw-eshell-hack () (setenv "LD_PRELOAD" nil)) +(add-hook 'eshell-mode-hook 'mdw-eshell-hack) + ;;;-------------------------------------------------------------------------- ;;; Messages-file mode. @@ -3770,6 +3779,15 @@ that character only to be normal punctuation.") (and mdw-auto-indent (indent-for-tab-command))) +(defadvice comint-line-beginning-position + (around mdw-calculate-it-properly () activate compile) + "Calculate the actual line start for multi-line input." + (if (or comint-use-prompt-regexp + (eq (field-at-pos (point)) 'output)) + ad-do-it + (setq ad-return-value + (constrain-to-field (line-beginning-position) (point))))) + (defun mdw-setup-m4 () ;; Inexplicably, Emacs doesn't match braces in m4 mode. This is very @@ -3852,6 +3870,18 @@ This allows you to pass a list of arguments through `ansi-term'." (ad-set-arg 2 (car program)) (ad-set-arg 4 (cdr program)))))) +(defadvice term-exec-1 (around hack-environment compile activate) + "Hack the environment inherited by inferiors in the terminal." + (let ((process-environment process-environment)) + (setenv "LD_PRELOAD" nil) + ad-do-it)) + +(defadvice shell (around hack-environment compile activate) + "Hack the environment inherited by inferiors in the shell." + (let ((process-environment process-environment)) + (setenv "LD_PRELOAD" nil) + ad-do-it)) + (defun ssh (host) "Open a terminal containing an ssh session to the HOST." (interactive "sHost: ")