emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Schulte <schulte.eric@gmail.com>
To: Rasmus <rasmus@gmx.us>
Cc: emacs-orgmode@gnu.org
Subject: Re: [bug?][ob-core] using remove-if
Date: Mon, 29 Jul 2013 18:28:43 -0600	[thread overview]
Message-ID: <87fvuwuc04.fsf@gmail.com> (raw)
In-Reply-To: <87d2q07vsk.fsf@gmx.us> (rasmus@gmx.us's message of "Tue, 30 Jul 2013 02:09:47 +0200")

Rasmus <rasmus@gmx.us> writes:

> Hi,
>
> Regarding this commit:
>
>           commit 3142297d69f6063221215757a3ba9c74adcf3e43
>           Author: Eric Schulte <schulte.eric@gmail.com>
>           Date:   Fri Jul 26 11:48:51 2013 -0600.
>
> remove-if is introduced in ob-core.el:
>
> 	    (setf (cdr (assoc param params))
> 		  (remove-if (lambda (pair) (equal (car pair) name))
> 			     (cdr (assoc param params))))
> 	    (setf params (remove-if (lambda (pair) (and (equal (car pair) param)
> 						   (null (cdr pair))))
>
> I personally don't care too much if Org depends on cl, but it breaks
> async export since cl is usually not loaded.
>
> Thus, I guess it should (i) either be changed to org-remove-if or
> there should be an autoload to remove-if.  I don't feel very
> comfortable about messing with ob-core ob-core and I don't know if
> org-remove-if is a drop-in replacement of remove-if so I havne't made
> a patch.
>
> –Rasmus

Thanks for catching this, I've just pushed up a fix.

To complain to no-one in particular for a second...

  The exclusion of the cl functions from Emacs packages including both
  functions like `remove-if', and basic macros like `flet', has one of
  two possible consequences.  Either (1) authors work around the missing
  functionality by contorting the logic of their code so as to not need
  this functionality, or (2) the function is re-implemented with a
  package specific prefix and often slightly different semantics.  I
  know I've had to do both in my own Org-mode coding, and I believe most
  major packages do both of these [1].

Best,

Footnotes: 
[1]  ,----[M-x apropos remove-if RET]
     | Type RET on a type label to view its full documentation.
     | 
     | cl-remove-if
     |   Function: Remove all items satisfying PREDICATE in SEQ.
     |   Properties: autoload
     | cl-remove-if-not
     |   Function: Remove all items not satisfying PREDICATE in SEQ.
     |   Properties: autoload
     | ert--remove-if-not
     |   Function: A reimplementation of `remove-if-not'.
     | gnus-remove-if
     |   Function: Return a copy of SEQUENCE with all items satisfying
     |             PREDICATE removed.
     | gnus-remove-if-not
     |   Function: Return a copy of SEQUENCE with all items not satisfying
     |             PREDICATE removed.
     | org-remove-if
     |   Function: Remove everything from SEQ that fulfills PREDICATE.
     | org-remove-if-not
     |   Function: Remove everything from SEQ that does not fulfill
     |             PREDICATE.
     | recentf-remove-if-non-kept
     |   Function: Remove FILENAME from the recent list, if file is not kept.
     |   Properties: byte-optimizer
     | remove-if
     |   Function: Remove all items satisfying PREDICATE in SEQ.
     | remove-if-not
     |   Function: Remove all items not satisfying PREDICATE in SEQ.
     | widget-remove-if
     |   Function: (not documented)
     `----

-- 
Eric Schulte
http://cs.unm.edu/~eschulte
PGP fingerprint: FA8D C2C3 E8A0 A749 34CD  9DCF 3C1B 8581 614C A05D

  reply	other threads:[~2013-07-30  0:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-30  0:09 [bug?][ob-core] using remove-if Rasmus
2013-07-30  0:28 ` Eric Schulte [this message]
2013-07-30  0:56   ` Rasmus
2013-07-30  1:02   ` Aaron Ecay
2013-07-31 15:37     ` using cl-lib Was: " Eric Schulte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fvuwuc04.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=rasmus@gmx.us \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).