aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorEli Zaretskii2012-06-23 15:39:23 +0300
committerEli Zaretskii2012-06-23 15:39:23 +0300
commit0bd8297f9cee150f34cbab14c71825d21d7bf91c (patch)
tree16a94bc4ac8fa7ea10b3de78584695a3d364487d /doc
parent63def6b6d1acb18d90c705687359edd4f4c2f49a (diff)
downloademacs-0bd8297f9cee150f34cbab14c71825d21d7bf91c.tar.gz
emacs-0bd8297f9cee150f34cbab14c71825d21d7bf91c.zip
Improve and document the language-change event on MS-Windows.
src/keyboard.c (kbd_buffer_get_event): Include the codepage and the language ID in the event parameters. src/w32term.c (w32_read_socket): Put the new keyboard codepage into event.code, not the obscure "character set ID". doc/lispref/commands.texi (Misc Events): Document the language-change event.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/ChangeLog4
-rw-r--r--doc/lispref/commands.texi32
2 files changed, 36 insertions, 0 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 838617cf866..154b4487d5e 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,7 @@
12012-06-23 Eli Zaretskii <eliz@gnu.org>
2
3 * commands.texi (Misc Events): Document the language-change event.
4
12012-06-22 Paul Eggert <eggert@cs.ucla.edu> 52012-06-22 Paul Eggert <eggert@cs.ucla.edu>
2 6
3 Support higher-resolution time stamps (Bug#9000). 7 Support higher-resolution time stamps (Bug#9000).
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 59ad2927411..a5fb4638c9d 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1716,6 +1716,38 @@ To test the signal handler, you can make Emacs send a signal to itself:
1716@smallexample 1716@smallexample
1717(signal-process (emacs-pid) 'sigusr1) 1717(signal-process (emacs-pid) 'sigusr1)
1718@end smallexample 1718@end smallexample
1719
1720@cindex @code{language-change} event
1721@item language-change
1722This kind of event is generated on MS-Windows when the input language
1723has changed. This typically means that the keyboard keys will send to
1724Emacs characters from a different language. The generated event has
1725this form:
1726
1727@smallexample
1728(language-change @var{frame} @var{codepage} @var{language-id})
1729@end smallexample
1730
1731@noindent
1732Here @var{frame} is the frame which was current when the input
1733language changed; @var{codepage} is the new codepage number; and
1734@var{language-id} is the numerical ID of the new input language. The
1735coding-system (@pxref{Coding Systems}) that corresponds to
1736@var{codepage} is @code{cp@var{codepage}} or
1737@code{windows-@var{codepage}}. To convert @var{language-id} to a
1738string (e.g., to use it for various language-dependent features, such
1739as @code{set-language-environment}), use the
1740@code{w32-get-locale-info} function, like this:
1741
1742@smallexample
1743;; Get the abbreviated language name, such as "ENU" for English
1744(w32-get-locale-info language-id)
1745;; Get the full English name of the language,
1746;; such as "English (United States)"
1747(w32-get-locale-info language-id 4097)
1748;; Get the full localized name of the language
1749(w32-get-locale-info language-id t)
1750@end smallexample
1719@end table 1751@end table
1720 1752
1721 If one of these events arrives in the middle of a key sequence---that 1753 If one of these events arrives in the middle of a key sequence---that