summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2022-01-15 06:47:59 +0100
committerStefan Kangas <stefan@marxist.se>2022-01-15 06:47:59 +0100
commit8df828e40522b7696cde6ec22a4657173c9f02a1 (patch)
treea81313af02b62afbc759ed328b08e01e4c439eff
parent8267973c3110dbcbf2c1120f73159ad2ef8c57a0 (diff)
parent5990148860094bc3ad0ec55e4edac543d1c2036e (diff)
downloademacs-8df828e40522b7696cde6ec22a4657173c9f02a1.tar.gz
Merge from origin/emacs-28
5990148860 * lisp/simple.el (undo-no-redo): Fix customization group ac2cdb8a46 * lisp/progmodes/xref.el (xref-file-name-display): Fix doc... c05864dd25 Avoid another segfault in 'face_at_buffer_position'
-rw-r--r--lisp/progmodes/xref.el12
-rw-r--r--lisp/simple.el3
-rw-r--r--src/xfaces.c8
3 files changed, 14 insertions, 9 deletions
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 066c051cfc3..37e2159782f 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -118,16 +118,16 @@ When it is a file name, it should be the \"expanded\" version.")
(defcustom xref-file-name-display 'project-relative
"Style of file name display in *xref* buffers.
-If the value is the symbol `abs', the default, show the file names
-in their full absolute form.
+If the value is the symbol `abs', show the file names in their
+full absolute form.
If `nondirectory', show only the nondirectory (a.k.a. \"base name\")
part of the file name.
-If `project-relative', show only the file name relative to the
-current project root. If there is no current project, or if the
-file resides outside of its root, show that particular file name
-in its full absolute form."
+If `project-relative', the default, show only the file name
+relative to the current project root. If there is no current
+project, or if the file resides outside of its root, show that
+particular file name in its full absolute form."
:type '(choice (const :tag "absolute file name" abs)
(const :tag "nondirectory file name" nondirectory)
(const :tag "relative to project root" project-relative))
diff --git a/lisp/simple.el b/lisp/simple.el
index c73c94b53ad..8b1e7fe78b0 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2957,7 +2957,8 @@ undo record: if we undo from 4, `pending-undo-list' will be at 3,
(defcustom undo-no-redo nil
"If t, `undo' doesn't go through redo entries."
- :type 'boolean)
+ :type 'boolean
+ :group 'undo)
(defvar pending-undo-list nil
"Within a run of consecutive undo commands, list remaining to be undone.
diff --git a/src/xfaces.c b/src/xfaces.c
index 8064d47c947..e148b5d3987 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -6423,8 +6423,12 @@ face_at_buffer_position (struct window *w, ptrdiff_t pos,
cached faces since we've looked up these faces, we need to look
them up again. */
if (!default_face)
- default_face = FACE_FROM_ID (f,
- lookup_basic_face (w, f, DEFAULT_FACE_ID));
+ {
+ if (FRAME_FACE_CACHE (f)->used == 0)
+ recompute_basic_faces (f);
+ default_face = FACE_FROM_ID (f,
+ lookup_basic_face (w, f, DEFAULT_FACE_ID));
+ }
}
/* Optimize common cases where we can use the default face. */