[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16353: 24.3.50; cl-position fails in 23.4.1
From: |
João Távora |
Subject: |
bug#16353: 24.3.50; cl-position fails in 23.4.1 |
Date: |
Tue, 07 Jan 2014 09:21:48 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
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
bug#16353: 24.3.50; cl-position fails in 23.4.1, Stefan Monnier, 2014/01/25