summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRavi R Kiran <aine.marina@gmail.com>2017-03-06 03:53:34 (GMT)
committerRavi R Kiran <aine.marina@gmail.com>2017-03-06 04:09:01 (GMT)
commite7a7fbcca259826879646b6043b304599b2988b7 (patch)
tree1d773570a7b8511917c322824fd76a393b009af0
parent6fc960567f4bb6ed85d9f25848a391aa3f3479e3 (diff)
downloaddotemacs-e7a7fbcca259826879646b6043b304599b2988b7.zip
dotemacs-e7a7fbcca259826879646b6043b304599b2988b7.tar.gz
dotemacs-e7a7fbcca259826879646b6043b304599b2988b7.tar.bz2
Fix region-bindings mode cc mode interaction
-rw-r--r--lisp/ravi-init-cpp.el3
-rw-r--r--lisp/ravi-init-navigation.el8
2 files changed, 11 insertions, 0 deletions
diff --git a/lisp/ravi-init-cpp.el b/lisp/ravi-init-cpp.el
index 684db1f..520f13f 100644
--- a/lisp/ravi-init-cpp.el
+++ b/lisp/ravi-init-cpp.el
@@ -271,6 +271,9 @@
(add-hook 'c++-mode-hook 'my-c++-mode-hook))
(ravi/c++-hook-adder)
+ ;; Annoyance in emacs 25.1+: c-tnt-chng-cleanup calls set-mark/deactivate-mark
+ (advice-add 'c-tnt-chng-cleanup :around #'ravi/without-region-bindings-mode)
+
;; Stuff from kde-emacs
(defvar kde-header-protection-parts-to-show 1
"Set this variable to the number of parts from the file name you want to
diff --git a/lisp/ravi-init-navigation.el b/lisp/ravi-init-navigation.el
index 91ac091..c3bfbd0 100644
--- a/lisp/ravi-init-navigation.el
+++ b/lisp/ravi-init-navigation.el
@@ -39,6 +39,14 @@
;; Most of the time, we mark regions to copy
(bind-key "w" 'kill-ring-save region-bindings-mode-map)
+
+ (defun ravi/is-region-bindings-mode-disabled ()
+ (bound-and-true-p ravi/disable-region-bindings-mode))
+ (add-to-list 'region-bindings-mode-disable-predicates 'ravi/is-region-bindings-mode-disabled)
+ (defun ravi/without-region-bindings-mode (orig-func &rest args)
+ (let* ((ravi/disable-region-bindings-mode t)
+ (res (apply orig-func args)))
+ res))
)
:ensure t
)