Files
emacs/lisp
João Távora 90cbf0cb8d Consider shorthands in Elisp's elisp-completion-at-point
Instead of referencing obarray directly, that function has to consider
a collection of completions which includes the shorthand versions of
some of the symbols.  That collection changes from buffer to buffer,
depending on the choice of elisp-shorthands.

To make this process efficient, and avoid needless recalculation of
the above collection, a new obarray-specific cache was invented.  The
Elisp variable obarray-cache is immediately nullified if something
touches the obarray.

* lisp/progmodes/elisp-mode.el : New helper.
(elisp-completion-at-point): Use new helpers.
(elisp--completion-local-symbols)
(elisp--fboundp-considering-shorthands)
(elisp--bboundp-considering-shorthands): New helpers

* src/lread.c (intern_driver): Nullify Qobarray_cache.
(syms_of_lread): Add Qobarray_cache.

* test/lisp/progmodes/elisp-mode-tests.el
(elisp-shorthand-completion-at-point): New test.

* test/lisp/progmodes/elisp-resources/simple-shorthand-test.el
(f-test-complete-me): New fixture.
2021-09-27 01:07:11 +01:00
..
2021-09-26 16:50:11 +03:00
2021-09-23 00:18:21 +02:00
2021-09-12 18:36:49 +02:00
2021-09-24 19:41:03 +02:00
2021-09-16 15:42:44 +02:00
2021-09-03 13:05:32 +02:00
2021-09-03 13:05:32 +02:00
2021-03-31 01:43:47 +02:00
2021-04-16 14:54:02 +02:00
2021-08-04 09:15:25 +02:00
2021-09-13 06:44:52 +02:00
2021-03-31 01:11:21 +02:00
2021-09-24 19:41:03 +02:00
2021-09-12 18:36:49 +02:00
2021-09-25 20:25:01 +02:00
2021-05-02 12:22:34 +02:00
2021-09-23 22:57:53 +02:00
2021-05-31 07:29:51 +02:00
2021-09-16 15:42:44 +02:00
2021-09-16 15:42:44 +02:00
2021-09-14 07:57:14 +02:00
2021-08-09 15:19:45 +02:00
2021-09-25 20:25:01 +02:00
2021-03-30 15:50:26 +02:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.