From e7a7fbcca259826879646b6043b304599b2988b7 Mon Sep 17 00:00:00 2001 From: Ravi R Kiran Date: Sun, 5 Mar 2017 19:53:34 -0800 Subject: Fix region-bindings mode cc mode interaction 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 ) -- cgit v0.10.1