Never mind. I found it, 32 is an error. I'll amend browse accordingly.
Пнд, 24 Янв 2011, bill lam писал(а):
> This roll looked better to me, but are those two dquote really needed? Does
> a return code of 32 indicate error?
>
> Вск, 23 Янв 2011, David Mitchell писал(а):
> > I stand corrected on MIME. Thanks.
> >
> > Here is my last effort with browse:
> >
> > NB. Insert 1
> > ShellExecute=: 'shell32 ShellExecuteA i i *c *c *c *c i'&cd
> > SW_SHOWNORMAL=:1
> > NULL=:<0
> > NB. End insert 1
> > browse=: 3 : 0
> > cmd=. deb y
> > isURL=. 1 e. '://'&E.
> > if. IFJHS do.
> > cmd=. '/' (I. cmd='\') } cmd
> > if. -. isURL cmd do.
> > if. -.fexist cmd do. EMPTY return. end.
> > cmd=. 'file://',cmd
> > end.
> > redirecturl_jijxm_=: cmd
> > EMPTY return.
> > end.
> > browser=. Browser_j_
> > NB. Insert 2
> > if. IFWIN do.
> > cmd=. '/' (I. cmd='\') } cmd
> > if. -. isURL cmd do.
> > if. -.fexist cmd do. EMPTY return. end.
> > cmd=. 'file://',cmd
> > end.
> > if. 0 = #browser do.
> > r=.>0{ShellExecute(0;'open';cmd;NULL;NULL;SW_SHOWNORMAL)
> > else.
> > r=.>0{ShellExecute(0;'open';(dquote browser);(dquote
> > cmd);NULL;SW_SHOWNORMAL)
> > end.
> > if. r<33 do. (sminfo 'browse error:',browser,' ',cmd) return. end.
> > EMPTY return.
> > end.
> > NB. End insert 2
> > if. 0 = #browser do.
> > ...
> >
> > This works for me in JGTK and J console on Win7 and WinXP. It gives a
> > reasonable message that should be helpful either way.
> >
> > On 1/23/2011 12:13, bill lam wrote:
> > > The help message in your proposed browse verb, as you already noted, only
> > > applicable to gtkide.
> > >
> > > The IFUNIX and IFWIN should cover all os supported by J7 so the
> > > fork_jtask_
> > > is dead code.
> > >
> > > mime type was designed for emails, it does not specify programs to open
> > > document. Of course any application uses mime types in some clever and
> > > incompatible ways.
> > >
> > > I was not saying that is bad or mime types should not be used for file
> > > association. Instead, I wanted to point out it is impossible to look at
> > > mime.types to determine default browser.
> > >
> > > FWIW the file /usr/share/applications/defaults.list can be ignored by any
> > > desktop if that file does not happen to its 'default'. My debian lenny
> > > does not have that file.
> > >
> > > Вск, 23 Янв 2011, David Mitchell писал(а):
> > >> I am curious why we could not use the updated browse verb for all J
> > >> environments
> > >> available in Windows. It would seem to be useful for all J users in
> > >> Windows to
> > >> know when the browse verb is failing. Why use a less reliable version
> > >> of browse
> > >> anywhere when a more reliable version is available?
> > >>
> > >> Can you describe the drawbacks of using something like my changed
> > >> version in all
> > >> J environments? If I do a search in the J system directories for IFWIN
> > >> and
> > >> IFUNIX and IFGTK and IFJHS, I find more OS and GUI specific code than
> > >> just in
> > >> browse. It would seem to be simpler to me to have common verbs with
> > >> OS-specific
> > >> modifications rather than splitting out all of the OS or GUI specific
> > >> verbs as
> > >> separate, duplicated verbs. We would wind up with 9 or so versions of
> > >> many verbs.
> > >>
> > >> I made the minimal changes required to the distributed browse verb to
> > >> support
> > >> Windows ShellExecute. My intent was not to provide a GTK specific
> > >> change. I
> > >> thought it would be a good idea to improve the current browse verb that
> > >> was
> > >> being used in all J environments.
> > >>
> > >> The code for reporting the errors in the global browse verb was already
> > >> there
> > >> before I added my changes. The only lack in the original code was to
> > >> use a
> > >> command verb that would actually report errors.
> > >>
> > >> When I look at the page I sent you has this note:
> > >>
> > >> This tells the system what applications can be used for that MIME type
> > >> and
> > >> provides the applications in the 'Open With' list. The default is defined
> > >> elsewhere. The file /usr/share/applications/defaults.list
> > >>
> > >> I realize that MIME types were implemented initially by web browsers and
> > >> that
> > >> various Linux desktop and file managers started using them later, to
> > >> various
> > >> degrees. But, other languages such as Perl and Python seem to taking
> > >> advantage
> > >> of MIME types as well. Perhaps the Linux usage of MIME types is not
> > >> consistent
> > >> enough to be worth using.
> > >>
> > >> Personally, I would not want to use an install of Linux if I could use
> > >> only the
> > >> capabilities provided by a particular Linux kernel or even one shell,
> > >> any more
> > >> than I want to use only MS-DOS. So, in my opinion, products such as J
> > >> should be
> > >> aware and take advantage of, as much as practical, widely used and
> > >> available
> > >> features of Linux, even if they are not part of one particular kernel or
> > >> some shell.
> > >>
> > >> I am curious. Why do you consider the Linux usage of MIME types a
> > >> 'trick'? I
> > >> have seen signs that it is used, at least in some way, in the K GUI ,
> > >> the Gnome
> > >> GUI, in Firefox and in such languages as Perl and Python. To me, it
> > >> doesn't
> > >> seem any more of a 'trick' than the Linux kernel using loadable modules
> > >> to
> > >> support devices that are not in the compiled in the kernel or the
> > >> various Linux
> > >> shells using environment variables to customize the behavior of shell
> > >> commands.
> > >>
> > >> On 1/23/2011 9:25, bill lam wrote:
> > >>> Perhap we can leave the browse_j_/browse_z_ as it is, and add your
> > >>> proposed
> > >>> browse verb for gtkide. Will that be ok? BTW the fork_jtask_ branch is
> > >>> reducdant because jgtk only supports IFUNIX or IFWIN.
> > >>>
> > >>> The page you referred is not mime types. Each desktop/file manager has
> > >>> its
> > >>> own trick to for file association. Linux kernel or shell does not have
> > >>> any
> > >>> concept of file association, or default browser.
> > >>>
> > >>>
> > >>> Вск, 23 Янв 2011, David Mitchell писал(а):
> > >>>> You make some good points.
> > >>>>
> > >>>> Here is a modified version of my change that produces a good response,
> > >>>> in my
> > >>>> opinion, to browse errors in Windows:
> > >>>>
> > >>>> browse=: 3 : 0
> > >>>> ...
> > >>>> try.
> > >>>> if. IFUNIX do.
> > >>>> 2!:1 cmd, (0=nox)#'&'
> > >>>> elseif. IFWIN do.
> > >>>> r=.>0{ShellExecute(0;'open';cmd;NULL;NULL;SW_SHOWNORMAL)
> > >>>> if. r<33 do. 'browse error' 13!:8 255 end.
> > >>>> elseif. do.
> > >>>> fork_jtask_ cmd
> > >>>> end.
> > >>>> catch.
> > >>>> msg=. 'Could not run the browser with the command:',LF,LF
> > >>>> msg=. msg, cmd,LF,LF
> > >>>> msg=. msg,'You can change the browser definition in
> > >>>> Edit|Configure|Base',LF,LF
> > >>>> sminfo 'Run Browser';msg
> > >>>> end.
> > >>>>
> > >>>> This version of browse gives this response in GTK:
> > >>>>
> > >>>> http://www.jsoftware.com/jwiki/DavidMitchell?action=AttachFile&do=view&target=runbrowseboxgtk.png
> > >>>>
> > >>>> It gives this response in J console:
> > >>>>
> > >>>> browse_j_'foo'
> > >>>> +-----------+-------------------------------------------------------------------
> > >>>> ------------------------------------------------------------+
> > >>>> |Run Browser|Could not run the browser with the command: "xxx"
> > >>>> "file://foo" Yo
> > >>>> u can change the browser definition in Edit|Configure|Base |
> > >>>> +-----------+-------------------------------------------------------------------
> > >>>> ------------------------------------------------------------+
> > >>>>
> > >>>> While the J console message is not precisely accurate for J console
> > >>>> users, I
> > >>>> think it does indicate, in a general way, what the problem is.
> > >>>>
> > >>>> This change allows Windows to use file associations if Browser is null
> > >>>> and
> > >>>> allows GTK to report problems should anyone want to use a non-default
> > >>>> browser
> > >>>> and has not set up the Browser information correctly.
> > >>>>
> > >>>> I did find I was wrong about Linux 2!:1 giving useful results, at
> > >>>> least in all
> > >>>> cases. I tried my change on Linux and discovered that 2!:1 does not
> > >>>> return a
> > >>>> useful result when the command supplied is run in the background with
> > >>>> a terminal&.
> > >>>>
> > >>>> One small nit to pick about Linux and default browsers. I took a
> > >>>> (very quick
> > >>>> and I am sure very incomplete) look at Linux substitutes for Windows
> > >>>> file
> > >>>> associations. I found that many Linux versions seem to use MIME Types
> > >>>> as a
> > >>>> functional equivalent of Windows file associations. It does not seem
> > >>>> to be as
> > >>>> well supported as Windows file associations, but there does seem to be
> > >>>> growing
> > >>>> support for MIME types as a way to centralize this information,
> > >>>> including the
> > >>>> Linux default HTML browser.
> > >>>>
> > >>>> For example:
> > >>>>
> > >>>> http://askubuntu.com/questions/16580/where-are-file-associations-stored
> > >>>>
> > >>>> I'll see if I can determine if J in Linux could use MIME types to give
> > >>>> more
> > >>>> reliable results.
> > >>>>
> > >>>>
> > >>>> On 1/22/2011 20:08, bill lam wrote:
> > >>>>> I agree that fork_jtask_ is over-skill for browse and shellexecute is
> > >>>>> a
> > >>>>> simpler way to do it. But I still unsure if returning an error code
> > >>>>> for
> > >>>>> browse could be helpful because,
> > >>>>> 1. there should already enough or lack of visual feedback to indicate
> > >>>>> error had
> > >>>>> occurred.
> > >>>>> 2. the gtkide itself cannot do anything to rectify the error.
> > >>>>> 3. users or sys admin for that matter is responsible for setting up
> > >>>>> Browser_j_ or leaved it as to the default empty string.
> > >>>>>
> > >>>>> I cannot see why choice of browser can be configurable is a bad thing
> > >>>>> in
> > >>>>> gtkide. Incidentally Linux does not have default browser.
> > >>>>>
> > >>>>> I'll incorporate your shellexecute code into browse.
> > >>>>>
> > >>>>> Сбт, 22 Янв 2011, David Mitchell писал(а):
> > >>>>>> Well, there is at least an indication of an error in Linux when its
> > >>>>>> fork verb
> > >>>>>> fails. It is not as sophisticated as the values returned by the
> > >>>>>> Windows
> > >>>>>> ShellExecute facility but it seems as if this could be used to at
> > >>>>>> least
> > >>>>>> determine if the forked task in Linux had some level of success:
> > >>>>>>
> > >>>>>> fork_jtask_
> > >>>>>> 2!:1
> > >>>>>> fork_jtask_ 'foo'
> > >>>>>> |interface error: fork_jtask_
> > >>>>>> | fork_jtask_'foo'
> > >>>>>> fork_jtask_ '\\html'
> > >>>>>> |interface error: fork_jtask_
> > >>>>>> | fork_jtask_'\\html'
> > >>>>>>
> > >>>>>> There is no indication of any error when the Windows fork_jtask_
> > >>>>>> fails.
> > >>>>>>
> > >>>>>> Finally, Windows provides the association mechanism and already
> > >>>>>> maintains my
> > >>>>>> preferred default browser information. I'm not sure I see the
> > >>>>>> utility in having
> > >>>>>> to manually maintain information about my default browser in J as
> > >>>>>> well,
> > >>>>>> especially when avoiding the use of ShellExecute in Windows
> > >>>>>> decreases the
> > >>>>>> intrinsic reliability of J. It's not as if there are not other
> > >>>>>> places where J
> > >>>>>> uses differing verbs for supporting OS functions on different OSes.
> > >>>>>>
> > >>>>>> On 1/21/2011 11:26, bill lam wrote:
> > >>>>>>> That error information is helpful but only available in window
> > >>>>>>> shellexecute
> > >>>>>>> not linux, and also the Browser is manually set by user who should
> > >>>>>>> have
> > >>>>>>> some idea of the browser's full path name. There is not too many
> > >>>>>>> possibilities
> > >>>>>>> for failure and should be easy for track.
> > >>>>>>>
> > >>>>>>> Just my two cents.
> > >>>>>>>
> > >>>>>>> Птн, 21 Янв 2011, David Mitchell писал(а):
> > >>>>>>>> I forgot that the config files were saved in the user J7 dir. I
> > >>>>>>>> removed all j7
> > >>>>>>>> dirs and reinstalled using the new install packages.
> > >>>>>>>>
> > >>>>>>>> I can confirm that the new installed config value for the base
> > >>>>>>>> Browser is '' for
> > >>>>>>>> Win on both J701_64 and J701_32.
> > >>>>>>>>
> > >>>>>>>> I agree that a pop up box would not be an appropriate way to
> > >>>>>>>> handle an error
> > >>>>>>>> with the browse verb. But, my changes do not generate a pop up
> > >>>>>>>> box.
> > >>>>>>>>
> > >>>>>>>> Also, I still find the current behavior of no error response at
> > >>>>>>>> all when the J7
> > >>>>>>>> Browser configuration is misconfigured is not helpful and could be
> > >>>>>>>> improved.
> > >>>>>>>>
> > >>>>>>>> As far as I can tell, my suggested changes work fine in both
> > >>>>>>>> jconsole and gtkide
> > >>>>>>>> and they do reduce the risks of using fork_jtask_.
> > >>>>>>>>
> > >>>>>>>> fork_jtask_, as far as I can see, in its current form, will never
> > >>>>>>>> give any
> > >>>>>>>> indication of failures.
> > >>>>>>>>
> > >>>>>>>> ShellExecute, on the other hand, does return useful values on a
> > >>>>>>>> failure that
> > >>>>>>>> could be used in any environment to at least give the user some
> > >>>>>>>> notification of
> > >>>>>>>> why the 'browse' is failing:
> > >>>>>>>>
> > >>>>>>>> cmd_j_=:'foo.exe'
> > >>>>>>>>
> > >>>>>>>> ShellExecute_j_(0;'open';cmd_j_;NULL_j_;NULL_j_;SW_SHOWNORMAL_j_)
> > >>>>>>>> ┌─┬─┬────┬───────┬───┬───┬─┐
> > >>>>>>>> │2│0│open│foo.exe│┌─┐│┌─┐│1│
> > >>>>>>>> │ │ │ │ ││0│││0││ │
> > >>>>>>>> │ │ │ │ │└─┘│└─┘│ │
> > >>>>>>>> └─┴─┴────┴───────┴───┴───┴─┘
> > >>>>>>>> cmd_j_=:'\\gabble'
> > >>>>>>>>
> > >>>>>>>> ShellExecute_j_(0;'open';cmd_j_;NULL_j_;NULL_j_;SW_SHOWNORMAL_j_)
> > >>>>>>>> ┌─┬─┬────┬────────┬───┬───┬─┐
> > >>>>>>>> │3│0│open│\\gabble│┌─┐│┌─┐│1│
> > >>>>>>>> │ │ │ │ ││0│││0││ │
> > >>>>>>>> │ │ │ │ │└─┘│└─┘│ │
> > >>>>>>>> └─┴─┴────┴────────┴───┴───┴─┘
> > >>>>>>>> cmd_j_=:'http://www.jsoftware.com/docs/help701/index.htm'
> > >>>>>>>>
> > >>>>>>>> ShellExecute_j_(0;'open';cmd_j_;NULL_j_;NULL_j_;SW_SHOWNORMAL_j_)
> > >>>>>>>> ┌──┬─┬────┬───────────────────────────────────────────────┬───┬───┬─┐
> > >>>>>>>> │42│0│open│http://www.jsoftware.com/docs/help701/index.htm│┌─┐│┌─┐│1│
> > >>>>>>>> │ │ │ │
> > >>>>>>>> ││0│││0││ │
> > >>>>>>>> │ │ │ │
> > >>>>>>>> │└─┘│└─┘│ │
> > >>>>>>>> └──┴─┴────┴───────────────────────────────────────────────┴───┴───┴─┘
> > >>>>>>>>
> > >>>>>>>> Any return value greater than 32 is ok. Here are two of the
> > >>>>>>>> errors that can be
> > >>>>>>>> reported:
> > >>>>>>>>
> > >>>>>>>> #define ERROR_FILE_NOT_FOUND 2L
> > >>>>>>>> #define ERROR_PATH_NOT_FOUND 3L
> > >>>>>>>>
> > >>>>>>>> The return value from ShellExecute could be used to either create
> > >>>>>>>> a signal for
> > >>>>>>>> an error or generate a return value for the browse verb that would
> > >>>>>>>> indicate if
> > >>>>>>>> it was successful or not, and, if not, why not.
> > >>>>>>>>
> > >>>>>>>> On 1/21/2011 8:49, bill lam wrote:
> > >>>>>>>>> A fresh installation from a recent window installer probably unset
> > >>>>>>>>> Browser in its default config so it should work out-of-box. The
> > >>>>>>>>> verb browse
> > >>>>>>>>> is shared by jconsole and gtkide so I didn't wish it to pop up a
> > >>>>>>>>> message
> > >>>>>>>>> box for warning information.
> > >>>>>>>>>
> > >>>>>>>>> Птн, 21 Янв 2011, David Mitchell писал(а):
> > >>>>>>>>>> Hi Tikkanz,
> > >>>>>>>>>>
> > >>>>>>>>>> Yes, the problem I see only exists with J7_64. I just
> > >>>>>>>>>> downloaded and installed
> > >>>>>>>>>> new versions of J7_32 and J7_64 to make sure.
> > >>>>>>>>>>
> > >>>>>>>>>> This is what I found;
> > >>>>>>>>>>
> > >>>>>>>>>> JVERSION
> > >>>>>>>>>> Engine: j701/2011-01-10/11:25
> > >>>>>>>>>> Library: 7.01.033
> > >>>>>>>>>> Platform: Win 32
> > >>>>>>>>>> Installer: j701a_win.exe
> > >>>>>>>>>> InstallPath: c:/users/me/j32_j701c/j701
> > >>>>>>>>>> #Browser_j_
> > >>>>>>>>>> 0
> > >>>>>>>>>>
> > >>>>>>>>>> JVERSION
> > >>>>>>>>>> Engine: j701/2011-01-10/11:25
> > >>>>>>>>>> Library: 7.01.033
> > >>>>>>>>>> Platform: Win 64
> > >>>>>>>>>> Installer: j701a_win64.exe
> > >>>>>>>>>> InstallPath: c:/users/me/j64_j701c/j64-701
> > >>>>>>>>>> Browser_j_
> > >>>>>>>>>> 44
> > >>>>>>>>>> Browser_j_
> > >>>>>>>>>> c:/program files/mozilla firefox/firefox.exe
> > >>>>>>>>>>
> > >>>>>>>>>> My default browser is:
> > >>>>>>>>>>
> > >>>>>>>>>> C:/Program Files (x86)/Mozilla Firefox/firefox.exe
> > >>>>>>>>>>
> > >>>>>>>>>> So, the two versions of J7 have differing definitions of
> > >>>>>>>>>> Browser_j_. The
> > >>>>>>>>>> default Browser_j_ from base.cfg used in J7_64 does not point to
> > >>>>>>>>>> a valid exe and
> > >>>>>>>>>> attempting to use it in fork_jtask_ does not result in any
> > >>>>>>>>>> message indicating
> > >>>>>>>>>> what has happened.
> > >>>>>>>>>>
> > >>>>>>>>>> If you want to continue to use fork_jtask_, this will protect J
> > >>>>>>>>>> from errant
> > >>>>>>>>>> Browser settings:
> > >>>>>>>>>>
> > >>>>>>>>>> stdlib.ijs
> > >>>>>>>>>>
> > >>>>>>>>>> ...
> > >>>>>>>>>> try. 1!:4<Browser_j_ catch. Browser_j_=:'' end.
> > >>>>>>>>>> browser=. Browser_j_
> > >>>>>>>>>> --
> > >>>>>>>>>> Cheers,
> > >>>>>>>>>> David
> > >>>>>>>>>>
> > >>>>>>>>>> On 1/21/2011 4:33, Tikkanz wrote:
> > >>>>>>>>>>> Hi David,
> > >>>>>>>>>>> The items on the Gtk IDE help menu seem to work ok for me
> > >>>>>>>>>>> without any
> > >>>>>>>>>>> Browser set on 32bit Win7.
> > >>>>>>>>>>> The pages (online versions because I haven't downloaded the
> > >>>>>>>>>>> docs/help
> > >>>>>>>>>>> addon) open fine in my default browser (Firefox).
> > >>>>>>>>>>> #Browser_j_
> > >>>>>>>>>>> 0
> > >>>>>>>>>>> JVERSION
> > >>>>>>>>>>> Engine: j701/2011-01-07/14:33
> > >>>>>>>>>>> Library: 7.01.037
> > >>>>>>>>>>> Platform: Win 32
> > >>>>>>>>>>> Installer: j701a_win.exe
> > >>>>>>>>>>> InstallPath: c:/users/ric/j701
> > >>>>>>>>>>>
> > >>>>>>>>>>> The browse_j_ verb attempts to something similar to what you
> > >>>>>>>>>>> describe below.
> > >>>>>>>>>>>
> > >>>>>>>>>>> On Fri, Jan 21, 2011 at 9:08 AM, David
> > >>>>>>>>>>> Mitchell<[email protected]> wrote:
> > >>>>>>>>>>>> I was puzzled when none of the 'help' menu options did
> > >>>>>>>>>>>> anything in J7 GTK. I
> > >>>>>>>>>>>> looked at the code and saw that I needed to configure a
> > >>>>>>>>>>>> hard-coded path to my
> > >>>>>>>>>>>> browser of choice.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Being lazy, I offer this small change to stdlib.ijs that
> > >>>>>>>>>>>> eliminates the need to
> > >>>>>>>>>>>> specify a browser in J7 and allows J7 to use the Windows
> > >>>>>>>>>>>> system file
> > >>>>>>>>>>>> associations. I have tested it on Win7 and WinXP successfully.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> NB. Insert 1
> > >>>>>>>>>>>> ShellExecute=: 'shell32 ShellExecuteA i i *c *c *c *c i'&cd
> > >>>>>>>>>>>> SW_SHOWNORMAL=:1
> > >>>>>>>>>>>> NULL=:<0
> > >>>>>>>>>>>> NB. End Insert 1
> > >>>>>>>>>>>> browse=: 3 : 0
> > >>>>>>>>>>>> cmd=. deb y
> > >>>>>>>>>>>> isURL=. 1 e. '://'&E.
> > >>>>>>>>>>>> if. IFJHS do.
> > >>>>>>>>>>>> cmd=. '/' (I. cmd='\') } cmd
> > >>>>>>>>>>>> if. -. isURL cmd do.
> > >>>>>>>>>>>> if. -.fexist cmd do. EMPTY return. end.
> > >>>>>>>>>>>> cmd=. 'file://',cmd
> > >>>>>>>>>>>> end.
> > >>>>>>>>>>>> redirecturl_jijxm_=: cmd
> > >>>>>>>>>>>> EMPTY return.
> > >>>>>>>>>>>> end.
> > >>>>>>>>>>>> NB. Insert 2
> > >>>>>>>>>>>> if. IFWIN do.
> > >>>>>>>>>>>> cmd=. '/' (I. cmd='\') } cmd
> > >>>>>>>>>>>> if. -. isURL cmd do.
> > >>>>>>>>>>>> if. -.fexist cmd do. EMPTY return. end.
> > >>>>>>>>>>>> cmd=. 'file://',cmd
> > >>>>>>>>>>>> end.
> > >>>>>>>>>>>> ShellExecute(0;'open';cmd;NULL;NULL;SW_SHOWNORMAL)
> > >>>>>>>>>>>> EMPTY return.
> > >>>>>>>>>>>> end.
> > >>>>>>>>>>>> NB. End Insert 2
> > >>>>>>>>>>>> ----------------------------------------------------------------------
> > >>>>>>>>>>>> For information about J forums see
> > >>>>>>>>>>>> http://www.jsoftware.com/forums.htm
> > >>>>>>>>>>>>
> > >>>>>>>>>>> ----------------------------------------------------------------------
> > >>>>>>>>>>> For information about J forums see
> > >>>>>>>>>>> http://www.jsoftware.com/forums.htm
> > >>>>>>>>>>>
> > >>>>>>>>>> ----------------------------------------------------------------------
> > >>>>>>>>>> For information about J forums see
> > >>>>>>>>>> http://www.jsoftware.com/forums.htm
> > >>>>>>>>>
> > >>>>>>>> ----------------------------------------------------------------------
> > >>>>>>>> For information about J forums see
> > >>>>>>>> http://www.jsoftware.com/forums.htm
> > >>>>>>>
> > >>>>>> ----------------------------------------------------------------------
> > >>>>>> For information about J forums see
> > >>>>>> http://www.jsoftware.com/forums.htm
> > >>>>>
> > >>>> ----------------------------------------------------------------------
> > >>>> For information about J forums see http://www.jsoftware.com/forums.htm
> > >>>
> > >> ----------------------------------------------------------------------
> > >> For information about J forums see http://www.jsoftware.com/forums.htm
> > >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
> --
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
--
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm