Commit graph

23 commits

Author SHA1 Message Date
Po Lu
ecf08f0621 Merge from savannah/emacs-29
dc4e6b1329 ; Update copyright years in more files
64b3777631 ; Run set-copyright from admin.el
8e1c56ae46 ; Add 2024 to copyright years

# Conflicts:
#	doc/misc/modus-themes.org
#	doc/misc/texinfo.tex
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
#	etc/themes/modus-operandi-theme.el
#	etc/themes/modus-themes.el
#	etc/themes/modus-vivendi-theme.el
#	lib/alloca.in.h
#	lib/binary-io.h
#	lib/c-ctype.h
#	lib/c-strcasecmp.c
#	lib/c-strncasecmp.c
#	lib/careadlinkat.c
#	lib/cloexec.c
#	lib/close-stream.c
#	lib/diffseq.h
#	lib/dup2.c
#	lib/filemode.h
#	lib/fpending.c
#	lib/fpending.h
#	lib/fsusage.c
#	lib/getgroups.c
#	lib/getloadavg.c
#	lib/gettext.h
#	lib/gettime.c
#	lib/gettimeofday.c
#	lib/group-member.c
#	lib/malloc.c
#	lib/md5-stream.c
#	lib/md5.c
#	lib/md5.h
#	lib/memmem.c
#	lib/memrchr.c
#	lib/nanosleep.c
#	lib/save-cwd.h
#	lib/sha1.c
#	lib/sig2str.c
#	lib/stdlib.in.h
#	lib/strtoimax.c
#	lib/strtol.c
#	lib/strtoll.c
#	lib/time_r.c
#	lib/xalloc-oversized.h
#	lisp/auth-source-pass.el
#	lisp/emacs-lisp/lisp-mnt.el
#	lisp/emacs-lisp/timer.el
#	lisp/info-look.el
#	lisp/jit-lock.el
#	lisp/loadhist.el
#	lisp/mail/rmail.el
#	lisp/net/ntlm.el
#	lisp/net/webjump.el
#	lisp/progmodes/asm-mode.el
#	lisp/progmodes/project.el
#	lisp/progmodes/sh-script.el
#	lisp/textmodes/flyspell.el
#	lisp/textmodes/reftex-toc.el
#	lisp/textmodes/reftex.el
#	lisp/textmodes/tex-mode.el
#	lisp/url/url-gw.el
#	m4/alloca.m4
#	m4/clock_time.m4
#	m4/d-type.m4
#	m4/dirent_h.m4
#	m4/dup2.m4
#	m4/euidaccess.m4
#	m4/fchmodat.m4
#	m4/filemode.m4
#	m4/fsusage.m4
#	m4/getgroups.m4
#	m4/getloadavg.m4
#	m4/getrandom.m4
#	m4/gettime.m4
#	m4/gettimeofday.m4
#	m4/gnulib-common.m4
#	m4/group-member.m4
#	m4/inttypes.m4
#	m4/malloc.m4
#	m4/manywarnings.m4
#	m4/mempcpy.m4
#	m4/memrchr.m4
#	m4/mkostemp.m4
#	m4/mktime.m4
#	m4/nproc.m4
#	m4/nstrftime.m4
#	m4/pathmax.m4
#	m4/pipe2.m4
#	m4/pselect.m4
#	m4/pthread_sigmask.m4
#	m4/readlink.m4
#	m4/realloc.m4
#	m4/sig2str.m4
#	m4/ssize_t.m4
#	m4/stat-time.m4
#	m4/stddef_h.m4
#	m4/stdint.m4
#	m4/stdio_h.m4
#	m4/stdlib_h.m4
#	m4/stpcpy.m4
#	m4/strnlen.m4
#	m4/strtoimax.m4
#	m4/strtoll.m4
#	m4/time_h.m4
#	m4/timegm.m4
#	m4/timer_time.m4
#	m4/timespec.m4
#	m4/unistd_h.m4
#	m4/warnings.m4
#	nt/configure.bat
#	nt/preprep.c
#	test/lisp/register-tests.el
2024-01-02 10:28:14 +08:00
Po Lu
8e1c56ae46 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
Po Lu
897cc73c88 Render default DND file name handlers more precise
* lisp/dnd.el (dnd-protocol-alist): Redefine file name handlers
to match solely the local or remote URIs they understand.
(dnd-handle-multiple-urls): Prevent calling the same handler
multiple times for a single URI.

* lisp/gnus/mml.el (mml-dnd-protocol-alist): Apply an anologous
adjustment here.  Delete now redundant redefinition of
dnd-open-file.
(mml-dnd-attach-file): Inquire whether to apply the default
disposition and such only once even if more than one file is
dropped.

