* lisp/eshell/esh-cmd.el (eshell-do-eval): Make sure that replacing 'if'
forms returns the correct result, and evaluate to 'nil' for 'progn'
forms with no body.
(cherry picked from commit
8bfdee8689f8b99f353179898e922ec3d975a113)
(t
(caddr args))))) ; Zero or one ELSE forms
(unless (consp new-form)
- (setq new-form (cons 'progn new-form)))
+ (setq new-form `(progn ,new-form)))
(setcar form (car new-form))
(setcdr form (cdr new-form))))
(eshell-do-eval form synchronous-p))
(setq args (cdr args)))))
(cond
((eq (car form) 'progn)
- (car (last form)))
+ (car (last (cdr form))))
((eq (car form) 'prog1)
(cadr form))
(t