summaryrefslogtreecommitdiff
path: root/lisp/ido.el
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2008-02-04 09:57:16 +0000
committerKim F. Storm <storm@cua.dk>2008-02-04 09:57:16 +0000
commita9dbdeceb0dec021449bdfa2f873d2bbb18e7875 (patch)
tree68d4da43961c10f423c504d1127aceb7bc207a5b /lisp/ido.el
parent093571c374d671607c822dd2e5bedb2ac877ea91 (diff)
downloademacs-a9dbdeceb0dec021449bdfa2f873d2bbb18e7875.tar.gz
(ido-magic-forward-char, ido-magic-backward-char)
(ido-magic-delete-char): Use prefix arg.
Diffstat (limited to 'lisp/ido.el')
-rw-r--r--lisp/ido.el28
1 files changed, 16 insertions, 12 deletions
diff --git a/lisp/ido.el b/lisp/ido.el
index 750eb6e6dfc..314f495a7b1 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -2537,17 +2537,18 @@ If no merge has yet taken place, toggle automatic merging option."
;;; Magic C-f
-(defun ido-magic-forward-char ()
+(defun ido-magic-forward-char (arg)
"Move forward in user input or perform magic action.
If no user input is present, or at end of input, perform magic actions:
C-x C-b ... C-f switch to ido-find-file.
C-x C-f ... C-f fallback to non-ido find-file.
C-x C-d ... C-f fallback to non-ido brief dired.
C-x d ... C-f fallback to non-ido dired."
- (interactive)
+ (interactive "P")
(cond
- ((not (eobp))
- (forward-char 1))
+ ((or arg (not (eobp)))
+ (forward-char (min (prefix-numeric-value arg)
+ (- (point-max) (point)))))
((memq ido-cur-item '(file dir))
(ido-fallback-command))
(ido-context-switch-command
@@ -2557,17 +2558,19 @@ C-x d ... C-f fallback to non-ido dired."
;;; Magic C-b
-(defun ido-magic-backward-char ()
+(defun ido-magic-backward-char (arg)
"Move backward in user input or perform magic action.
If no user input is present, or at start of input, perform magic actions:
C-x C-f C-b switch to `ido-switch-buffer'.
C-x C-d C-b switch to `ido-switch-buffer'.
C-x d C-b switch to `ido-switch-buffer'.
C-x C-b C-b fallback to non-ido `switch-to-buffer'."
- (interactive)
+ (interactive "P")
(cond
- ((> (point) (minibuffer-prompt-end))
- (forward-char -1))
+ ((or arg (> (point) (minibuffer-prompt-end)))
+ (forward-char
+ (- (min (prefix-numeric-value arg)
+ (- (point) (minibuffer-prompt-end))))))
((eq last-command this-command)
(when (and (memq ido-cur-item '(file dir))
(not (bobp)))
@@ -2581,14 +2584,15 @@ C-x C-b C-b fallback to non-ido `switch-to-buffer'."
;;; Magic C-d
-(defun ido-magic-delete-char ()
+(defun ido-magic-delete-char (arg)
"Delete following char in user input or perform magic action.
If at end of user input, perform magic actions:
C-x C-f ... C-d enter dired on current directory."
- (interactive)
+ (interactive "P")
(cond
- ((not (eobp))
- (delete-char 1))
+ ((or arg (not (eobp)))
+ (delete-char (min (prefix-numeric-value arg)
+ (- (point-max) (point)))))
(ido-context-switch-command
nil)
((memq ido-cur-item '(file dir))