X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/47a5be0d6acb3d4d786162f83ae1443fd5b054ae..c4b18360a1a1f0f26ba6aca71eeb118ed60fd49e:/el/dot-emacs.el diff --git a/el/dot-emacs.el b/el/dot-emacs.el index c0ab9a7..e9390dd 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -164,6 +164,25 @@ library." (other-window 1)) (select-window win))) +;; Transient mark mode hacks. + +(defadvice exchange-point-and-mark + (around mdw-highlight (&optional arg) activate compile) + "Maybe don't actually exchange point and mark. +If `transient-mark-mode' is on and the mark is inactive, then +just activate it. A non-trivial prefix argument will force the +usual behaviour. A trivial prefix argument (i.e., just C-u) will +activate the mark and temporarily enable `transient-mark-mode' if +it's currently off." + (cond ((or mark-active + (and (not transient-mark-mode) (not arg)) + (and arg (or (not (consp arg)) + (not (= (car arg) 4))))) + ad-do-it) + (t + (or transient-mark-mode (setq transient-mark-mode 'only)) + (set-mark (mark t))))) + ;; Functions for sexp diary entries. (defun mdw-weekday (l) @@ -690,7 +709,7 @@ case." (t (local-set-key "\C-m" 'newline-and-indent)))) (local-set-key [C-return] 'newline) - (make-variable-buffer-local 'page-delimiter) + (make-local-variable 'page-delimiter) (setq page-delimiter "\f\\|^.*-\\{6\\}.*$") (setq comment-column 40) (auto-fill-mode 1) @@ -2041,7 +2060,7 @@ strip numbers instead." (interactive) (sgml-mode) (mdw-standard-fill-prefix "") - (make-variable-buffer-local 'sgml-delimiters) + (make-local-variable 'sgml-delimiters) (setq sgml-delimiters '("AND" "&" "COM" "--" "CRO" "&#" "DSC" "]" "DSO" "[" "DTGC" "]" "DTGO" "[" "ERO" "&" "ETAGO" ":e" "GRPC" ")" "GRPO" "(" "LIT" "\"" @@ -2298,7 +2317,7 @@ strip numbers instead." (defun mdw-setup-smalltalk () (and mdw-auto-indent (local-set-key "\C-m" 'smalltalk-newline-and-indent)) - (make-variable-buffer-local 'mdw-auto-indent) + (make-local-variable 'mdw-auto-indent) (setq mdw-auto-indent nil) (local-set-key "\C-i" 'smalltalk-reindent)) @@ -2337,7 +2356,7 @@ strip numbers instead." (multiple-value-bind . ((&whole 4 &rest 1) 4 &body)))))) (defun mdw-common-lisp-indent () - (make-variable-buffer-local 'lisp-indent-function) + (make-local-variable 'lisp-indent-function) (setq lisp-indent-function 'common-lisp-indent-function)) (setq lisp-simple-loop-indentation 2