[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ido-mode and customized read-buffer-function
From: |
Kim F. Storm |
Subject: |
Re: ido-mode and customized read-buffer-function |
Date: |
Sat, 23 Apr 2005 16:43:02 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Roland Winkler <address@hidden> writes:
> Symptoms:
>
> I have customized the variable read-buffer-function and I would like
> to combine this with ido-mode.
>
> When I do not want ido everywhere but only ido-mode, the latter still
> calls ido-everywhere. But then ido-everywhere doesn't check whether
> I have already customized read-buffer-function. It overwrites the
> value of read-buffer-function with nil. Isn't that too aggressive?
Does this patch give good results ?
*** ido.el 22 Apr 2005 17:08:30 +0200 1.51
--- ido.el 23 Apr 2005 16:42:27 +0200
***************
*** 1346,1357 ****
(setq ido-everywhere (if arg
(> (prefix-numeric-value arg) 0)
(not ido-everywhere)))
! (setq read-file-name-function
! (and ido-everywhere (memq ido-mode '(both file))
! 'ido-read-file-name))
! (setq read-buffer-function
! (and ido-everywhere (memq ido-mode '(both buffer))
! 'ido-read-buffer)))
;;; IDO KEYMAP
--- 1346,1366 ----
(setq ido-everywhere (if arg
(> (prefix-numeric-value arg) 0)
(not ido-everywhere)))
! (when (get 'ido-everywhere 'file)
! (setq read-file-name-function (get 'ido-everywhere 'file))
! (put 'ido-everywhere 'file nil))
! (when (get 'ido-everywhere 'buffer)
! (setq read-buffer-function (get 'ido-everywhere 'buffer))
! (put 'ido-everywhere 'buffer nil))
! (when ido-everywhere
! (when (memq ido-mode '(both file))
! (unless (get 'ido-everywhere 'file)
! (put 'ido-everywhere 'buffer read-file-name-function))
! (setq read-buffer-function 'ido-read-file-name))
! (when (memq ido-mode '(both buffer))
! (unless (get 'ido-everywhere 'buffer)
! (put 'ido-everywhere 'buffer read-buffer-function))
! (setq read-buffer-function 'ido-read-buffer))))
;;; IDO KEYMAP
--
Kim F. Storm <address@hidden> http://www.cua.dk