Где исчезли dired-omit-toggle в Emacs 23.2? - PullRequest
3 голосов
/ 19 августа 2010

Продолжается задача обновления с Emacs 21.2 до 23.2 ... В моем .emacs у меня есть очень удобное:

(global-set-key (quote [f4]) (quote dired-omit-toggle))

Раньше он работал с Emacs 18 ... но больше не работает в Emacs 23.2:

Ошибка Lisp: (void-функция Dired-Omit-переключатель)

Есть идеи, как заменить эту функциональность в Emacs 23.2?

EmacsWiki говорит:

Чтобы использовать этот режим, добавьте следующее к Ваш InitFile.

  (add-hook 'dired-load-hook
            (function (lambda () (load "dired-x"))))

и это именно то, что у меня было все эти годы. Но Emacs 23.2 это больше не нравится. Есть идеи, что могло бы заменить его в Emacs 23.2?

Ответы [ 2 ]

3 голосов
/ 19 августа 2010

Начиная с Emacs 22, вам нужно позвонить dired-omit-mode вместо dired-omit-toggle.Вам все еще нужно загрузить dired-x.Начиная с NEWS.22:

*** В Dired-x опущенные файлы теперь являются второстепенным режимом, dired-omit-mode.

Команда переключения режимов привязана к MoНовая команда dired-mark-пропуск, связанная с * O, помечает пропущенные файлы.Переменная dired-omit-files-p устарела, вместо нее используйте функцию переключения режимов.

0 голосов
/ 19 августа 2010

Поскольку мое обновление с Emacs 21 до 23 является постепенным, из-за необходимости поддерживать одинаковые .emacs для нескольких систем, некоторые из которых используют Emacs 21, а некоторые используют Emacs 23, я придумал следующий код:

(GNUEmacs21
 (global-set-key (quote [f4]) (quote dired-omit-toggle))
)

(GNUEmacs22
 (global-set-key (quote [f4]) (quote dired-omit-mode))
)

(GNUEmacs23
 (global-set-key (quote [f4]) (quote dired-omit-mode))
)

GNUEmacs21, GNUEmacs22 и GNUEmacs23 определены ранее в файле .emacs как:

(defmacro GNUEmacs23 (&rest body)
  (list 'if (string-match "GNU Emacs 23" (version))
        (cons 'progn body)))

(defmacro GNUEmacs22 (&rest body)
  (list 'if (string-match "GNU Emacs 22" (version))
        (cons 'progn body)))

(defmacro GNUEmacs21 (&rest body)
  (list 'if (string-match "GNU Emacs 21" (version))
        (cons 'progn body)))
...