<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/lisp, branch scratch/obarray</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Add a proper type for obarrays</title>
<updated>2024-02-17T19:29:01+00:00</updated>
<author>
<name>Mattias Engdegård</name>
</author>
<published>2024-02-10T20:14:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a556b6ff1b709bb8a88a995a6f35b52fb52910f0'/>
<id>a556b6ff1b709bb8a88a995a6f35b52fb52910f0</id>
<content type='text'>
The new opaque type replaces the previous use of vectors for obarrays.
`obarray-make` now returns objects of this type.  Functions that take
obarrays continue to accept vectors for compatibility, now just using
their first slot to store an actual obarray object.

obarray-size and obarray-default-size now obsolete.

* lisp/obarray.el (obarray-default-size, obarray-size):
Declare obsolete.
(obarray-make, obarrayp, obarray-clear): Remove from here.
* src/fns.c (reduce_emacs_uint_to_hash_hash): Remove from here.
* src/lisp.h (struct Lisp_Obarray, OBARRAYP, XOBARRAY, CHECK_OBARRAY)
(make_lisp_obarray, obarray_size, obarray_bucket, check_obarray)
(obarray_iter_t, make_obarray_iter, obarray_iter_at_end)
(obarray_iter_step, obarray_iter_symbol, DOOBARRAY, knuth_hash): New.
(reduce_emacs_uint_to_hash_hash): Moved here.
* src/lread.c (check_obarray): Renamed and reworked as...
(checked_obarray_slow): ...this.
(intern_sym, Funintern, oblookup, map_obarray)
(Finternal__obarray_buckets): Adapt to new type.
(obarray_index, allocate_obarray, make_obarray, grow_obarray)
(obarray_default_bits, Fobarray_make, Fobarrayp, Fobarray_clear): New.
* etc/emacs_lldb.py (Lisp_Object):
* lisp/emacs-lisp/cl-macs.el (`(,type . ,pred)):
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
* lisp/emacs-lisp/comp.el (comp-known-predicates):
* src/alloc.c (cleanup_vector, process_mark_stack):
* src/data.c (Ftype_of, syms_of_data):
* src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
* src/pdumper.c (dump_obarray_buckets, dump_obarray, dump_vectorlike):
* src/print.c (print_vectorlike_unreadable):
* test/lisp/abbrev-tests.el (abbrev-make-abbrev-table-test):
* test/lisp/obarray-tests.el (obarrayp-test)
(obarrayp-unchecked-content-test, obarray-make-default-test)
(obarray-make-with-size-test):
Adapt to new type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new opaque type replaces the previous use of vectors for obarrays.
`obarray-make` now returns objects of this type.  Functions that take
obarrays continue to accept vectors for compatibility, now just using
their first slot to store an actual obarray object.

obarray-size and obarray-default-size now obsolete.

* lisp/obarray.el (obarray-default-size, obarray-size):
Declare obsolete.
(obarray-make, obarrayp, obarray-clear): Remove from here.
* src/fns.c (reduce_emacs_uint_to_hash_hash): Remove from here.
* src/lisp.h (struct Lisp_Obarray, OBARRAYP, XOBARRAY, CHECK_OBARRAY)
(make_lisp_obarray, obarray_size, obarray_bucket, check_obarray)
(obarray_iter_t, make_obarray_iter, obarray_iter_at_end)
(obarray_iter_step, obarray_iter_symbol, DOOBARRAY, knuth_hash): New.
(reduce_emacs_uint_to_hash_hash): Moved here.
* src/lread.c (check_obarray): Renamed and reworked as...
(checked_obarray_slow): ...this.
(intern_sym, Funintern, oblookup, map_obarray)
(Finternal__obarray_buckets): Adapt to new type.
(obarray_index, allocate_obarray, make_obarray, grow_obarray)
(obarray_default_bits, Fobarray_make, Fobarrayp, Fobarray_clear): New.
* etc/emacs_lldb.py (Lisp_Object):
* lisp/emacs-lisp/cl-macs.el (`(,type . ,pred)):
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
* lisp/emacs-lisp/comp.el (comp-known-predicates):
* src/alloc.c (cleanup_vector, process_mark_stack):
* src/data.c (Ftype_of, syms_of_data):
* src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
* src/pdumper.c (dump_obarray_buckets, dump_obarray, dump_vectorlike):
* src/print.c (print_vectorlike_unreadable):
* test/lisp/abbrev-tests.el (abbrev-make-abbrev-table-test):
* test/lisp/obarray-tests.el (obarrayp-test)
(obarrayp-unchecked-content-test, obarray-make-default-test)
(obarray-make-with-size-test):
Adapt to new type.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add obarray-clear and use it</title>
<updated>2024-02-17T18:57:06+00:00</updated>
<author>
<name>Mattias Engdegård</name>
</author>
<published>2024-02-11T17:30:22+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f3915f0e00396e1c54018d1f968915701df2e34b'/>
<id>f3915f0e00396e1c54018d1f968915701df2e34b</id>
<content type='text'>
* lisp/obarray.el (obarray-clear): New.
* lisp/abbrev.el (clear-abbrev-table):
* lisp/vc/vc.el (vc-clear-context): Use it instead of assuming the
obarray is a vector that can be 0-filled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/obarray.el (obarray-clear): New.
* lisp/abbrev.el (clear-abbrev-table):
* lisp/vc/vc.el (vc-clear-context): Use it instead of assuming the
obarray is a vector that can be 0-filled.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use obarrayp, not vectorp, to detect obarrays</title>
<updated>2024-02-17T18:55:02+00:00</updated>
<author>
<name>Mattias Engdegård</name>
</author>
<published>2024-02-10T19:59:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a3ce285133bcee19c30d94a966ef77c065142474'/>
<id>a3ce285133bcee19c30d94a966ef77c065142474</id>
<content type='text'>
* lisp/abbrev.el (abbrev--active-tables):
* lisp/mail/mailabbrev.el (mail-abbrevs-setup, build-mail-abbrevs)
(define-mail-abbrev, mail-resolve-all-aliases)
(mail-abbrev-insert-alias):
* lisp/mail/rmail.el (rmail-resend):
* lisp/minibuffer.el (completion-table-with-context):
* lisp/progmodes/etags.el (etags-tags-apropos-additional):
(etags--xref-apropos-additional):
Use obarrayp as predicate for obarrays.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/abbrev.el (abbrev--active-tables):
* lisp/mail/mailabbrev.el (mail-abbrevs-setup, build-mail-abbrevs)
(define-mail-abbrev, mail-resolve-all-aliases)
(mail-abbrev-insert-alias):
* lisp/mail/rmail.el (rmail-resend):
* lisp/minibuffer.el (completion-table-with-context):
* lisp/progmodes/etags.el (etags-tags-apropos-additional):
(etags--xref-apropos-additional):
Use obarrayp as predicate for obarrays.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use obarray-make instead of make-vector to create obarrays</title>
<updated>2024-02-17T18:49:39+00:00</updated>
<author>
<name>Mattias Engdegård</name>
</author>
<published>2024-02-08T17:23:00+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0aeed254477894298485cf1beccb1ab7a3b5335b'/>
<id>0aeed254477894298485cf1beccb1ab7a3b5335b</id>
<content type='text'>
This way, we can use a new type.

* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-dynamic-map)
(semantic-lex-spp-dynamic-map-stack, semantic-lex-make-spp-table):
* lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
(semantic-lex-make-type-table):
* lisp/completion.el (cmpl-prefix-obarray, cmpl-obarray)
(clear-all-completions):
* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info):
* lisp/emacs-lisp/eldoc.el (eldoc-message-commands)
(eldoc-edit-message-commands):
* lisp/mail/mail-extr.el (mail-extr-all-top-level-domains):
* lisp/mail/rmailkwd.el (rmail-label-obarray):
* lisp/net/dns.el (dns-cache):
* lisp/net/eww.el (eww-suggested-uris):
* lisp/net/imap.el (imap-open, imap-mailbox-select-1)
(imap-message-copyuid-1, imap-message-appenduid-1):
* lisp/obsolete/pgg.el (pgg-passphrase-cache, pgg-pending-timers):
* lisp/play/cookie1.el (cookie-cache):
* lisp/progmodes/cc-defs.el (c-lang-constants, c-define-lang-constant):
* lisp/progmodes/cc-langs.el (c-keywords-obarray):
* lisp/vc/vc-hooks.el (vc-file-prop-obarray):
* test/lisp/obarray-tests.el (obarrayp-test):
* test/src/minibuf-tests.el (minibuf-tests--strings-to-obarray):
Use obarray-make instead of obarray-make.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way, we can use a new type.

* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-dynamic-map)
(semantic-lex-spp-dynamic-map-stack, semantic-lex-make-spp-table):
* lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
(semantic-lex-make-type-table):
* lisp/completion.el (cmpl-prefix-obarray, cmpl-obarray)
(clear-all-completions):
* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info):
* lisp/emacs-lisp/eldoc.el (eldoc-message-commands)
(eldoc-edit-message-commands):
* lisp/mail/mail-extr.el (mail-extr-all-top-level-domains):
* lisp/mail/rmailkwd.el (rmail-label-obarray):
* lisp/net/dns.el (dns-cache):
* lisp/net/eww.el (eww-suggested-uris):
* lisp/net/imap.el (imap-open, imap-mailbox-select-1)
(imap-message-copyuid-1, imap-message-appenduid-1):
* lisp/obsolete/pgg.el (pgg-passphrase-cache, pgg-pending-timers):
* lisp/play/cookie1.el (cookie-cache):
* lisp/progmodes/cc-defs.el (c-lang-constants, c-define-lang-constant):
* lisp/progmodes/cc-langs.el (c-keywords-obarray):
* lisp/vc/vc-hooks.el (vc-file-prop-obarray):
* test/lisp/obarray-tests.el (obarrayp-test):
* test/src/minibuf-tests.el (minibuf-tests--strings-to-obarray):
Use obarray-make instead of obarray-make.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix typo from commit 32c5bdfa971</title>
<updated>2024-02-17T18:21:44+00:00</updated>
<author>
<name>Philip Kaludercic</name>
</author>
<published>2024-02-17T18:20:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=20997aa20728a6fc2a3de736e9fc718b97dcef99'/>
<id>20997aa20728a6fc2a3de736e9fc718b97dcef99</id>
<content type='text'>
* lisp/gnus/gnus-util.el (gnus-not-ignore): Quote the argument
to defalias.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/gnus/gnus-util.el (gnus-not-ignore): Quote the argument
to defalias.
</pre>
</div>
</content>
</entry>
<entry>
<title>Provide better default value for date in Gnus scoring</title>
<updated>2024-02-17T17:41:31+00:00</updated>
<author>
<name>Jakub Ječmínek</name>
</author>
<published>2024-02-17T17:34:36+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=32c5bdfa971220bae37991a298628605c82f866c'/>
<id>32c5bdfa971220bae37991a298628605c82f866c</id>
<content type='text'>
Bug#61002, thanks to Kamil Jońca for reporting

* lisp/gnus/gnus-score.el (gnus-summary-score-entry): When scoring on
Date header, the default value for the prompt should be number of days
between the date of the article under point, and "now".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug#61002, thanks to Kamil Jońca for reporting

