emacs-diffs
[Top][All Lists]
Advanced

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

feature/android 4e2fda28edd: Merge remote-tracking branch 'origin/master


From: Po Lu
Subject: feature/android 4e2fda28edd: Merge remote-tracking branch 'origin/master' into feature/android
Date: Wed, 12 Jul 2023 20:34:53 -0400 (EDT)

branch: feature/android
commit 4e2fda28edd3eb229c60576a215c3e4af5aa53e3
Merge: 43d6c2bddc1 d861de72289
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Merge remote-tracking branch 'origin/master' into feature/android
---
 lisp/progmodes/eglot.el |  3 ++-
 src/xterm.c             | 32 +++++++++++++++++++++-----------
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 0c46e4a5290..8ac21638a5b 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -828,7 +828,8 @@ ACTION is an LSP object of either `CodeAction' or `Command' 
type."
              :documentHighlight  `(:dynamicRegistration :json-false)
              :codeAction         (list
                                   :dynamicRegistration :json-false
-                                  :resolveSupport t :dataSupport t
+                                  :resolveSupport `(:properties ["edit" 
"command"])
+                                  :dataSupport t
                                   :codeActionLiteralSupport
                                   '(:codeActionKind
                                     (:valueSet
diff --git a/src/xterm.c b/src/xterm.c
index cd21665d9fa..5e2d7c05c26 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -25884,10 +25884,12 @@ x_clean_failable_requests (struct x_display_info 
*dpyinfo)
                                    + (last - first));
 }
 
-/* Protect a section of X requests: ignore errors generated by X
-   requests made from now until `x_stop_ignoring_errors'.  Each call
-   must be paired with a call to `x_stop_ignoring_errors', and
-   recursive calls inside the protected section are not allowed.
+/* Protect a section of X requests.
+
+   Ignore errors generated by X requests made from now until
+   `x_stop_ignoring_errors'.  Each call must be paired with a call to
+   `x_stop_ignoring_errors', and recursive calls inside the protected
+   section are not allowed.
 
    The advantage over x_catch_errors followed by
    x_uncatch_errors_after_check is that this function does not sync to
@@ -25895,11 +25897,10 @@ x_clean_failable_requests (struct x_display_info 
*dpyinfo)
    those two functions for catching errors around requests that do not
    require a reply.
 
-   As a special feature intended to support xselect.c,
-   SELECTION_SERIAL may be an arbitrary number greater than zero: when
-   that is the case, x_select_handle_selection_error is called with
-   the specified number to delete the selection request that
-   encountered the error.  */
+   If SELECTION_SERIAL is an arbitrary number greater than zero,
+   x_select_handle_selection_error is called with the specified number
+   after any errors within the protected section are received to
+   delete the selection request that encountered errors.  */
 
 void
 x_ignore_errors_for_next_request (struct x_display_info *dpyinfo,
@@ -26474,9 +26475,18 @@ x_error_handler (Display *display, XErrorEvent *event)
 
          /* If a selection transfer is the cause of this error,
             remove the selection transfer now.  */
+
          if (fail->selection_serial)
-           x_handle_selection_error (fail->selection_serial,
-                                     event);
+           {
+             x_handle_selection_error (fail->selection_serial,
+                                       event);
+
+             /* Clear selection_serial to prevent
+                x_handle_selection_error from being called again if
+                any more requests within the protected section cause
+                errors to be reported.  */
+             fail->selection_serial = 0;
+           }
 
          return 0;
        }



reply via email to

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