* test/lisp/dnd-tests.el (dnd-tests-receive-multiple-urls)
(dnd-tests-default-file-name-handlers): New tests.
2023-10-28 06:42:48 +00:00
Po Lu
11f44ec6dd Enable DND handlers to receive more than one URI at a time
* doc/lispref/frames.texi (Drag and Drop): Illustrate the effect
of the dnd-multiple-handler property and how convergent handlers
are reconciled.

* etc/NEWS (Lisp Changes in Emacs 30.1): Announce this change.

* lisp/dnd.el (dnd-protocol-alist): Bring doc string up to date.
(dnd-handle-one-url): Obsolete this function.
(dnd-handle-multiple-urls): New function.

* lisp/pgtk-dnd.el (pgtk-dnd-handle-uri-list)
(pgtk-dnd-handle-file-name):

* lisp/term/android-win.el (android-handle-dnd-event):

* lisp/term/haiku-win.el (haiku-drag-and-drop):

* lisp/term/ns-win.el (ns-drag-n-drop):

* lisp/term/w32-win.el (w32-handle-dropped-file):

* lisp/x-dnd.el (x-dnd-handle-uri-list, x-dnd-handle-file-name):
Reimplement in terms of `dnd-handle-multiple-uris'.

* lisp/term/pgtk-win.el (pgtk-drag-n-drop)
(pgtk-drag-n-drop-other-frame, pgtk-drag-n-drop-as-text): Efface
detritus that remained after the removal of the old PGTK drag
and drop implementation.

* test/lisp/dnd-tests.el (ert-x, dnd-tests-list-1)
(dnd-tests-list-2, dnd-tests-list-3, dnd-tests-list-4)
(dnd-tests-local-file-function, dnd-tests-remote-file-function)
(dnd-tests-http-scheme-function, dnd-tests-browse-url-handler)
(dnd-tests-receive-multiple-urls): New tests.
2023-10-26 11:38:18 +00:00
Mattias Engdegård
6e255ddfff * test/lisp/dnd-tests.el (dnd-tests-begin-text-drag): Fix typo. 2023-05-30 17:46:06 +02:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Stefan Kangas
3187225416 ; Prefer HTTPS to HTTP in many URLs 2022-10-15 13:06:45 +02:00
Basil L. Contovounesios
6a5043e9f6 Fix more misleading cl-case quoting in tests
* test/lisp/dnd-tests.el (x-begin-drag):
* test/lisp/so-long-tests/so-long-tests-helpers.el
(so-long-tests-assert-active, so-long-tests-assert-reverted): Remove
misleading quoting in cl-case clauses (bug#51368).
2022-09-14 14:20:52 +03:00
Michael Albinus
4bab499ed0 Fix Tramp test environment on hydra.nixos.org
* lisp/emacs-lisp/ert-x.el (tramp-remote-path): Declare.  Adapt
`tramp-remote-path' on hydra.  (Bug#56424)

* test/lisp/dnd-tests.el (dnd-tests-begin-drag-files): Remove instrumentation.

* test/lisp/filenotify-tests.el:
* test/lisp/shadowfile-tests.el:
* test/lisp/net/tramp-tests.el: Do not adapt `tramp-remote-path'.
2022-07-10 18:13:50 +02:00
Michael Albinus
65a336ce48 ; * test/lisp/dnd-tests.el (dnd-tests-begin-drag-files): Instrument. 2022-07-10 12:42:55 +02:00
Po Lu
e3a3d6bf23 Add interactive XDS test
* test/lisp/dnd-tests.el (dnd-tests-direct-save): New test.
2022-07-02 10:18:05 +08:00
Po Lu
b7d3231e80 Update dnd-tests.el to make sure remote files are removed when Emacs quits
* test/lisp/dnd-tests.el (dnd-tests-begin-drag-files)
(dnd-tests-begin-file-drag): Test value of `kill-emacs-hook'.
2022-06-29 20:14:41 +08:00
Po Lu
0e6516a1f0 Fix reported problem with drag-and-drop inside VirtualBox
* lisp/x-dnd.el (x-dnd-handle-old-kde, x-dnd-handle-offix)
(x-dnd-handle-motif): Select window before handling drop, like
on Xdnd.
(x-dnd-convert-to-offix, x-dnd-do-offix-drop)
(x-dnd-handle-unsupported-drop): Accept local selection data and
use that instead.

