Files
emacs/lisp
Tassilo Horn ccc9bd774c bug-reference-bug-regexp now defines a contract for the overlay region
Formerly, bug-reference-fontify placed the overlay on the complete
match of bug-reference-bug-regexp.  That made it impossible to encode
constraints like "must not match at BOL" in the regexp without messing
up fontification.  Therefore, now it establishes the contract that
subexpression 1 defines the overlay region.  Subexpression 2 must
still match the part of the bug reference injected into
bug-reference-url-format if that's a string.  If its a function, the
interpretation of subexpressions > 1 is up to the function.

For backwards compatibility, bug-reference-fontify checks if the
bounds of subexpression 2..10 are within the bounds of subexpession
1.  If not, or subexpression 1 doesn't even exist/match, we fall back
to placing the overlay from (match-beginning 0) to (match-end 0) but
issue a warning.

* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Document
contract that subexpression 1 defines the overlay region and adapt the
default value accordingly.
(bug-reference--nonconforming-regexps): New internal variable.
(bug-reference--overlay-bounds): New function.
(bug-reference-fontify): Place overlay on subexpression 1's bounds if
bug-reference-bug-regexp conforms to the documented contract.
(bug-reference--setup-from-vc-alist): Adapt regexps to new contract.
* doc/emacs/maintaining.texi (Bug Reference): Adapt regexp used in
example.
2021-09-11 11:51:14 +02:00
..
2021-09-03 13:05:32 +02:00
2021-09-03 13:05:32 +02:00
2021-06-20 14:04:21 +03:00
2021-08-23 19:59:39 -07:00
2021-04-16 14:54:02 +02:00
2021-04-08 14:36:51 -04:00
2021-04-01 01:27:38 +02:00
2021-09-03 13:05:32 +02:00
2021-04-16 14:54:02 +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-08-26 16:12:17 +02:00
2021-05-02 11:28:30 +02:00
2021-03-31 01:11:21 +02:00
2021-04-16 14:54:02 +02:00
2021-07-30 14:58:25 +02:00
2021-04-16 14:54:02 +02:00
2021-09-03 07:50:25 -07:00
2021-04-09 14:54:04 +02:00
2021-05-02 12:22:34 +02:00
2021-09-04 09:12:10 +02:00
2021-03-24 09:09:52 +01:00
2021-07-05 14:50:02 +02:00
2021-03-24 10:20:18 +01:00
2021-05-30 08:10:15 +02:00
2021-09-01 06:45:05 -07:00
2021-09-09 10:52:41 +03:00
2021-05-31 07:29:51 +02:00
2021-04-03 00:53:47 +02:00
2021-09-08 12:21:12 +02:00
2021-03-24 09:05:06 +01:00
2021-09-04 09:12:10 +02:00
2021-08-25 18:04:43 +02:00
2021-08-09 15:19:45 +02:00
2021-03-30 15:50:26 +02:00
2021-03-24 06:15:37 +01:00
2021-06-06 13:21:25 +02:00
2021-04-16 14:54:02 +02:00
2021-09-03 13:05:32 +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.