emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/objed d35abd5 30/59: Improve eval context op for commen


From: Clemens Radermacher
Subject: [elpa] externals/objed d35abd5 30/59: Improve eval context op for comments and change its binding
Date: Sun, 24 Mar 2019 06:06:39 -0400 (EDT)

branch: externals/objed
commit d35abd52dbc1357f3623cddab9c9c5ca8a500536
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>

    Improve eval context op for comments and change its binding
---
 objed.el | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/objed.el b/objed.el
index 8b5ccc0..fd4bbef 100644
--- a/objed.el
+++ b/objed.el
@@ -836,15 +836,15 @@ Other single character keys are bound to 
`objed-undefined'."
 (defvar objed-op-map
   (let ((map (objed--define-prefix "x" 'objed-op-map)))
     ;; apply region command on object
-    (define-key map "x" 'objed-op-x)
+    (define-key map (kbd "TAB") 'objed-op-x)
     ;; todo: show object op hydra command
     (define-key map "c"
       ;; upcase, downcase, capitalize, reformat
       (objed-define-op nil objed-case-op))
 
+    (define-key map "x" 'objed-eval-context)
     (define-key map "q"
       (objed-define-op nil objed-reformat-op ignore))
-    (define-key map "e" 'objed-eval-context)
     (define-key map "r" ctl-x-r-map)
     (define-key map "n" 'objed-narrow)
 
@@ -897,7 +897,7 @@ To define new operations see `objed-define-op'.")
 (defvar objed-object-map
   (let ((map (objed--define-prefix "c" 'objed-object-map)))
     ;; choose via completion
-    (define-key map "x" 'objed-object-x)
+    (define-key map (kbd "TAB") 'objed-object-x)
     (define-key map (kbd "SPC") 'objed-region-object)
     ;; default objects
     (define-key map "c" 'objed-char-object)
@@ -2801,12 +2801,16 @@ If REPLACE is non-nil replace evaluated code with 
result."
             (when (and beg end)
               (goto-char beg)
               (funcall 'objed--eval-func beg end replace)))))
+    (set-transient-map '(keymap (?x . objed-eval-context)))
+    (unless objed--buffer
+      (objed--init 'char))
     (when (and (objed--at-object-p 'bracket)
                (not (eq objed--object 'bracket)))
       (objed--switch-to 'bracket))
-    (unless (and (not (eq last-command this-command))
-                 (apply 'objed--eval-func
-                        (append (objed--current) (list replace))))
+    (when (or (eq last-command this-command)
+              (not  (apply 'objed--eval-func
+                           (append (objed--current) (list replace))))
+              (objed--in-string-or-comment-p))
       (objed--switch-to 'defun)
       (apply 'objed--eval-func
              (append (objed--current) (list replace))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]