while working on some elisp and having debug-on-error enabled, I noticed I get the following backtrace when starting eshell. It would appear that M-x eshell is advised to call emacspeak-setup-programing-mode, which in turn attempts to load hs-minor-mode, which apparently is not compatible with eshell.
Debugger entered--Lisp error: (error "Eshell Mode doesn’t support Hideshow Minor Mode")
signal(error ("Eshell Mode doesn’t support Hideshow Minor Mode"))
error("%s Mode doesn't support Hideshow Minor Mode" "Eshell")
hs-grok-mode-type()
hs-minor-mode(1)
emacspeak-setup-programming-mode()
ad-Advice-eshell(#[256 " \204 \301\300!\210\211\247\203 \302\303\304 #!\202$\211\203!\305 !\202$\302 !\211\203.\306 !\2042\301\307!\210\310 !\210\311\312!\204?\312 \210\211\207" [eshell-buffer-name cl--assertion-failed get-buffer-create format "%s<%d>" generate-new-buffer buffer-live-p (and buf (buffer-live-p buf)) pop-to-buffer-same-window derived-mode-p eshell-mode] 6 ("/usr/local/share/emacs/26.0.50/lisp/eshell/eshell.elc" . 2156) "P"] nil)
apply(ad-Advice-eshell #[256 " \204 \301\300!\210\211\247\203 \302\303\304 #!\202$\211\203!\305 !\202$\302 !\211\203.\306 !\2042\301\307!\210\310 !\210\311\312!\204?\312 \210\211\207" [eshell-buffer-name cl--assertion-failed get-buffer-create format "%s<%d>" generate-new-buffer buffer-live-p (and buf (buffer-live-p buf)) pop-to-buffer-same-window derived-mode-p eshell-mode] 6 ("/usr/local/share/emacs/26.0.50/lisp/eshell/eshell.elc" . 2156) "P"] nil)
eshell(nil)
#<subr funcall-interactively>(eshell nil)
apply(#<subr funcall-interactively> eshell nil)
ad-Advice-funcall-interactively(#<subr funcall-interactively> eshell nil)
apply(ad-Advice-funcall-interactively #<subr funcall-interactively> (eshell nil))
funcall-interactively(eshell nil)
#<subr call-interactively>(eshell record nil)
ad-Advice-call-interactively(#<subr call-interactively> eshell record nil)
apply(ad-Advice-call-interactively #<subr call-interactively> (eshell record nil))
call-interactively(eshell record nil)
command-execute(eshell record)
execute-extended-command(nil "eshell")
smex-read-and-run(("eshell" "woman" "customize-group" "apropos" "ag" "comment-region" "uncomment-region" "org-set-tags" "toggle-debug-on-error" "fci-mode" "set-variable" "describe-personal-keybindings" "list-faces-display" "package-autoremove" "free-keys" "indent-region" "package-list-packages" "hydra-move-splitter-left" "eldoc-mode" "ispell-word" "check-parens" "company-mode" "paredit-mode" "recover-file" "apropos-command" "whitespace-mode" "company-complete" "edit-server-start" "eww" "proced" "csv-mode" "js2-mode" "join-line" "org-reload" "org-version" "apropos-value" "customize-face" "show-paren-mode" "edit-server-stop" "soundscape-toggle" "cljr-rename-symbol" "emacspeak-m-player" "enable-paredit-mode" "rainbow-delimiters-mode" "cider-repl-clear-banners" "emacspeak-wizards-iheart" "emacspeak-muggles-view/body" "emacspeak-muggles-m-player/body" "emacspeak-wizards-generate-finder" "cd" ...))
smex()
#<subr funcall-interactively>(smex)
apply(#<subr funcall-interactively> smex nil)
ad-Advice-funcall-interactively(#<subr funcall-interactively> smex)
apply(ad-Advice-funcall-interactively #<subr funcall-interactively> smex)
funcall-interactively(smex)
#<subr call-interactively>(smex nil nil)
ad-Advice-call-interactively(#<subr call-interactively> smex nil nil)
apply(ad-Advice-call-interactively #<subr call-interactively> (smex nil nil))
call-interactively(smex nil nil)
command-execute(smex)