title: How do I add a new shell command to eshell?
body: <p>Please help me debug the following definition of a simple eshell function.  Yes, I am aware that I can define <code>l</code> as an alias, but I need to learn how to write eshell functions.</p>
  
  <pre><code>(defun eshell/l (&amp;rest args)
    "a shortcut for ls that automatically adds some flags to the ls"
    (apply #'eshell/ls "-h" "-F" "-t" args))
  </code></pre>
  
  <p>That almost does the right thing. The bug is that the output of the ls command is inserted <em>after</em> the new prompt.</p>