From 3c9dfce6da30c2b4483b0e95d33af3dd0bd9b26f Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sat, 25 Feb 2012 11:01:11 +0800 Subject: [PATCH] Reduce x-selection-timeout to 5s, and add a message for clipboard manager saving. * lisp/term/x-win.el (x-initialize-window-system): Reduce default for x-selection-timeout to 5 seconds. * src/xselect.c (Fx_selection_exists_p): Doc fix. (x_clipboard_manager_save_all): Print an informative message before saving to clipboard manager. Fixes: debbugs:8869 --- lisp/ChangeLog | 5 +++++ lisp/dired.el | 2 +- lisp/term/x-win.el | 11 ++++++----- src/ChangeLog | 6 ++++++ src/xselect.c | 16 +++++++++++----- 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1af7193b4f3..3dbed71d4b5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-02-25 Chong Yidong + + * term/x-win.el (x-initialize-window-system): Reduce default for + x-selection-timeout to 5 seconds (Bug#8869). + 2012-02-24 Thierry Volpiatto * files.el (file-subdir-of-p): Fix typo. diff --git a/lisp/dired.el b/lisp/dired.el index c087f65eaeb..57bf3c88322 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3732,7 +3732,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "e77c506a0dd793230c5856a67e408fc6") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "cab9b84177ac3555c24cf8e870a64095") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 394e4d4fe48..21d49267b21 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -1408,11 +1408,12 @@ Request data types in the order specified by `x-select-request-type'." (cons '(reverse . t) default-frame-alist))))) ;; Set x-selection-timeout, measured in milliseconds. - (let ((res-selection-timeout - (x-get-resource "selectionTimeout" "SelectionTimeout"))) - (setq x-selection-timeout 20000) - (if res-selection-timeout - (setq x-selection-timeout (string-to-number res-selection-timeout)))) + (let ((res-selection-timeout (x-get-resource "selectionTimeout" + "SelectionTimeout"))) + (setq x-selection-timeout + (if res-selection-timeout + (string-to-number res-selection-timeout) + 5000))) ;; Don't let Emacs suspend under X. (add-hook 'suspend-hook 'x-win-suspend-error) diff --git a/src/ChangeLog b/src/ChangeLog index d35c65266cc..7b546244792 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2012-02-25 Chong Yidong + + * xselect.c (Fx_selection_exists_p): Doc fix. + (x_clipboard_manager_save_all): Print an informative message + before saving to clipboard manager. + 2012-02-24 Chong Yidong * keyboard.c (process_special_events): Handle all X selection diff --git a/src/xselect.c b/src/xselect.c index 49955f03fd0..173cf78bdaa 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -2142,9 +2142,9 @@ DEFUN ("x-selection-exists-p", Fx_selection_exists_p, Sx_selection_exists_p, 0, 2, 0, doc: /* Whether there is an owner for the given X selection. SELECTION should be the name of the selection in question, typically -one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. (X expects -these literal upper-case names.) The symbol nil is the same as -`PRIMARY', and t is the same as `SECONDARY'. +one of the symbols `PRIMARY', `SECONDARY', `CLIPBOARD', or +`CLIPBOARD_MANAGER' (X expects these literal upper-case names.) The +symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected @@ -2273,8 +2273,14 @@ x_clipboard_manager_save_all (void) local_frame = XCAR (XCDR (XCDR (XCDR (local_selection)))); if (FRAME_LIVE_P (XFRAME (local_frame))) - internal_condition_case_1 (x_clipboard_manager_save, local_frame, - Qt, x_clipboard_manager_error_2); + { + Lisp_Object args[1]; + args[0] = build_string ("Saving clipboard to X clipboard manager..."); + Fmessage (1, args); + + internal_condition_case_1 (x_clipboard_manager_save, local_frame, + Qt, x_clipboard_manager_error_2); + } } } -- 2.39.2