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 20:59:39 +02:00
2021-09-22 20:26:40 +02:00
2021-09-26 16:50:11 +03:00
2021-09-26 20:23:59 +02:00
2021-09-26 16:50:11 +03:00
2021-09-26 13:23:57 +02:00
2021-09-19 12:59:55 +02:00
2021-09-26 16:50:11 +03:00
2021-08-09 11:35:56 +02:00
2021-09-27 01:07:11 +01:00
2021-09-24 13:10:48 +02:00
2021-09-16 19:37:07 +02:00
2021-09-24 21:26:08 +02:00
2021-09-25 07:18:50 -07:00
2021-09-26 13:23:57 +02:00
2021-09-22 20:26:40 +02:00
2021-09-26 18:16:14 +02:00
2021-09-26 13:23:57 +02:00
2021-09-26 13:23:57 +02:00
2021-09-27 01:07:11 +01:00
2021-09-16 19:37:07 +02:00
2021-09-26 13:23:57 +02:00
2021-09-21 17:52:53 +02:00
2021-09-26 16:50:11 +03:00
2021-09-24 21:26:08 +02:00
2021-09-23 00:18:21 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-23 22:57:53 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-09-26 13:23:57 +02:00
2021-09-12 18:36:49 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 20:05:48 +02:00
2021-09-22 20:26:40 +02:00
2021-09-21 23:09:38 +02:00
2021-09-24 19:41:03 +02:00
2021-07-23 14:40:53 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 15:42:44 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-03 13:05:32 +02:00
2021-09-03 13:05:32 +02:00
2021-09-22 20:26:40 +02:00
2021-03-31 01:43:47 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-24 21:26:08 +02:00
2021-09-24 13:10:48 +02:00
2021-04-13 12:06:23 +02:00
2021-09-22 20:26:40 +02:00
2021-04-16 14:54:02 +02:00
2021-08-23 15:56:54 +02:00
2021-09-22 20:26:40 +02:00
2021-09-26 13:23:57 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-08-04 09:15:25 +02:00
2021-09-16 19:37:07 +02:00
2021-07-22 14:22:26 +02:00
2021-04-19 12:21:01 +02:00
2021-09-25 10:30:27 +03:00
2021-09-24 21:26:08 +02:00
2021-09-22 20:26:40 +02:00
2021-04-11 23:47:14 -04:00
2021-09-22 20:26:40 +02:00
2021-04-30 10:28:50 +03:00
2021-09-13 06:44:52 +02:00
2021-09-22 05:57:48 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-04-19 12:21:01 +02:00
2021-03-31 01:11:21 +02:00
2021-04-12 11:54:10 -04:00
2021-03-31 01:23:29 +02:00
2021-03-30 19:02:20 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-05-29 09:22:57 -04:00
2021-09-26 12:11:56 +03:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-24 19:41:03 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-04-01 11:07:06 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-24 21:26:08 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-08-01 11:38:51 +03:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-09-12 18:36:49 +02:00
2021-09-25 07:32:48 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-25 20:25:01 +02:00
2021-09-16 19:37:07 +02:00
2021-09-14 13:44:20 +02:00
2021-09-22 20:26:40 +02:00
2021-08-27 03:43:19 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-08-11 22:29:38 +02:00
2021-09-22 20:26:40 +02:00
2021-09-21 17:52:53 +02:00
2021-09-26 13:23:57 +02:00
2021-08-08 19:25:26 +02:00
2021-04-09 01:43:10 +02:00
2021-09-21 17:52:53 +02:00
2021-05-02 12:22:34 +02:00
2021-09-25 04:00:37 +02:00
2021-09-23 19:14:56 +03:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-07-14 16:40:18 +02:00
2021-09-16 19:37:07 +02:00
2021-06-01 10:29:33 +02:00
2021-09-21 18:19:43 +02:00
2021-09-16 19:37:07 +02:00
2021-04-09 18:27:27 +02:00
2021-08-08 19:25:26 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-04 10:38:50 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-09-14 07:57:14 +02:00
2021-09-15 19:00:56 +03:00
2021-09-16 19:37:07 +02:00
2021-09-25 18:08:25 +02:00
2021-05-08 14:17:16 +02:00
2021-09-22 20:26:40 +02:00
2021-09-25 03:05:27 +02:00
2021-07-13 23:48:04 +02:00
2021-09-21 17:52:53 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 21:56:31 +02:00
2021-09-21 16:07:52 +03:00
2021-08-09 11:35:56 +02:00
2021-09-22 20:26:40 +02:00
2021-09-27 01:07:11 +01:00
2021-09-22 20:26:40 +02:00
2021-03-30 23:11:24 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-06-01 18:11:37 +02:00
2021-09-23 22:57:53 +02:00
2021-09-24 21:26:08 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-21 22:11:43 +02:00
2021-05-18 19:03:06 -04:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-24 09:29:52 +03:00
2021-09-16 19:37:07 +02:00
2021-05-31 07:29:51 +02:00
2021-08-01 18:13:41 -04:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-23 19:14:56 +03:00
2021-09-11 05:12:20 +03:00
2021-08-09 11:35:56 +02:00
2021-09-22 20:26:40 +02:00
2021-04-05 15:15:31 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-04-10 17:03:11 -04:00
2021-09-16 15:42:44 +02:00
2021-05-29 07:38:00 +02:00
2021-09-24 21:26:08 +02:00
2021-09-16 15:42:44 +02:00
2021-09-24 21:26:08 +02:00
2021-09-22 20:26:40 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-04-30 17:31:20 +02:00
2021-09-16 19:37:07 +02:00
2021-04-24 10:49:40 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-05-11 15:56:41 +02:00
2021-09-16 19:37:07 +02:00
2021-04-11 23:47:14 -04:00
2021-08-08 19:25:26 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-08-26 13:14:19 +02:00
2021-09-22 20:26:40 +02:00
2021-09-25 04:15:22 +02:00
2021-09-22 20:26:40 +02:00
2021-09-22 20:26:40 +02:00
2021-08-09 11:35:56 +02:00
2021-09-08 04:18:44 +02:00
2021-09-16 20:05:48 +02:00
2021-09-26 13:23:57 +02:00
2021-09-14 07:57:14 +02:00
2021-09-16 19:37:07 +02:00
2021-09-26 13:23:57 +02:00
2021-09-25 22:18:11 +03:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-23 22:57:53 +02:00
2021-09-24 09:29:52 +03:00
2021-08-08 19:25:26 +02:00
2021-09-26 08:23:29 -07:00
2021-09-16 19:37:07 +02:00
2021-08-09 15:19:45 +02:00
2021-08-08 19:25:26 +02:00
2021-09-25 20:25:01 +02:00
2021-03-30 15:50:26 +02:00
2021-05-12 17:36:24 +02:00
2021-09-25 03:38:21 +02:00
2021-04-03 14:15:43 -04:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-26 16:50:11 +03:00
2021-08-09 11:35:56 +02:00
2021-09-25 20:27:28 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 20:05:48 +02:00
2021-09-16 20:05:48 +02:00
2021-09-16 19:37:07 +02:00
2021-09-22 20:26:40 +02:00
2021-09-14 07:57:14 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-16 19:37:07 +02:00
2021-09-18 18:18:13 +02:00