* lisp/gnus/gnus-score.el (gnus-summary-score-entry): When scoring on
Date header, the default value for the prompt should be number of days
between the date of the article under point, and "now".
</pre>
</div>
</content>
</entry>
<entry>
<title>Alias some gnus-specific do-nothing functions</title>
<updated>2024-02-17T17:41:31+00:00</updated>
<author>
<name>Eric Abrahamsen</name>
</author>
<published>2024-02-17T17:31:50+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=db5e84af202532b138918295ea6dd1b0ea910d78'/>
<id>db5e84af202532b138918295ea6dd1b0ea910d78</id>
<content type='text'>
Replace with #'always and #'ignore

* lisp/gnus/gnus-agent.el: `gnus-agent-true' and `gnus-agent-false'
* lisp/gnus/gnus-util.el: `gnus-not-ignore'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace with #'always and #'ignore

* lisp/gnus/gnus-agent.el: `gnus-agent-true' and `gnus-agent-false'
* lisp/gnus/gnus-util.el: `gnus-not-ignore'
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-29</title>
<updated>2024-02-17T09:54:48+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2024-02-17T09:54:48+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e6dae47d718dfd2167554a1adfe28c5c744b9b2b'/>
<id>e6dae47d718dfd2167554a1adfe28c5c744b9b2b</id>
<content type='text'>
45f9af61b8e Remove references to phst@google.com.
7256690a3ca * BUGS: Note how to report critical security issues.
1035669b38b Add cross-reference to ELisp manual Caveats
61a14507627 Improve directory prompt used by package-vc-checkout
0c7c8210cb6 Minor Tramp doc adaption
df243f785d4 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
17a395e04c6 ;; Fix typo in the Tramp documentation
614b244a7fa * Improve reproducibility of inferred values by native comp
9f9da26e0dc Handle typescript ts grammar breaking change for function...
717d8c4285f Don't quote 't' in doc strings
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
45f9af61b8e Remove references to phst@google.com.
7256690a3ca * BUGS: Note how to report critical security issues.
1035669b38b Add cross-reference to ELisp manual Caveats
61a14507627 Improve directory prompt used by package-vc-checkout
0c7c8210cb6 Minor Tramp doc adaption
df243f785d4 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
17a395e04c6 ;; Fix typo in the Tramp documentation
614b244a7fa * Improve reproducibility of inferred values by native comp
9f9da26e0dc Handle typescript ts grammar breaking change for function...
717d8c4285f Don't quote 't' in doc strings
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix last change</title>
<updated>2024-02-17T09:31:20+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2024-02-17T09:31:20+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d85461ac61c5ea99ea194f99c771de1efdabbef4'/>
<id>d85461ac61c5ea99ea194f99c771de1efdabbef4</id>
<content type='text'>
* doc/misc/epa.texi (Cryptographic operations on regions): Fix
wording of the 'epa-keys-select-method's documentation.
* lisp/epa.el (epa-keys-select-method): Doc fix (bug#69133).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/epa.texi (Cryptographic operations on regions): Fix
wording of the 'epa-keys-select-method's documentation.
* lisp/epa.el (epa-keys-select-method): Doc fix (bug#69133).
</pre>
</div>
</content>
</entry>
<entry>
<title>Make key selection method configurable in EPA.</title>
<updated>2024-02-17T09:27:09+00:00</updated>
<author>
<name>Aleksandr Vityazev</name>
</author>
<published>2024-02-15T19:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6477be93bd8a29cba8ce383f9ea3fba23c45f225'/>
<id>6477be93bd8a29cba8ce383f9ea3fba23c45f225</id>
<content type='text'>
* lisp/epa.el (epa-keys-select-method): New defcustom.
(epa--select-keys-in-minibuffer): New function.
(epa-select-keys): Use new option and function.
* etc/NEWS: Announce it.
* doc/misc/epa.texi (Key Management): Document it.
(Bug#69133)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/epa.el (epa-keys-select-method): New defcustom.
(epa--select-keys-in-minibuffer): New function.
(epa-select-keys): Use new option and function.
* etc/NEWS: Announce it.
* doc/misc/epa.texi (Key Management): Document it.
(Bug#69133)
</pre>
</div>
</content>
</entry>
</feed>
