[வெள்ளி ஜனவரி 24, 2025] Visuwesh wrote: > [திங்கள் ஜனவரி 20, 2025] Ihor Radchenko wrote: > >> Ihor Radchenko <yanta...@posteo.net> writes: >> >>>> Ihor> Yes, behind version check, pgtk build check, and, ideally, after >>>> Ihor> checking that such method is not yet defined. >>>> >>>> The cl-defmethod itself checks itʼs being run in a pgtk emacs, so not >>>> sure we need more than that. >>> >>> The idea is to avoid modifying things outside Org mode unless strictly >>> necessary. >> >> Looks like this patch is not happening unless somebody else (who >> actually uses Emacs GTK build) steps up and creates it against Org mode. >> Visuwesh? > > How about the attached?
Ooops, made a silly mistake. Still need more coffee. Sorry for the noise!
>From 0b8cc3d8ff40416c8fbb202e3c94fcf471a21f5d Mon Sep 17 00:00:00 2001 From: Visuwesh <visuwe...@gmail.com> Date: Fri, 24 Jan 2025 10:32:15 +0530 Subject: [PATCH] Add workaround to make yank-media work under GNOME for Emacs 29 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lisp/org-compat.el: Add workaround proposed by Robert Pluim <rpl...@gmail.com> to make yank-media work under GNOME reliably for Emacs 29. Link: https://list.orgmode.org/orgmode/87ed7kttoa....@k-7.ch Reported-by: Sébastien Gendre <s...@k-7.ch> --- lisp/org-compat.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lisp/org-compat.el b/lisp/org-compat.el index 91192629a..3ad330628 100644 --- a/lisp/org-compat.el +++ b/lisp/org-compat.el @@ -1992,6 +1992,21 @@ (make-obsolete-variable 'org-speed-commands-user "configure `org-speed-commands' instead." "9.5") (provide 'org-compat) +;;;; yank-media +;; Emacs 29's pgtk port has a bug where it might fail to return the +;; right TARGET. Install a workaround for Emacs <=29 since the fix +;; went to Emacs 30. See bug#72254. +;; Org bug report link: https://list.orgmode.org/orgmode/87ed7kttoa....@k-7.ch +;; This should be removed once we drop Emacs 29 support. +(when (<= emacs-major-version 29) + (cl-defmethod gui-backend-get-selection ((selection-symbol (eql 'CLIPBOARD)) + (target-type (eql 'TARGETS)) + &context (window-system pgtk)) + (let ((sel (pgtk-get-selection-internal selection-symbol target-type))) + (if (vectorp sel) + sel + (vector sel))))) + ;; Local variables: ;; generated-autoload-file: "org-loaddefs.el" ;; End: -- 2.45.2