GNU bug report logs -
#29713
26.0; Provide completion for `make-frame-on-display'
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Thu, 14 Dec 2017 20:46:02 UTC
Severity: wishlist
Tags: fixed
Found in version 26.0
Fixed in version 27.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 29713 in the body.
You can then email your comments to 29713 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 14 Dec 2017 20:46:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Drew Adams <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Thu, 14 Dec 2017 20:46:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Subject line says it all. Gather the displays using, say,
`x-display-list' and use them as completion candidates.
(I don't use X Window, so I won't have more to say about this.)
In GNU Emacs 26.0.90 (build 3, x86_64-w64-mingw32)
of 2017-10-13
Repository revision: 906224eba147bdfc0514090064e8e8f53160f1d4
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --without-dbus --host=x86_64-w64-mingw32
--without-compress-install 'CFLAGS=-O2 -static -g3''
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Sun, 14 Jul 2019 18:06:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 29713 <at> debbugs.gnu.org (full text, mbox):
Drew Adams <drew.adams <at> oracle.com> writes:
> Subject line says it all. Gather the displays using, say,
> `x-display-list' and use them as completion candidates.
>
> (I don't use X Window, so I won't have more to say about this.)
It provided completion for me when I tried this (":1")...
Yup, fixed in 57d2f24005a earlier this year.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Added tag(s) fixed.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 14 Jul 2019 18:06:02 GMT)
Full text and
rfc822 format available.
bug marked as fixed in version 27.1, send any further explanations to
29713 <at> debbugs.gnu.org and Drew Adams <drew.adams <at> oracle.com>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 14 Jul 2019 18:06:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Sun, 14 Jul 2019 19:53:02 GMT)
Full text and
rfc822 format available.
Message #15 received at 29713 <at> debbugs.gnu.org (full text, mbox):
>> Subject line says it all. Gather the displays using, say,
>> `x-display-list' and use them as completion candidates.
>>
>> (I don't use X Window, so I won't have more to say about this.)
>
> It provided completion for me when I tried this (":1")...
>
> Yup, fixed in 57d2f24005a earlier this year.
Maybe it could use `x-display-list'. But I don't know how portable it is.
Is `x-display-list' available on OSX and Windows?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Sun, 14 Jul 2019 22:20:02 GMT)
Full text and
rfc822 format available.
Message #18 received at 29713 <at> debbugs.gnu.org (full text, mbox):
> >> Subject line says it all. Gather the displays using, say,
> >> `x-display-list' and use them as completion candidates.
> >>
> >> (I don't use X Window, so I won't have more to say about this.)
> >
> > It provided completion for me when I tried this (":1")...
> > Yup, fixed in 57d2f24005a earlier this year.
>
> Maybe it could use `x-display-list'. But I don't know how portable it is.
> Is `x-display-list' available on OSX and Windows?
Yes, on Windows (10), `C-h f x-display-list':
---
x-display-list is a built-in function in 'C source code'.
(x-display-list)
Return the list of display names that Emacs has connections to.
---
And it returns this list: ("w32").
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Mon, 15 Jul 2019 10:15:01 GMT)
Full text and
rfc822 format available.
Message #21 received at 29713 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Sun, 14 Jul 2019 22:46:28 +0300, Juri Linkov <juri <at> linkov.net> said:
>>> Subject line says it all. Gather the displays using, say,
>>> `x-display-list' and use them as completion candidates.
>>>
>>> (I don't use X Window, so I won't have more to say about this.)
>>
>> It provided completion for me when I tried this (":1")...
>>
>> Yup, fixed in 57d2f24005a earlier this year.
Juri> Maybe it could use `x-display-list'. But I don't know how portable it is.
Juri> Is `x-display-list' available on OSX and Windows?
Itʼs available on OSX.
Robert
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Mon, 15 Jul 2019 22:29:01 GMT)
Full text and
rfc822 format available.
Message #24 received at 29713 <at> debbugs.gnu.org (full text, mbox):
>> Maybe it could use `x-display-list'. But I don't know how portable it is.
>> Is `x-display-list' available on OSX and Windows?
Drew Adams wrote:
> Yes, on Windows (10), `C-h f x-display-list':
Robert Pluim wrote:
> Itʼs available on OSX.
Thanks to Drew and Robert, this is fixed now.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 13 Aug 2019 11:24:05 GMT)
Full text and
rfc822 format available.
bug unarchived.
Request was from
"Basil L. Contovounesios" <contovob <at> tcd.ie>
to
control <at> debbugs.gnu.org
.
(Thu, 18 Mar 2021 13:47:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 18 Mar 2021 14:03:01 GMT)
Full text and
rfc822 format available.
Message #31 received at 29713 <at> debbugs.gnu.org (full text, mbox):
Juri Linkov <juri <at> linkov.net> writes:
>>> Subject line says it all. Gather the displays using, say,
>>> `x-display-list' and use them as completion candidates.
>>> (I don't use X Window, so I won't have more to say about this.)
> Maybe it could use `x-display-list'. But I don't know how portable it is.
> Is `x-display-list' available on OSX and Windows?
It's not available on --without-x builds:
0. ./src/emacs -Q
1. M-x toggle-debug-on-error RET
2. M-x make-frame-on-display RET
Debugger entered--Lisp error: (void-function x-display-list)
What's TRT here?
(interactive (list (completing-read
(format "Make frame on display: ")
(if (fboundp 'x-display-list)
(x-display-list)
(user-error "No connected displays found")))))
This will barf before make-frame is called, and pacifies the
byte-compiler warning about x-display-list not being known.
(interactive (list (completing-read
(format "Make frame on display: ")
(and (fboundp 'x-display-list)
(x-display-list)))))
This will barf when make-frame is called, with e.g.:
make-frame: Don’t know how to interpret display ""
make-frame: Don’t know how to interpret display ":0"
And also pacifies the warning.
Any preferences or alternative suggestions?
Thanks,
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 18 Mar 2021 14:37:02 GMT)
Full text and
rfc822 format available.
Message #34 received at 29713 <at> debbugs.gnu.org (full text, mbox):
> From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
> Date: Thu, 18 Mar 2021 14:02:00 +0000
> Cc: 29713 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>
>
> Juri Linkov <juri <at> linkov.net> writes:
>
> >>> Subject line says it all. Gather the displays using, say,
> >>> `x-display-list' and use them as completion candidates.
> >>> (I don't use X Window, so I won't have more to say about this.)
> > Maybe it could use `x-display-list'. But I don't know how portable it is.
> > Is `x-display-list' available on OSX and Windows?
>
> It's not available on --without-x builds:
>
> 0. ./src/emacs -Q
> 1. M-x toggle-debug-on-error RET
> 2. M-x make-frame-on-display RET
> Debugger entered--Lisp error: (void-function x-display-list)
>
> What's TRT here?
For which use case?
In a build --without-x asking about available displays makes no sense,
because such a build cannot possibly access any displays. Right?
In a GUI session, the function is always available, although the list
it returns might disappoint w32 users...
> (interactive (list (completing-read
> (format "Make frame on display: ")
> (if (fboundp 'x-display-list)
> (x-display-list)
> (user-error "No connected displays found")))))
>
> This will barf before make-frame is called, and pacifies the
> byte-compiler warning about x-display-list not being known.
>
> (interactive (list (completing-read
> (format "Make frame on display: ")
> (and (fboundp 'x-display-list)
> (x-display-list)))))
>
> This will barf when make-frame is called, with e.g.:
>
> make-frame: Don’t know how to interpret display ""
> make-frame: Don’t know how to interpret display ":0"
>
> And also pacifies the warning.
>
> Any preferences or alternative suggestions?
make-frame-on-display should signal an error in non-GUI builds.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 18 Mar 2021 15:10:01 GMT)
Full text and
rfc822 format available.
Message #37 received at 29713 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
>> Date: Thu, 18 Mar 2021 14:02:00 +0000
>> Cc: 29713 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>
>>
>> It's not available on --without-x builds:
>>
>> 0. ./src/emacs -Q
>> 1. M-x toggle-debug-on-error RET
>> 2. M-x make-frame-on-display RET
>> Debugger entered--Lisp error: (void-function x-display-list)
>>
>> What's TRT here?
>
> For which use case?
That wherein a user unwittingly invokes M-x make-frame-on-display in a
non-GUI build. It's a very minor issue, but I think it's better if the
error message alludes to this operation being unsupported, rather than
complaining that x-display-list is void.
> In a build --without-x asking about available displays makes no sense,
> because such a build cannot possibly access any displays. Right?
Right (AFAIK).
> In a GUI session, the function is always available, although the list
> it returns might disappoint w32 users...
Is there a better option on w32?
>> (interactive (list (completing-read
>> (format "Make frame on display: ")
>> (if (fboundp 'x-display-list)
>> (x-display-list)
>> (user-error "No connected displays found")))))
>>
>> This will barf before make-frame is called, and pacifies the
>> byte-compiler warning about x-display-list not being known.
>>
>> (interactive (list (completing-read
>> (format "Make frame on display: ")
>> (and (fboundp 'x-display-list)
>> (x-display-list)))))
>>
>> This will barf when make-frame is called, with e.g.:
>>
>> make-frame: Don’t know how to interpret display ""
>> make-frame: Don’t know how to interpret display ":0"
>>
>> And also pacifies the warning.
>>
>> Any preferences or alternative suggestions?
>
> make-frame-on-display should signal an error in non-GUI builds.
Agreed, but are you sanctioning the first option above, or either
option, so long as some error is signalled?
Thanks,
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 18 Mar 2021 15:51:02 GMT)
Full text and
rfc822 format available.
Message #40 received at 29713 <at> debbugs.gnu.org (full text, mbox):
> From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
> Cc: juri <at> linkov.net, 29713 <at> debbugs.gnu.org, larsi <at> gnus.org
> Date: Thu, 18 Mar 2021 15:09:51 +0000
>
> > In a GUI session, the function is always available, although the list
> > it returns might disappoint w32 users...
>
> Is there a better option on w32?
The w32 build supports only one display.
> >> (interactive (list (completing-read
> >> (format "Make frame on display: ")
> >> (if (fboundp 'x-display-list)
> >> (x-display-list)
> >> (user-error "No connected displays found")))))
> >>
> >> This will barf before make-frame is called, and pacifies the
> >> byte-compiler warning about x-display-list not being known.
> >>
> >> (interactive (list (completing-read
> >> (format "Make frame on display: ")
> >> (and (fboundp 'x-display-list)
> >> (x-display-list)))))
> >>
> >> This will barf when make-frame is called, with e.g.:
> >>
> >> make-frame: Don’t know how to interpret display ""
> >> make-frame: Don’t know how to interpret display ":0"
> >>
> >> And also pacifies the warning.
> >>
> >> Any preferences or alternative suggestions?
> >
> > make-frame-on-display should signal an error in non-GUI builds.
>
> Agreed, but are you sanctioning the first option above, or either
> option, so long as some error is signalled?
I'm not sure. The wording of the messages sounds not the best to me.
It should ideally say something like "This Emacs build doesn't support
X displays".
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 18 Mar 2021 17:09:02 GMT)
Full text and
rfc822 format available.
Message #43 received at 29713 <at> debbugs.gnu.org (full text, mbox):
>> Maybe it could use `x-display-list'. But I don't know how portable it is.
>> Is `x-display-list' available on OSX and Windows?
>
> It's not available on --without-x builds:
>
> 0. ./src/emacs -Q
> 1. M-x toggle-debug-on-error RET
> 2. M-x make-frame-on-display RET
> Debugger entered--Lisp error: (void-function x-display-list)
>
> What's TRT here?
Maybe fall back to previous implementation replaced by x-display-list
in 0746a9e275d, i.e.
(if (fboundp 'x-display-list)
(x-display-list)
(delete-dups
(mapcar (lambda (frame)
(frame-parameter frame 'display))
(frame-list))))
Does this fail on --without-x builds?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 18 Mar 2021 17:33:01 GMT)
Full text and
rfc822 format available.
Message #46 received at 29713 <at> debbugs.gnu.org (full text, mbox):
>>> Maybe it could use `x-display-list'. But I don't know how portable it is.
>>> Is `x-display-list' available on OSX and Windows?
>>
>> It's not available on --without-x builds:
>>
>> 0. ./src/emacs -Q
>> 1. M-x toggle-debug-on-error RET
>> 2. M-x make-frame-on-display RET
>> Debugger entered--Lisp error: (void-function x-display-list)
>>
>> What's TRT here?
>
> Maybe fall back to previous implementation replaced by x-display-list
> in 0746a9e275d, i.e.
>
> (if (fboundp 'x-display-list)
> (x-display-list)
> (delete-dups
> (mapcar (lambda (frame)
> (frame-parameter frame 'display))
> (frame-list))))
Or maybe better to fall back to 'make-frame'?
I.e. don't signal an error, don't ask a question,
just create a new frame on the current display.
So on --without-x builds, make-frame-on-display
could be like an alias to make-frame.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Wed, 24 Mar 2021 21:58:02 GMT)
Full text and
rfc822 format available.
Message #49 received at 29713 <at> debbugs.gnu.org (full text, mbox):
Juri Linkov <juri <at> linkov.net> writes:
> Maybe fall back to previous implementation replaced by x-display-list
> in 0746a9e275d, i.e.
>
> (if (fboundp 'x-display-list)
> (x-display-list)
> (delete-dups
> (mapcar (lambda (frame)
> (frame-parameter frame 'display))
> (frame-list))))
>
> Does this fail on --without-x builds?
No, but (frame-parameter frame 'display) is always nil, so you still get
practically the same error as with:
(and (fboundp 'x-display-list)
(x-display-list))
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Wed, 24 Mar 2021 22:00:01 GMT)
Full text and
rfc822 format available.
Message #52 received at 29713 <at> debbugs.gnu.org (full text, mbox):
Juri Linkov <juri <at> linkov.net> writes:
>> Maybe fall back to previous implementation replaced by x-display-list
>> in 0746a9e275d, i.e.
>>
>> (if (fboundp 'x-display-list)
>> (x-display-list)
>> (delete-dups
>> (mapcar (lambda (frame)
>> (frame-parameter frame 'display))
>> (frame-list))))
>
> Or maybe better to fall back to 'make-frame'?
> I.e. don't signal an error, don't ask a question,
> just create a new frame on the current display.
>
> So on --without-x builds, make-frame-on-display
> could be like an alias to make-frame.
I have no strong preference between this option or just signalling an
error in the interactive spec. What do others think?
Thanks,
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 25 Mar 2021 06:18:01 GMT)
Full text and
rfc822 format available.
Message #55 received at 29713 <at> debbugs.gnu.org (full text, mbox):
> From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
> Date: Wed, 24 Mar 2021 21:59:42 +0000
> Cc: 29713 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>
>
> > Or maybe better to fall back to 'make-frame'?
> > I.e. don't signal an error, don't ask a question,
> > just create a new frame on the current display.
> >
> > So on --without-x builds, make-frame-on-display
> > could be like an alias to make-frame.
>
> I have no strong preference between this option or just signalling an
> error in the interactive spec. What do others think?
I think we should signal an error: the user will not get what they
want, so the user must be told.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Thu, 25 Mar 2021 09:58:02 GMT)
Full text and
rfc822 format available.
Message #58 received at 29713 <at> debbugs.gnu.org (full text, mbox):
>> > Or maybe better to fall back to 'make-frame'?
>> > I.e. don't signal an error, don't ask a question,
>> > just create a new frame on the current display.
>> >
>> > So on --without-x builds, make-frame-on-display
>> > could be like an alias to make-frame.
>>
>> I have no strong preference between this option or just signalling an
>> error in the interactive spec. What do others think?
>
> I think we should signal an error: the user will not get what they
> want, so the user must be told.
I agree.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#29713
; Package
emacs
.
(Fri, 26 Mar 2021 17:43:01 GMT)
Full text and
rfc822 format available.
Message #61 received at 29713 <at> debbugs.gnu.org (full text, mbox):
Juri Linkov <juri <at> linkov.net> writes:
>>> > Or maybe better to fall back to 'make-frame'?
>>> > I.e. don't signal an error, don't ask a question,
>>> > just create a new frame on the current display.
>>> >
>>> > So on --without-x builds, make-frame-on-display
>>> > could be like an alias to make-frame.
>>>
>>> I have no strong preference between this option or just signalling an
>>> error in the interactive spec. What do others think?
>>
>> I think we should signal an error: the user will not get what they
>> want, so the user must be told.
>
> I agree.
Done:
Address some --without-x byte-compilation warnings
331ddd803a 2021-03-26 17:35:34 +0000
https://git.sv.gnu.org/cgit/emacs.git/commit/?id=331ddd803a72056d0f0c70e5a677e0d4a6300584
Thanks,
--
Basil
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 24 Apr 2021 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 1 day ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.