mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
* doc/lispref/lists.texi (Plist Access): Improve description of default predicate. * lisp/emacs-lisp/cl-extra.el (cl-getf, cl--set-getf): Assume plist-member always returns a cons. * lisp/emacs-lisp/gv.el (plist-get): Support new optional predicate argument (bug#47425#91). * lisp/emacs-lisp/map.el: Bump minor version. (map--dispatch): Remove now that bug#58563 is fixed. Break two remaining uses out into corresponding cl-defmethods. (map--plist-p): Add docstring. (map--plist-has-predicate, map--plist-member-1, map--plist-member) (map--plist-put-1, map--plist-put): New definitions for supporting predicate argument backward compatibly. (map-elt): Fix generalized variable getter under a predicate (bug#58531). Use predicate when given a plist. (map-put): Avoid gratuitous warnings when called without the hidden predicate argument. Improve obsoletion message. (map-put!): Use predicate when given a plist. (map-contains-key): Ditto. Declare forgotten advertised-calling-convention (bug#58531#19). (map--put): Group definition in file together with that of map-put!. * lisp/files-x.el (connection-local-normalize-criteria): Simplify using mapcan + plist-get. * lisp/net/eudc.el (eudc--plist-member): New convenience function. (eudc-plist-member, eudc-plist-get, eudc-lax-plist-get): Use it instead of open-coding plist-member. * src/fns.c (Fplist_get, plist_get, Fplist_put, plist_put): Pass the plist element as the first argument to the predicate, for consistency with assoc + alist-get. (Fplist_member, plist_member): Move from widget to plist section. Open-code the EQ case in plist_member, and call it from Fplist_member in that case, rather than the other way around. * test/lisp/apropos-tests.el (apropos-tests-format-plist): Avoid polluting obarray. * test/lisp/emacs-lisp/cl-extra-tests.el (cl-getf): Extend test with generalized variables, degenerate plists, and improper lists. * test/lisp/emacs-lisp/gv-tests.el: Byte-compile file; in the meantime bug#24402 seems to have been fixed or worked around. (gv-setter-edebug): Inhibit printing messages. (gv-plist-get): Avoid modifying constant literals. Also test with a predicate argument. * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Simplify docstring. (test-map-elt-testfn): Rename... (test-map-elt-testfn-alist): ...to this. Also test with a predicate argument. (test-map-elt-testfn-plist, test-map-elt-gv, test-map-elt-signature) (test-map-put!-plist, test-map-put!-signature) (test-map-contains-key-signature, test-map-plist-member) (test-map-plist-put): New tests. (test-map-contains-key-testfn): Also test with a predicate argument. (test-map-setf-alist-overwrite-key, test-map-setf-plist-insert-key) (test-map-setf-plist-overwrite-key): Avoid modifying constant literals. (test-hash-table-setf-insert-key) (test-hash-table-setf-overwrite-key): Fix indentation. (test-setf-map-with-function): Make test more precise. * test/lisp/net/eudc-tests.el: New file. * test/lisp/subr-tests.el (test-plistp): Extend test with circular list. * test/src/fns-tests.el (test-cycle-equal, test-cycle-nconc): Move from plist section to circular list section. (plist-put/odd-number-of-elements): Avoid modifying constant literals. (plist-member/improper-list): Simplify. (test-plist): Move to plist section. Also test with a predicate argument. |
||
|---|---|---|
| .. | ||
| advice.el | ||
| avl-tree.el | ||
| backquote.el | ||
| backtrace.el | ||
| benchmark.el | ||
| bindat.el | ||
| byte-opt.el | ||
| byte-run.el | ||
| bytecomp.el | ||
| cconv.el | ||
| chart.el | ||
| check-declare.el | ||
| checkdoc.el | ||
| cl-extra.el | ||
| cl-generic.el | ||
| cl-indent.el | ||
| cl-lib.el | ||
| cl-macs.el | ||
| cl-preloaded.el | ||
| cl-print.el | ||
| cl-seq.el | ||
| comp-cstr.el | ||
| comp.el | ||
| copyright.el | ||
| crm.el | ||
| cursor-sensor.el | ||
| debug-early.el | ||
| debug.el | ||
| derived.el | ||
| disass.el | ||
| easy-mmode.el | ||
| easymenu.el | ||
| edebug.el | ||
| eieio-base.el | ||
| eieio-core.el | ||
| eieio-custom.el | ||
| eieio-datadebug.el | ||
| eieio-opt.el | ||
| eieio-speedbar.el | ||
| eieio.el | ||
| eldoc.el | ||
| elint.el | ||
| elp.el | ||
| ert-x.el | ||
| ert.el | ||
| ewoc.el | ||
| faceup.el | ||
| find-func.el | ||
| float-sup.el | ||
| generate-lisp-file.el | ||
| generator.el | ||
| generic.el | ||
| gv.el | ||
| helper.el | ||
| hierarchy.el | ||
| icons.el | ||
| inline.el | ||
| let-alist.el | ||
| lisp-mnt.el | ||
| lisp-mode.el | ||
| lisp.el | ||
| loaddefs-gen.el | ||
| macroexp.el | ||
| map-ynp.el | ||
| map.el | ||
| memory-report.el | ||
| multisession.el | ||
| nadvice.el | ||
| oclosure.el | ||
| package-x.el | ||
| package.el | ||
| pcase.el | ||
| pp.el | ||
| radix-tree.el | ||
| range.el | ||
| re-builder.el | ||
| regexp-opt.el | ||
| regi.el | ||
| ring.el | ||
| rmc.el | ||
| rx.el | ||
| seq.el | ||
| shadow.el | ||
| shortdoc.el | ||
| shorthands.el | ||
| smie.el | ||
| subr-x.el | ||
| syntax.el | ||
| tabulated-list.el | ||
| tcover-ses.el | ||
| testcover.el | ||
| text-property-search.el | ||
| thunk.el | ||
| timer-list.el | ||
| timer.el | ||
| tq.el | ||
| trace.el | ||
| unsafep.el | ||
| vtable.el | ||
| warnings.el | ||