files – El archivo de arrastrar y soltar ya no funciona

Pregunta:

Usando Emacs 24.5 en una estación de trabajo Gentoo / Kde. Arrastrar y soltar archivos solía funcionar bien (por lo que recuerdo), para abrir un nuevo búfer en el archivo arrastrado.

Mismo comportamiento al usar emacs -Q .

Ya no funciona (para su información, bajé a emacs-23 (después de leer el comentario de Boregard) y el arrastrar y soltar funciona perfectamente), o más bien a veces funciona, pero la mayoría de las veces Emacs solo muestra "5 1" en la línea de comando y agrega "5 1" en el búfer de mensajes.

Esto ocurre para todos los usuarios en la computadora correspondiente. Supongo que proviene de una configuración extraña de nuestro lado (de lo contrario, otras personas se quejarían de esta funcionalidad faltante). Pero, ¿cómo identificar el origen de este problema (y resolverlo, por supuesto)?

Aquí está la salida de Mx describe-variable x-dnd-types-alist solicitada por Nsukami _:

x-dnd-types-alist is a variable defined in `x-dnd.el'.
Value: (("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))

EDITAR: Perdón por llegar tarde a responder preguntas …

@Drew: el mismo comportamiento al usar 'emacs -Q'

@Nsukami: aquí están los datos

x-dnd-types-alist is a variable defined in `x-dnd.el'.
Value: (("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))

Para su información, bajé la calificación a emacs-23 (después de leer el comentario de Boregard) y la función de arrastrar y soltar funciona perfectamente.

Respuesta:

El "5 1" proviene de la función x-dnd-handle-xdnd . De acuerdo con el error # 19885 en GNU Bug Tracker , la razón por la que arrastrar y soltar desde Chrome no funciona es que Emacs usa la acción XdndActionPrivate , que Chrome no XdndActionPrivate . Una solución alternativa del informe de error es personalizar Emacs para usar la acción XdndActionCopy en su lugar:

(defun my-x-dnd-test-function (_window _action types)
  "X-DND test function that returns copy instead of private as action
Otherwise the same as the default function"
  (let ((type (x-dnd-choose-type types)))
    (when type (cons 'copy type))))

(setq x-dnd-test-function #'my-x-dnd-test-function)

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım