Sorry, there is no support for uninstalling or unmerging. Jamal On Wed, 11 Mar 2009, Donald Marang wrote: > Date: Wed, 11 Mar 2009 14:17:21 -0400 > From: Donald Marang <donald.marang@xxxxxxxxx> > Reply-To: jawsscripts@xxxxxxxxxxxxx > To: jawsscripts@xxxxxxxxxxxxx > Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0 > > Thanks! That fixed most of the problems. I can now successfully install > and merge my scripts into my JAWS 9 settings! I still get an error > regarding accessing a temporary file after the merge has completed. I am > assuming that is trying to open my "ReadMe" text file when finished. My > main script, "VZCallAssistant" is not the last script in the package > alphabetically. I will double check the documentation regarding the rules > for having the text file opened when finished. Currently, I have > "VZCallAssistant" entered into the file association field. Would adding the > .exe file extension in this field be advisable as well? Does the file > association effect which text file is searched for when done? I will work > on this tonight. > > I have been restoring my JAWS 9 user settings directory by simply deleting > all files and folders and copying a safely backed up version. Is there a > better way to "undo" any changes. Will this restore everything properly? > Is there a method to uninstall these programs? When I installed the BX > toolbox, there is an item in the Start menu to uninstall it. Is there > something similar for Homer? Should I provide a method to uninstall my > scripts? Do these uninstallers need a method to unmerge the scripts without > effecting other scripts that have been merged with jsx? > > Don Marang > > > ----- Original Message ----- > From: "Jamal Mazrui" <empower@xxxxxxxxx> > To: <jawsscripts@xxxxxxxxxxxxx> > Sent: Monday, March 09, 2009 3:06 PM > Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0 > > > > Hi Donald, > > In your merge statements, try default.jss rather than default (include > > the extension). That seems to work under XP. I notice you are using > > Vista and can't test that right now. > > > > Jamal > > On Mon, 9 Mar 2009, Donald Marang > > wrote: > > > >> Date: Mon, 9 Mar 2009 01:20:58 -0400 > >> From: Donald Marang <donald.marang@xxxxxxxxx> > >> Reply-To: jawsscripts@xxxxxxxxxxxxx > >> To: jawsscripts@xxxxxxxxxxxxx > >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange > >> 2.0 > >> > >> Hey Jamal and fellow listers, > >> > >> I must be doing something wrong using jsx. I seem to be able to create > >> the > >> zip and self installing executable files from my JAWS 10 directory where > >> I > >> developed my scripts. I upload them to a personal webpage area on my ISP > >> at: > >> http://mysite.verizon.net/marangs/VerizonCallAssistant.html > >> I then clean out all temporary files in my system, reboot, and close JAWS > >> 10 > >> and load JAWS 9. I then go to my webpage and download the self > >> installing > >> executable version package to a completely different directory and run > >> the > >> installer into the JAWS 9 directory. I select the desired options and > >> press > >> the Install button. It complains right after announcing that it is > >> compiling, with the following incomplete error message: > >> C:\Users\Don\AppData\Local\Temp\is-6315G.tmp\VZCallAssist... graphic 798 > >> graphic 603 > >> OK Cancel > >> 0.95) Self Installing Version > >> > >> It will then ask me for confirmation for two files where I have a > >> question > >> mark in the ";?Merge..." directive at the top of the script files that I > >> wish to have merged with default.jss. It then has another error message > >> before completing: > >> Location is not available > >> C:\Users\Don\AppData\Local\Temp\is-6315G.tmp refers to a location that is > >> unavailable. It > >> could be on a hard drive on this computer, or on a network. Check to make > >> sure that the disk > >> is properly inserted, or that you are connected to the Internet or your > >> network, and then try > >> again. If it still cannot be located, the information might have been > >> moved > >> to a different > >> location. > >> OK > >> > >> > >> Watch out. I have not fully debugged all of the new code in this package > >> yet! > >> > >> Can anyone shed light on what I am doing wrong? I am using JAWS 9 and 10 > >> on > >> a laptop running Vista Home Premium. Thanks for your help. > >> Don Marang > >> > >> > >> ----- Original Message ----- > >> From: "Jamal Mazrui" <empower@xxxxxxxxx> > >> To: <jawsscripts@xxxxxxxxxxxxx> > >> Sent: Tuesday, February 24, 2009 2:07 PM > >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange > >> 2.0 > >> > >> > >> > Thanks for your interest in JSX. Below is an excerpt from the current > >> > documentation. The merging capability is an advanced option that is a > >> > bit hard to explain, unfortunately. I'll gladly answer questions > >> > though, and if I discover that something desirable is not possible, > >> > I'll > >> > try to enhance the feature. I'd be glad to work with the author of the > >> > Twitter scripts if he wants to build a JSX-based installer for them. > >> > > >> > Jamal > >> > > >> > JSX 1.4 introduced a second, usually better way of merging. In this > >> > example, the file HomerIE.jss contains enhancements to the Internet > >> > Explorer scripts supplied with JAWS. Place the following line at the > >> > top of the file: > >> > > >> > ;Merge "BrowseUI" > >> > > >> > This tells JSX to merge HomerIE.jss into the script set associated with > >> > the base name BrowsUI (the file name is BrowseUI.dll). JSX looks up > >> > the > >> > association in ConfigNames.ini. With JAWS 8 and above, the main file > >> > of > >> > the script set is "Internet Explorer.jss." With lower JAWS versions, > >> > it > >> > is "Internet Explorer 5-6.jss." > >> > > >> > JSX creates a container file with a set of Use statements that load > >> > script components in a particular order, thereby governing the > >> > inheritance chain of scripts and functions. The file also contains a > >> > dummy function at the bottom, which is needed so that the JAWS script > >> > compiler considers the file to be a valid script file, thus creating a > >> > valid .jsb version after compilation. The factory-supplied version of > >> > the .jsb is copied from the All Users script folder to a file in the > >> > user script folder with a modified name. A suffix of _fs (standing for > >> > Freedom Scientific) is added to the base name, e.g., Internet > >> > Explorer.jsb would become Internet Explorer_fs.jsb, or default.jsb > >> > would > >> > become default_fs.jsb. > >> > > >> > The order of Use statements in the generated container file is > >> > determined by the following algorithm. If there is an existing > >> > container file, its component order is the starting sequence; otherwise > >> > it is an empty string. If there is a vertical bar (|) delimited list > >> > of > >> > components after the Merge word on the top line, its sequence is > >> > appended to the starting sequence after removing any duplicate items > >> > from the starting sequence. If the resulting sequence does not contain > >> > the _fs component, it is prepended to the sequence (so it serves as > >> > base > >> > functionality at the top level of the inheritance chain). If the > >> > current script component is not contained in the sequence, it is > >> > appended. > >> > > >> > In our example, a container file called Internet Explorer.jss would be > >> > created and compiled with the following content: > >> > > >> > ; This is a container file, structured with conventions to support > >> > merging by the JAWS Script Exchange program. > >> > ; Rather than code of its own, the file contains a sequence of Use > >> > statements, followed by a dummy function to satisfy the JAWS script > >> > compiler. > >> > > >> > Use "Internet Explorer_fs.Jsb" > >> > Use "HomerIE.jsb" > >> > > >> > Void Function _Filler() > >> > SayString("This is to complete a container .jss so that it compiles to > >> > a > >> > valid .jsb") > >> > EndFunction > >> > > >> > > >> > Suppose we wanted to add AnotherIE.jsb to the sequence. We could do so > >> > with the following syntax on the top line: > >> > > >> > ;Merge AnotherIE.jsb "BrowseUI" > >> > > >> > Now the container file would begin with the following statements: > >> > > >> > Use "Internet Explorer_fs.Jsb" > >> > Use "AnotherIE.jsb" > >> > Use "HomerIE.jsb" > >> > > >> > The merge algorithm is intended to accomplish several objectives: > >> > > >> > * Previous JSX syntax for merging remains compatible. > >> > > >> > * If no container file already exists, the component sequence will be > >> > the _FS file followed by the current file. > >> > > >> > * If a container file already exists and no post sequence is > >> > specified, > >> > the existing sequence will be preserved. > >> > > >> > * If a post sequence is specified, it can override the existing > >> > sequence. > >> > > >> > JSX would also merge related .jkm and .jcf files, which are in .ini > >> > format, as follows. It iterates through all sections of the new file, > >> > and all keys within each section, writing the key/value pair to the > >> > existing file. Thus, if a key already exists, its value is replaced. > >> > If it does not already exist, it is created. > >> > > >> > The merge target may be a delimited list of files rather than a single > >> > file, e.g., > >> > > >> > ;Merge "BrowseUI|IEFrame" > >> > > >> > If a question mark follows the semicolon, JSX asks for confirmation > >> > about whether to perform the merge, prompting with a warning on the > >> > remainder of the line, e.g., > >> > > >> > ;?Merge "Microsoft Outlook.jss|Microsoft Outlook XP-2003.jss" For Homer > >> > benefits that require configuring Outlook for plain text email, > >> > > >> > On Tue, 24 > >> > Feb 2009, Donald Marang wrote: > >> > > >> >> Date: Tue, 24 Feb 2009 11:08:57 -0500 > >> >> From: Donald Marang <donald.marang@xxxxxxxxx> > >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx > >> >> To: jawsscripts@xxxxxxxxxxxxx > >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange > >> >> 2.0 > >> >> > >> >> Hey Jamal, > >> >> > >> >> Sorry for the ignorance in the use of your exchange software as a > >> >> developer > >> >> and the automation of the "merge" process! I plan to use it soon for > >> >> my > >> >> Verizon project and others. I downloaded the version several months > >> >> ago, > >> >> but have not yet taken the time to learn your program or use it. I > >> >> guess I > >> >> will need to visit your site again and check out your new beta > >> >> version. > >> >> Is > >> >> there any documentation for these conventions you talk about for the > >> >> Use > >> >> statement and container script files available anywhere? I hope I > >> >> have > >> >> followed them to this point. I think my next release will have two > >> >> application script files and two container script files. One of the > >> >> user > >> >> default container script file has a key map file I would like to > >> >> automatically merge with the default key map file. Of course, both > >> >> container script files have a Use statements that need to be merged. > >> >> Is > >> >> this possible? If it is, I am surprised that the merge features of > >> >> your > >> >> exchange program were not used for an interesting new set of scripts, > >> >> "Jawter". This looks like a fantastic container script file to > >> >> monitor > >> >> Twitter activity and respond without ever running any application. > >> >> His > >> >> scripts do it all from any application! I am now considering getting > >> >> a > >> >> Twitter account just to check it out. It can be found at: > >> >> http://randylaptop.com/ > >> >> > >> >> I discovered it on an MP3 podcast on the BlindCoolTech RSS feed at: > >> >> http://feeds.feedburner.com/blindcooltech > >> >> > >> >> Thanks. > >> >> > >> >> Don Marang > >> >> > >> >> > >> >> ----- Original Message ----- > >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx> > >> >> To: <jawsscripts@xxxxxxxxxxxxx> > >> >> Sent: Monday, February 23, 2009 1:53 PM > >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange > >> >> 2.0 > >> >> > >> >> > >> >> > Thanks for more detail. I'll reflect on this to possibly make it > >> >> > more > >> >> > flexible. Since there is not a defined API for merging files, > >> >> > however, > >> >> > I think the best solution involves following conventions. If the > >> >> > scripter knows that JSX expects a certain organization for a > >> >> > container.jss > >> >> > file, then he or she can make sure to place Use statements > >> >> > above the dummy function, and to put additional code in a .jsb that > >> >> > is > >> >> > referenced by a Use statement. I do want to try to ensure that > >> >> > complete > >> >> > functionality is possible with these conventions, however, so if you > >> >> > think of a situation that cannot be accommodated successfully by > >> >> > this > >> >> > organization, let me know. > >> >> > > >> >> > Jamal > >> >> > On Mon, 23 Feb 2009, Bryan Garaventa wrote: > >> >> > > >> >> >> Date: Mon, 23 Feb 2009 10:32:43 -0800 > >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx> > >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx > >> >> >> To: jawsscripts@xxxxxxxxxxxxx > >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script > >> >> >> Exchange > >> >> >> 2.0 > >> >> >> > >> >> >> My only concern is that there appears to be a loop hole for data > >> >> >> loss, > >> >> >> this > >> >> >> area being for anything below the dummy function. For instance, if > >> >> >> the > >> >> >> user > >> >> >> were to add their own Use statement, but instead of adding this at > >> >> >> the > >> >> >> top > >> >> >> of the page, they added it to the bottom instead. Also, if the user > >> >> >> were > >> >> >> to > >> >> >> add their own function or script to this default.jss file at a > >> >> >> later > >> >> >> date, > >> >> >> it too would be broken if this code is not included in the merge. > >> >> >> If there was a way to keep all of the current dummy jss content and > >> >> >> add > >> >> >> the > >> >> >> new Use statement without the risk of any data loss, the whole > >> >> >> process > >> >> >> would > >> >> >> be continually seamless. Sorry if I wasn't too clear earlier. > >> >> >> > >> >> >> ----- Original Message ----- > >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx> > >> >> >> To: <jawsscripts@xxxxxxxxxxxxx> > >> >> >> Sent: Monday, February 23, 2009 9:48 AM > >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script > >> >> >> Exchange > >> >> >> 2.0 > >> >> >> > >> >> >> > >> >> >> > Are you talking about a container type of .jss file? By this, I > >> >> >> > mean > >> >> >> > one with no significant code of its own -- basically, a list of > >> >> >> > Use > >> >> >> > statements followed by a dummy function. If JSX finds a dummy > >> >> >> > function > >> >> >> > with the conventional name, it does recognize references to the > >> >> >> > .jsb > >> >> >> > that is about to be merged, and does not duplicate such a > >> >> >> > reference. > >> >> >> > > >> >> >> > I want to better understand what you are hoping to achieve. Is > >> >> >> > the > >> >> >> > a > >> >> >> > problem with organizing a .jss so that it follows the JSX > >> >> >> > conventions > >> >> >> > for > >> >> >> > a container.jss file? > >> >> >> > > >> >> >> > Jamal > >> >> >> > On Mon, 23 Feb 2009, Bryan Garaventa wrote: > >> >> >> > > >> >> >> >> Date: Mon, 23 Feb 2009 09:38:06 -0800 > >> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx> > >> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx > >> >> >> >> To: jawsscripts@xxxxxxxxxxxxx > >> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script > >> >> >> >> Exchange > >> >> >> >> 2.0 > >> >> >> >> > >> >> >> >> No problem, > >> >> >> >> > >> >> >> >> Is it possible to use a Find String command to see if the > >> >> >> >> currently > >> >> >> >> merged > >> >> >> >> Use statement is already present in the default.jss file? > >> >> >> >> > >> >> >> >> If Void Function _Filler() was not detected at this time, then > >> >> >> >> the > >> >> >> >> new > >> >> >> >> default.jss file could be generated as it currently is. > >> >> >> >> > >> >> >> >> If the Void Function _Filler() is found though, but the new Use > >> >> >> >> statement > >> >> >> >> is > >> >> >> >> not, then the new Use statement could be prepended to the top of > >> >> >> >> the > >> >> >> >> complete default.jss file and compiled. > >> >> >> >> > >> >> >> >> If it were done in such a way, you would never have to be > >> >> >> >> concerned > >> >> >> >> about > >> >> >> >> any data loss, even if the user wrote their own functions and > >> >> >> >> added > >> >> >> >> these > >> >> >> >> to > >> >> >> >> the new default.jss file. It would just keep on working > >> >> >> >> regardless, > >> >> >> >> no > >> >> >> >> matter how many times the same installer, or different > >> >> >> >> installers > >> >> >> >> for > >> >> >> >> different scripts were used. > >> >> >> >> > >> >> >> >> Do you think this might be possible? > >> >> >> >> > >> >> >> >> > >> >> >> >> ----- Original Message ----- > >> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx> > >> >> >> >> To: <jawsscripts@xxxxxxxxxxxxx> > >> >> >> >> Sent: Monday, February 23, 2009 7:23 AM > >> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script > >> >> >> >> Exchange > >> >> >> >> 2.0 > >> >> >> >> > >> >> >> >> > >> >> >> >> > Thanks for your feedback, Bryan, as I want to finalize this > >> >> >> >> > version > >> >> >> >> > of > >> >> >> >> > JSX. It should treat default.jss as you intend if it contains > >> >> >> >> > a > >> >> >> >> > dummy > >> >> >> >> > function with a particular naming convention for this purpose, > >> >> >> >> > which > >> >> >> >> > I > >> >> >> >> > recall adoptingg from Doug Lee. If JSX finds the following > >> >> >> >> > line > >> >> >> >> > in > >> >> >> >> > a > >> >> >> >> > .jss > >> >> >> >> > merge target: > >> >> >> >> > > >> >> >> >> > Void Function _Filler() > >> >> >> >> > > >> >> >> >> > it assumes the .jss is a container file with Use statements > >> >> >> >> > above > >> >> >> >> > that > >> >> >> >> > dummy function, and nothing significant afterward. If that > >> >> >> >> > does > >> >> >> >> > not > >> >> >> >> > work, > >> >> >> >> > let me know. > >> >> >> >> > > >> >> >> >> > Jamal > >> >> >> >> > On Sat, 21 Feb 2009, Bryan Garaventa wrote: > >> >> >> >> > > >> >> >> >> >> Date: Sat, 21 Feb 2009 21:35:14 -0800 > >> >> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx> > >> >> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx > >> >> >> >> >> To: jawsscripts@xxxxxxxxxxxxx > >> >> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script > >> >> >> >> >> Exchange > >> >> >> >> >> 2.0 > >> >> >> >> >> > >> >> >> >> >> Hi Jamal, I was finally able to try out the new version, and > >> >> >> >> >> it's > >> >> >> >> >> working > >> >> >> >> >> much better than it used to. Excellent! > >> >> >> >> >> > >> >> >> >> >> Only one thing though, is there any way to make the string > >> >> >> >> >> parser > >> >> >> >> >> detect > >> >> >> >> >> pre-existing use statements within the default.jss file as > >> >> >> >> >> well? > >> >> >> >> >> For > >> >> >> >> >> instance, I use a lot of internal use statements for projects > >> >> >> >> >> I > >> >> >> >> >> develop > >> >> >> >> >> at > >> >> >> >> >> different times, and I always use the use statement to > >> >> >> >> >> reference > >> >> >> >> >> these > >> >> >> >> >> script sets during development. Plus some of my scripts > >> >> >> >> >> depend > >> >> >> >> >> on > >> >> >> >> >> the > >> >> >> >> >> addition of the use statement, such as the online chat page > >> >> >> >> >> scripts > >> >> >> >> >> at > >> >> >> >> >> http://gutterstar.net/dynamic_live_chat.php > >> >> >> >> >> So the static use of specific use statements within the > >> >> >> >> >> installer > >> >> >> >> >> can't > >> >> >> >> >> always be relied upon to keep these custom use statements as > >> >> >> >> >> well. > >> >> >> >> >> > >> >> >> >> >> I'm unfamiliar with the programming language used for this > >> >> >> >> >> purpose > >> >> >> >> >> within > >> >> >> >> >> the installer, but would it be possible to parse the string > >> >> >> >> >> content > >> >> >> >> >> line > >> >> >> >> >> by > >> >> >> >> >> line for default.jss, and save or copy all of the statements > >> >> >> >> >> beginning > >> >> >> >> >> with > >> >> >> >> >> Use for inclusion within the new Default.jss output file? > >> >> >> >> >> Please > >> >> >> >> >> forgive > >> >> >> >> >> my > >> >> >> >> >> ignorance if this is more complicated than I understand. This > >> >> >> >> >> really > >> >> >> >> >> is a > >> >> >> >> >> great product, and you've done a great job. > >> >> >> >> >> > >> >> >> >> >> Best wishes, > >> >> >> >> >> > >> >> >> >> >> Bryan > >> >> >> >> >> > >> >> >> >> >> ----- Original Message ----- > >> >> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx> > >> >> >> >> >> To: <jawsscripts@xxxxxxxxxxxxx> > >> >> >> >> >> Sent: Monday, February 16, 2009 8:23 AM > >> >> >> >> >> Subject: [jawsscripts] Another public beta of JAWS Script > >> >> >> >> >> Exchange > >> >> >> >> >> 2.0 > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > http://EmpowermentZone.com/jsxsetup.exe > >> >> >> >> >> > > >> >> >> >> >> > This version enhances merge support, and bundles optional > >> >> >> >> >> > script > >> >> >> >> >> > sets. > >> >> >> >> >> > The JSX installer engine now recognizes an existing > >> >> >> >> >> > container.jss > >> >> >> >> >> > file > >> >> >> >> >> > that it previously created, a script file containing a set > >> >> >> >> >> > of > >> >> >> >> >> > Use > >> >> >> >> >> > statements followed by a dummy function to satisfy the JAWS > >> >> >> >> >> > script > >> >> >> >> >> > compiler. A merge operation incorporates the components > >> >> >> >> >> > referenced > >> >> >> >> >> > in > >> >> >> >> >> > such a file. > >> >> >> >> >> > > >> >> >> >> >> > At the end of the installation process for the complete JSX > >> >> >> >> >> > application > >> >> >> >> >> > (using the above URL), three script sets are offerred. > >> >> >> >> >> > These > >> >> >> >> >> > options > >> >> >> >> >> > are > >> >> >> >> >> > unchecked by default. You can check one ore more of them > >> >> >> >> >> > to > >> >> >> >> >> > install > >> >> >> >> >> > their > >> >> >> >> >> > zip archives with JSX.. i.e., > >> >> >> >> >> > > >> >> >> >> >> > BX, the Jaws toolbox by Doug Lee (BSD license) > >> >> >> >> >> > > >> >> >> >> >> > HomerKit, the Homer script library and editor interface by > >> >> >> >> >> > Jamal > >> >> >> >> >> > Mazrui > >> >> >> >> >> > (LGPL license) > >> >> >> >> >> > > >> >> >> >> >> > Visual Studio scripts by contributors from the blind > >> >> >> >> >> > programming > >> >> >> >> >> > community > >> >> >> >> >> > (public domain) > >> >> >> >> >> > > >> >> >> >> >> > Jamal > >> >> >> >> >> > > >> >> >> >> >> > __________ > >> >> >> >> >> > Visit and contribute to The JAWS Script Repository > >> >> >> >> >> > http://jawsscripts.com > >> >> >> >> >> > > >> >> >> >> >> > View the list's information and change your settings at > >> >> >> >> >> > http://www.freelists.org/list/jawsscripts > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > _______________________________________ > >> >> >> >> >> > No viruses found in this incoming message > >> >> >> >> >> > Scanned by iolo AntiVirus 1.5.6.3 > >> >> >> >> >> > http://www.iolo.com > >> >> >> >> >> > > >> >> >> >> >> > >> >> >> >> >> __________ > >> >> >> >> >> Visit and contribute to The JAWS Script Repository > >> >> >> >> >> http://jawsscripts.com > >> >> >> >> >> > >> >> >> >> >> View the list's information and change your settings at > >> >> >> >> >> http://www.freelists.org/list/jawsscripts > >> >> >> >> >> > >> >> >> >> > __________ > >> >> >> >> > Visit and contribute to The JAWS Script Repository > >> >> >> >> > http://jawsscripts.com > >> >> >> >> > > >> >> >> >> > View the list's information and change your settings at > >> >> >> >> > http://www.freelists.org/list/jawsscripts > >> >> >> >> > > >> >> >> >> > >> >> >> >> __________ > >> >> >> >> Visit and contribute to The JAWS Script Repository > >> >> >> >> http://jawsscripts.com > >> >> >> >> > >> >> >> >> View the list's information and change your settings at > >> >> >> >> http://www.freelists.org/list/jawsscripts > >> >> >> >> > >> >> >> > __________ > >> >> >> > Visit and contribute to The JAWS Script Repository > >> >> >> > http://jawsscripts.com > >> >> >> > > >> >> >> > View the list's information and change your settings at > >> >> >> > http://www.freelists.org/list/jawsscripts > >> >> >> > > >> >> >> > >> >> >> __________ > >> >> >> Visit and contribute to The JAWS Script Repository > >> >> >> http://jawsscripts.com > >> >> >> > >> >> >> View the list's information and change your settings at > >> >> >> http://www.freelists.org/list/jawsscripts > >> >> >> > >> >> > __________ > >> >> > Visit and contribute to The JAWS Script Repository > >> >> > http://jawsscripts.com > >> >> > > >> >> > View the list's information and change your settings at > >> >> > http://www.freelists.org/list/jawsscripts > >> >> > > >> >> > >> >> __________ > >> >> Visit and contribute to The JAWS Script Repository > >> >> http://jawsscripts.com > >> >> > >> >> View the list's information and change your settings at > >> >> http://www.freelists.org/list/jawsscripts > >> >> > >> > __________ > >> > Visit and contribute to The JAWS Script Repository > >> > http://jawsscripts.com > >> > > >> > View the list's information and change your settings at > >> > http://www.freelists.org/list/jawsscripts > >> > > >> > >> __________ > >> Visit and contribute to The JAWS Script Repository http://jawsscripts.com > >> > >> View the list's information and change your settings at > >> http://www.freelists.org/list/jawsscripts > >> > > __________ > > Visit and contribute to The JAWS Script Repository http://jawsscripts.com > > > > View the list's information and change your settings at > > http://www.freelists.org/list/jawsscripts > > > > __________ > Visit and contribute to The JAWS Script Repository http://jawsscripts.com > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > __________ Visit and contribute to The JAWS Script Repository http://jawsscripts.com View the list's information and change your settings at http://www.freelists.org/list/jawsscripts