Buenas, quería consultarles si este código resuelve el problema.
procedure concatenar(var l1; l2:ListaInt);
var p:ListaInt;
begin
p:=l1;
while (p^.sig<>NIL) do
p:=p^.sig;
p^.sig:=l2
end;
Mi duda viene por el lado de que estoy suponiendo que si al último elemento de l1 (que apunta a NIL) lo hago apuntar a l2 entonces la lista quedará encadenada. Pero como l2 está pasado como parámetro de valor, no sé si debería ir armando l2 celda por celda en l1.