Eli Zaretskii writes: >> --- a/lisp/faces.el >> +++ b/lisp/faces.el >> @@ -55,6 +55,7 @@ term-file-aliases >> :group 'terminals >> :version "25.1") >> >> +(declare-function display-graphic-p "frame" (&optional display)) > > Did you try to bootstrap with this? frame.el is loaded after > faces.el. (There are more similar declarations in the patches with > the same issues.) Yes, I successfully bootstrapped, and the loading issue is why I added the declare-function calls. It seems to work fine. My usage of display-graphic-p appears to be different compared to the one in face-spec-reset-face, which apparently is run during bootstrap. >> --- a/lisp/emulation/cua-base.el >> +++ b/lisp/emulation/cua-base.el >> @@ -427,7 +427,7 @@ cua-rectangle-mark-key >> >> (defcustom cua-rectangle-modifier-key 'meta >> "Modifier key used for rectangle commands bindings. >> -On non-window systems, always use the meta modifier. >> +On non-window systems, use `cua-rectangle-terminal-modifier-key'. >> Must be set prior to enabling CUA." >> :type '(choice (const :tag "Meta key" meta) >> (const :tag "Alt key" alt) >> @@ -435,6 +435,16 @@ cua-rectangle-modifier-key >> (const :tag "Super key" super)) >> :group 'cua) >> >> +(defcustom cua-rectangle-terminal-modifier-key 'meta >> + "Modifier key used for rectangle commands bindings in terminals. >> +Must be set prior to enabling CUA." >> + :type '(choice (const :tag "Meta key" meta) >> + (const :tag "Alt key" alt) >> + (const :tag "Hyper key" hyper) >> + (const :tag "Super key" super)) >> + :group 'cua >> + :version "27.1") > > This change should be called out in NEWS. > > The new display-* predicates should probably also be mentioned in > NEWS. Okay, here's a new set of patches (excluding the same logb patch).