@@ -273,20 +273,22 @@ require user confirmation."
273
273
(exit-minibuffer ))))
274
274
275
275
(defun icomplete-magic-ido-ret ()
276
- " Exit forcing completion or enter directory, like `ido-mode' ."
276
+ " Exit minibuffer or enter directory, like `ido-mode' ."
277
277
(interactive )
278
278
(let* ((beg (icomplete--field-beg ))
279
279
(md (completion--field-metadata beg))
280
280
(category (alist-get 'category (cdr md)))
281
281
(dir (and (eq category 'file )
282
282
(file-name-directory (icomplete--field-string ))))
283
- (current (and dir
284
- (car (completion-all-sorted-completions ))))
285
- (probe (and current
283
+ (current (car (completion-all-sorted-completions )))
284
+ (probe (and dir current
286
285
(expand-file-name (directory-file-name current) dir))))
287
- (if (and probe (file-directory-p probe) (not (string= current " ./" )))
288
- (icomplete-force-complete)
289
- (icomplete-force-complete-and-exit))))
286
+ (cond ((and probe (file-directory-p probe) (not (string= current " ./" )))
287
+ (icomplete-force-complete))
288
+ (current
289
+ (icomplete-force-complete-and-exit))
290
+ (t
291
+ (exit-minibuffer )))))
290
292
291
293
(defun icomplete-magic-ido-backward-updir ()
292
294
" Delete char before or go up directory, like `ido-mode' ."
@@ -330,6 +332,7 @@ more like `ido-mode' than regular `icomplete-mode'."
330
332
(remove-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup )
331
333
(remove-hook 'minibuffer-setup-hook #'icomplete--fido-mode-setup )
332
334
(when fido-mode
335
+ (icomplete-mode -1 )
333
336
(setq icomplete-mode t )
334
337
(add-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup )
335
338
(add-hook 'minibuffer-setup-hook #'icomplete--fido-mode-setup )))
@@ -355,6 +358,7 @@ completions:
355
358
(remove-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup )
356
359
(remove-hook 'completion-in-region-mode-hook #'icomplete--in-region-setup )
357
360
(when icomplete-mode
361
+ (fido-mode -1 )
358
362
(when icomplete-in-buffer
359
363
(add-hook 'completion-in-region-mode-hook #'icomplete--in-region-setup ))
360
364
(add-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup )))
0 commit comments