[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed e9bfd92 156/216: Switch code order to avoid confu
From: |
Stefan Monnier |
Subject: |
[elpa] externals/objed e9bfd92 156/216: Switch code order to avoid confusing compile warnings |
Date: |
Tue, 8 Jan 2019 12:29:31 -0500 (EST) |
branch: externals/objed
commit e9bfd9239b560a7065d303ea5cc2b964f1ebf98d
Author: Clemera <address@hidden>
Commit: Clemera <address@hidden>
Switch code order to avoid confusing compile warnings
---
objed.el | 195 ++++++++++++++++++++++++++++++++-------------------------------
1 file changed, 98 insertions(+), 97 deletions(-)
diff --git a/objed.el b/objed.el
index 96b1d3f..af33224 100644
--- a/objed.el
+++ b/objed.el
@@ -2533,6 +2533,104 @@ c: capitalize."
(call-interactively 'query-replace-regexp))))
+;; * Exit active state
+
+(defun objed--line-p (text)
+ "Determine how TEXT spans over lines.
+
+Return non-nil if text spans over an entire single line or
+multiple ones."
+ (with-temp-buffer
+ (insert text)
+ (not (= -1 (forward-line -1)))))
+
+(defun objed-exit-op (op &optional text range)
+ "Handle exit of an operation.
+
+OP is the operation (ignored for now). If TEXT is given it
+carries the textual content of the object the operation acted
+on."
+ ;; TODO: improve exit behaviour for default operations
+ (let ((exitf (cdr (assq op objed--exit-alist))))
+ ;; (objed--update-current-object)
+ (cond (exitf
+ (if (functionp exitf)
+ (funcall exitf text)
+ (if (eq 'current exitf)
+ (objed--update-current-object
+ (objed-make-object :beg (car range)
+ :end (cadr range)))
+ (objed--switch-to exitf))))
+ ((or (eq op 'ignore)
+ (bound-and-true-p multiple-cursors-mode)))
+ (t
+ (if (and text (objed--line-p text))
+ (objed--switch-to 'line)
+ (objed--switch-to 'char)
+ (goto-char (objed--beg)))))
+ ;; cleanup
+ (when objed--extend-ov
+ (delete-overlay objed--extend-ov)
+ (setq objed--extend-ov nil)
+ (face-remap-remove-relative objed--extend-cookie))
+ (when (and range
+ (not (eq exitf 'current)))
+ (set-marker (car range) nil)
+ (set-marker (cadr range) nil))))
+
+
+(defun objed-quit ()
+ "Quit and deactivate `objed-map'."
+ (interactive)
+ (setq mark-active nil)
+ (objed--exit-objed))
+
+(defun objed--reset ()
+ "Reset variables and state information."
+ (when objed--buffer
+ (with-current-buffer objed--buffer
+
+ (setq objed--opoint nil)
+ (setq objed--electric-event nil)
+
+ (when objed--marked-ovs
+ (dolist (ov objed--marked-ovs)
+ (delete-overlay ov))
+ (setq objed--marked-ovs nil))
+
+ (when objed--extend-ov
+ (delete-overlay objed--extend-ov)
+ (setq objed--extend-ov nil)
+ (face-remap-remove-relative objed--extend-cookie))
+
+ (while objed--saved-vars
+ (let ((setting (pop objed--saved-vars)))
+ (if (consp setting)
+ (set (car setting) (cdr setting))
+ (kill-local-variable setting))))
+
+ (when objed--saved-cursor
+ (set-cursor-color objed--saved-cursor))
+
+ (when objed--hl-cookie
+ (face-remap-remove-relative objed--hl-cookie))
+
+ (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))
+
+ (when (> (length objed--last-states) objed-states-max)
+ (setq objed--last-states
+ (cl-subseq objed--last-states 0 objed-states-max)))
+
+ (setq objed--block-p nil)
+ (remove-hook 'pre-command-hook 'objed--push-state t)
+ (setq objed--buffer nil))))
+
+
+
;; * OP execution
@@ -2636,103 +2734,6 @@ whitespace they build a sequence."
ovs))))
-;; * Exit active state
-
-(defun objed--line-p (text)
- "Determine how TEXT spans over lines.
-
-Return non-nil if text spans over an entire single line or
-multiple ones."
- (with-temp-buffer
- (insert text)
- (not (= -1 (forward-line -1)))))
-
-(defun objed-exit-op (op &optional text range)
- "Handle exit of an operation.
-
-OP is the operation (ignored for now). If TEXT is given it
-carries the textual content of the object the operation acted
-on."
- ;; TODO: improve exit behaviour for default operations
- (let ((exitf (cdr (assq op objed--exit-alist))))
- ;; (objed--update-current-object)
- (cond (exitf
- (if (functionp exitf)
- (funcall exitf text)
- (if (eq 'current exitf)
- (objed--update-current-object
- (objed-make-object :beg (car range)
- :end (cadr range)))
- (objed--switch-to exitf))))
- ((or (eq op 'ignore)
- (bound-and-true-p multiple-cursors-mode)))
- (t
- (if (and text (objed--line-p text))
- (objed--switch-to 'line)
- (objed--switch-to 'char)
- (goto-char (objed--beg)))))
- ;; cleanup
- (when objed--extend-ov
- (delete-overlay objed--extend-ov)
- (setq objed--extend-ov nil)
- (face-remap-remove-relative objed--extend-cookie))
- (when (and range
- (not (eq exitf 'current)))
- (set-marker (car range) nil)
- (set-marker (cadr range) nil))))
-
-
-(defun objed-quit ()
- "Quit and deactivate `objed-map'."
- (interactive)
- (setq mark-active nil)
- (objed--exit-objed))
-
-(defun objed--reset ()
- "Reset variables and state information."
- (when objed--buffer
- (with-current-buffer objed--buffer
-
- (setq objed--opoint nil)
- (setq objed--electric-event nil)
-
- (when objed--marked-ovs
- (dolist (ov objed--marked-ovs)
- (delete-overlay ov))
- (setq objed--marked-ovs nil))
-
- (when objed--extend-ov
- (delete-overlay objed--extend-ov)
- (setq objed--extend-ov nil)
- (face-remap-remove-relative objed--extend-cookie))
-
- (while objed--saved-vars
- (let ((setting (pop objed--saved-vars)))
- (if (consp setting)
- (set (car setting) (cdr setting))
- (kill-local-variable setting))))
-
- (when objed--saved-cursor
- (set-cursor-color objed--saved-cursor))
-
- (when objed--hl-cookie
- (face-remap-remove-relative objed--hl-cookie))
-
- (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))
-
- (when (> (length objed--last-states) objed-states-max)
- (setq objed--last-states
- (cl-subseq objed--last-states 0 objed-states-max)))
-
- (setq objed--block-p nil)
- (remove-hook 'pre-command-hook 'objed--push-state t)
- (setq objed--buffer nil))))
-
-
;; * Objed Mode
(defvar objed-mode-map
- [elpa] externals/objed 8e86602 212/216: Change del-insert binding, leave binding DEL free, (continued)
- [elpa] externals/objed 8e86602 212/216: Change del-insert binding, leave binding DEL free, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 4aa3530 196/216: Don't init when mode has own modal setup, Stefan Monnier, 2019/01/08
- [elpa] externals/objed c87e826 150/216: Add News file to document changes., Stefan Monnier, 2019/01/08
- [elpa] externals/objed db542e0 127/216: Add replace inside object op, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 8d3399a 132/216: Adjust mark bindings, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 78116f5 151/216: Mention Readme and News, Stefan Monnier, 2019/01/08
- [elpa] externals/objed d801608 148/216: Cleanup for extend, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 6ed0f62 146/216: Merge remote-tracking branch 'origin/master', Stefan Monnier, 2019/01/08
- [elpa] externals/objed 862d168 164/216: Fix ipipe schedule timer, Stefan Monnier, 2019/01/08
- [elpa] externals/objed a0a8f81 158/216: Improve exchange point and mark, Stefan Monnier, 2019/01/08
- [elpa] externals/objed e9bfd92 156/216: Switch code order to avoid confusing compile warnings,
Stefan Monnier <=
- [elpa] externals/objed add4b8f 154/216: Markup again, Stefan Monnier, 2019/01/08
- [elpa] externals/objed cf1db37 140/216: Allow users to define a function to allow/prevent objed init, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 26c88ba 168/216: Revert to 0, 1 is needed for 10>, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 39095c2 143/216: Add type specifications to defcustom calls, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 5c20c43 176/216: Improve org element/block object, don't inherit from paragraph, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 30eb150 166/216: Improve exit minibuffer for ipipe, Stefan Monnier, 2019/01/08
- [elpa] externals/objed fa3b6db 161/216: Add include leading/trailing whitespace commands, Stefan Monnier, 2019/01/08
- [elpa] externals/objed de2d6e1 162/216: Toggle for repeating objed-extend, Stefan Monnier, 2019/01/08
- [elpa] externals/objed ec04ce3 182/216: Simplify exit-op logic, Stefan Monnier, 2019/01/08
- [elpa] externals/objed d0bc8c7 165/216: Update docs for ipipe, Stefan Monnier, 2019/01/08