[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master a2f7b7c803 2/2: Merge branch 'master' of git.savannah.gnu.org:/sr
From: |
Eli Zaretskii |
Subject: |
master a2f7b7c803 2/2: Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs |
Date: |
Fri, 27 May 2022 02:42:53 -0400 (EDT) |
branch: master
commit a2f7b7c803494deb112acc0222e9454c5268de1f
Merge: 77bfc5ed7a 34e4eba07e
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
---
etc/PROBLEMS | 17 +++++++++++++++++
src/xterm.c | 17 +++++++++++------
2 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 4224171298..018efcf302 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -3025,6 +3025,23 @@ GTK_IM_MODULE.
GTK does not allow programs to warp the pointer anymore. There is
nothing that can be done about this problem.
+** Certain keys such as 'C-S-u' are not reported correctly.
+
+Some keys with modifiers such as Shift and Control might not be
+reported correctly due to incorrectly written GTK input method
+modules. This is known to happen to 'C-S-u' and 'C->', which are
+misreported as 'C-u' and '>'.
+
+To disable the use of GTK input methods, evaluate:
+
+ (pgtk-use-im-context nil)
+
+This will also cause system input methods and features such as the
+Compose key to stop working.
+
+On X Windows, users should not use Emacs configured with PGTK, since
+this and many other problems do not exist on the regular X builds.
+
* Build-time problems
** Configuration
diff --git a/src/xterm.c b/src/xterm.c
index 4f264ab2a8..00df7dce34 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7264,10 +7264,8 @@ x_hash_string_ignore_case (const char *string)
/* On frame F, translate the color name to RGB values. Use cached
information, if possible.
- Note that there is currently no way to clean old entries out of the
- cache. However, it is limited to names in the server's database,
- and names we've actually looked up; list-colors-display is probably
- the most color-intensive case we're likely to hit. */
+ If too many entries are placed in the cache, the least recently
+ used entries are removed. */
Status
x_parse_color (struct frame *f, const char *color_name,
@@ -7351,13 +7349,15 @@ x_parse_color (struct frame *f, const char *color_name,
dpyinfo->color_names[idx] = cache_entry;
/* Don't let the color cache become too big. */
- if (dpyinfo->color_names_length[idx] > 128)
+ if (dpyinfo->color_names_length[idx] > (x_color_cache_bucket_size > 0
+ ? x_color_cache_bucket_size : 128))
{
i = 0;
for (last = dpyinfo->color_names[idx]; last; last = last->next)
{
- if (++i == 128)
+ if (++i == (x_color_cache_bucket_size > 0
+ ? x_color_cache_bucket_size : 128))
{
next = last->next;
last->next = NULL;
@@ -25941,4 +25941,9 @@ where the drop happened, ACTION is the action that was
passed to
`x-begin-drag', FRAME is the frame which initiated the drag-and-drop
operation, and TIME is the X server time when the drop happened. */);
Vx_dnd_unsupported_drop_function = Qnil;
+
+ DEFVAR_INT ("x-color-cache-bucket-size", x_color_cache_bucket_size,
+ doc: /* Most buckets allowed per display in the internal color cache.
+Values less than 1 mean 128. This option is for debugging only. */);
+ x_color_cache_bucket_size = 128;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master a2f7b7c803 2/2: Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs,
Eli Zaretskii <=