Commit graph

86 commits

Author SHA1 Message Date
Noam Postavsky
b16ba4041d ; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib here 2020-03-07 18:45:23 -05:00
Andrew Eggenberger
3cbf4cb796 Eliminate use of cl-concatenate in 'seq' package
Fixes (Bug#39761) by making cl-extra dependent on seq rather than
vice versa.
* lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
code here instead of calling it.
* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.

Copyright-paperwork-exempt: yes
2020-03-07 18:39:01 -05:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Juri Linkov
9a911b4af5 New functions window-state-buffers and tab-bar-get-buffer-tab (bug#38354)
* lisp/window.el (window-state-buffers): New function.
* lisp/tab-bar.el (tab-bar-get-buffer-tab): New function.

* lisp/emacs-lisp/seq.el (seq-some): Add autoload cookie.

* lisp/desktop.el (desktop-buffers-not-to-save-function): New variable.
(desktop-save-buffer-p): Use it.
2019-12-03 01:40:12 +02:00
Juri Linkov
c472df8ad3 * lisp/tab-bar.el: Filter out non-persistent tab parameters from frameset.
* lisp/tab-bar.el (frameset-filter-tabs): New function
added to 'frameset-filter-alist' for frame parameter 'tabs'.
(tab-bar--tab): Remove ws-bl/ws-bbl that are not needed because
frameset doesn't save frame buffer-list to desktop anyway.
(tab-bar-select-tab): Remove ws-bl/ws-bbl related code.

* lisp/emacs-lisp/seq.el (seq-reduce): Add autoload cookie.
2019-11-03 23:44:44 +02:00
Juri Linkov
d7f62ce0cd * lisp/tab-bar.el: Store point position and frame buffer-lists in tab.
* lisp/tab-bar.el (tab-bar--tab): Store additionally point-marker,
frame parameters buffer-list and buried-buffer-list, both for wc and ws.
Use seq-filter.
(tab-bar-select-tab): Restore point-marker after restoring
window-configuration.  Also restore frame parameters buffer-list
and buried-buffer-list both for window-configuration and window-state.
(tab-bar-history-limit, tab-bar-history--minibuffer-depth): New variables.
(tab-bar-history-current): Rename from tab-bar-history--pre-change.
(tab-bar-history--pre-change): Set tab-bar-history-current.
(tab-bar--history-change): Use seq-take for tab-bar-history-limit.
(tab-bar-history-back, tab-bar-history-forward): Restore point-marker.
(tab-bar-list-noselect): Use seq-remove.

* lisp/emacs-lisp/seq.el (seq-take, seq-filter): Add autoload cookie.
2019-10-30 00:31:11 +02:00
Stefan Monnier
0e4dd67aae * lisp/emacs-lisp/seq.el: Don't require cl-lib.
(seq-subseq): Move cl-subseq's code here instyead of calling it.
* lisp/emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq.
2019-10-27 13:25:00 -04:00
Juri Linkov
5a9a01797b * lisp/tab-bar.el (tab-bar-switch-to-recent-tab): New command.
(tab-recent): Alias to tab-bar-switch-to-recent-tab.
(tab-bar--tab-index-recent): New internal function.
(tab-bar-close-tab-select): Add new default option 'recent'.
(tab-bar-close-tab): Handle it.

* lisp/emacs-lisp/seq.el (seq-sort-by, seq-remove): Add autoload.
2019-10-27 01:16:10 +03:00
Lars Ingebrigtsen
a4e7c15484 Preserve breakpoints when Edebug-reinstrumenting functions
* lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): New
function (bug#23470).

* lisp/emacs-lisp/seq.el (seq-position): Autoload.
2019-10-20 13:11:04 +02:00
Lars Ingebrigtsen
a5a967b43d Make mailcap-prefer-mailcap-viewers work as documented
* lisp/emacs-lisp/seq.el (seq-find): Autoload.

* lisp/net/mailcap.el (mailcap-parse-mailcaps): Note where all the
entries come from so that we can later distinguish between user
values and system values (bug#36771).
(mailcap-parse-mailcap): Take a source parameter.
(mailcap-possible-viewers): No need to sort wildcards/exact
matches; these are later sorted anyway.
(mailcap-add-mailcap-entry): Remove `after' parameter.
(mailcap-mime-info): Make mailcap-prefer-mailcap-viewers work as
documented.
2019-10-07 05:00:24 +02:00
Paul Eggert
f744797af1 Go back to "Maintainer: emacs-devel@gnu.org"
Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
no special maintainer for a file.  Although this wasn't documented
it was common practice and removing the lines didn't have consensus.
2019-05-25 14:25:18 -07:00
Paul Eggert
bef1be8730 Fixes for "Maintainer:" and related lines
Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
which are not that useful.  It also cleans up and regularizes a
few similar lines.
2019-05-19 21:34:27 -07:00
Nicolas Petton
40714862a3
* lisp/emacs-lisp/seq.el (seq-difference): Inverse a conditional for clarity. 2019-03-21 21:08:29 +01:00
Nicolas Petton
287cc58f39
New seq-contains-p predicate (Bug#34852)
* lisp/emacs-lisp/seq.el (seq-contains-p): New predicate function.  It
is a replacement for seq-contains which cannot be used as a predicate
when a sequence contains nil values as it returns the element found.
(seq-contains): Make obsolete.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-p):
(test-seq-intersection-with-nil, test-seq-set-equal-p-with-nil,
test-difference-with-nil): Add regression tests.

* doc/lispref/sequences.texi (Sequence Functions): Document
seq-contains-p.
2019-03-21 21:08:28 +01:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Nicolas Petton
5a9eba603d
New convenience functions in seq.el
Functions to access the first or all but the first elements of
sequences have been repeatedly asked for (the last occurrence being
https://github.com/NicolasPetton/seq.el/issues/9).

* lisp/emacs-lisp/seq.el (seq-first, seq-rest): New functions.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-first, test-seq-rest):
New tests for seq-first and seq-rest.
2018-12-18 09:42:50 +01:00
Simen Heggestøyl
3d2e3dc1ca Change name of `seqp' argument (Bug#26411)
* lisp/emacs-lisp/seq.el (seqp): Change argument name.

* doc/lispref/sequences.texi: Update the documentation for seqp.
2018-06-21 20:27:35 -04:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Nicolas Petton
5c4dbbb745
* lisp/emacs-lisp/seq.el: Bump seq version. 2017-05-04 11:34:41 +02:00
Damien Cassou
88f96e69cf Add seq-set-equal-p to test for set equality
* lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
  two lists as if they were sets.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
  for seq-set-equal-p.
2017-05-04 11:32:58 +02:00
Paul Eggert
55086ef651 Fix obsolete ‘test/automated’ references
* Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
(bootstrap-clean, maintainer-clean):
Clean ‘test’, not ‘test/automated’.  Test for existence of
subdirectory only for ‘test’, not for directories that should
always exist.
* admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
* lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
* lisp/man.el (Man-parse-man-k):
* lisp/url/url-domsuf.el, make-dist:
* test/file-organization.org:
Fix obsolete references to test/automated.
2017-03-27 11:30:08 -07:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Nicolas Petton
fb2fdb1435 Make seq-into return the sequence when no conversion needed
* lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
  no conversion is needed.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
  a regression test checking for identity.
2016-12-16 11:22:00 +01:00
Nicolas Petton
09a66ceb5e Fix circular list handling in seq-mapn
* lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
  Add a regression test.
2016-12-15 10:26:11 +01:00
Nicolas Petton
05e773a460
Docstring improvement for seq-some (bug#25129)
* lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
  regarding the returned value.
2016-12-07 13:32:46 +01:00
Nicolas Petton
b4f09b92bc * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring. 2016-10-25 17:07:07 +02:00
Damien Cassou
bd22beb6e4 Add seq-random-elt to seq.el
* lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
  random element from it's sequence parameter.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
  test-seq-random-elt-return-nil): Test the new function

* doc/lispref/sequences.texi: Document the new function
2016-10-25 12:32:57 +02:00
Nicolas Petton
524a05ac78
* lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738) 2016-10-24 13:15:05 +02:00
Paul Eggert
dcd90f60eb Merge from origin/emacs-25
0ffc9ce Update admin/authors.el
0ad7410 Update Antinews in ELisp manual
ea0f750 Fix comments on window height macros
0bbdeed Fix 'url-http-create-request' when cookies are used
0045998 Fix cross reference in frames.texi
1392894 ; * etc/DEBUG: Minor copyedits.
304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
56bf7d7 Fix regexp-opt documentation (bug #17862)
803ad6f ; Fix documentation of seq-subseq
ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
88ea396 ; Spelling fixes
17197d0 Fix tags-query-replace docstring
80a7f8b Clarify documentation of precision in format specs
88a5052 Improve and clarify documentation of subprocesses
89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).

# Conflicts:
#	etc/PROBLEMS
#	src/process.c
2016-09-26 13:32:28 -07:00
Clément Pit--Claudel
803ad6f7e7 ; Fix documentation of seq-subseq 2016-09-02 09:53:31 -04:00
Nicolas Petton
ead28454b8 Fix seq-contains
Make sure seq-contains return the element of the sequence instead of t.

* lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
* test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
2016-06-18 10:10:00 +02:00
Nicolas Petton
9726856f29 Add seq-do-indexed
* lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
* test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
2016-06-18 10:10:00 +02:00
Nicolas Petton
37f8a470d0
* lisp/emacs-lisp/seq.el (seq-drop): Better list implementation 2016-06-12 12:41:42 +02:00
Glenn Morris
b7d8abd7f0 * lisp/emacs-lisp/seq.el: Load cl-lib, not cl-extra.
; The various components of cl-lib are an internal implementation detail.
2016-04-07 16:24:25 -04:00
Nicolas Petton
6df158cf55 * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra 2016-03-29 12:43:13 +02:00
Nicolas Petton
2946344a23 New function seq-sort-by in seq.el
* lisp/emacs-lisp/seq.el (seq-sort-by): New function.
* test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
* doc/lispref/sequences.texi: Add documentation for seq-sort-by.
2016-03-29 09:19:32 +02:00
Nicolas Petton
30fe90fa3c New function seq-map-indexed
* lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
* test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
2016-02-14 10:25:10 +01:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Nicolas Petton
51d840a8a1 Rename seq-p and map-p to seqp and mapp
* lisp/emacs-lisp/seq.el (seqp): New name.
* lisp/emacs-lisp/map.el (mapp): New name.
* doc/lispref/sequences.texi: Update the documentation for seqp.
* test/automated/map-tests.el: Update the tests for mapp.
2015-11-11 18:20:03 +01:00
Artur Malabarba
7dfe247864 * lisp/emacs-lisp/seq.el (seq-mapn): New function
* doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn
2015-10-28 15:40:23 +00:00
Nicolas Petton
5a9842c933 * lisp/emacs-lisp/seq.el: Better docstrings. 2015-10-26 22:17:41 +01:00
Nicolas Petton
7637849321 * lisp/emacs-lisp/seq.el: Rename all seq argumentss to sequence. 2015-10-26 22:17:41 +01:00
Nicolas Petton
04d604e055 New function seq-position
* lisp/emacs-lisp/seq.el (seq-position): New function.
* test/automated/seq-tests.el: New tests for seq-position.
* doc/lispref/sequences.texi: Add documentation for `seq-position'.
2015-10-20 00:39:27 +02:00
Nicolas Petton
17d4f60b55 Fix typos in docstrings
* lisp/emacs-lisp/map.el:
* lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
  macros.
2015-10-14 17:57:32 +02:00
Nicolas Petton
b5e2d74950 Better docstrings in seq.el and map.el
* lisp/emacs-lisp/map.el:
* lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
2015-10-14 09:40:10 +02:00
Nicolas Petton
f0b71429b9 Better documentation for seq-some
* doc/lispref/sequences.texi:
* lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
guarantee that the returned value is the first non-nil value that
resulted from applying the predicate.
2015-09-28 21:15:58 +02:00
Nicolas Petton
0a893f0cfa Better docstring and parameter name for seq-find
* lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
the parameter `sentinel' to `default'.

* doc/lispref/sequences.texi (Sequence Functions): Update the
  documentation for `seq-find' accordingly.
2015-09-21 11:48:55 +02:00