emacs-devel
[Top][All Lists]
Advanced

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

Re: CL package serious deficiencies


From: Juanma Barranquero
Subject: Re: CL package serious deficiencies
Date: Sat, 11 Feb 2012 14:25:00 +0100

On Fri, Feb 10, 2012 at 20:08, Teemu Likonen <address@hidden> wrote:

> Here's one example:
>
>    (defun delete-nth (n sequence)
>      (delete-if (constantly t) sequence :start n :count 1))

BTW,

(defun delete-last-nth (n sequence)
    (delete-if (lambda (_) (minusp (decf n))) sequence :from-end t :count 1))

should work, and it does in SBCL

  * (defun delete-last-nth (n sequence) (delete-if (lambda (_) (minusp
(decf n))) sequence :from-end t :count 1))
  ; in: DEFUN DELETE-LAST-NTH
  ;     (LAMBDA (_) (MINUSP (DECF N)))
  ; ==>
  ;   #'(LAMBDA (_) (MINUSP (DECF N)))
  ;
  ; caught STYLE-WARNING:
  ;   The variable _ is defined but never used.
  ;
  ; compilation unit finished
  ;   caught 1 STYLE-WARNING condition

  DELETE-LAST-NTH
  * (delete-last-nth 0 '(a b c))

  (A B)
  * (delete-last-nth 1 '(a b c))

  (A C)
  * (delete-last-nth 2 '(a b c))

  (B C)


but not in elisp:

  ELISP> (delete-nth-from-end 0 '(a b c))
  (a b)

  ELISP> (delete-nth-from-end 1 '(a b c))
  (a b)

  ELISP> (delete-nth-from-end 2 '(a b c))
  (a b)

That is a bug, I gather.

    Juanma



reply via email to

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