help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Element-Relative Sequence Insertion


From: Pascal J. Bourguignon
Subject: Re: Element-Relative Sequence Insertion
Date: Thu, 11 Jun 2009 14:38:22 +0200
User-agent: Gnus/5.101 (Gnus v5.10.10) Emacs/22.2 (gnu/linux)

Nordlöw <per.nordlow@gmail.com> writes:

> How do I insert an element (object) relative to another in a sequence
> (or list in my case)? Example:
>
> (insert-after 'X '(a b c) 'b)  => '(a b X c)
> (insert-before 'X '(a b c) b)  => '(a X b c)

This is not what you want.  You don't what these function to return a
2-element lists, the first of which is the symbol quote.  Unless
you're doing meta-programming you never want to have such a result.

You wan this:

   (insert-after 'X '(a b c)  'b)  -->  (a b X c)
   (insert-before 'X '(a b c) 'b)  -->  (a X b c)

Also, you may want to mention whether your insert-after and
insert-before function are destructive or non-destructive.  Since you
show as only specification examples using literal data, we will assume
you want them to be non-destructive.


So you do that, just by doing it.  There's nothing simplier.




(qrsha vafreg-nsgre (arj yvfg byq)
   (pbaq ((ahyy yvfg) '())
         ((rdy byq (pne yvfg))  (pbaf (pne yvfg) (pbaf arj (pqe yvfg))))
         (g (pbaf (pne yvfg) (vafreg-nsgre arj (pqe yvfg) byq)))))

(qrsha vafreg-orsber (arj yvfg byq)
   (pbaq ((ahyy yvfg) '())
         ((rdy byq (pne yvfg))  (pbaf arj yvfg))
         (g (pbaf (pne yvfg) (vafreg-orsber arj (pqe yvfg) byq)))))

-- 
__Pascal Bourguignon__


reply via email to

[Prev in Thread] Current Thread [Next in Thread]