Subject: bug#8311: 24.0.50; [PATCH] eshell-eval-using-options duplicate symbols

From: Glenn Morris <[email-masked]>
Date: Mon, 21 Mar 2011 16:31:02 -0400

Leo wrote:

> The second let has quite a few duplicate symbols. Anybody seeing any
> problem with the following patch:

If you're talking about all the `eshell-option-stub's, why not just stop
them being inserted, since they don't seem to be used for anything:

*** lisp/eshell/esh-opt.el	2011-03-21 06:42:23 +0000
--- lisp/eshell/esh-opt.el	2011-03-21 20:26:03 +0000
***************
*** 102,111 ****
  	       macro-args
  	     (list 'eshell-stringify-list
  		   (list 'eshell-flatten-list macro-args)))))
!      (let ,(append (mapcar (lambda (opt)
! 			     (or (and (listp opt) (nth 3 opt))
! 				 'eshell-option-stub))
! 			   (cadr options))
  		   '(usage-msg last-value ext-command args))
         (eshell-do-opt ,name ,options (quote ,body-forms)))))
  
--- 102,110 ----
  	       macro-args
  	     (list 'eshell-stringify-list
  		   (list 'eshell-flatten-list macro-args)))))
!      (let ,(append (delq nil (mapcar (lambda (opt)
! 				       (and (listp opt) (nth 3 opt)))
! 				     (cadr options)))
  		   '(usage-msg last-value ext-command args))
         (eshell-do-opt ,name ,options (quote ,body-forms)))))