[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed f5876e9 7/9: Make buffer switch possible with obj
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/objed f5876e9 7/9: Make buffer switch possible with objed staying active (other-window) |
Date: |
Mon, 4 Mar 2019 07:46:22 -0500 (EST) |
branch: externals/objed
commit f5876e9b35e61f3976807759b6eeeab4ff57901b
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Make buffer switch possible with objed staying active (other-window)
---
objed-objects.el | 2 +-
objed.el | 47 ++++++++++++++++++++++++++++-------------------
2 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/objed-objects.el b/objed-objects.el
index d04a3cd..dd68155 100644
--- a/objed-objects.el
+++ b/objed-objects.el
@@ -56,7 +56,7 @@
;; * Macros
-(defvar objed--object nil
+(defvar-local objed--object nil
"The symbol of the current object.")
diff --git a/objed.el b/objed.el
index 8489ae0..facec3f 100644
--- a/objed.el
+++ b/objed.el
@@ -820,12 +820,20 @@ Other single character keys are bound to
`objed-undefined'."
(define-key map "w" 'write-file)
(define-key map "v" 'find-alternate-file)
(define-key map "b" 'switch-to-buffer)
+ (define-key map "o" 'objed-other-window)
map)
"Map for additional operations called via a prefix from `objed-map'.
To define new operations see `objed-define-op'.")
+(defun objed-other-window ()
+ "Like `other-window' for objed."
+ (interactive)
+ (objed--reset--objed-buffer)
+ (other-window 1)
+ (objed--init (or objed--object 'char)))
+
(defvar objed-object-map
(let ((map (objed--define-prefix "c" 'objed-object-map)))
@@ -3091,14 +3099,31 @@ on."
(setq mark-active nil)
(objed--exit-objed))
+(defun objed--reset--objed-buffer ()
+ ;; things that need to be reset in objed buffer
+ (when (buffer-live-p objed--buffer)
+ (with-current-buffer objed--buffer
+ ;; reset object as well?
+ ;;(setq objed--object nil)
+ (when objed-modeline-hint-p
+ (funcall objed-modeline-setup-func objed-mode-line-format 'reset))
+
+ (unless objed--hl-line-keep-p
+ (hl-line-mode -1))
+
+ (while objed--saved-vars
+ (let ((setting (pop objed--saved-vars)))
+ (if (consp setting)
+ (set (car setting) (cdr setting))
+ (kill-local-variable setting))))
+ (remove-hook 'pre-command-hook 'objed--push-state t))))
+
(defun objed--reset ()
"Reset variables and state information."
(if (eq (cadr overriding-terminal-local-map)
objed-map)
(objed--exit-objed)
(when objed--buffer
- ;; rest object as well
- ;;(setq objed--object nil)
(setq objed--opoint nil)
(setq objed--electric-event nil)
@@ -3121,23 +3146,7 @@ on."
(when (> (length objed--last-states) objed-states-max)
(setq objed--last-states
(cl-subseq objed--last-states 0 objed-states-max)))
- ;; things that need to be reset in objed buffer
- (when (buffer-live-p objed--buffer)
- (with-current-buffer objed--buffer
-
- (when objed-modeline-hint-p
- (funcall objed-modeline-setup-func objed-mode-line-format 'reset))
-
- (unless objed--hl-line-keep-p
- (hl-line-mode -1))
-
- (while objed--saved-vars
- (let ((setting (pop objed--saved-vars)))
- (if (consp setting)
- (set (car setting) (cdr setting))
- (kill-local-variable setting))))
- (remove-hook 'pre-command-hook 'objed--push-state t)))
-
+ (objed--reset--objed-buffer)
(setq objed--block-p nil)
(setq objed--buffer nil))))
- [elpa] externals/objed updated (65d3430 -> 98a3a35), Clemens Radermacher, 2019/03/04
- [elpa] externals/objed 5dd9ed0 1/9: Make C-x C-key actions available via x prefix, Clemens Radermacher, 2019/03/04
- [elpa] externals/objed 0e18666 3/9: Activate on recenter, Clemens Radermacher, 2019/03/04
- [elpa] externals/objed 77f2b75 8/9: Add more window control commands to op map, Clemens Radermacher, 2019/03/04
- [elpa] externals/objed 11e056c 6/9: Move more setting into buffer reset, Clemens Radermacher, 2019/03/04
- [elpa] externals/objed 59515c7 5/9: Don't skip ws when toggling sides, Clemens Radermacher, 2019/03/04
- [elpa] externals/objed e6d2de7 2/9: Improve beg/eof block, Clemens Radermacher, 2019/03/04
- [elpa] externals/objed f5876e9 7/9: Make buffer switch possible with objed staying active (other-window),
Clemens Radermacher <=
- [elpa] externals/objed ee24332 4/9: Fix resetting settings when buffer is not live anymore, Clemens Radermacher, 2019/03/04
- [elpa] externals/objed 98a3a35 9/9: Vesion bump, Clemens Radermacher, 2019/03/04