title: How do I splice into a list outside of a macro in Common Lisp?
body: <p>Say I have a function foo:</p>
  
  <p><code>(defun foo (x y &amp;rest args)
    ...)</code></p>
  
  <p>And I later want to wrap it with a function bar:</p>
  
  <p><code>(defun bar (x &amp;rest args)
      (foo x 100 args))</code></p>
  
  <p>Assume bar was then called like this: <code>(bar 50 1 2 3)</code></p>
  
  <p>With this setup, args is a list within the body of bar that holds the trailing parameters, so when I pass it to foo, instead of getting the equivalent of <code>(foo 50 100 1 2 3)</code> I of course get <code>(foo 50 100 '(1 2 3))</code>. If these were macros, I would use ``(foo ,x 100 ,@args)` within the body of bar to splice args into the function call. ,@ only works inside a backtick-quoted list, however.</p>
  
  <p>How can I do this same sort of splicing within a regular function?</p>