[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer
From: |
Drew Adams |
Subject: |
bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer |
Date: |
Fri, 7 Apr 2017 08:54:44 -0700 (PDT) |
> Regarding Drew's concerns about extending cl-loop with more non-Common
> Lisp things, I just don't see that as a problem.
It depends on what one considers "a problem". I think it
is a problem for `cl-', which was intended for Common Lisp
emulation, to become a dumping ground for anyone's idea of
a cool thing to add to Emacs. That's not what it's for.
We've already had a couple of things unrelated to CL that
were misguidedly added to `cl-'. We should not continue
that practice (and we really should remove those from the
`cl-' namespace).
There is nothing preventing Emacs from adding any constructs
it wants. There just is no reason why the `cl-' namespace
(and the `cl*.el' files) should be polluted with stuff that
is not Common Lisp emulation.
A user of `cl-loop' should be able to expect Common Lisp
`loop', or as close to it as we can get.
> I suppose it would be nice to have a more easily extensible
> looping macro, like iterate [1]. That would be quite a bit
> of work though.
As for `iterate': If this is what you mean:
https://common-lisp.net/project/iterate/
then I'm all in favor of it. I much prefer it to `loop'.
But I don't see anyone stepping forward to add it to Emacs.
Even then, I would probably prefer that we add it to the
`cl-' namespace and stay as close as possible to emulating
the Common Lisp `iterate' (no, it is not part of the CL
language, but yes, it is something developed for/with CL).
There are lots of users of CL, and lots of CL code. Both
should find a simple, straightforward path to Emacs. We
should minimize any differences between Emacs emulations
and the things being emulated.
But again, nothing prevents Emacs adding a different
construct that does exactly what you want, with all the
bells and whistles you think are improvements over `loop'
or `iterate' or whatever.
That should not be in the `cl-' namespace, and we should
not confuse users by passing it off as (even a partial)
emulation of a Common Lisp construct. That's all.
Just one opinion.
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, (continued)
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Philipp Stephani, 2017/04/08
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Tino Calancha, 2017/04/08
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Philipp Stephani, 2017/04/08
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Tino Calancha, 2017/04/08
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Philipp Stephani, 2017/04/22
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, npostavs, 2017/04/08
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Philipp Stephani, 2017/04/22
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Juri Linkov, 2017/04/05
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Tino Calancha, 2017/04/07
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Noam Postavsky, 2017/04/07
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer,
Drew Adams <=
- bug#26338: 26.0.50; Collect all matches for REGEXP in current buffer, Tino Calancha, 2017/04/08