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
next prev parent 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).