unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#9655: 24.0.50; `set-locale-environment' should use completion
@ 2011-10-02 19:45 Drew Adams
  2011-10-03  7:14 ` Eli Zaretskii
  2011-10-03 13:35 ` Stefan Monnier
  0 siblings, 2 replies; 7+ messages in thread
From: Drew Adams @ 2011-10-02 19:45 UTC (permalink / raw)
  To: 9655

The doc string says "LOCALE-NAME should be a string which is the name of
a locale supported by the system."  Isn't the set of locales supported
by the system something that Emacs can determine, and then make these
available as completion candidates?  Why should a user have to
investigate or guess which locales are choosable?
 
It also says: "The locale names supported by your system can typically
be found in a directory named `/usr/share/locale' or `/usr/lib/locale'."
This does not help users who are not on a UNIX/Gnu/Linux platform.
Where can they be found on Windows, for instance?
 
Some of the code looks as if it is specific to UNIX/Gnu/Linux/X-Window.
Should the setting of `locale-translation-file-name' be specific to such
systems, for instance?
 
It also looks like the code for this command should be split
up/factored.  Much of the command body is apparently about
non-interactive use (e.g. nil LOCALE-NAME) - factor that out, for
instance.
 

In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2011-09-19 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.5) --no-opt'
 
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default enable-multibyte-characters: t
 






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#9655: 24.0.50; `set-locale-environment' should use completion
  2011-10-02 19:45 bug#9655: 24.0.50; `set-locale-environment' should use completion Drew Adams
@ 2011-10-03  7:14 ` Eli Zaretskii
  2011-10-03  7:26   ` Eli Zaretskii
  2011-10-03 13:35 ` Stefan Monnier
  1 sibling, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2011-10-03  7:14 UTC (permalink / raw)
  To: Drew Adams; +Cc: 9655

> From: "Drew Adams" <drew.adams@oracle.com>
> Date: Sun, 2 Oct 2011 12:45:03 -0700
> 
> It also says: "The locale names supported by your system can typically
> be found in a directory named `/usr/share/locale' or `/usr/lib/locale'."
> This does not help users who are not on a UNIX/Gnu/Linux platform.
> Where can they be found on Windows, for instance?

Nowhere a mere mortal can see it.  The OS maintains the list of
supported locales, and will divulge it via a certain C-level API.  But
you cannot find that list by searching files or directories, AFAIK.
As an interactive user, you can see the list in the Control Panel, but
programmatically the list is available only through that API.

> Some of the code looks as if it is specific to UNIX/Gnu/Linux/X-Window.
> Should the setting of `locale-translation-file-name' be specific to such
> systems, for instance?

Maybe, but I'm not sure a simple test for file's existence is worth
ugly system-dependent conditions.  If nothing else, it allows Windows
users to have locale translations, something that could be considered
a feature.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#9655: 24.0.50; `set-locale-environment' should use completion
  2011-10-03  7:14 ` Eli Zaretskii
@ 2011-10-03  7:26   ` Eli Zaretskii
  2021-08-25 12:36     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2011-10-03  7:26 UTC (permalink / raw)
  To: drew.adams; +Cc: 9655

> Date: Mon, 03 Oct 2011 03:14:46 -0400
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 9655@debbugs.gnu.org
> Reply-To: Eli Zaretskii <eliz@gnu.org>
> 
> > From: "Drew Adams" <drew.adams@oracle.com>
> > Date: Sun, 2 Oct 2011 12:45:03 -0700
> > 
> > It also says: "The locale names supported by your system can typically
> > be found in a directory named `/usr/share/locale' or `/usr/lib/locale'."
> > This does not help users who are not on a UNIX/Gnu/Linux platform.
> > Where can they be found on Windows, for instance?
> 
> Nowhere a mere mortal can see it.  The OS maintains the list of
> supported locales, and will divulge it via a certain C-level API.  But
> you cannot find that list by searching files or directories, AFAIK.
> As an interactive user, you can see the list in the Control Panel, but
> programmatically the list is available only through that API.

