unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: joaotavora@gmail.com (João Távora)
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 16353@debbugs.gnu.org
Subject: bug#16353: 24.3.50; cl-position fails in 23.4.1
Date: Tue, 07 Jan 2014 09:21:48 +0000	[thread overview]
Message-ID: <87ppo4qh8z.fsf@gmail.com> (raw)
In-Reply-To: <jwv61pwpqw6.fsf-monnier+emacsbugs@gnu.org> (Stefan Monnier's message of "Mon, 06 Jan 2014 19:42:06 -0500")

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>>> This is GNU Emacs 23.4.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.10)
>>>>> of 2012-09-08 on trouble, modified by Debian
>>>>> Using that emacs and cl-lib-0.3.el this fails
>>>>> /usr/bin/emacs --batch -Q -l cl-lib.el \
>>>>> --eval "(princ (cl-position 2 '(1 2 3)))"
>>>> Namespace clash. cl-seq.el used to contain an internal function called
>>>> "cl-position". It was renamed to cl--position in 24.3.
>>> Indeed, thanks.  We need to adjust elpa's cl-lib.el accordingly (not
>>> sure how best to do that, tho).
>> Can it be done so that it I can still use cl-position in emacs 23.4.1?
>
> That would be best, yes.
>
>> Maybe by including in cl-lib-0.4 some byte-recompilation of the
>> cl-seq.el functions that Glenn mentions:
>
> Could be.

Can it be done without including the full definitions, e.g. via some
bytecode-changing trick? I'm asking because I could include this
workaround

> It'd be good to first get a list of the all conflicting functions.

Here's what I found

using cl-position:

   (defun remove* (cl-item cl-seq &rest cl-keys)
   (defun delete* (cl-item cl-seq &rest cl-keys)
   (defun cl-delete-duplicates (cl-seq cl-keys cl-copy)
   (defun cl-delete-duplicates (cl-seq cl-keys cl-copy)
   (defun cl-delete-duplicates (cl-seq cl-keys cl-copy)
   (defun substitute (cl-new cl-old cl-seq &rest cl-keys)
   (defun position (cl-item cl-seq &rest cl-keys)
   (defun search (cl-seq1 cl-seq2 &rest cl-keys)

these are all in cl-seq.el. using cl-adoing:
    
   (defun adjoin (cl-item cl-list &rest cl-keys)    in cl.el

using cl-delete-duplicates:

   (defun remove-duplicates (cl-seq &rest cl-keys) in cl-seq.el
   (defun delete-duplicates (cl-seq &rest cl-keys) in cl-seq.el

There are more internal functions prefixed with "cl-", but I don't think
they clash with aliases exported by cl-lib.

There's cl-macroexpand and cl-macroexpand-all, but I think these were
exported functions even back in 23.4.1.

João








  reply	other threads:[~2014-01-07  9:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-05 18:39 bug#16353: 24.3.50; cl-position fails in 23.4.1 João Távora
2014-01-06  1:14 ` Glenn Morris
2014-01-06  1:16   ` Glenn Morris
2014-01-06  4:08   ` Stefan Monnier
2014-01-06 22:49     ` João Távora
2014-01-07  0:42       ` Stefan Monnier
2014-01-07  9:21         ` João Távora [this message]
2014-01-07 10:03           ` Helmut Eller
2014-01-08  3:59             ` Stefan Monnier
2014-01-25  5:20 ` Stefan Monnier
2014-01-28  9:31   ` João Távora

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.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87ppo4qh8z.fsf@gmail.com \
    --to=joaotavora@gmail.com \
    --cc=16353@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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.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).