From e5d664094310a9c441a5db6139ca46ef161f3629 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Mon, 9 Dec 2024 21:11:45 +0100 Subject: [PATCH] Don't call purecopy in dnd.el * lisp/dnd.el (dnd-protocol-alist): * lisp/pgtk-dnd.el (pgtk-dnd-types-alist, pgtk-dnd-known-types): * lisp/x-dnd.el (x-dnd-types-alist, x-dnd-known-types): Remove calls to purecopy. (cherry picked from commit b0afe306b748a3fa140cde580239d0f99669850a) --- lisp/dnd.el | 10 ++++---- lisp/pgtk-dnd.el | 36 ++++++++++++++-------------- lisp/x-dnd.el | 61 ++++++++++++++++++++++++------------------------ 3 files changed, 53 insertions(+), 54 deletions(-) diff --git a/lisp/dnd.el b/lisp/dnd.el index 84b09fbc8b3..f5a5f9f5ca4 100644 --- a/lisp/dnd.el +++ b/lisp/dnd.el @@ -42,11 +42,11 @@ ;;;###autoload (defcustom dnd-protocol-alist - `((,(purecopy "^file:///") . dnd-open-local-file) ; XDND format. - (,(purecopy "^file://[^/]") . dnd-open-file) ; URL with host - (,(purecopy "^file:/[^/]") . dnd-open-local-file) ; Old KDE, Motif, Sun - (,(purecopy "^file:[^/]") . dnd-open-local-file) ; MS-Windows - (,(purecopy "^\\(https?\\|ftp\\|nfs\\)://") . dnd-open-file)) + '(("^file:///" . dnd-open-local-file) ; XDND format. + ("^file://[^/]" . dnd-open-file) ; URL with host + ("^file:/[^/]" . dnd-open-local-file) ; Old KDE, Motif, Sun + ("^file:[^/]" . dnd-open-local-file) ; MS-Windows + ("^\\(https?\\|ftp\\|nfs\\)://" . dnd-open-file)) "The functions to call for different protocols when a drop is made. This variable is used by `dnd-handle-multiple-urls'. The list contains of (REGEXP . FUNCTION) pairs. diff --git a/lisp/pgtk-dnd.el b/lisp/pgtk-dnd.el index e0d68d9d8b8..1b349595a1d 100644 --- a/lisp/pgtk-dnd.el +++ b/lisp/pgtk-dnd.el @@ -55,15 +55,15 @@ The default value for this variable is `pgtk-dnd-default-test-function'." :group 'pgtk) (defcustom pgtk-dnd-types-alist - `((,(purecopy "text/uri-list") . pgtk-dnd-handle-uri-list) - (,(purecopy "FILE_NAME") . pgtk-dnd-handle-file-name) - (,(purecopy "UTF8_STRING") . pgtk-dnd-insert-utf8-text) - (,(purecopy "text/plain;charset=UTF-8") . pgtk-dnd-insert-utf8-text) - (,(purecopy "text/plain;charset=utf-8") . pgtk-dnd-insert-utf8-text) - (,(purecopy "text/plain") . dnd-insert-text) - (,(purecopy "COMPOUND_TEXT") . pgtk-dnd-insert-ctext) - (,(purecopy "STRING") . dnd-insert-text) - (,(purecopy "TEXT") . dnd-insert-text)) + `(("text/uri-list" . pgtk-dnd-handle-uri-list) + ("FILE_NAME" . pgtk-dnd-handle-file-name) + ("UTF8_STRING" . pgtk-dnd-insert-utf8-text) + ("text/plain;charset=UTF-8" . pgtk-dnd-insert-utf8-text) + ("text/plain;charset=utf-8" . pgtk-dnd-insert-utf8-text) + ("text/plain" . dnd-insert-text) + ("COMPOUND_TEXT" . pgtk-dnd-insert-ctext) + ("STRING" . dnd-insert-text) + ("TEXT" . dnd-insert-text)) "Which function to call to handle a drop of that type. If the type for the drop is not present, or the function is nil, the drop is rejected. The function takes three arguments, WINDOW, ACTION @@ -77,15 +77,15 @@ if drop is successful, nil if not." :group 'pgtk) (defcustom pgtk-dnd-known-types - (mapcar 'purecopy '("text/uri-list" - "FILE_NAME" - "UTF8_STRING" - "text/plain;charset=UTF-8" - "text/plain;charset=utf-8" - "text/plain" - "COMPOUND_TEXT" - "STRING" - "TEXT")) + '("text/uri-list" + "FILE_NAME" + "UTF8_STRING" + "text/plain;charset=UTF-8" + "text/plain;charset=utf-8" + "text/plain" + "COMPOUND_TEXT" + "STRING" + "TEXT") "The types accepted by default for dropped data. The types are chosen in the order they appear in the list." :version "22.1" diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el index 7f26702944b..fc48a8290f3 100644 --- a/lisp/x-dnd.el +++ b/lisp/x-dnd.el @@ -58,21 +58,21 @@ The default value for this variable is `x-dnd-default-test-function'." :group 'x) (defcustom x-dnd-types-alist - `((,(purecopy "text/uri-list") . x-dnd-handle-uri-list) - (,(purecopy "text/x-moz-url") . x-dnd-handle-moz-url) - (,(purecopy "_NETSCAPE_URL") . x-dnd-handle-uri-list) - (,(purecopy "FILE_NAME") . x-dnd-handle-file-name) - (,(purecopy "UTF8_STRING") . x-dnd-insert-utf8-text) - (,(purecopy "text/plain;charset=UTF-8") . x-dnd-insert-utf8-text) - (,(purecopy "text/plain;charset=utf-8") . x-dnd-insert-utf8-text) - (,(purecopy "text/unicode") . x-dnd-insert-utf16-text) - (,(purecopy "text/plain") . dnd-insert-text) - (,(purecopy "COMPOUND_TEXT") . x-dnd-insert-ctext) - (,(purecopy "STRING") . dnd-insert-text) - (,(purecopy "TEXT") . dnd-insert-text) - (,(purecopy "DndTypeFile") . x-dnd-handle-offix-file) - (,(purecopy "DndTypeFiles") . x-dnd-handle-offix-files) - (,(purecopy "DndTypeText") . dnd-insert-text)) + '(("text/uri-list" . x-dnd-handle-uri-list) + ("text/x-moz-url" . x-dnd-handle-moz-url) + ("_NETSCAPE_URL" . x-dnd-handle-uri-list) + ("FILE_NAME" . x-dnd-handle-file-name) + ("UTF8_STRING" . x-dnd-insert-utf8-text) + ("text/plain;charset=UTF-8" . x-dnd-insert-utf8-text) + ("text/plain;charset=utf-8" . x-dnd-insert-utf8-text) + ("text/unicode" . x-dnd-insert-utf16-text) + ("text/plain" . dnd-insert-text) + ("COMPOUND_TEXT" . x-dnd-insert-ctext) + ("STRING" . dnd-insert-text) + ("TEXT" . dnd-insert-text) + ("DndTypeFile" . x-dnd-handle-offix-file) + ("DndTypeFiles" . x-dnd-handle-offix-files) + ("DndTypeText" . dnd-insert-text)) "Functions to call to handle drag-and-drop of known types. If the type of the drop is not present in the alist, or the function corresponding to the type is nil, the drop of that @@ -90,22 +90,21 @@ excluding `ask') if drop is successful, nil if not." :group 'x) (defcustom x-dnd-known-types - (mapcar 'purecopy - '("XdndDirectSave0" - "text/uri-list" - "text/x-moz-url" - "_NETSCAPE_URL" - "FILE_NAME" - "UTF8_STRING" - "text/plain;charset=UTF-8" - "text/plain;charset=utf-8" - "text/unicode" - "text/plain" - "COMPOUND_TEXT" - "STRING" - "TEXT" - "DndTypeFile" - "DndTypeText")) + '("XdndDirectSave0" + "text/uri-list" + "text/x-moz-url" + "_NETSCAPE_URL" + "FILE_NAME" + "UTF8_STRING" + "text/plain;charset=UTF-8" + "text/plain;charset=utf-8" + "text/unicode" + "text/plain" + "COMPOUND_TEXT" + "STRING" + "TEXT" + "DndTypeFile" + "DndTypeText") "The types accepted by default for dropped data. The types are chosen in the order they appear in the list." :version "22.1" -- 2.39.5