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: Nordlöw
Subject: Re: Element-Relative Sequence Insertion
Date: Thu, 11 Jun 2009 05:51:46 -0700 (PDT)
User-agent: G2/1.0

On 11 Juni, 14:38, p...@informatimago.com (Pascal J. Bourguignon)
wrote:
> Nordlöw <per.nord...@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__

But how do I implement insert-after() and insert-before()? I guess the
code in the end doesn't do anything meaningful :)

/Nordlöw


reply via email to

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