bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19502: 24.4; Emacs 24.4 on windows: the contents of the system-confi


From: Albert
Subject: bug#19502: 24.4; Emacs 24.4 on windows: the contents of the system-configuration variable has changed, but its docstring has not. I prefer the behaviour described in the docstring.
Date: Sun, 4 Jan 2015 18:17:14 +0100

Thank you!

The function x-server-version indeed serves my needs. You are right,
no need to have non-standard behaviour for the system-configuration
variable. In hindsight it is even documented in an obvious
place. However, the wording in the documentation of x-server-version
and x-server-vendor is a little confusing (the relevant snippets are
included at the end of this mail):

- The elisp manual says "specifically about X displays". I would
expect a word about mswindows here.

- The docstring of x-server-version is compatible with that, but I
would again expect a word about mswindows.

- The docstring of x-server-vendor seems to ONLY mention W32 and 
Microsoft. I would expect more or less the same text as in the elisp 
manual with an extra remark about W32.

Best regards,

Albert.

From elisp manual: "Display Feature Testing":
--8><---------------
These functions obtain additional information specifically about X
displays.

 -- Function: x-server-version &optional display
     This function returns the list of version numbers of the X server
     running the display.  The value is a list of three integers: the
     major and minor version numbers of the X protocol, and the
     distributor-specific release number of the X server software
     itself.

 -- Function: x-server-vendor &optional display
     This function returns the "vendor" that provided the X server
     software (as a string).  Really this means whoever distributes the
     X server.

     When the developers of X labeled software distributors as
     "vendors", they showed their false assumption that no system could
     ever be developed and distributed noncommercially.
--8><---------------

And in the docstring of both of them it says:

--8><---------------
x-server-version is a built-in function in `w32fns.c'.

(x-server-version &optional DISPLAY)

Return the version numbers of the server of DISPLAY.
The value is a list of three integers: the major and minor
version numbers of the X Protocol in use, and the distributor-specific
release number.  See also the function `x-server-vendor'.

The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

[forward]
--8><---------------

--8><---------------
x-server-vendor is a built-in function in `w32fns.c'.

(x-server-vendor &optional DISPLAY)

Return the "vendor ID" string of the W32 system (Microsoft).
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

[back]
--8><---------------


On 4 January 2015 at 16:57, Eli Zaretskii <address@hidden> wrote:
> Date: Sun, 4 Jan 2015 10:55:14 +0100
> From: Albert <address@hidden>
>
> Evaluating (insert system-configuration) gives
> in emacs 24.3: i386-mingw-nt6.2.9200
> in emacs 24.4: i686-pc-mingw32
>
> The important difference here is the absence of the "nt6.2.9200" part in
> emacs 24.4. I have use cases that need to know the version of the
> windows emacs is currently running on. I would therefore prefer
> something like "i686-pc-mingw32-nt6.2.9200" if that is somehow better or
> more accurate than the original string from 24.3. Perhaps the "pc" part
> is not needed?

The native MS-Windows build of Emacs now uses the same code as on
other platforms to compute this string, so the OS version is not
included.

I fixed the doc string, thanks for pointing out the discrepancy.

> In emacs 24.4, the docstring for the variable system-configuration is:
> "system-configuration is a variable defined in `C source code'.
> Its value is "i686-pc-mingw32"
>
> Documentation:
> Value is string indicating configuration Emacs was built for.
> On MS-Windows, the value reflects the OS flavor and version on which
> Emacs is running."
>
> I would prefer if this docstring would remain correct.
>
> But, while checking the contents of this entire mail, I see a version
> number of 6.3.9600 reported just a few lines below.

Exactly.  So in fact the OS version in old value was redundant, and no
information is lost with this change.

> Could it be that the windows version reported in the
> system-configuration variable of emacs 24.3 is the version under
> which that emacs was build?

No, it reported the version of the OS where Emacs was running.

> So it seems the old emacs 24.3 behaviour is not following the
> docstring either.

It will in the next release.

> Still, I would prefer it if the variable could live up to its
> current docstring, if possible.

Given that the information you want is still available, both in the
bug report and independently (see below), why would you need that
information in system-configuration as well?

> If that is not possible, is there another way of asking emacs on
> which windows version it is running?  Is it documented somewhere
> where I could find it?  The bug-reporting code obviously manages to
> do it, but when I searched for alternatives yesterday I couldn't
> find any.

You want x-server-version (a function), it is what report-emacs-bug
calls to get that info.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]