[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ergoemacs-mode de3c5e7 262/325: Restore isearch-mode-ma
From: |
Stefan Monnier |
Subject: |
[elpa] externals/ergoemacs-mode de3c5e7 262/325: Restore isearch-mode-map |
Date: |
Sat, 23 Oct 2021 18:49:07 -0400 (EDT) |
branch: externals/ergoemacs-mode
commit de3c5e793024d2f3292fcf12508b494ad7f4fb3d
Author: Matthew Fidler <514778+mattfidler@users.noreply.github.com>
Commit: Matthew Fidler <514778+mattfidler@users.noreply.github.com>
Restore isearch-mode-map
---
ergoemacs-mode.el | 98 +++++++++++++++++++++++++-------------------------
ergoemacs-themes.el | 100 +++++-----------------------------------------------
2 files changed, 59 insertions(+), 139 deletions(-)
diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el
index 1ca0c5b..14e1bd9 100644
--- a/ergoemacs-mode.el
+++ b/ergoemacs-mode.el
@@ -283,54 +283,56 @@ The `execute-extended-command' is now
\\[execute-extended-command].
(setq ergoemacs-mode--start-p t)
(setq ergoemacs-map--hashkey nil)
(if ergoemacs-mode
- (progn
- ;; Save frame parameters
- (run-hooks 'ergoemacs-mode-startup-hook)
- (add-hook 'pre-command-hook #'ergoemacs-pre-command-hook)
- (add-hook 'post-command-hook #'ergoemacs-post-command-hook)
- (add-hook 'after-load-functions #'ergoemacs-after-load-functions)
-
- (setq ergoemacs-mode--default-frame-alist nil)
- (dolist (elt (reverse default-frame-alist))
- (push elt ergoemacs-mode--default-frame-alist))
-
- ;; Setup the global keys that can be overriden
- (cond
- ((string-equal ergoemacs-theme "reduction")
- (ergoemacs-install-reduction-theme))
- (t (ergoemacs-install-standard-theme)))
- (ergoemacs-command-loop--setup-quit-key)
- ;; Make the ErgoEmacs menu
- (ergoemacs-map--install)
- ;; Setup the main keys
- (cond
- ((string-equal ergoemacs-theme "reduction")
- (ergoemacs-setup-override-keymap))
- (t (ergoemacs-setup-override-keymap)))
- (setq ergoemacs-require--ini-p t)
- ;;(define-key key-translation-map (kbd "<apps>") (kbd "<menu>"))
- ;;(global-unset-key (kbd "<apps>"))
- ;;(global-unset-key (kbd "<menu>"))
- ;;(define-key ergoemacs-translate--parent-map [apps]
'ergoemacs-command-loop--swap-translation)
- ;;(define-key ergoemacs-translate--parent-map [menu]
'ergoemacs-command-loop--swap-translation)
- (when ergoemacs-mode-turn-on-cua-mode
- (cua-mode 1))
- (message "Ergoemacs-mode turned ON (%s)."
ergoemacs-keyboard-layout))
- ;; Turn off
- ;; Restore frame parameters
- (modify-all-frames-parameters ergoemacs-mode--default-frame-alist)
- (setq ergoemacs-mode--default-frame-alist nil)
-
- (ergoemacs-command-loop--redefine-quit-key)
- (run-hooks 'ergoemacs-mode-shutdown-hook)
- (remove-hook 'post-command-hook #'ergoemacs-post-command-hook)
- (remove-hook 'pre-command-hook #'ergoemacs-pre-command-hook)
- (remove-hook 'after-load-functions #'ergoemacs-after-load-functions)
- (when ergoemacs-mode-turn-on-cua-mode
- (cua-mode 0))
- (setq isearch-mode-map (copy-keymap isearch-mode-map-ergoemacs))
- (unless refresh-p
- (message "Ergoemacs-mode turned OFF."))))
+ (progn
+ (unless isearch-mode-map-ergoemacs
+ (setq isearch-mode-map-ergoemacs (copy-keymap isearch-mode-map)))
+ ;; Save frame parameters
+ (run-hooks 'ergoemacs-mode-startup-hook)
+ (add-hook 'pre-command-hook #'ergoemacs-pre-command-hook)
+ (add-hook 'post-command-hook #'ergoemacs-post-command-hook)
+ (add-hook 'after-load-functions #'ergoemacs-after-load-functions)
+
+ (setq ergoemacs-mode--default-frame-alist nil)
+ (dolist (elt (reverse default-frame-alist))
+ (push elt ergoemacs-mode--default-frame-alist))
+
+ ;; Setup the global keys that can be overriden
+ (cond
+ ((string-equal ergoemacs-theme "reduction")
+ (ergoemacs-install-reduction-theme))
+ (t (ergoemacs-install-standard-theme)))
+ (ergoemacs-command-loop--setup-quit-key)
+ ;; Make the ErgoEmacs menu
+ (ergoemacs-map--install)
+ ;; Setup the main keys
+ (cond
+ ((string-equal ergoemacs-theme "reduction")
+ (ergoemacs-setup-override-keymap))
+ (t (ergoemacs-setup-override-keymap)))
+ (setq ergoemacs-require--ini-p t)
+ ;;(define-key key-translation-map (kbd "<apps>") (kbd "<menu>"))
+ ;;(global-unset-key (kbd "<apps>"))
+ ;;(global-unset-key (kbd "<menu>"))
+ ;;(define-key ergoemacs-translate--parent-map [apps]
'ergoemacs-command-loop--swap-translation)
+ ;;(define-key ergoemacs-translate--parent-map [menu]
'ergoemacs-command-loop--swap-translation)
+ (when ergoemacs-mode-turn-on-cua-mode
+ (cua-mode 1))
+ (message "Ergoemacs-mode turned ON (%s)." ergoemacs-keyboard-layout))
+ ;; Turn off
+ ;; Restore frame parameters
+ (modify-all-frames-parameters ergoemacs-mode--default-frame-alist)
+ (setq ergoemacs-mode--default-frame-alist nil)
+
+ (ergoemacs-command-loop--redefine-quit-key)
+ (run-hooks 'ergoemacs-mode-shutdown-hook)
+ (remove-hook 'post-command-hook #'ergoemacs-post-command-hook)
+ (remove-hook 'pre-command-hook #'ergoemacs-pre-command-hook)
+ (remove-hook 'after-load-functions #'ergoemacs-after-load-functions)
+ (when ergoemacs-mode-turn-on-cua-mode
+ (cua-mode 0))
+ (when isearch-mode-map-ergoemacs
+ (setq isearch-mode-map isearch-mode-map-ergoemacs))
+ (message "Ergoemacs-mode turned OFF.")))
(defvar ergoemacs--gzip (executable-find "gzip")
"Gzip location.")
diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el
index 6e979ca..e57463b 100644
--- a/ergoemacs-themes.el
+++ b/ergoemacs-themes.el
@@ -74,7 +74,7 @@ EXTRA-KEYS are untranslated keys that are appended."
(vconcat (listify-key-sequence key)))
command)))
-(defun ergoemacs-unset-keys-in-map (local-map-symbol)
+(defun ergoemacs-unset-keys-in-map (local-map)
"Unset all of the keys in a LOCAL-MAP.
This unsets the keys that we usually prefer to use the ergoemacs keys.
@@ -82,12 +82,8 @@ This unsets the keys that we usually prefer to use the
ergoemacs keys.
This currently is only used for `isearch-mode-map',
since that is the only map that manages to evade being overridden
by the emulation map."
- (unless (intern-soft (concat (symbol-name local-map-symbol) "-ergoemacs"))
- (set (intern (concat (symbol-name local-map-symbol) "-ergoemacs"))
- (copy-keymap (symbol-value local-map-symbol))))
- (let ((local-map (symbol-value local-map-symbol)))
- (ergoemacs-define-key local-map (kbd "M-h") nil)
- (ergoemacs-define-key local-map (kbd "M-H") nil)
+ (ergoemacs-define-key local-map (kbd "M-h") nil)
+ (ergoemacs-define-key local-map (kbd "M-H") nil)
(ergoemacs-define-key local-map (kbd "M-e") nil)
(ergoemacs-define-key local-map (kbd "M-r") nil)
@@ -172,7 +168,7 @@ by the emulation map."
(define-key local-map (kbd "C-S-o") nil)
(define-key local-map (kbd "C-r") nil)
(define-key local-map (kbd "C-p") nil)
- (define-key local-map (kbd "C-l") nil)))
+ (define-key local-map (kbd "C-l") nil))
(defun ergoemacs-set-standard-vars ()
"Enabled/changed variables/modes."
@@ -483,44 +479,7 @@ These keys do not depend on the layout."
(put 'isearch-forward
:advertised-binding (ergoemacs-translate--event-layout
(vconcat (listify-key-sequence (kbd "M-;")))))
- (ergoemacs-define-key keymap (kbd "M-:") 'isearch-backward)
-
- ;; We have to override this in isearch-mode-map because isearch
- ;; makes that keymap override everything else, including emulation
- ;; keymaps.
- ;;
- ;; We can not put this logic into a custom isearch-forward, because
- ;; it ends up breaking commands that exit isearch. For example,
- ;; trying to go to the beginning of a line will terminate the
- ;; search, but not also go to the beginning of the line.
- (ergoemacs-define-key isearch-mode-map (kbd "M-;") 'isearch-repeat-forward)
- ;; Changing advertised-binding does not work. Maybe because it is
- ;; only defined within isearch-mode-map?
-
- ;; (put 'isearch-repeat-forward
- ;; :advertised-binding (ergoemacs-translate--event-layout
- ;; (vconcat (listify-key-sequence (kbd "M-;")))
- ;; )
- ;; )
- ;; (put 'isearch-repeat-backward
- ;; :advertised-binding (ergoemacs-translate--event-layout
- ;; (vconcat (listify-key-sequence (kbd "M-:")))
- ;; )
- ;; )
-
- ;; This is an exception to the regular rule that we do not rebind
- ;; control keys. The regular binding for this in isearch is M-s e.
- ;; Ergoemacs does not have a generic "edit this" function. So I
- ;; used C-x C-q, since that is used to make uneditable things
- ;; editable.
- ;;
-
- ;; When editing a search in isearch, it uses the
- ;; minibuffer-local-isearch-map keymap, which gets overridden by the
- ;; global emulation keymap. So we override isearch-forward so that
- ;; we can exit with the same commands as searching.
- (define-key minibuffer-local-isearch-map [remap isearch-forward]
'isearch-forward-exit-minibuffer)
- (define-key minibuffer-local-isearch-map [remap isearch-backward]
'isearch-reverse-exit-minibuffer))
+ (ergoemacs-define-key keymap (kbd "M-:") 'isearch-backward))
(defun ergoemacs-set-search-reduction (keymap)
"Search and Replace with KEYMAP."
@@ -532,41 +491,6 @@ These keys do not depend on the layout."
(vconcat (listify-key-sequence (kbd "M-h")))))
(ergoemacs-define-key keymap (kbd "M-y") 'isearch-backward)
- ;; We have to override this in isearch-mode-map because isearch
- ;; makes that keymap override everything else, including emulation
- ;; keymaps.
- ;;
- ;; We can not put this logic into a custom isearch-forward, because
- ;; it ends up breaking commands that exit isearch. For example,
- ;; trying to go to the beginning of a line will terminate the
- ;; search, but not also go to the beginning of the line.
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-h")
'isearch-repeat-forward)
- ;; Changing advertised-binding does not work. Maybe because it is
- ;; only defined within isearch-mode-map?
-
- ;; (put 'isearch-repeat-forward
- ;; :advertised-binding (ergoemacs-translate--event-layout
- ;; (vconcat (listify-key-sequence (kbd "M-;")))
- ;; )
- ;; )
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-y")
'isearch-repeat-backward)
- ;; (put 'isearch-repeat-backward
- ;; :advertised-binding (ergoemacs-translate--event-layout
- ;; (vconcat (listify-key-sequence (kbd "M-:")))
- ;; )
- ;; )
-
- ;; This is an exception to the regular rule that we do not rebind
- ;; control keys. The regular binding for this in isearch is M-s e.
- ;; Ergoemacs does not have a generic "edit this" function. So I
- ;; used C-x C-q, since that is used to make uneditable things
- ;; editable.
- ;; (define-key isearch-mode-map (kbd "<f2>") 'isearch-edit-string)
-
- ;; When editing a search in isearch, it uses the
- ;; minibuffer-local-isearch-map keymap, which gets overridden by the
- ;; global emulation keymap. So we override isearch-forward so that
- ;; we can exit with the same commands as searching.
(define-key minibuffer-local-isearch-map [remap isearch-forward]
'isearch-forward-exit-minibuffer)
(define-key minibuffer-local-isearch-map [remap isearch-backward]
'isearch-reverse-exit-minibuffer))
@@ -640,8 +564,6 @@ These keys do not depend on the layout."
;; Hard-wrap/un-hard-wrap paragraph
(ergoemacs-define-key keymap (kbd "M-q") 'ergoemacs-compact-uncompact-block)
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-?") 'isearch-toggle-regexp)
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-/")
'isearch-toggle-case-fold)
)
(defun ergoemacs-set-select-items (keymap)
@@ -1302,16 +1224,10 @@ In a terminal, this can be either arrow keys (e.g.
meta+O A == <up>) or regular
(defun ergoemacs-install-isearch-mode ()
"Installs keys for isearch mode."
- (ergoemacs-unset-keys-in-map 'isearch-mode-map)
+ (ergoemacs-unset-keys-in-map isearch-mode-map)
(define-key isearch-mode-map (kbd "C-x C-q") 'isearch-edit-string)
(define-key isearch-mode-map (kbd "<f2>") 'isearch-edit-string)
;; Mode specific changes
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-d") 'isearch-delete-char)
-
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-c")
'isearch-yank-word-or-char)
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-v") 'ergoemacs-paste)
- ;; (ergoemacs-define-key isearch-mode-map (kbd "M-V") 'ergoemacs-paste-cycle)
- ;; (define-key isearch-mode-map (kbd "C-v") 'ergoemacs-paste)
(if (string-equal ergoemacs-theme "reduction")
(progn
(ergoemacs-define-key isearch-mode-map (kbd "C-M-:") 'isearch-occur)
@@ -1346,7 +1262,9 @@ In a terminal, this can be either arrow keys (e.g. meta+O
A == <up>) or regular
(ergoemacs-define-key isearch-mode-map (kbd "C-e") 'isearch-repeat-forward)
(ergoemacs-define-key isearch-mode-map (kbd "C-M-d")
'isearch-repeat-forward)
(ergoemacs-define-key isearch-mode-map (kbd "C-M-s")
'isearch-repeat-backward)
- (ergoemacs-define-key isearch-mode-map (kbd "M-t") 'isearch-complete)))
+ (ergoemacs-define-key isearch-mode-map (kbd "M-t") 'isearch-complete))
+ (define-key minibuffer-local-isearch-map [remap isearch-forward]
'isearch-forward-exit-minibuffer)
+ (define-key minibuffer-local-isearch-map [remap isearch-backward]
'isearch-reverse-exit-minibuffer))
(defun ergoemacs-install-reduction-theme ()
- [elpa] externals/ergoemacs-mode fdafbdf 049/325: Cleanup, (continued)
- [elpa] externals/ergoemacs-mode fdafbdf 049/325: Cleanup, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 2c3dbbf 098/325: Remove f1 binding and unused swiper(), Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 12a1552 259/325: Remove ergoemacs-timing, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 97ac03f 081/325: Resolve all of the :emacs keybindings in ergoemacs-themes, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 74ad06f 228/325: Remove deftheme, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode ba79935 258/325: Remove lookup and information about global map, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode a5febc9 291/325: Remove shift selection and try to fix C-S-x C-S-c, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode a9cea74 303/325: Make ergoemacs-describe-current-theme and "C-h '" work., Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode e778e82 307/325: Take out debug echo AND fix backward delete, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 187b07d 315/325: Describe keys for the current buffer, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode de3c5e7 262/325: Restore isearch-mode-map,
Stefan Monnier <=
- [elpa] externals/ergoemacs-mode 42833ac 264/325: Code cleanup, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode ac33443 265/325: Add back the M-n commands for the reduction keymap, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 29ebf6e 271/325: Add compilation mode map to catch some of greps keys, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 81466b3 284/325: Unwind protect the timer #505, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode a38e4f3 275/325: Add option for keeping emacs keys that are not overwritten by ergoemacs, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 48c6d90 274/325: Merge branch 'mattfidler-master', Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 6c4b457 280/325: Add emacs type of command loop support., Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 4a8da69 288/325: Bug fix for mark-active keymap, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode aba186d 290/325: Add back cua keys without cua mode, back to ergoemacs-timeout, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode e50cc70 293/325: Remove C-X is execute extended command, Stefan Monnier, 2021/10/23