Forgot to mention that this API has a Lisp binding in Emacs:
w32-get-valid-locale-ids.  E.g., try

  (mapcar 'w32-get-locale-info (w32-get-valid-locale-ids))






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#9655: 24.0.50; `set-locale-environment' should use completion
  2011-10-02 19:45 bug#9655: 24.0.50; `set-locale-environment' should use completion Drew Adams
  2011-10-03  7:14 ` Eli Zaretskii
@ 2011-10-03 13:35 ` Stefan Monnier
  1 sibling, 0 replies; 7+ messages in thread
From: Stefan Monnier @ 2011-10-03 13:35 UTC (permalink / raw)
  To: Drew Adams; +Cc: 9655

severity 9655 wishlist
thanks

> The doc string says "LOCALE-NAME should be a string which is the name of
> a locale supported by the system."  Isn't the set of locales supported
> by the system something that Emacs can determine, and then make these
> available as completion candidates?

I think so, yes.

> Why should a user have to investigate or guess which locales
> are choosable?

Because nobody provided a patch to provide the completion table.


        Stefan





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#9655: 24.0.50; `set-locale-environment' should use completion
  2011-10-03  7:26   ` Eli Zaretskii
@ 2021-08-25 12:36     ` Lars Ingebrigtsen
  2021-08-25 12:44       ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Lars Ingebrigtsen @ 2021-08-25 12:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 9655

Eli Zaretskii <eliz@gnu.org> writes:

> Forgot to mention that this API has a Lisp binding in Emacs:
> w32-get-valid-locale-ids.  E.g., try
>
>   (mapcar 'w32-get-locale-info (w32-get-valid-locale-ids))

Looking at `set-locale-environment', it already has a bunch of hacks
that depend on Unix-related stuff:

  (setq locale-translation-file-name
	(let ((files
	       '("/usr/share/X11/locale/locale.alias" ; e.g. X11R7

I wonder whether we should just add an equally hacky `get-locale-names'
function that would call that w32 function (if defined), and if not,
just parse the output of "locale -a" (if "locale" exists on the system).

Any opinions?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#9655: 24.0.50; `set-locale-environment' should use completion
  2021-08-25 12:36     ` Lars Ingebrigtsen
@ 2021-08-25 12:44       ` Eli Zaretskii
  2021-08-25 15:34         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2021-08-25 12:44 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 9655

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: drew.adams@oracle.com,  9655@debbugs.gnu.org
> Date: Wed, 25 Aug 2021 14:36:19 +0200
> 
> >   (mapcar 'w32-get-locale-info (w32-get-valid-locale-ids))
> 
> Looking at `set-locale-environment', it already has a bunch of hacks
> that depend on Unix-related stuff:
> 
>   (setq locale-translation-file-name
> 	(let ((files
> 	       '("/usr/share/X11/locale/locale.alias" ; e.g. X11R7
> 
> I wonder whether we should just add an equally hacky `get-locale-names'
> function that would call that w32 function (if defined), and if not,
> just parse the output of "locale -a" (if "locale" exists on the system).
> 
> Any opinions?

Before invoking 'locale -a', wouldn't it be better to use
locale-translation-file-name?

Otherwise sounds like a plan ;-)





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#9655: 24.0.50; `set-locale-environment' should use completion
  2021-08-25 12:44       ` Eli Zaretskii
@ 2021-08-25 15:34         ` Lars Ingebrigtsen
  0 siblings, 0 replies; 7+ messages in thread
From: Lars Ingebrigtsen @ 2021-08-25 15:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 9655

Eli Zaretskii <eliz@gnu.org> writes:

> Before invoking 'locale -a', wouldn't it be better to use
> locale-translation-file-name?

The locale-translation-file-name file has all locales known, but what's
interesting is the list of locales available on the system, which is
what "locale -a" outputs.

> Otherwise sounds like a plan ;-)

Now implemented.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-08-25 15:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-02 19:45 bug#9655: 24.0.50; `set-locale-environment' should use completion Drew Adams
2011-10-03  7:14 ` Eli Zaretskii
2011-10-03  7:26   ` Eli Zaretskii
2021-08-25 12:36     ` Lars Ingebrigtsen
2021-08-25 12:44       ` Eli Zaretskii
2021-08-25 15:34         ` Lars Ingebrigtsen
2011-10-03 13:35 ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).