Subject: bug#34954: 26.1.92; eshell gets loaded twice

From: Mauro Aranda <[email-masked]>
Date: Sat, 23 Mar 2019 12:14:14 -0300

The attached patch fixes it for me, but maybe someone with more insight
can provide a better solution.
From 5474e7891678d0957a8552bc2761608ef71b1531 Mon Sep 17 00:00:00 2001
From: Mauro Aranda <[email-masked]>
Date: Sat, 23 Mar 2019 11:38:14 -0300
Subject: [PATCH] Avoid recursive load of eshell

* lisp/eshell/eshell.el: Provide eshell before requiring esh-mode to
avoid a recursive load when esh-mode requires esh-module (which in
turn requires eshell).  (Bug #34954)
This bug shows up because 'eshell-load-hook' is run twice.
---
 lisp/eshell/eshell.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el
index 4516800..c7ed710 100644
--- a/lisp/eshell/eshell.el
+++ b/lisp/eshell/eshell.el
@@ -175,6 +175,9 @@
 (eval-when-compile
   (require 'cl-lib))
 (require 'esh-util)
+;; Provide eshell before requiring esh-mode, to avoid a recursive load.
+;; (Bug #34954)
+(provide 'eshell)
 (require 'esh-mode)
 
 (defgroup eshell nil
@@ -403,6 +406,4 @@ eshell-unload-all-modules
 
 (run-hooks 'eshell-load-hook)
 
-(provide 'eshell)
-
 ;;; eshell.el ends here
-- 
2.7.4