* src/keyboard.c (kbd_buffer_get_event): Call unsupported drop
function with local selection data as 8th arg.
* src/xselect.c (x_get_local_selection): Accept new arg
`local_value'.  All callers changed.
(Fx_get_local_selection): New function.
(syms_of_xselect): Update defsubrs.

* src/xterm.c (x_dnd_lose_ownership): New function.
(x_dnd_begin_drag_and_drop): Unless new variable is true, disown
XdndSelection after returning.  This supposedly makes
drag-and-drop from guest to host work in VirtualBox without
causing pointer motion to become choppy afterwards.
(syms_of_xterm): New variable `x_dnd_preserve_selection_data'
and update doc string of `x-dnd-unsupported-drop-function'.

* test/lisp/dnd-tests.el (dnd-tests-begin-text-drag)
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Set new
variable to nil during tests.
2022-06-29 10:24:14 +08:00
Michael Albinus
ec1fffdeca Fix dnd-tests-open-remote-url on EMBA
* test/lisp/dnd-tests.el (dnd-tests-open-remote-url): Check for
ftp client.
2022-06-22 17:47:39 +02:00
Po Lu
1d681a5700 Add test for bug#56078 fix
* test/lisp/dnd-tests.el (dnd-tests-open-remote-url): New test.
2022-06-21 10:12:00 +08:00
Po Lu
1dd92bb7b8 Fix encoding of multibyte ToolTalk filenames
* lisp/select.el (xselect-convert-to-dt-netfile): Encode file
name before computing its tooltalk name, since the indices work
on bytes.

* test/lisp/dnd-tests.el (dnd-tests-begin-file-drag): Add test.
2022-06-12 22:04:47 +08:00
Po Lu
7e41b4aa23 Fix dnd-tests on builds without X
* test/lisp/dnd-tests.el (x-get-selection-internal): New
function declaration.
2022-06-09 10:22:14 +08:00
Po Lu
0fd60451bc Allow running some DND tests interactively
* src/xselect.c (x_get_local_selection): Respect new variable.
(syms_of_xselect): New variable
`x-treat-local-requests-remotely'.

* test/lisp/dnd-tests.el (x-begin-drag, gui-set-selection):
Don't redefine these functions under X.
(dnd-tests-verify-selection-data): Use
`x-get-selection-internal' under X.
(dnd-tests-extract-selection-data): New function.
(dnd-tests-begin-text-drag): Update accordingly.
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files):
Temporarily skip these tests under X.
2022-06-08 20:34:13 +08:00
Michael Albinus
b2ed8a547a Factor out test configuration for remote files
* lisp/emacs-lisp/ert-x.el (tramp-methods)
(tramp-default-host-alist): Declare.
(ert-remote-temporary-file-directory): New defconst.

* test/README: Mention dnd-tests.el.

* test/lisp/autorevert-tests.el
(auto-revert-test-remote-temporary-file-directory): Remove.
Replace all uses by `ert-remote-temporary-file-directory'.

* test/lisp/dnd-tests.el (ert-x): Require.
(dnd-tests-temporary-file-directory): Remove.  Replace all uses by
`ert-remote-temporary-file-directory'.

* test/lisp/filenotify-tests.el
(file-notify-test-remote-temporary-file-directory): Remove.
Replace all uses by `ert-remote-temporary-file-directory'.

* test/lisp/shadowfile-tests.el (ert-x): Require.
(shadow-test-remote-temporary-file-directory): Remove.  Replace
all uses by `ert-remote-temporary-file-directory'.

* test/lisp/net/tramp-tests.el: Don't require ert.
(ert-remote-temporary-file-directory): Define if it doesn't exist.
(tramp-test-temporary-file-directory): Remove.  Replace all uses
by `ert-remote-temporary-file-directory'.
2022-06-08 12:06:56 +02:00
Po Lu
3237d1d6b6 Improve drag-and-drop tests
* lisp/dnd.el (dnd-begin-file-drag, dnd-begin-drag-files): Fix
type of `x-xdnd-username'.
* lisp/select.el (selection-converter-alist): Fix declaration of
_DT_NETFILE converter.

* test/lisp/dnd-tests.el (dnd-tests-verify-selection-data):
Handle "compound" selection converters.
(dnd-tests-parse-tt-netfile): New function.
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Verify
validity of file selection data.
2022-06-08 10:40:20 +08:00
Po Lu
3864308c20 Add selection stuff to DND tests
* test/lisp/dnd-tests.el (dnd-tests-selection-table): New
defvar.
(gui-set-selection): Actually implement in a way that validates
the local value and stores it for future use.
(dnd-tests-verify-selection-data): New function.
(dnd-tests-begin-text-drag): Add tests for the contents of
various selections.
2022-06-07 21:45:17 +08:00
Po Lu
6871e649b5 Add new drag-and-drop test
* test/lisp/dnd-tests.el (dnd-tests-get-local-file-uri): New
test.
2022-06-07 13:07:26 +08:00
Po Lu
10641eaf5b Add drag-and-drop API tests
* test/lisp/dnd-tests.el: New file.
(dnd-tests-begin-text-drag):
(dnd-tests-begin-file-drag):
(dnd-tests-begin-drag-files): New tests.
2022-06-06 19:51:47 +08:00