- From: poot <cvsmail@w3.org>
- Date: Fri, 09 Sep 2011 21:26:19 -0400
- To: public-html-diffs@w3.org
hixie: Update Event interfaces to use constructors instead of init*Event methods; remove some typedefs. (whatwg r6551) http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.5248&r2=1.5249&f=h http://html5.org/tools/web-apps-tracker?from=6550&to=6551 =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.5248 retrieving revision 1.5249 diff -u -d -r1.5248 -r1.5249 --- Overview.html 9 Sep 2011 22:46:03 -0000 1.5248 +++ Overview.html 10 Sep 2011 01:26:04 -0000 1.5249 @@ -321,7 +321,7 @@ <h1>HTML5</h1> <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2> - <h2 class="no-num no-toc" id="editor-s-draft-9-september-2011">Editor's Draft 9 September 2011</h2> + <h2 class="no-num no-toc" id="editor-s-draft-10-september-2011">Editor's Draft 10 September 2011</h2> <dl><dt>Latest Published Version:</dt> <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd> <dt>Latest Editor's Draft:</dt> @@ -467,7 +467,7 @@ Group</a> is the W3C working group responsible for this specification's progress along the W3C Recommendation track. - This specification is the 9 September 2011 Editor's Draft. + This specification is the 10 September 2011 Editor's Draft. </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 @@ -3126,6 +3126,7 @@ <li><dfn id="event"><code>Event</code></dfn> interface</li> <li><dfn id="eventtarget"><code>EventTarget</code></dfn> interface</li> + <li><dfn id="eventinit"><code>EventInit</code></dfn> dictionary type</li> <li>The <dfn id="concept-event-type" title="concept-event-type">type</dfn> of an event</li> <li><dfn id="dom-event-target" title="dom-Event-target"><code>target</code></dfn> attribute</li> @@ -3181,6 +3182,7 @@ <ul class="brief"><li><dfn id="uievent"><code>UIEvent</code></dfn> interface</li> <li><dfn id="mouseevent"><code>MouseEvent</code></dfn> interface</li> + <li><dfn id="mouseeventinit"><code>MouseEventInit</code></dfn> dictionary type</li> <li><dfn id="event-click" title="event-click"><code>click</code></dfn> event</li> @@ -21846,7 +21848,7 @@ // tracks readonly attribute <a href="#audiotracklist">AudioTrackList</a> <a href="#dom-media-audiotracks" title="dom-media-audioTracks">audioTracks</a>; readonly attribute <a href="#videotracklist">VideoTrackList</a> <a href="#dom-media-videotracks" title="dom-media-videoTracks">videoTracks</a>; - readonly attribute <a href="#texttracklist">TextTrackList</a> <a href="#dom-media-texttracks" title="dom-media-textTracks">textTracks</a>; + readonly attribute <a href="#texttrack">TextTrack</a>[] <a href="#dom-media-texttracks" title="dom-media-textTracks">textTracks</a>; <a href="#mutabletexttrack">MutableTextTrack</a> <a href="#dom-media-addtexttrack" title="dom-media-addTextTrack">addTextTrack</a>(DOMString kind, optional DOMString label, optional DOMString language); };</pre><p>The <dfn id="media-element-attributes">media element attributes</dfn>, <code title="attr-media-src"><a href="#attr-media-src">src</a></code>, <code title="attr-media-crossorigin"><a href="#attr-media-crossorigin">crossorigin</a></code>, <code title="attr-media-preload"><a href="#attr-media-preload">preload</a></code>, <code title="attr-media-autoplay"><a href="#attr-media-autoplay">autoplay</a></code>, <code title="attr-media-mediagroup"><a href="#attr-media-mediagroup">mediagroup</a></code>, @@ -26153,9 +26155,7 @@ readonly attribute <a href="#texttrackcuelist">TextTrackCueList</a>? <a href="#dom-texttrack-activecues" title="dom-TextTrack-activeCues">activeCues</a>; attribute <a href="#function">Function</a>? <a href="#handler-texttrack-oncuechange" title="handler-TextTrack-oncuechange">oncuechange</a>; -}; - -typedef <a href="#texttrack">TextTrack</a>[] <dfn id="texttracklist">TextTrackList</dfn>;</pre><dl class="domintro"><dt><var title="">textTrack</var> . <code title="dom-TextTrack-kind"><a href="#dom-texttrack-kind">kind</a></code></dt> +};</pre><dl class="domintro"><dt><var title="">textTrack</var> . <code title="dom-TextTrack-kind"><a href="#dom-texttrack-kind">kind</a></code></dt> <dd> <p>Returns the <a href="#text-track-kind">text track kind</a> string.</p> </dd> @@ -40920,10 +40920,10 @@ <dd><p>The user agent must fire an event with the name <code title="event-contextmenu">contextmenu</code>, that bubbles and is cancelable, and that uses the <code><a href="#mouseevent">MouseEvent</a></code> interface, at the element for which the menu was requested. The context - information of the event must be set to the same values as the last - <code><a href="#mouseevent">MouseEvent</a></code> user interaction event that was fired as - part of the gesture that that was interpreted as a request for the - context menu.</dd> + information of the event must be initialized to the same values as + the last <code><a href="#mouseevent">MouseEvent</a></code> user interaction event that was + fired as part of the gesture that that was interpreted as a request + for the context menu.</dd> <dt>Otherwise</dt> @@ -46683,8 +46683,8 @@ <code><a href="#document">Document</a></code> object (and the <code title="dom-event-currentTarget">currentTarget</code> set to the <code><a href="#window">Window</a></code> object), using the <code><a href="#pagetransitionevent">PageTransitionEvent</a></code> interface, with the <code title="dom-PageTransitionEvent-persisted"><a href="#dom-pagetransitionevent-persisted">persisted</a></code> - attribute set to true. This event must not bubble, must not be - cancelable, and has no default action.</li> + attribute initialized to true. This event must not bubble, must + not be cancelable, and has no default action.</li> </ol></li> @@ -46731,17 +46731,17 @@ <li><p>Fire a <code title="event-popstate"><a href="#event-popstate">popstate</a></code> event at the <code><a href="#window">Window</a></code> object of the <code><a href="#document">Document</a></code>, using - the <code><a href="#popstateevent">PopStateEvent</a></code> interface, with the <code title="dom-PopStateEvent-state"><a href="#dom-popstateevent-state">state</a></code> attribute set to the - value of <var title="">state</var>. This event must bubble but not - be cancelable and has no default action.</li> + the <code><a href="#popstateevent">PopStateEvent</a></code> interface, with the <code title="dom-PopStateEvent-state"><a href="#dom-popstateevent-state">state</a></code> attribute initialized + to the value of <var title="">state</var>. This event must bubble + but not be cancelable and has no default action.</li> <li><p>If <var title="">hash changed</var> is true, then fire a <code title="event-hashchange"><a href="#event-hashchange">hashchange</a></code> event at the <a href="#browsing-context">browsing context</a>'s <code><a href="#window">Window</a></code> object, using - the <code><a href="#hashchangeevent">HashChangeEvent</a></code> interface, with the <code title="dom-HashChangeEvent-oldURL"><a href="#dom-hashchangeevent-oldurl">oldURL</a></code> attribute set to - <var title="">old URL</var> and the <code title="dom-HashChangeEvent-newURL"><a href="#dom-hashchangeevent-newurl">newURL</a></code> attribute set to - <var title="">new URL</var>. This event must bubble but not be - cancelable and has no default action.</li> + the <code><a href="#hashchangeevent">HashChangeEvent</a></code> interface, with the <code title="dom-HashChangeEvent-oldURL"><a href="#dom-hashchangeevent-oldurl">oldURL</a></code> attribute + initialized to <var title="">old URL</var> and the <code title="dom-HashChangeEvent-newURL"><a href="#dom-hashchangeevent-newurl">newURL</a></code> attribute + initialized to <var title="">new URL</var>. This event must bubble + but not be cancelable and has no default action.</li> <li><p>The <a href="#current-entry">current entry</a> is now the <i>specified entry</i>.</li> @@ -46754,9 +46754,13 @@ </div><p>The <dfn id="event-popstate" title="event-popstate"><code>popstate</code></dfn> event is fired in certain cases when navigating to a <a href="#session-history-entry">session history - entry</a>.<pre class="idl">interface <dfn id="popstateevent">PopStateEvent</dfn> : <a href="#event">Event</a> { + entry</a>.<pre class="idl">[Constructor(DOMString type, optional <a href="#popstateeventinit">PopStateEventInit</a> eventInitDict)] +interface <dfn id="popstateevent">PopStateEvent</dfn> : <a href="#event">Event</a> { readonly attribute any <a href="#dom-popstateevent-state" title="dom-PopStateEvent-state">state</a>; - void <a href="#dom-popstateevent-initpopstateevent" title="dom-PopStateEvent-initPopStateEvent">initPopStateEvent</a>(DOMString typeArg, boolean canBubbleArg, boolean cancelableArg, any stateArg); +}; + +dictionary <dfn id="popstateeventinit">PopStateEventInit</dfn> : <a href="#eventinit">EventInit</a> { + any state; };</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-PopStateEvent-state"><a href="#dom-popstateevent-state">state</a></code></dt> <dd> @@ -46767,22 +46771,25 @@ </dl><div class="impl"> - <p>The <dfn id="dom-popstateevent-initpopstateevent" title="dom-PopStateEvent-initPopStateEvent"><code>initPopStateEvent()</code></dfn> - method must initialize the event in a manner analogous to the - similarly-named method in the DOM Events interfaces. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p> - <p>The <dfn id="dom-popstateevent-state" title="dom-PopStateEvent-state"><code>state</code></dfn> - attribute represents the context information for the event, or null, - if the state represented is the initial state of the + attribute must return the value it was initialized to. When the + object is created, this attribute must be initialized to null. It + represents the context information for the event, or null, if the + state represented is the initial state of the <code><a href="#document">Document</a></code>.</p> </div><hr><p>The <dfn id="event-hashchange" title="event-hashchange"><code>hashchange</code></dfn> event is fired when navigating to a <a href="#session-history-entry">session history entry</a> whose <a href="#url">URL</a> differs from that of the - previous one only in the fragment identifier.<pre class="idl">interface <dfn id="hashchangeevent">HashChangeEvent</dfn> : <a href="#event">Event</a> { + previous one only in the fragment identifier.<pre class="idl">[Constructor(DOMString type, optional <a href="#hashchangeeventinit">HashChangeEventInit</a> eventInitDict)] +interface <dfn id="hashchangeevent">HashChangeEvent</dfn> : <a href="#event">Event</a> { readonly attribute DOMString <a href="#dom-hashchangeevent-oldurl" title="dom-HashChangeEvent-oldURL">oldURL</a>; readonly attribute DOMString <a href="#dom-hashchangeevent-newurl" title="dom-HashChangeEvent-newURL">newURL</a>; - void <a href="#dom-hashchangeevent-inithashchangeevent" title="dom-HashChangeEvent-initHashChangeEvent">initHashChangeEvent</a>(DOMString typeArg, boolean canBubbleArg, boolean cancelableArg, DOMString oldURLArg, DOMString newURLArg); +}; + +dictionary <dfn id="hashchangeeventinit">HashChangeEventInit</dfn> : <a href="#eventinit">EventInit</a> { + DOMString oldURL; + DOMString newURL; };</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-HashChangeEvent-oldURL"><a href="#dom-hashchangeevent-oldurl">oldURL</a></code></dt> <dd> @@ -46804,27 +46811,30 @@ </dl><div class="impl"> - <p>The <dfn id="dom-hashchangeevent-inithashchangeevent" title="dom-HashChangeEvent-initHashChangeEvent"><code>initHashChangeEvent()</code></dfn> - method must initialize the event in a manner analogous to the - similarly-named method in the DOM Events interfaces. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p> - <p>The <dfn id="dom-hashchangeevent-oldurl" title="dom-HashChangeEvent-oldURL"><code>oldURL</code></dfn> - attribute represents context information for the event, specifically - the URL of the <a href="#session-history-entry">session history entry</a> that was traversed + attribute must return the value it was initialized to. When the + object is created, this attribute must be initialized to null. It + represents context information for the event, specifically the URL + of the <a href="#session-history-entry">session history entry</a> that was traversed from.</p> <p>The <dfn id="dom-hashchangeevent-newurl" title="dom-HashChangeEvent-newURL"><code>newURL</code></dfn> - attribute represents context information for the event, specifically - the URL of the <a href="#session-history-entry">session history entry</a> that was traversed - to.</p> + attribute must return the value it was initialized to. When the + object is created, this attribute must be initialized to null. It + represents context information for the event, specifically the URL + of the <a href="#session-history-entry">session history entry</a> that was traversed to.</p> </div><hr><p>The <dfn id="event-pageshow" title="event-pageshow"><code>pageshow</code></dfn> event is fired when traversing <em>to</em> a <a href="#session-history-entry">session history entry</a>.<p>The <dfn id="event-pagehide" title="event-pagehide"><code>pagehide</code></dfn> event is fired when traversing <em>from</em> a <a href="#session-history-entry">session history - entry</a>.<pre class="idl">interface <dfn id="pagetransitionevent">PageTransitionEvent</dfn> : <a href="#event">Event</a> { + entry</a>.<pre class="idl">[Constructor(DOMString type, optional <a href="#pagetransitioneventinit">PageTransitionEventInit</a> eventInitDict)] +interface <dfn id="pagetransitionevent">PageTransitionEvent</dfn> : <a href="#event">Event</a> { readonly attribute boolean <a href="#dom-pagetransitionevent-persisted" title="dom-PageTransitionEvent-persisted">persisted</a>; - void <a href="#dom-pagetransitionevent-initpagetransitionevent" title="dom-PageTransitionEvent-initPageTransitionEvent">initPageTransitionEvent</a>(DOMString typeArg, boolean canBubbleArg, boolean cancelableArg, boolean persistedArg); +}; + +dictionary <dfn id="pagetransitioneventinit">PageTransitionEventInit</dfn> : <a href="#eventinit">EventInit</a> { + boolean persisted; };</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-PageTransitionEvent-persisted"><a href="#dom-pagetransitionevent-persisted">persisted</a></code></dt> <dd> @@ -46835,12 +46845,10 @@ </dl><div class="impl"> - <p>The <dfn id="dom-pagetransitionevent-initpagetransitionevent" title="dom-PageTransitionEvent-initPageTransitionEvent"><code>initPageTransitionEvent()</code></dfn> - method must initialize the event in a manner analogous to the - similarly-named method in the DOM Events interfaces. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p> - <p>The <dfn id="dom-pagetransitionevent-persisted" title="dom-PageTransitionEvent-persisted"><code>persisted</code></dfn> - attribute represents the context information for the event.</p> + attribute must return the value it was initialized to. When the + object is created, this attribute must be initialized to false. It + represents the context information for the event.</p> </div><h4 id="unloading-documents"><span class="secno">5.5.10 </span>Unloading documents</h4><div class="impl"> @@ -46925,8 +46933,8 @@ <code><a href="#document">Document</a></code> object (and the <code title="dom-event-currentTarget">currentTarget</code> set to the <code><a href="#window">Window</a></code> object), using the <code><a href="#pagetransitionevent">PageTransitionEvent</a></code> interface, with the <code title="dom-PageTransitionEvent-persisted"><a href="#dom-pagetransitionevent-persisted">persisted</a></code> - attribute set to true. This event must not bubble, must not be - cancelable, and has no default action.</li> + attribute initialized to true. This event must not bubble, must not + be cancelable, and has no default action.</li> <li><p><i>Unload event</i>: <a href="#fire-a-simple-event">Fire a simple event</a> named <code title="event-unload">unload</code> at the @@ -49716,7 +49724,6 @@ when an element is <a href="#insert-an-element-into-a-document" title="insert an element into a document">inserted into the document</a>.</p> - </dd> <dt>The <dfn id="user-interaction-task-source">user interaction task source</dfn></dt> @@ -50214,13 +50221,13 @@ otherwise stated), and which uses the <code><a href="#mouseevent">MouseEvent</a></code> interface, must be created and dispatched at the given target. The event object must have its <code title="">screenX</code>, <code title="">screenY</code>, <code title="">clientX</code>, <code title="">clientY</code>, and <code title="">button</code> attributes - set to 0, its <code title="">ctrlKey</code>, <code title="">shiftKey</code>, <code title="">altKey</code>, and <code title="">metaKey</code> attributes set according to the current - state of the key input device, if any (false for any keys that are - not available), its <code title="">detail</code> attribute set to 1, - and its <code title="">relatedTarget</code> attribute set to null. - The <code title="">getModifierState()</code> method on the object - must return values appropriately describing the state of the key - input device at the time the event is created.</p> + initialized to 0, its <code title="">ctrlKey</code>, <code title="">shiftKey</code>, <code title="">altKey</code>, and <code title="">metaKey</code> attributes initialized according to the + current state of the key input device, if any (false for any keys + that are not available), its <code title="">detail</code> attribute + initialized to 1, and its <code title="">relatedTarget</code> + attribute initialized to null. The <code title="">getModifierState()</code> method on the object must return + values appropriately describing the state of the key input device at + the time the event is created.</p> <p><dfn id="fire-a-click-event" title="fire a click event">Firing a <code title="event-click">click</code> event</dfn> means <a href="#fire-a-synthetic-mouse-event" title="fire a synthetic mouse event">firing a synthetic mouse event named <code title="event-click">click</code></a>, which bubbles and is @@ -53795,10 +53802,13 @@ <code><a href="#datatransferitem">DataTransferItem</a></code> object.</p> </ol></div><h4 id="the-dragevent-interface"><span class="secno">7.6.4 </span>The <code><a href="#dragevent">DragEvent</a></code> interface</h4><p>The drag-and-drop processing model involves several events. They - all use the <code><a href="#dragevent">DragEvent</a></code> interface.<pre class="idl">interface <dfn id="dragevent">DragEvent</dfn> : <a href="#mouseevent">MouseEvent</a> { + all use the <code><a href="#dragevent">DragEvent</a></code> interface.<pre class="idl">[Constructor(DOMString type, optional <a href="#drageventinit">DragEventInit</a> eventInitDict)] +interface <dfn id="dragevent">DragEvent</dfn> : <a href="#mouseevent">MouseEvent</a> { readonly attribute <a href="#datatransfer">DataTransfer</a>? <a href="#dom-dragevent-datatransfer" title="dom-DragEvent-dataTransfer">dataTransfer</a>; +}; - void <a href="#dom-dragevent-initdragevent" title="dom-DragEvent-initDragEvent">initDragEvent</a>(DOMString typeArg, boolean canBubbleArg, boolean cancelableArg, any dummyArg, long detailArg, long screenXArg, long screenYArg, long clientXArg, long clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, unsigned short buttonArg, EventTarget relatedTargetArg, <a href="#datatransfer">DataTransfer</a>? dataTransferArg); +dictionary <dfn id="drageventinit">DragEventInit</dfn> : <a href="#mouseeventinit">MouseEventInit</a> { + <a href="#datatransfer">DataTransfer</a>? dataTransfer; };</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-DragEvent-dataTransfer"><a href="#dom-dragevent-datatransfer">dataTransfer</a></code></dt> <dd> @@ -53809,14 +53819,11 @@ </dl><div class="impl"> - <p>The <dfn id="dom-dragevent-initdragevent" title="dom-DragEvent-initDragEvent"><code>initDragEvent()</code></dfn> - method must initialize the event in a manner analogous to the - similarly-named method in the DOM Events interfaces, except that the - <var title="">dummyArg</var> argument must be ignored. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p> - <p>The <dfn id="dom-dragevent-datatransfer" title="dom-DragEvent-dataTransfer"><code>dataTransfer</code></dfn> - attribute of the <code><a href="#dragevent">DragEvent</a></code> interface represents the - context information for the event.</p> + attribute of the <code><a href="#dragevent">DragEvent</a></code> interface must return the + value it was initialized to. When the object is created, this + attribute must be initialized to null. It represents the context + information for the event.</p> </div><div class="impl"> @@ -53878,12 +53885,12 @@ <p>Create a <code><a href="#dragevent">DragEvent</a></code> object and initialize it to have the given name <var title="">e</var>, to bubble, to be - cancelable unless <var title="">e</var> is <code title="event-dragleave"><a href="#event-dragleave">dragleave</a></code> or <code title="event-dragend"><a href="#event-dragend">dragend</a></code>, and to have the <code title="dom-UIEvent-detail">detail</code> attribute set to zero, - the mouse and key attributes set according to the state of the - input devices as they would be for user interaction events, the - <code title="">relatedTarget</code> attribute set to null, and the - <code title="dom-DragEvent-dataTransfer"><a href="#dom-dragevent-datatransfer">dataTransfer</a></code> - attribute set to <var title="">dataTransfer</var>, the + cancelable unless <var title="">e</var> is <code title="event-dragleave"><a href="#event-dragleave">dragleave</a></code> or <code title="event-dragend"><a href="#event-dragend">dragend</a></code>, and to have the <code title="dom-UIEvent-detail">detail</code> attribute initialized to + zero, the mouse and key attributes initialized according to the + state of the input devices as they would be for user interaction + events, the <code title="">relatedTarget</code> attribute + initialized to null, and the <code title="dom-DragEvent-dataTransfer"><a href="#dom-dragevent-datatransfer">dataTransfer</a></code> attribute + initialized to <var title="">dataTransfer</var>, the <code><a href="#datatransfer">DataTransfer</a></code> object created above.</p> @@ -62630,8 +62637,8 @@ <code><a href="#document">Document</a></code> object (and the <code title="dom-event-currentTarget">currentTarget</code> set to the <code><a href="#window">Window</a></code> object), using the <code><a href="#pagetransitionevent">PageTransitionEvent</a></code> interface, with the <code title="dom-PageTransitionEvent-persisted"><a href="#dom-pagetransitionevent-persisted">persisted</a></code> - attribute set to false. This event must not bubble, must not be - cancelable, and has no default action.</li> + attribute initialized to false. This event must not bubble, must + not be cancelable, and has no default action.</li> <li><p>If the <code><a href="#document">Document</a></code> has any <a href="#pending-application-cache-download-process-tasks">pending application cache download process tasks</a>, then <a href="#queue-a-task" title="queue a task">queue</a> each such <a href="#concept-task" title="concept-task">task</a> in the order they were added to @@ -67303,7 +67310,7 @@ <dt><dfn id="attr-script-event" title="attr-script-event"><code>event</code></dfn> on <code><a href="#the-script-element">script</a></code> elements</dt> <dt><dfn id="attr-script-for" title="attr-script-for"><code>for</code></dfn> on <code><a href="#the-script-element">script</a></code> elements</dt> - <dd><p>Use DOM Events mechanisms to register event listeners. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></dd> + <dd><p>Use DOM Events mechanisms to register event listeners. <a href="#refsDOMCORE">[DOMCORE]</a></dd> <dt><dfn id="attr-table-datapagesize" title="attr-table-datapagesize"><code>datapagesize</code></dfn> on <code><a href="#the-table-element">table</a></code> elements</dt> <dd><p>Unnecessary. Omit it altogether.</dd>
Received on Saturday, 10 September 2011 01:26:23 UTC