Пытаюсь подружить нижеизложенный key binding с dired-open. Дело в том, что с ним по нажанитю RET всегда вызывается dired-find-alternate-file, что оверврайтит binding от dired-open. Моя идея состоит в том чтобы узанавать является ли текущий dired-get-filename дирректорией или файлом используя file-directory-file и в зависимости от возвращаемого значения вызывать либо dired-open, либо dired-find-alternate-file... Проблема в том что я очень зеленый в emacs-lisp и уже битые часы не в состояниии вписать это условие наместо 'dired-find-alternate-file.
(require 'dired )
(define-key dired-mode-map (kbd "RET") 'dired-find-alternate-file)
(define-key dired-mode-map (kbd "<backspace>") (lambda () (interactive) (find-alternate-file "..")))
Помогите пожалуйста, если вы поняли (прошу прощения) о чем идет речь, кодом, советом, вариантом использования dired-open по RET на файлах и dired-find-alternate-file по RET на дирректорию.