Subject: bug#1099 closed by Glenn Morris <[email-masked]> (Re: bug#1099: 23.0.60; Various eshell files need cl at compile time for `assert')

From: [email-masked] (Emacs bug Tracking System)

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#1099: 23.0.60; Various eshell files need cl at compile time for `assert' 

It has been closed by Glenn Morris <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Glenn Morris <[email-masked]> by
replying to this email.

-- 
1099: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1099
Emacs Bug Tracking System
Contact [email-masked] with problems
>From [email-masked] Wed Oct  8 00:44:30 2008
From: Glenn Morris <[email-masked]>
To: [email-masked]
Subject: Re: bug#1099: 23.0.60; Various eshell files need cl at compile time for `assert'
Date: Wed, 08 Oct 2008 03:42:03 -0400

Sven Joachim wrote:

> A recent message=B9 on help-gnu-emacs showed eshell failing because
> `assert' is not defined.=20=20

Unreproducible.

>There are no less than six eshell files which use this macro without
>requiring cl at compile time. The following patch takes care of this:

I don't think there is a real problem here, because cl is brought in
through other requires, nevertheless for the sake of clarity I have
installed your patch.

>From [email-masked] Mon Oct  6 02:01:40 2008
From: Sven Joachim <[email-masked]>
To: [email-masked]
Subject: 23.0.60; Various eshell files need cl at compile time for `assert' 
Date: Mon, 06 Oct 2008 11:01:22 +0200

Package: emacs
Version: 23.0.60
Tags: patch

A recent message¹ on help-gnu-emacs showed eshell failing because
`assert' is not defined.  There are no less than six eshell files which
use this macro without requiring cl at compile time.  The following
patch takes care of this:

--8<---------------cut here---------------start------------->8---
Index: lisp/eshell/em-cmpl.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/em-cmpl.el,v
retrieving revision 1.27
diff -c -r1.27 em-cmpl.el
*** lisp/eshell/em-cmpl.el	21 May 2008 03:51:06 -0000	1.27
--- lisp/eshell/em-cmpl.el	6 Oct 2008 08:25:44 -0000
***************
*** 71,76 ****
--- 71,77 ----
  ;;; Code:
  
  (eval-when-compile
+   (require 'cl)
    (require 'eshell))
  (require 'esh-util)
  
Index: lisp/eshell/em-hist.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/em-hist.el,v
retrieving revision 1.29
diff -c -r1.29 em-hist.el
*** lisp/eshell/em-hist.el	21 May 2008 03:51:06 -0000	1.29
--- lisp/eshell/em-hist.el	6 Oct 2008 08:25:44 -0000
***************
*** 55,60 ****
--- 55,63 ----
  
  ;;; Code:
  
+ (eval-when-compile
+   (require 'cl))
+ 
  (require 'ring)
  (require 'esh-opt)
  (require 'em-pred)
Index: lisp/eshell/em-ls.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/em-ls.el,v
retrieving revision 1.34
diff -c -r1.34 em-ls.el
*** lisp/eshell/em-ls.el	15 Aug 2008 06:55:37 -0000	1.34
--- lisp/eshell/em-ls.el	6 Oct 2008 08:25:44 -0000
***************
*** 27,33 ****
  
  ;;; Code:
  
! (eval-when-compile (require 'eshell))
  (require 'esh-util)
  (require 'esh-opt)
  
--- 27,35 ----
  
  ;;; Code:
  
! (eval-when-compile
!   (require 'cl)
!   (require 'eshell))
  (require 'esh-util)
  (require 'esh-opt)
  
Index: lisp/eshell/esh-cmd.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/esh-cmd.el,v
retrieving revision 1.43
diff -c -r1.43 esh-cmd.el
*** lisp/eshell/esh-cmd.el	15 Aug 2008 06:55:11 -0000	1.43
--- lisp/eshell/esh-cmd.el	6 Oct 2008 08:25:45 -0000
***************
*** 109,114 ****
--- 109,115 ----
  (require 'esh-ext)
  
  (eval-when-compile
+   (require 'cl)
    (require 'pcomplete))

Index: lisp/eshell/esh-ext.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/esh-ext.el,v
retrieving revision 1.29
diff -c -r1.29 esh-ext.el
*** lisp/eshell/esh-ext.el	6 May 2008 03:36:20 -0000	1.29
--- lisp/eshell/esh-ext.el	6 Oct 2008 08:25:45 -0000
***************
*** 33,38 ****
--- 33,39 ----
  (provide 'esh-ext)
  
  (eval-when-compile
+   (require 'cl)
    (require 'esh-cmd))
  (require 'esh-util)
  
Index: lisp/eshell/esh-io.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/esh-io.el,v
retrieving revision 1.23
diff -c -r1.23 esh-io.el
*** lisp/eshell/esh-io.el	7 Jun 2008 02:37:13 -0000	1.23
--- lisp/eshell/esh-io.el	6 Oct 2008 08:25:45 -0000
***************
*** 57,63 ****
  
  (provide 'esh-io)
  
! (eval-when-compile (require 'eshell))
  
  (defgroup eshell-io nil
    "Eshell's I/O management code provides a scheme for treating many
--- 57,65 ----
  
  (provide 'esh-io)
  
! (eval-when-compile
!   (require 'cl)
!   (require 'eshell))
  
  (defgroup eshell-io nil
    "Eshell's I/O management code provides a scheme for treating many
--8<---------------cut here---------------end--------------->8---

Suggested Changelog entry:

--8<---------------cut here---------------start------------->8---
2008-10-06  Sven Joachim  <[email-masked]>

	* eshell/em-cmpl.el (require):
	* eshell/em-hist.el (require):
	* eshell/em-ls.el (require):
	* eshell/esh-cmd.el (require):
	* eshell/esh-ext.el (require):
	* eshell/esh-io.el (require): Require cl at compile time because
	`assert' needs it.

--8<---------------cut here---------------end--------------->8---

¹ http://lists.gnu.org/archive/html/help-gnu-emacs/2008-10/msg00120.html