diff options
| author | Kim F. Storm | 2005-04-24 19:09:13 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2005-04-24 19:09:13 +0000 |
| commit | bb7216f7ebd4545642e819c1d655e72a3cc85444 (patch) | |
| tree | df80f2379688d9125bd8338862e7cb99eb763d8b | |
| parent | 456986fd3ae414cb80eb59c26ad1ef92ca794a4f (diff) | |
| download | emacs-bb7216f7ebd4545642e819c1d655e72a3cc85444.tar.gz emacs-bb7216f7ebd4545642e819c1d655e72a3cc85444.zip | |
(ido-everywhere): Save and restore old read-buffer-function
and read-file-name-function values. Don't overwrite existing
non-nil values if ido-mode is enabled without ido-everywhere.
| -rw-r--r-- | lisp/ido.el | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/lisp/ido.el b/lisp/ido.el index 4409c3653c9..1c95676db0a 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -1346,12 +1346,21 @@ This function also adds a hook to the minibuffer." | |||
| 1346 | (setq ido-everywhere (if arg | 1346 | (setq ido-everywhere (if arg |
| 1347 | (> (prefix-numeric-value arg) 0) | 1347 | (> (prefix-numeric-value arg) 0) |
| 1348 | (not ido-everywhere))) | 1348 | (not ido-everywhere))) |
| 1349 | (setq read-file-name-function | 1349 | (when (get 'ido-everywhere 'file) |
| 1350 | (and ido-everywhere (memq ido-mode '(both file)) | 1350 | (setq read-file-name-function (get 'ido-everywhere 'file)) |
| 1351 | 'ido-read-file-name)) | 1351 | (put 'ido-everywhere 'file nil)) |
| 1352 | (setq read-buffer-function | 1352 | (when (get 'ido-everywhere 'buffer) |
| 1353 | (and ido-everywhere (memq ido-mode '(both buffer)) | 1353 | (setq read-buffer-function (get 'ido-everywhere 'buffer)) |
| 1354 | 'ido-read-buffer))) | 1354 | (put 'ido-everywhere 'buffer nil)) |
| 1355 | (when ido-everywhere | ||
| 1356 | (when (memq ido-mode '(both file)) | ||
| 1357 | (unless (get 'ido-everywhere 'file) | ||
| 1358 | (put 'ido-everywhere 'file read-file-name-function)) | ||
| 1359 | (setq read-file-name-function 'ido-read-file-name)) | ||
| 1360 | (when (memq ido-mode '(both buffer)) | ||
| 1361 | (unless (get 'ido-everywhere 'buffer) | ||
| 1362 | (put 'ido-everywhere 'buffer read-buffer-function)) | ||
| 1363 | (setq read-buffer-function 'ido-read-buffer)))) | ||
| 1355 | 1364 | ||
| 1356 | 1365 | ||
| 1357 | ;;; IDO KEYMAP | 1366 | ;;; IDO KEYMAP |