annotate tests/Dnd/README @ 5067:7d7ae8db0341

add functions `stable-union' and `stable-intersection' to do stable set operations -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-02-22 Ben Wing <ben@xemacs.org> * cl-seq.el: * cl-seq.el (stable-union): New. * cl-seq.el (stable-intersection): New. New functions to do stable set operations, i.e. preserve the order of the elements in the argument lists, and prefer LIST1 over LIST2 when ordering the combined result. The result looks as much like LIST1 as possible, followed (in the case of `stable-union') by any necessary elements from LIST2, in order. This is contrary to `union' and `intersection', which are not required to be order- preserving and are not -- they prefer LIST2 and output results in backwards order.
author Ben Wing <ben@xemacs.org>
date Mon, 22 Feb 2010 21:23:02 -0600
parents bc4f2511bbea
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 * Sun May 3 1998 Oliver Graf <ograf@fga.de>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 This path contains test code for the new XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 Drag'n'Drop code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 To test the code do the following:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 1) call 'bash droptest.sh' to create the test files in /tmp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 2) load and eval droptest.el in XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 3) Try to do some internal DnD by using the sources and targets
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 in the new buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 4) Do some external DnD:
4790
bc4f2511bbea Remove support for the OffiX drag-and-drop protocol. See xemacs-patches
Jerry James <james@xemacs.org>
parents: 428
diff changeset
12 4a) CDE: use dtfile and dtpad
bc4f2511bbea Remove support for the OffiX drag-and-drop protocol. See xemacs-patches
Jerry James <james@xemacs.org>
parents: 428
diff changeset
13 4b) MSWindows: well, explorer should do. But only file data
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 should work, and I don't know if the test
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 already handles this.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 The misc-user-event now also responds as a button-x-event
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 to the event-* query functions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 The function of a drag is called dragdrop-drop-dispatch
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 as you can see in droptest.el. From within the function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 you can access the actual misc-user-event through the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 current-mouse-event variable.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 Short description of the object part of a drop misc-user-event:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 ( TYPE . DATA )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 TYPE is either the symbol dragdrop_MIME
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 or the symbol dragdrop_URL
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 DATA is a list of URL strings if TYPE is dragdrop_URL
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 if TYPE is dragdrop_MIME DATA is either a string
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 which contains the MIME data, or it is a list of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 ( CONTENT-TYPE CONTENT-ENCODING MIME-DATA )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 CONTENT-TYPE is encoded for tm-view (list, first element type,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 rest key.value conses)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 CONTENT-ENCODING is a string
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 MIME-DATA is a string
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 CONTENT-TYPE and -ENCODING can be directly supplied to mime/viewer-mode.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40