From MAILER-DAEMON Sun Nov 06 09:07:33 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RN3Nl-0005zR-5d
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 09:07:33 -0500
Received: from eggs.gnu.org ([140.186.70.92]:47866)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN3Nj-0005zK-1D
	for gforth@gnu.org; Sun, 06 Nov 2011 09:07:32 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN3Ng-0004Oj-Ry
	for gforth@gnu.org; Sun, 06 Nov 2011 09:07:30 -0500
Received: from mail-gx0-f169.google.com ([209.85.161.169]:39470)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN3Ng-0004OZ-P9
	for gforth@gnu.org; Sun, 06 Nov 2011 09:07:28 -0500
Received: by ggnh4 with SMTP id h4so4902027ggn.0
	for <gforth@gnu.org>; Sun, 06 Nov 2011 06:07:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=fj8shTOfawnTR1NQiWu+47w4It/2wEhLxKu9dBwV7QE=;
	b=cYwOhkVirfJFEDCZIiOFXVHkMh9XemPv32JbCvWVPB+neWau4534oceT34ucena8Hl
	uQW62RRtm2962slcMlMkp64PW5xbwMv9TEFFWUunQTI1WSm96Me33xu1hY4Pm239kAZM
	JTV35sUrZNgj1vGlBPhPf+Sfk4NEzvZ5HN9KU=
Received: by 10.100.129.10 with SMTP id b10mr5026672and.162.1320588446061;
	Sun, 06 Nov 2011 06:07:26 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 6 Nov 2011 06:06:55 -0800 (PST)
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Sun, 6 Nov 2011 17:36:55 +0330
Message-ID: <CAHRMfj6+qomC-BmCsaLsQL2txU9Sy99Ea2b+O+gXY=1Ug7hPGQ@mail.gmail.com>
To: gforth@gnu.org
Content-Type: text/plain; charset=UTF-8
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.161.169
Subject: [gforth] gforthmi segmentation fault
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 14:07:32 -0000

Hi all,

I'm very new to Forth so please bear with me if I'm missing something
very obvious.

Every time I run 'gforthmi' it chokes on 'segmentation fault' like below:

  [bahman@bleda ussa]$ gforthmi ussa.fi ussa.fs
  redefined block-offset

  Segmentation fault.
  redefined block-offset

  Segmentation fault.
  redefined th
  *OS command line*:-1: No such file or directory
  comp-image >>>./temp-image.fi1<<< ./temp-image.fi2 ussa.fi bye
  Backtrace:
  $7F7C1A6DE850 throw
  $7F7C1A714408 slurp-file
  chmod: cannot access `ussa.fi': No such file or directory
  rm: cannot remove `./temp-image.fi1': No such file or directory
  rm: cannot remove `./temp-image.fi2': No such file or directory

Though it works well with an empty source file.

  [bahman@bleda Temp]$ touch foo.fs
  [bahman@bleda Temp]$ gforthmi foo.fi foo.fs
  redefined th  data offset=43CCF071C0
  code offset=-1767F30
     xt offset=-1767F50
         60     7F1BB8424000     7F5F8532B000
         68     7F1BB8429000     7F5F85330000
         70     7F1BB842E000     7F5F85335000
         78     7F1BB8433000     7F5F8533A000
     2F58     7F1BB8428000     7F5F8532F000
     2F60     7F1BB8431C00     7F5F85338C00
     2F68     7F1BB842D000     7F5F85334000
     2F78     7F1BB8431B30     7F5F85338B30
     2F80     7F1BB8431B28     7F5F85338B28
     2F98          2456480           CEE480
     4DC0     7F1BB7B817C0     7F5F84A887C0
     4DF8     7F1BB7B818A0     7F5F84A888A0
    10C70     7FFF31EDD640     7FFF4A239730
    10CD8     7FFF31EDD858     7FFF4A239948
    11B80          2462840           CFA840
    13958          247BB10           D13B10
    1CB68          2470900           D08900
    1CC08          2462F20           CFAF20
    27E38          2472F60           D0AF60
    2BE20          24731A0           D0B1A0
    3C8B8          247B4B0           D134B0

I tested the above on both a 64bit and a 32bit machines and the
results were exactly the same.
What am I doing wrong?  Is it possible that my source code is the
reason for this?

I'd appreciate any hint/help.  TIA,

--
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


From MAILER-DAEMON Sun Nov 06 10:30:57 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RN4gT-0001nq-L6
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 10:30:57 -0500
Received: from eggs.gnu.org ([140.186.70.92]:49321)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN4gQ-0001ma-OZ
	for gforth@gnu.org; Sun, 06 Nov 2011 10:30:55 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN4gP-0000dK-9j
	for gforth@gnu.org; Sun, 06 Nov 2011 10:30:54 -0500
Received: from mail-gx0-f169.google.com ([209.85.161.169]:62193)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN4gP-0000dB-4D
	for gforth@gnu.org; Sun, 06 Nov 2011 10:30:53 -0500
Received: by ggnh4 with SMTP id h4so4966255ggn.0
	for <gforth@gnu.org>; Sun, 06 Nov 2011 07:30:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:content-type:content-transfer-encoding;
	bh=nZY5kpvDMZI/rEBK9X5cp2R5I2FxmCscs13TojRrLRU=;
	b=GCvdmYMRWU/nkNCpQaO0JoRmPeWEOenKMk4P7gmvyBfB0ywB8npo7DnNILr1mOqPlQ
	yO3uq7XeUp/pvFDJTpABspWWokokhoLtuOlzZH5bgJ0zxN2r4wc5wTpkeYcf9GAqC2Ok
	ph71/sZ1b2y00xZBex7LBziBvTeSs/244I4dY=
Received: by 10.100.129.10 with SMTP id b10mr5075791and.162.1320593451091;
	Sun, 06 Nov 2011 07:30:51 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 6 Nov 2011 07:30:20 -0800 (PST)
In-Reply-To: <CAHRMfj6+qomC-BmCsaLsQL2txU9Sy99Ea2b+O+gXY=1Ug7hPGQ@mail.gmail.com>
References: <CAHRMfj6+qomC-BmCsaLsQL2txU9Sy99Ea2b+O+gXY=1Ug7hPGQ@mail.gmail.com>
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Sun, 6 Nov 2011 19:00:20 +0330
Message-ID: <CAHRMfj7rYKWbGedDkV9VoEVN5d28EY8zNxCpRcAoAV1vNbPyRw@mail.gmail.com>
To: gforth@gnu.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.161.169
Subject: Re: [gforth] gforthmi segmentation fault
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 15:30:56 -0000

This is the source code I'm trying to make an image of:
http://pastebin.com/b8R06Cur

I hope it helps.

--
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


On Sun, Nov 6, 2011 at 17:36, Bahman Movaqar <b.movaqar@gmail.com> wrote:
>
> Hi all,
>
> I'm very new to Forth so please bear with me if I'm missing something
> very obvious.
>
> Every time I run 'gforthmi' it chokes on 'segmentation fault' like below:
>
> =C2=A0[bahman@bleda ussa]$ gforthmi ussa.fi ussa.fs
> =C2=A0redefined block-offset
>
> =C2=A0Segmentation fault.
> =C2=A0redefined block-offset
>
> =C2=A0Segmentation fault.
> =C2=A0redefined th
> =C2=A0*OS command line*:-1: No such file or directory
> =C2=A0comp-image >>>./temp-image.fi1<<< ./temp-image.fi2 ussa.fi bye
> =C2=A0Backtrace:
> =C2=A0$7F7C1A6DE850 throw
> =C2=A0$7F7C1A714408 slurp-file
> =C2=A0chmod: cannot access `ussa.fi': No such file or directory
> =C2=A0rm: cannot remove `./temp-image.fi1': No such file or directory
> =C2=A0rm: cannot remove `./temp-image.fi2': No such file or directory
>
> Though it works well with an empty source file.
>
> =C2=A0[bahman@bleda Temp]$ touch foo.fs
> =C2=A0[bahman@bleda Temp]$ gforthmi foo.fi foo.fs
> =C2=A0redefined th =C2=A0data offset=3D43CCF071C0
> =C2=A0code offset=3D-1767F30
> =C2=A0 =C2=A0 xt offset=3D-1767F50
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 60 =C2=A0 =C2=A0 7F1BB8424000 =C2=A0 =C2=A0 7=
F5F8532B000
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 68 =C2=A0 =C2=A0 7F1BB8429000 =C2=A0 =C2=A0 7=
F5F85330000
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 70 =C2=A0 =C2=A0 7F1BB842E000 =C2=A0 =C2=A0 7=
F5F85335000
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 78 =C2=A0 =C2=A0 7F1BB8433000 =C2=A0 =C2=A0 7=
F5F8533A000
> =C2=A0 =C2=A0 2F58 =C2=A0 =C2=A0 7F1BB8428000 =C2=A0 =C2=A0 7F5F8532F000
> =C2=A0 =C2=A0 2F60 =C2=A0 =C2=A0 7F1BB8431C00 =C2=A0 =C2=A0 7F5F85338C00
> =C2=A0 =C2=A0 2F68 =C2=A0 =C2=A0 7F1BB842D000 =C2=A0 =C2=A0 7F5F85334000
> =C2=A0 =C2=A0 2F78 =C2=A0 =C2=A0 7F1BB8431B30 =C2=A0 =C2=A0 7F5F85338B30
> =C2=A0 =C2=A0 2F80 =C2=A0 =C2=A0 7F1BB8431B28 =C2=A0 =C2=A0 7F5F85338B28
> =C2=A0 =C2=A0 2F98 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02456480 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 CEE480
> =C2=A0 =C2=A0 4DC0 =C2=A0 =C2=A0 7F1BB7B817C0 =C2=A0 =C2=A0 7F5F84A887C0
> =C2=A0 =C2=A0 4DF8 =C2=A0 =C2=A0 7F1BB7B818A0 =C2=A0 =C2=A0 7F5F84A888A0
> =C2=A0 =C2=A010C70 =C2=A0 =C2=A0 7FFF31EDD640 =C2=A0 =C2=A0 7FFF4A239730
> =C2=A0 =C2=A010CD8 =C2=A0 =C2=A0 7FFF31EDD858 =C2=A0 =C2=A0 7FFF4A239948
> =C2=A0 =C2=A011B80 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02462840 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 CFA840
> =C2=A0 =C2=A013958 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0247BB10 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D13B10
> =C2=A0 =C2=A01CB68 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02470900 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D08900
> =C2=A0 =C2=A01CC08 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02462F20 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 CFAF20
> =C2=A0 =C2=A027E38 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02472F60 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D0AF60
> =C2=A0 =C2=A02BE20 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A024731A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D0B1A0
> =C2=A0 =C2=A03C8B8 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0247B4B0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D134B0
>
> I tested the above on both a 64bit and a 32bit machines and the
> results were exactly the same.
> What am I doing wrong? =C2=A0Is it possible that my source code is the
> reason for this?
>
> I'd appreciate any hint/help. =C2=A0TIA,
>
> --
> Bahman Movaqar (http://BahmanM.com)
> ERP Evaluation, Implementation and Deployment Consultant


From MAILER-DAEMON Sun Nov 06 14:51:04 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RN8kC-0000j7-Dz
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 14:51:04 -0500
Received: from eggs.gnu.org ([140.186.70.92]:34167)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN8k8-0000i5-GW
	for gforth@gnu.org; Sun, 06 Nov 2011 14:51:02 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN8k6-0006Kq-QM
	for gforth@gnu.org; Sun, 06 Nov 2011 14:51:00 -0500
Received: from mail-gx0-f169.google.com ([209.85.161.169]:65138)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN8k6-0006Kj-KE
	for gforth@gnu.org; Sun, 06 Nov 2011 14:50:58 -0500
Received: by ggnh4 with SMTP id h4so5169189ggn.0
	for <gforth@gnu.org>; Sun, 06 Nov 2011 11:50:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:content-type:content-transfer-encoding;
	bh=Ky/jJoZzhv9gU2T8fOmJcjtFiokC2sVbUlzi9qn+gZA=;
	b=btBXS6fa1Po1m0o7dRCL9WM+iavsY1Kcsh6McmqzqCLxwEAmhTBjtuIrYNeUbuGa5M
	juER7hprNRXxfVuq8ho/HvHyRocrenoqk4vs16q2rjAX6XOnN8l+V2G/v+oZf5+Curo3
	/5TSk6/0AkPCANGX4giiCW61CET/+UAojZtgg=
Received: by 10.101.45.5 with SMTP id x5mr5247631anj.73.1320609056122; Sun, 06
	Nov 2011 11:50:56 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 6 Nov 2011 11:50:25 -0800 (PST)
In-Reply-To: <CAHRMfj7rYKWbGedDkV9VoEVN5d28EY8zNxCpRcAoAV1vNbPyRw@mail.gmail.com>
References: <CAHRMfj6+qomC-BmCsaLsQL2txU9Sy99Ea2b+O+gXY=1Ug7hPGQ@mail.gmail.com>
	<CAHRMfj7rYKWbGedDkV9VoEVN5d28EY8zNxCpRcAoAV1vNbPyRw@mail.gmail.com>
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Sun, 6 Nov 2011 23:20:25 +0330
Message-ID: <CAHRMfj4bcE_zrf7ktwDnubn6ZQpX2Zt7bQNqffHxW1m-GjZh1w@mail.gmail.com>
To: gforth@gnu.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.161.169
Subject: Re: [gforth] gforthmi segmentation fault
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 19:51:02 -0000

"tathi" on #forth pointed me to the root of the problem.  I was
'2dup'ing on an empty stack and hence the error.

--
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


On Sun, Nov 6, 2011 at 19:00, Bahman Movaqar <b.movaqar@gmail.com> wrote:
> This is the source code I'm trying to make an image of:
> http://pastebin.com/b8R06Cur
>
> I hope it helps.
>
> On Sun, Nov 6, 2011 at 17:36, Bahman Movaqar <b.movaqar@gmail.com> wrote:
>>
>> Hi all,
>>
>> I'm very new to Forth so please bear with me if I'm missing something
>> very obvious.
>>
>> Every time I run 'gforthmi' it chokes on 'segmentation fault' like below=
:
>>
>> =C2=A0[bahman@bleda ussa]$ gforthmi ussa.fi ussa.fs
>> =C2=A0redefined block-offset
>>
>> =C2=A0Segmentation fault.
>> =C2=A0redefined block-offset
>>
>> =C2=A0Segmentation fault.
>> =C2=A0redefined th
>> =C2=A0*OS command line*:-1: No such file or directory
>> =C2=A0comp-image >>>./temp-image.fi1<<< ./temp-image.fi2 ussa.fi bye
>> =C2=A0Backtrace:
>> =C2=A0$7F7C1A6DE850 throw
>> =C2=A0$7F7C1A714408 slurp-file
>> =C2=A0chmod: cannot access `ussa.fi': No such file or directory
>> =C2=A0rm: cannot remove `./temp-image.fi1': No such file or directory
>> =C2=A0rm: cannot remove `./temp-image.fi2': No such file or directory
>>
>> Though it works well with an empty source file.
>>
>> =C2=A0[bahman@bleda Temp]$ touch foo.fs
>> =C2=A0[bahman@bleda Temp]$ gforthmi foo.fi foo.fs
>> =C2=A0redefined th =C2=A0data offset=3D43CCF071C0
>> =C2=A0code offset=3D-1767F30
>> =C2=A0 =C2=A0 xt offset=3D-1767F50
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 60 =C2=A0 =C2=A0 7F1BB8424000 =C2=A0 =C2=A0 =
7F5F8532B000
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 68 =C2=A0 =C2=A0 7F1BB8429000 =C2=A0 =C2=A0 =
7F5F85330000
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 70 =C2=A0 =C2=A0 7F1BB842E000 =C2=A0 =C2=A0 =
7F5F85335000
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 78 =C2=A0 =C2=A0 7F1BB8433000 =C2=A0 =C2=A0 =
7F5F8533A000
>> =C2=A0 =C2=A0 2F58 =C2=A0 =C2=A0 7F1BB8428000 =C2=A0 =C2=A0 7F5F8532F000
>> =C2=A0 =C2=A0 2F60 =C2=A0 =C2=A0 7F1BB8431C00 =C2=A0 =C2=A0 7F5F85338C00
>> =C2=A0 =C2=A0 2F68 =C2=A0 =C2=A0 7F1BB842D000 =C2=A0 =C2=A0 7F5F85334000
>> =C2=A0 =C2=A0 2F78 =C2=A0 =C2=A0 7F1BB8431B30 =C2=A0 =C2=A0 7F5F85338B30
>> =C2=A0 =C2=A0 2F80 =C2=A0 =C2=A0 7F1BB8431B28 =C2=A0 =C2=A0 7F5F85338B28
>> =C2=A0 =C2=A0 2F98 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02456480 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 CEE480
>> =C2=A0 =C2=A0 4DC0 =C2=A0 =C2=A0 7F1BB7B817C0 =C2=A0 =C2=A0 7F5F84A887C0
>> =C2=A0 =C2=A0 4DF8 =C2=A0 =C2=A0 7F1BB7B818A0 =C2=A0 =C2=A0 7F5F84A888A0
>> =C2=A0 =C2=A010C70 =C2=A0 =C2=A0 7FFF31EDD640 =C2=A0 =C2=A0 7FFF4A239730
>> =C2=A0 =C2=A010CD8 =C2=A0 =C2=A0 7FFF31EDD858 =C2=A0 =C2=A0 7FFF4A239948
>> =C2=A0 =C2=A011B80 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02462840 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 CFA840
>> =C2=A0 =C2=A013958 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0247BB10 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D13B10
>> =C2=A0 =C2=A01CB68 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02470900 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D08900
>> =C2=A0 =C2=A01CC08 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02462F20 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 CFAF20
>> =C2=A0 =C2=A027E38 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A02472F60 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D0AF60
>> =C2=A0 =C2=A02BE20 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A024731A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D0B1A0
>> =C2=A0 =C2=A03C8B8 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0247B4B0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 D134B0
>>
>> I tested the above on both a 64bit and a 32bit machines and the
>> results were exactly the same.
>> What am I doing wrong? =C2=A0Is it possible that my source code is the
>> reason for this?
>>
>> I'd appreciate any hint/help. =C2=A0TIA,


From MAILER-DAEMON Sun Nov 06 15:00:55 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RN8tj-0001H4-95
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 15:00:55 -0500
Received: from eggs.gnu.org ([140.186.70.92]:54041)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN8th-0001Gy-Nw
	for gforth@gnu.org; Sun, 06 Nov 2011 15:00:54 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN8tg-0007hG-NR
	for gforth@gnu.org; Sun, 06 Nov 2011 15:00:53 -0500
Received: from mail-gx0-f169.google.com ([209.85.161.169]:44573)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN8tg-0007hC-HV
	for gforth@gnu.org; Sun, 06 Nov 2011 15:00:52 -0500
Received: by ggnh4 with SMTP id h4so5177035ggn.0
	for <gforth@gnu.org>; Sun, 06 Nov 2011 12:00:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=FouSvaNkhfHSn3WvIm992T/uImTs/kBGGpQzcnK42a8=;
	b=W7oYBylAssSOskq7K46kBVPz2/vLhbb8ZIzI1HwHCjOQVPJ8nVJJ3Mf6XrV24Bh/+s
	AUOHx8A6/5EW+n7sYn47Fmj/3Ge0DNL9hWWmmCAPua1DaxiE0KycFw/JCRrw5xxcyabb
	D1+atB4t+13xdW9wuWye/7PELSuCbyl51SswA=
Received: by 10.101.45.5 with SMTP id x5mr5252264anj.73.1320609652097; Sun, 06
	Nov 2011 12:00:52 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 6 Nov 2011 12:00:21 -0800 (PST)
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Sun, 6 Nov 2011 23:30:21 +0330
Message-ID: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
To: gforth@gnu.org
Content-Type: text/plain; charset=UTF-8
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.161.169
Subject: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 20:00:54 -0000

I'm going to write an application using Forth.  The source of this
application must *not* be readable by others.
AFAIU if I create an image of the source, once still can 'SEE' the
words after loading the image.  Is that right?  If yes, are there any
ways to make an executable binary file (like a compiled and linked C
program) out of a collection of Forth source files?

BTW, I'm using Gforth.  TIA,

--
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


From MAILER-DAEMON Sun Nov 06 15:17:58 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RN9AE-0005qx-Tr
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 15:17:58 -0500
Received: from eggs.gnu.org ([140.186.70.92]:59055)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RN9AC-0005hH-6q
	for gforth@gnu.org; Sun, 06 Nov 2011 15:17:57 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RN9AA-00016n-6X
	for gforth@gnu.org; Sun, 06 Nov 2011 15:17:56 -0500
Received: from mailout-de.gmx.net ([213.165.64.23]:48285)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RN9A9-00016P-PG
	for gforth@gnu.org; Sun, 06 Nov 2011 15:17:54 -0500
Received: (qmail invoked by alias); 06 Nov 2011 20:17:51 -0000
Received: from p5DCD63FB.dip0.t-ipconnect.de (EHLO sunwukong.site)
	[93.205.99.251]
	by mail.gmx.net (mp025) with SMTP; 06 Nov 2011 21:17:51 +0100
X-Authenticated: #153925
X-Provags-ID: V01U2FsdGVkX19xBINnWiFxGFNXhO0abHJ3AjIglACm04VKSMPzbx
	tdPYXdlbCmcZKf
From: Bernd Paysan <bernd.paysan@gmx.de>
To: gforth@gnu.org
Date: Sun, 06 Nov 2011 21:17:34 +0100
Message-ID: <1383217.jujzClTTdx@sunwukong.site>
User-Agent: KMail/4.7.3 (Linux/2.6.37.6-0.7-desktop; KDE/4.7.3; x86_64; ; )
In-Reply-To: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart2175326.YfnNvPvdNT";
	micalg="pgp-sha1"; protocol="application/pgp-signature"
Content-Transfer-Encoding: 7Bit
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 213.165.64.23
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 20:17:57 -0000


--nextPart2175326.YfnNvPvdNT
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Am Sonntag, 6. November 2011, 23:30:21 schrieb Bahman Movaqar:
> I'm going to write an application using Forth.  The source of this
> application must *not* be readable by others.
> AFAIU if I create an image of the source, once still can 'SEE' the
> words after loading the image.  Is that right?  If yes, are there any
> ways to make an executable binary file (like a compiled and linked C
> program) out of a collection of Forth source files?
> 
> BTW, I'm using Gforth.  TIA,

Gforth is under GPL.  If you plan to do that, you first of all need a GPL 
exception, you cannot do that with the license under which you have obtained 
Gforth - this is different from C, where the binary does not contain the C 
compiler.  I think you can negotiate that with Anton and me, when you have 
good reasons - making money is a good reason, but then you need to share some 
of that money with us.

When you create the image out of the source, simply don't load the decompiler, 
and don't allow the user to load something like a decompiler.  Otherwise: 
There are decompilers for C available, so a C binary with symbols is not that 
much more obfuscated.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

--nextPart2175326.YfnNvPvdNT
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)

iEYEABECAAYFAk6262wACgkQi4ILt2cAfDDYqACdEy4hOffRBxsDcorcFZGUfmo8
ersAnjRu5OL0u8QfP+CPV4wct/hGCOCK
=Tbim
-----END PGP SIGNATURE-----

--nextPart2175326.YfnNvPvdNT--



From MAILER-DAEMON Sun Nov 06 15:41:36 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RN9X6-0001Xt-GP
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 15:41:36 -0500
Received: from eggs.gnu.org ([140.186.70.92]:49293)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN9X4-0001Xn-Ou
	for gforth@gnu.org; Sun, 06 Nov 2011 15:41:35 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN9X3-00041Y-Et
	for gforth@gnu.org; Sun, 06 Nov 2011 15:41:34 -0500
Received: from mail-yw0-f41.google.com ([209.85.213.41]:39678)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RN9X3-00041T-94
	for gforth@gnu.org; Sun, 06 Nov 2011 15:41:33 -0500
Received: by ywa17 with SMTP id 17so5204708ywa.0
	for <gforth@gnu.org>; Sun, 06 Nov 2011 12:41:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=nvPIEjSXpe5w0aqvsSErWjf1ddPe2uQcZ6/zKWxMGdo=;
	b=ftTrImZpIEGAkIaNPvW1tupeO4mJDE2im63BvVXQjQZU7kmtjfG0Txqguc4iO1QB/s
	QxjhWx9RD1+tt/1c8YA6tg/w9csrB8uNKD/C3+kla5NEsHQ+ADIdCYtv7vfKWXtUsK2m
	cU2b0CBrF8tOuMTbsYz5exPba5O/WW6P4rx5U=
Received: by 10.101.111.11 with SMTP id o11mr5336690anm.139.1320612092067;
	Sun, 06 Nov 2011 12:41:32 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 6 Nov 2011 12:41:01 -0800 (PST)
In-Reply-To: <1383217.jujzClTTdx@sunwukong.site>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site>
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Mon, 7 Nov 2011 00:11:01 +0330
Message-ID: <CAHRMfj7WQeKjvqC5J-M=19ZvkS=t6joUHfZFn6OR8v6s9vqiDw@mail.gmail.com>
To: Bernd Paysan <bernd.paysan@gmx.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.213.41
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 20:41:35 -0000

On Sun, Nov 6, 2011 at 23:47, Bernd Paysan <bernd.paysan@gmx.de> wrote:
> Am Sonntag, 6. November 2011, 23:30:21 schrieb Bahman Movaqar:
>> I'm going to write an application using Forth. =C2=A0The source of this
>> application must *not* be readable by others.
>> AFAIU if I create an image of the source, once still can 'SEE' the
>> words after loading the image. =C2=A0Is that right? =C2=A0If yes, are th=
ere any
>> ways to make an executable binary file (like a compiled and linked C
>> program) out of a collection of Forth source files?
>>
>> BTW, I'm using Gforth. =C2=A0TIA,
>
> Gforth is under GPL. =C2=A0If you plan to do that, you first of all need =
a GPL
> exception, you cannot do that with the license under which you have obtai=
ned
> Gforth - this is different from C, where the binary does not contain the =
C
> compiler. =C2=A0I think you can negotiate that with Anton and me, when yo=
u have
> good reasons - making money is a good reason, but then you need to share =
some
> of that money with us.

Oh!  Didn't know about that.  No doubt, if I make my final decision to
write this application in Forth, I will contact you & Anton.

> When you create the image out of the source, simply don't load the decomp=
iler,
> and don't allow the user to load something like a decompiler. =C2=A0Other=
wise:
> There are decompilers for C available, so a C binary with symbols is not =
that
> much more obfuscated.

So, basically, this means that there *is* a way to have a Forth image
file, un'SEE'able by others.  Am I right?

--
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


From MAILER-DAEMON Sun Nov 06 16:47:16 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNAYe-0003KZ-6R
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 16:47:16 -0500
Received: from eggs.gnu.org ([140.186.70.92]:57624)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNAYb-0003Jx-JU
	for gforth@gnu.org; Sun, 06 Nov 2011 16:47:14 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNAYa-0004ni-90
	for gforth@gnu.org; Sun, 06 Nov 2011 16:47:13 -0500
Received: from mailout-de.gmx.net ([213.165.64.23]:48589)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNAYZ-0004nN-Sx
	for gforth@gnu.org; Sun, 06 Nov 2011 16:47:12 -0500
Received: (qmail invoked by alias); 06 Nov 2011 21:47:08 -0000
Received: from g225043049.adsl.alicedsl.de (EHLO snail.gmx.de) [92.225.43.49]
	by mail.gmx.net (mp025) with SMTP; 06 Nov 2011 22:47:08 +0100
X-Authenticated: #4121607
X-Provags-ID: V01U2FsdGVkX1+Wa/US6/iW3yS4yXfVZf4UDtIYfmfZe0M1hOgSTF
	5VdRe/lIjQr8Kw
From: David Kuehling <dvdkhlng@gmx.de>
To: Bernd Paysan <bernd.paysan@gmx.de>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site>
Date: Sun, 06 Nov 2011 22:47:04 +0100
In-Reply-To: <1383217.jujzClTTdx@sunwukong.site> (Bernd Paysan's message of
	"Sun, 06 Nov 2011 21:17:34 +0100")
Message-ID: <87wrbcq5yf.fsf@snail.Pool>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
	micalg=pgp-sha1; protocol="application/pgp-signature"
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 213.165.64.23
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 21:47:15 -0000

--=-=-=
Content-Transfer-Encoding: quoted-printable

>>>>> "Bernd" =3D=3D Bernd Paysan <bernd.paysan@gmx.de> writes:

> Am Sonntag, 6. November 2011, 23:30:21 schrieb Bahman Movaqar:
>> I'm going to write an application using Forth.  The source of this
>> application must *not* be readable by others.  AFAIU if I create an
>> image of the source, once still can 'SEE' the words after loading the
>> image.  Is that right?  If yes, are there any ways to make an
>> executable binary file (like a compiled and linked C program) out of
>> a collection of Forth source files?
>>=20
>> BTW, I'm using Gforth.  TIA,

> Gforth is under GPL.  If you plan to do that, you first of all need a
> GPL exception, you cannot do that with the license under which you
> have obtained Gforth - this is different from C, where the binary does
> not contain the C compiler.  I think you can negotiate that with Anton
> and me, when you have good reasons - making money is a good reason,
> but then you need to share some of that money with us.

... or with the Free Software Foundation?  Most of the Gforth copyright
is assigned to the FSF, have a lot of fun negating with them :)

You might get around the licensing restriction, using Gforth's cross
compiler.  Have a look at chapter 13.1 Image Licensing Issues in the
Gforth manual.

cheers,

David
=2D-=20
GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40

--=-=-=
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk63AFkACgkQfe9TI8F0fUBnjgCfSySjGcJTJfSyba9d1/yQ9s0I
OCkAnijv9JRvMsRoH9uJn1EDclxrrl8k
=DzWk
-----END PGP SIGNATURE-----
--=-=-=--


From MAILER-DAEMON Sun Nov 06 16:51:51 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNAd5-000683-BS
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 16:51:51 -0500
Received: from eggs.gnu.org ([140.186.70.92]:49592)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RNAd2-0005xO-NL
	for gforth@gnu.org; Sun, 06 Nov 2011 16:51:49 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RNAd0-0005WX-TH
	for gforth@gnu.org; Sun, 06 Nov 2011 16:51:48 -0500
Received: from mailout-de.gmx.net ([213.165.64.22]:57539)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RNAd0-0005WF-CG
	for gforth@gnu.org; Sun, 06 Nov 2011 16:51:46 -0500
Received: (qmail invoked by alias); 06 Nov 2011 21:51:44 -0000
Received: from p5DCD63FB.dip0.t-ipconnect.de (EHLO sunwukong.site)
	[93.205.99.251]
	by mail.gmx.net (mp014) with SMTP; 06 Nov 2011 22:51:44 +0100
X-Authenticated: #153925
X-Provags-ID: V01U2FsdGVkX18mp7IvD2wmZ/Y723cu2JkMQS/a87R7CReU5sMkQf
	oYgZ1l3ZSI652W
From: Bernd Paysan <bernd.paysan@gmx.de>
To: David Kuehling <dvdkhlng@gmx.de>
Date: Sun, 06 Nov 2011 22:51:41 +0100
Message-ID: <2439830.JtozVixu0m@sunwukong.site>
User-Agent: KMail/4.7.3 (Linux/2.6.37.6-0.7-desktop; KDE/4.7.3; x86_64; ; )
In-Reply-To: <87wrbcq5yf.fsf@snail.Pool>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site> <87wrbcq5yf.fsf@snail.Pool>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart7506770.x9jkyGoRdf";
	micalg="pgp-sha1"; protocol="application/pgp-signature"
Content-Transfer-Encoding: 7Bit
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 213.165.64.22
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 21:51:49 -0000


--nextPart7506770.x9jkyGoRdf
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Am Sonntag, 6. November 2011, 22:47:04 schrieb David Kuehling:
> ... or with the Free Software Foundation?  Most of the Gforth copyright
> is assigned to the FSF, have a lot of fun negating with them :)

No, this is a non-exclusive copyright transfer, the FSF does not have the 
right to redistribute under anything else than the GPL (whatever version they 
like to, but it has to be the same spirit).  We, the authors, do, though we 
are limited to non-exclusive copyright transfers, as we can't take the 
agreement with the FSF back.  This all is very well thought through by the 
FSF.

> You might get around the licensing restriction, using Gforth's cross
> compiler.  Have a look at chapter 13.1 Image Licensing Issues in the
> Gforth manual.

Yes, but then, you have to write everything above the primitives yourself, 
which doesn't sound practical.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

--nextPart7506770.x9jkyGoRdf
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)

iEYEABECAAYFAk63AW4ACgkQi4ILt2cAfDB+ZwCfRvS8y8iDbRNo8vpmypiFc/5Q
3OsAoKQditT8vD7QaUhBbUlLfy+GVJTr
=Z74y
-----END PGP SIGNATURE-----

--nextPart7506770.x9jkyGoRdf--



From MAILER-DAEMON Sun Nov 06 17:01:18 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNAmD-0008Bh-Vw
	for mharc-gforth@gnu.org; Sun, 06 Nov 2011 17:01:17 -0500
Received: from eggs.gnu.org ([140.186.70.92]:41023)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RNAmC-0008Ba-4L
	for gforth@gnu.org; Sun, 06 Nov 2011 17:01:17 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RNAmA-0006vS-Kp
	for gforth@gnu.org; Sun, 06 Nov 2011 17:01:16 -0500
Received: from mail-gx0-f169.google.com ([209.85.161.169]:44802)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RNAmA-0006vG-Ba
	for gforth@gnu.org; Sun, 06 Nov 2011 17:01:14 -0500
Received: by ggnh4 with SMTP id h4so5270018ggn.0
	for <gforth@gnu.org>; Sun, 06 Nov 2011 14:01:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=Cn3/LFy6sK7OZ/PHLMMFdQwK/lJ4ZYhC4Txyxks6ct8=;
	b=Hk/BdoAj6aHwcYj8VoSnSvaA5E/NIyNk0ijdPUaT2f8xXKmau436mEF9ay6U5tZ3VM
	Axe1J6zT0S9mOpqT4My68xVC7xjRSJNVWJXgEAWv3mQl5LA7Bng/CiTzIrbq9ic5Q2Fc
	4qIREwmA76+6KrqIO6ihFvK6zR6E/aMghrjP0=
Received: by 10.100.129.10 with SMTP id b10mr5273648and.162.1320616873088;
	Sun, 06 Nov 2011 14:01:13 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 6 Nov 2011 14:00:41 -0800 (PST)
In-Reply-To: <87wrbcq5yf.fsf@snail.Pool>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site> <87wrbcq5yf.fsf@snail.Pool>
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Mon, 7 Nov 2011 01:30:41 +0330
Message-ID: <CAHRMfj7aPb=LbrLt8P054uHQxm5op8OX2d0L3H9eTZ3At9W6iA@mail.gmail.com>
To: David Kuehling <dvdkhlng@gmx.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.161.169
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Nov 2011 22:01:17 -0000

On Mon, Nov 7, 2011 at 01:17, David Kuehling <dvdkhlng@gmx.de> wrote:
>>>>>> "Bernd" =3D=3D Bernd Paysan <bernd.paysan@gmx.de> writes:
>
>> Am Sonntag, 6. November 2011, 23:30:21 schrieb Bahman Movaqar:
>>> I'm going to write an application using Forth. =C2=A0The source of this
>>> application must *not* be readable by others. =C2=A0AFAIU if I create a=
n
>>> image of the source, once still can 'SEE' the words after loading the
>>> image. =C2=A0Is that right? =C2=A0If yes, are there any ways to make an
>>> executable binary file (like a compiled and linked C program) out of
>>> a collection of Forth source files?
>>>
>>> BTW, I'm using Gforth. =C2=A0TIA,
>
>> Gforth is under GPL. =C2=A0If you plan to do that, you first of all need=
 a
>> GPL exception, you cannot do that with the license under which you
>> have obtained Gforth - this is different from C, where the binary does
>> not contain the C compiler. =C2=A0I think you can negotiate that with An=
ton
>> and me, when you have good reasons - making money is a good reason,
>> but then you need to share some of that money with us.
>
> ... or with the Free Software Foundation? =C2=A0Most of the Gforth copyri=
ght
> is assigned to the FSF, have a lot of fun negating with them :)
>
> You might get around the licensing restriction, using Gforth's cross
> compiler. =C2=A0Have a look at chapter 13.1 Image Licensing Issues in the
> Gforth manual.

Nice hint :-D  Thank you.  I guess that fulfils my requirement.

However, I'm not an expert on the (c) tricks so to avoid any problems,
I just explain the distribution process I'll use and I'll be more than
grateful if someone could confirm that it doesn't conflict with GPL.

The process: I make an image of the sources using 'cross'.  I put the
image (with no source) on a CD along with Gforth binaries and a GPL
copyright text.  I sell the CD at price X.

--=20
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


From MAILER-DAEMON Mon Nov 07 04:29:55 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNLWd-0005cq-UY
	for mharc-gforth@gnu.org; Mon, 07 Nov 2011 04:29:55 -0500
Received: from eggs.gnu.org ([140.186.70.92]:46601)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNLWY-0005bN-SH
	for gforth@gnu.org; Mon, 07 Nov 2011 04:29:52 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNLWX-0002eI-5w
	for gforth@gnu.org; Mon, 07 Nov 2011 04:29:50 -0500
Received: from mailout-de.gmx.net ([213.165.64.23]:40573)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNLWW-0002eE-NU
	for gforth@gnu.org; Mon, 07 Nov 2011 04:29:49 -0500
Received: (qmail invoked by alias); 07 Nov 2011 09:29:47 -0000
Received: from g225033222.adsl.alicedsl.de (EHLO mosquito.pool.gmx.de)
	[92.225.33.222]
	by mail.gmx.net (mp045) with SMTP; 07 Nov 2011 10:29:47 +0100
X-Authenticated: #4121607
X-Provags-ID: V01U2FsdGVkX19utsUfpuxuQrfq//S4U6qWI0X9R3B8eg9S6A42IE
	YLqkBJJ/aIlwpV
From: David Kuehling <dvdkhlng@gmx.de>
To: Bahman Movaqar <b.movaqar@gmail.com>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site> <87wrbcq5yf.fsf@snail.Pool>
	<CAHRMfj7aPb=LbrLt8P054uHQxm5op8OX2d0L3H9eTZ3At9W6iA@mail.gmail.com>
Date: Mon, 07 Nov 2011 10:29:37 +0100
In-Reply-To: <CAHRMfj7aPb=LbrLt8P054uHQxm5op8OX2d0L3H9eTZ3At9W6iA@mail.gmail.com>
	(Bahman Movaqar's message of "Mon, 7 Nov 2011 01:30:41 +0330")
Message-ID: <87r51kwa9q.fsf@mosquito.pool>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
	micalg=pgp-sha1; protocol="application/pgp-signature"
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 213.165.64.23
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Nov 2011 09:29:52 -0000

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

>>>>> "Bahman" =3D=3D Bahman Movaqar <b.movaqar@gmail.com> writes:

> On Mon, Nov 7, 2011 at 01:17, David Kuehling <dvdkhlng@gmx.de> wrote:
>>>>>>> "Bernd" =3D=3D Bernd Paysan <bernd.paysan@gmx.de> writes:
>>=20
>>> Am Sonntag, 6. November 2011, 23:30:21 schrieb Bahman Movaqar:
>>>> I'm going to write an application using Forth. =C2=A0The source of this
>>>> application must *not* be readable by others. =C2=A0AFAIU if I create =
an
>>>> image of the source, once still can 'SEE' the words after loading
>>>> the image. =C2=A0Is that right? =C2=A0If yes, are there any ways to ma=
ke an
>>>> executable binary file (like a compiled and linked C program) out
>>>> of a collection of Forth source files?
>>>>=20
>>>> BTW, I'm using Gforth. =C2=A0TIA,
>>=20
>>> Gforth is under GPL. =C2=A0If you plan to do that, you first of all need
>>> a GPL exception, you cannot do that with the license under which you
>>> have obtained Gforth - this is different from C, where the binary
>>> does not contain the C compiler. =C2=A0I think you can negotiate that
>>> with Anton and me, when you have good reasons - making money is a
>>> good reason, but then you need to share some of that money with us.
>>=20
>> ... or with the Free Software Foundation? =C2=A0Most of the Gforth
>> copyright is assigned to the FSF, have a lot of fun negating with
>> them :)
>>=20
>> You might get around the licensing restriction, using Gforth's cross
>> compiler. =C2=A0Have a look at chapter 13.1 Image Licensing Issues in the
>> Gforth manual.

> Nice hint :-D Thank you.  I guess that fulfils my requirement.

> However, I'm not an expert on the (c) tricks so to avoid any problems,
> I just explain the distribution process I'll use and I'll be more than
> grateful if someone could confirm that it doesn't conflict with GPL.

> The process: I make an image of the sources using 'cross'.  I put the
> image (with no source) on a CD along with Gforth binaries and a GPL
> copyright text.  I sell the CD at price X.

This could work under the "boundle" software shipping interpretation of
the GPL.  You should also include the Gforth sources on the CD to make
sure all GPL redistribution condutions are satisfied.  I.e. just putting
the GPL text on the CD might not bu sufficient, better have a thorough
look on the GPL.

Are you sure you don't want to just put your software in source code
form onto the CD, and run it from source code?  Forth code without
comments will be sufficiently obfuscated anyways :)

cheers,

David
=2D-=20
GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40

--=-=-=
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAk63pQMACgkQfe9TI8F0fUDbsACeIyJTCfR5DYWY4KlfR0//y5Qr
i4UAn2GmZ9yOJZdOdKi2DTxwQZa+jrjF
=rJqa
-----END PGP SIGNATURE-----
--=-=-=--


From MAILER-DAEMON Mon Nov 07 04:55:58 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNLvq-0000na-9G
	for mharc-gforth@gnu.org; Mon, 07 Nov 2011 04:55:58 -0500
Received: from eggs.gnu.org ([140.186.70.92]:57087)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNLvn-0000mX-FM
	for gforth@gnu.org; Mon, 07 Nov 2011 04:55:56 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNLvm-0006X2-Ch
	for gforth@gnu.org; Mon, 07 Nov 2011 04:55:55 -0500
Received: from a4.complang.tuwien.ac.at ([128.130.173.65]:48114)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNLvm-0006WP-5m
	for gforth@gnu.org; Mon, 07 Nov 2011 04:55:54 -0500
Received: from anton by a4.complang.tuwien.ac.at with local (Exim 4.69)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNLvi-00072Z-Tl; Mon, 07 Nov 2011 10:55:50 +0100
Date: Mon, 7 Nov 2011 10:55:50 +0100
From: Anton Ertl <anton@mips.complang.tuwien.ac.at>
To: Bernd Paysan <bernd.paysan@gmx.de>
Message-ID: <20111107095550.GA26886@a4.complang.tuwien.ac.at>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1383217.jujzClTTdx@sunwukong.site>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 128.130.173.65
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
Reply-To: anton@mips.complang.tuwien.ac.at
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Nov 2011 09:55:56 -0000

On Sun, Nov 06, 2011 at 09:17:34PM +0100, Bernd Paysan wrote:
> Gforth is under GPL.  If you plan to do that, you first of all need a GPL 
> exception, you cannot do that with the license under which you have obtained 
> Gforth - this is different from C, where the binary does not contain the C 
> compiler.  I think you can negotiate that with Anton and me

The FSF is the copyright holder.  While we have the right to
distribute our contributions under a different license, we are not the
only contributors to Gforth, so that option is not really practical.

- anton



From MAILER-DAEMON Mon Nov 07 05:10:38 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNMA2-0003oa-DO
	for mharc-gforth@gnu.org; Mon, 07 Nov 2011 05:10:38 -0500
Received: from eggs.gnu.org ([140.186.70.92]:55982)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNMA0-0003nY-1o
	for gforth@gnu.org; Mon, 07 Nov 2011 05:10:36 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNM9y-0000fP-Mx
	for gforth@gnu.org; Mon, 07 Nov 2011 05:10:36 -0500
Received: from a4.complang.tuwien.ac.at ([128.130.173.65]:34837)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNM9y-0000fJ-Gt
	for gforth@gnu.org; Mon, 07 Nov 2011 05:10:34 -0500
Received: from anton by a4.complang.tuwien.ac.at with local (Exim 4.69)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RNM9u-00077A-Sg; Mon, 07 Nov 2011 11:10:30 +0100
Date: Mon, 7 Nov 2011 11:10:30 +0100
From: Anton Ertl <anton@mips.complang.tuwien.ac.at>
To: David Kuehling <dvdkhlng@gmx.de>
Message-ID: <20111107101030.GC26886@a4.complang.tuwien.ac.at>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site> <87wrbcq5yf.fsf@snail.Pool>
	<CAHRMfj7aPb=LbrLt8P054uHQxm5op8OX2d0L3H9eTZ3At9W6iA@mail.gmail.com>
	<87r51kwa9q.fsf@mosquito.pool>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87r51kwa9q.fsf@mosquito.pool>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 128.130.173.65
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
Reply-To: anton@mips.complang.tuwien.ac.at
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Nov 2011 10:10:36 -0000

On Mon, Nov 07, 2011 at 10:29:37AM +0100, David Kuehling wrote:
> > The process: I make an image of the sources using 'cross'.  I put the
> > image (with no source) on a CD along with Gforth binaries and a GPL
> > copyright text.  I sell the CD at price X.
> 
> This could work under the "boundle" software shipping interpretation of
> the GPL.

As the FSF sees it, this does not satisfy the "mere aggregation"
paragraph of the GPL.  After all, the image is made to work with the
engine.

> Are you sure you don't want to just put your software in source code
> form onto the CD, and run it from source code?  Forth code without
> comments will be sufficiently obfuscated anyways :)

Note that, if the Forth source code is Gforth-specific, that's not a
mere aggregation, either, so the "source code" would have to be
distributed under the GPL; and if the real source code contains
comments, it would have to be provided, too.  The planned exception is
to allow distribution of Gforth-specific source code under any
license.

- anton


From MAILER-DAEMON Mon Nov 07 05:29:20 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNMS8-00037T-7X
	for mharc-gforth@gnu.org; Mon, 07 Nov 2011 05:29:20 -0500
Received: from eggs.gnu.org ([140.186.70.92]:46846)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNMS5-00037K-Jx
	for gforth@gnu.org; Mon, 07 Nov 2011 05:29:18 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNMS3-00050K-R0
	for gforth@gnu.org; Mon, 07 Nov 2011 05:29:17 -0500
Received: from mailout-de.gmx.net ([213.165.64.23]:42548)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <dvdkhlng@gmx.de>) id 1RNMS3-0004zz-GN
	for gforth@gnu.org; Mon, 07 Nov 2011 05:29:15 -0500
Received: (qmail invoked by alias); 07 Nov 2011 10:29:13 -0000
Received: from g225033222.adsl.alicedsl.de (EHLO mosquito.pool.gmx.de)
	[92.225.33.222]
	by mail.gmx.net (mp061) with SMTP; 07 Nov 2011 11:29:13 +0100
X-Authenticated: #4121607
X-Provags-ID: V01U2FsdGVkX1/pwVkl7I3pGYn7/WJ5upFevnI7E6C6s37ZY2uGo2
	2CesAbcrP4IzbA
From: David Kuehling <dvdkhlng@gmx.de>
To: anton@mips.complang.tuwien.ac.at
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site> <87wrbcq5yf.fsf@snail.Pool>
	<CAHRMfj7aPb=LbrLt8P054uHQxm5op8OX2d0L3H9eTZ3At9W6iA@mail.gmail.com>
	<87r51kwa9q.fsf@mosquito.pool>
	<20111107101030.GC26886@a4.complang.tuwien.ac.at>
Date: Mon, 07 Nov 2011 11:29:09 +0100
In-Reply-To: <20111107101030.GC26886@a4.complang.tuwien.ac.at> (Anton Ertl's
	message of "Mon, 7 Nov 2011 11:10:30 +0100")
Message-ID: <87ipmww7ii.fsf@mosquito.pool>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
	micalg=pgp-sha1; protocol="application/pgp-signature"
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 213.165.64.23
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Nov 2011 10:29:18 -0000

--=-=-=
Content-Transfer-Encoding: quoted-printable

>>>>> "Anton" =3D=3D Anton Ertl <anton@mips.complang.tuwien.ac.at> writes:

> On Mon, Nov 07, 2011 at 10:29:37AM +0100, David Kuehling wrote:
>> > The process: I make an image of the sources using 'cross'.  I put
>> the > image (with no source) on a CD along with Gforth binaries and a
>> GPL > copyright text.  I sell the CD at price X.
>>=20
>> This could work under the "boundle" software shipping interpretation
>> of the GPL.

> As the FSF sees it, this does not satisfy the "mere aggregation"
> paragraph of the GPL.  After all, the image is made to work with the
> engine.

Hmm, if somebody specified the image file format, so that it became a
quasi-standard that other Forth systems could implement as well, maybe
then the FSF would accept that the distribution of Gforth + Image file
is a mere aggregation?

>> Are you sure you don't want to just put your software in source code
>> form onto the CD, and run it from source code?  Forth code without
>> comments will be sufficiently obfuscated anyways :)

> Note that, if the Forth source code is Gforth-specific, that's not a
> mere aggregation, either, so the "source code" would have to be
> distributed under the GPL; and if the real source code contains
> comments, it would have to be provided, too.  The planned exception is
> to allow distribution of Gforth-specific source code under any
> license.

That exception would be wonderful.  Not that I'm planning to do any
proprietary development, but those license headaches can really turn
people away.  Also with the switch to GPLv3 some GPLv2-only code may
already have become unusable with Gforth :/

cheers,

David
=2D-=20
GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40

--=-=-=
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAk63svUACgkQfe9TI8F0fUBM4QCfW8PKZXhw99Lk0jw3ujJUWs4B
pg0An1U8knphLfypvFdnp/7UKIyAKYRc
=GJQN
-----END PGP SIGNATURE-----
--=-=-=--


From MAILER-DAEMON Mon Nov 07 05:45:21 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RNMhd-00082s-N6
	for mharc-gforth@gnu.org; Mon, 07 Nov 2011 05:45:21 -0500
Received: from eggs.gnu.org ([140.186.70.92]:47917)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RNMha-00081x-K3
	for gforth@gnu.org; Mon, 07 Nov 2011 05:45:19 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RNMhZ-00011e-2X
	for gforth@gnu.org; Mon, 07 Nov 2011 05:45:18 -0500
Received: from mail-yw0-f41.google.com ([209.85.213.41]:44229)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RNMhY-00011U-Us
	for gforth@gnu.org; Mon, 07 Nov 2011 05:45:17 -0500
Received: by ywa17 with SMTP id 17so5912881ywa.0
	for <gforth@gnu.org>; Mon, 07 Nov 2011 02:45:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=9pxJ4BjIe2aFQy91DSaozP1DFC1ASfZspEiAVkX+A/0=;
	b=U2fseqM4RL1+DYs5W+fwMIqUtgjqinNipC+wIwRDYIBU39URubMqJY9gJ0F4wxLD8y
	ClVjF/oqA5+uXLwn3Wyqa4jPNVK7NFc8vcJ6+mt+nIQTenH9OV6E+2rFBFNhQ8n5hu9P
	u5hva7wLmdcNWX947xT9bon8Q9+RQX29JFWPM=
Received: by 10.101.45.5 with SMTP id x5mr5668950anj.73.1320662716193; Mon, 07
	Nov 2011 02:45:16 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Mon, 7 Nov 2011 02:44:45 -0800 (PST)
In-Reply-To: <87ipmww7ii.fsf@mosquito.pool>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site> <87wrbcq5yf.fsf@snail.Pool>
	<CAHRMfj7aPb=LbrLt8P054uHQxm5op8OX2d0L3H9eTZ3At9W6iA@mail.gmail.com>
	<87r51kwa9q.fsf@mosquito.pool>
	<20111107101030.GC26886@a4.complang.tuwien.ac.at>
	<87ipmww7ii.fsf@mosquito.pool>
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Mon, 7 Nov 2011 14:14:45 +0330
Message-ID: <CAHRMfj5Cq1VSQEAyYt=Crns2ui7WP6nvbLHLNLPMi=3S7+G6eg@mail.gmail.com>
To: gforth@gnu.org
Content-Type: multipart/alternative; boundary=001636ed6e72111bde04b122c036
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.213.41
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Nov 2011 10:45:20 -0000

--001636ed6e72111bde04b122c036
Content-Type: text/plain; charset=UTF-8

Thank you all for your responses.

Perhaps it'll make it easier if I explain my circumstances.

I'm an Iranian living in Iran, where there are -virtually- almost no (c)
laws.  The software I'm planning to write is sort of an "illegal copy
protection" software.  So, obviously, the source code must *not* be
-easily- readable by others; hence I insist on distributing it in only
binary form.  No (c) license -be it GPL or anything else- is valid here
(!); but I just want to do something right and moral.

So, now I'm asking you folks to please guide me how can I fulfil these
requirements while not violating any (c) by the creators of the Gforth
(whose efforts I really appreciate)?  Or I better ask is it possible at
all?!

PS: Please note that even if I decided to share some of the money with
Anton and Bernd it would be awfully difficult to transfer money from Iran
to anywhere in EU or north America -sanctions, you know.

-- 
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant

--001636ed6e72111bde04b122c036
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Thank you all for your responses.<br><br>Perhaps it&#39;ll make it easier i=
f I explain my circumstances.<br><br>I&#39;m an Iranian living in Iran, whe=
re there are -virtually- almost no (c) laws.=C2=A0 The software I&#39;m pla=
nning to write is sort of an &quot;illegal copy protection&quot; software.=
=C2=A0 So, obviously, the source code must *not* be -easily- readable by ot=
hers; hence I insist on distributing it in only binary form.=C2=A0 No (c) l=
icense -be it GPL or anything else- is valid here (!); but I just want to d=
o something right and moral.=C2=A0 <br>

<br>So, now I&#39;m asking you folks to please guide me how can I fulfil th=
ese requirements while not violating any (c) by the creators of the Gforth =
(whose efforts I really appreciate)?=C2=A0 Or I better ask is it possible a=
t all?!<br>

<br>PS: Please note that even if I decided to share some of the money with =
Anton and Bernd it=20
would be awfully difficult to transfer money from Iran to anywhere in EU
 or north America -sanctions, you know.<br><br>-- <br>Bahman Movaqar (<a hr=
ef=3D"http://BahmanM.com" target=3D"_blank">http://BahmanM.com</a>)<br>ERP =
Evaluation, Implementation and Deployment Consultant<br>

--001636ed6e72111bde04b122c036--


From MAILER-DAEMON Sat Nov 12 22:04:03 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPQMV-0003qU-Bp
	for mharc-gforth@gnu.org; Sat, 12 Nov 2011 22:04:03 -0500
Received: from eggs.gnu.org ([140.186.70.92]:36145)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPQMS-0003q9-AL
	for gforth@gnu.org; Sat, 12 Nov 2011 22:04:01 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPQMR-0000k2-DD
	for gforth@gnu.org; Sat, 12 Nov 2011 22:04:00 -0500
Received: from white.jasonwoof.com ([216.168.135.82]:55710)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPQMR-0000jr-09
	for gforth@gnu.org; Sat, 12 Nov 2011 22:03:59 -0500
Received: (qmail 61563 invoked from network); 13 Nov 2011 03:05:37 -0000
Received: from unknown (HELO ostrich) (josh@216.227.96.243)
	by white.jasonwoof.com with SMTP; 13 Nov 2011 03:05:37 -0000
Received: by ostrich (sSMTP sendmail emulation);
	Sat, 12 Nov 2011 22:03:57 -0500
Date: Sat, 12 Nov 2011 22:03:57 -0500
From: Josh Grams <josh@qualdan.com>
To: gforth@gnu.org
Message-ID: <20111113030357.GA7163@localdomain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: FreeBSD 6.x (1)
X-Received-From: 216.168.135.82
Subject: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 03:04:01 -0000

I usually try to take a stab at fixing bugs myself, but I'm not sure
where to start with this one...

This happens both on my stock 0.7.0 and the CVS 0.7 (looks like I built
that on Oct. 15).

For some reason, above a particular address, doing the following fails
with an invalid memory address:

1088 allot wordlist >order order 
:1: Invalid memory address
1088 allot wordlist >order >>>order<<<
Backtrace:
$B7945C88 @ 
$B7948F48 >does-code 
$B7945724 interpret/compile? 
$B7945788 (cfa>int) 
$B7945888 (x>int) 
$B79501B0 name>int 
$B7977FF0 
$B7950258 .voc 
$0 
$4 
$B7947EEC execute 


On 0.7.0, `216 allot` is the last safe address, and on my CVS version it
is `1084 allot`.

If you create a new definition after defining the wordlist, then ORDER
works fine again.

--Josh


From MAILER-DAEMON Sat Nov 12 22:35:28 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPQqu-0006VS-3Q
	for mharc-gforth@gnu.org; Sat, 12 Nov 2011 22:35:28 -0500
Received: from eggs.gnu.org ([140.186.70.92]:58370)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPQqr-0006UR-Ee
	for gforth@gnu.org; Sat, 12 Nov 2011 22:35:26 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPQqq-0005l0-Gg
	for gforth@gnu.org; Sat, 12 Nov 2011 22:35:25 -0500
Received: from white.jasonwoof.com ([216.168.135.82]:64969)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPQqq-0005kS-EW
	for gforth@gnu.org; Sat, 12 Nov 2011 22:35:24 -0500
Received: (qmail 63564 invoked from network); 13 Nov 2011 03:37:03 -0000
Received: from unknown (HELO ostrich) (josh@216.227.96.243)
	by white.jasonwoof.com with SMTP; 13 Nov 2011 03:37:03 -0000
Received: by ostrich (sSMTP sendmail emulation);
	Sat, 12 Nov 2011 22:35:23 -0500
Date: Sat, 12 Nov 2011 22:35:23 -0500
From: Josh Grams <josh@qualdan.com>
To: gforth@gnu.org
Message-ID: <20111113033523.GA28886@localdomain>
References: <20111113030357.GA7163@localdomain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20111113030357.GA7163@localdomain>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: FreeBSD 6.x (1)
X-Received-From: 216.168.135.82
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 03:35:26 -0000

Ah, ok, with some more digging around, I'm guessing it's a false
positive in `head?`.  Though it happens with VOCABULARY also (that's how
I ran into the problem).  Is it a bit dodgy in that case also?

--Josh


From MAILER-DAEMON Sun Nov 13 07:21:22 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPZ3q-00045c-1j
	for mharc-gforth@gnu.org; Sun, 13 Nov 2011 07:21:22 -0500
Received: from eggs.gnu.org ([140.186.70.92]:47186)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPZ3n-00045Q-Ho
	for gforth@gnu.org; Sun, 13 Nov 2011 07:21:20 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPZ3m-0007qW-Hi
	for gforth@gnu.org; Sun, 13 Nov 2011 07:21:19 -0500
Received: from white.jasonwoof.com ([216.168.135.82]:55852)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPZ3m-0007qQ-Cf
	for gforth@gnu.org; Sun, 13 Nov 2011 07:21:18 -0500
Received: (qmail 92153 invoked from network); 13 Nov 2011 12:22:57 -0000
Received: from unknown (HELO ostrich) (josh@216.227.96.243)
	by white.jasonwoof.com with SMTP; 13 Nov 2011 12:22:57 -0000
Received: by ostrich (sSMTP sendmail emulation);
	Sun, 13 Nov 2011 07:21:17 -0500
Date: Sun, 13 Nov 2011 07:21:17 -0500
From: Josh Grams <josh@qualdan.com>
To: gforth@gnu.org
Message-ID: <20111113122117.GA5617@localdomain>
References: <20111113030357.GA7163@localdomain>
	<20111113033523.GA28886@localdomain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20111113033523.GA28886@localdomain>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: FreeBSD 6.x (1)
X-Received-From: 216.168.135.82
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 12:21:20 -0000

OK, I get it now.  There's junk in unALLOTted memory up to a certain
point; after that it's all zeroes.  So after that point, then if you
have a wordlist at the end of the dictionary, `head?` thinks it's is
followed by a header even though it isn't, and then that causes trouble.
So compiling anything or putting data there or whatever makes it go
away.  That's not so bad.  Disconcerting though.  Maybe there should be
a comment on `.voc` -- it took me a while to think to look at `head?`...

--Josh


From MAILER-DAEMON Sun Nov 13 08:53:46 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPaVF-0007iZ-TV
	for mharc-gforth@gnu.org; Sun, 13 Nov 2011 08:53:45 -0500
Received: from eggs.gnu.org ([140.186.70.92]:60949)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RPaVC-0007iM-CF
	for gforth@gnu.org; Sun, 13 Nov 2011 08:53:43 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RPaVA-0002wx-LX
	for gforth@gnu.org; Sun, 13 Nov 2011 08:53:42 -0500
Received: from mail-gy0-f169.google.com ([209.85.160.169]:63038)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RPaVA-0002ws-J5
	for gforth@gnu.org; Sun, 13 Nov 2011 08:53:40 -0500
Received: by gyg10 with SMTP id 10so4929170gyg.0
	for <gforth@gnu.org>; Sun, 13 Nov 2011 05:53:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:content-type:content-transfer-encoding;
	bh=gWlxkZPhuHu6pcuYJ0aFzCddWL+7jQxBNVZFScutW7w=;
	b=Jr3FFn8jRSApZvPBxGWVkNlaqu6+0JoHRbA6k07R1W4Jvn421Ag8ASlT9F9Az/Kht/
	jFGDV3Aap0zD/amx2rpvlEkOXz+hZIISfI6V02FQBhppXAhOXlcboxsCQFKNiHdi9gwu
	SpxpnSieO8AGRfr7BHkFOlmsA96SWHO6Q6KcQ=
Received: by 10.236.23.67 with SMTP id u43mr8301626yhu.123.1321192418102; Sun,
	13 Nov 2011 05:53:38 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 13 Nov 2011 05:53:07 -0800 (PST)
In-Reply-To: <CAHRMfj5Cq1VSQEAyYt=Crns2ui7WP6nvbLHLNLPMi=3S7+G6eg@mail.gmail.com>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<1383217.jujzClTTdx@sunwukong.site> <87wrbcq5yf.fsf@snail.Pool>
	<CAHRMfj7aPb=LbrLt8P054uHQxm5op8OX2d0L3H9eTZ3At9W6iA@mail.gmail.com>
	<87r51kwa9q.fsf@mosquito.pool>
	<20111107101030.GC26886@a4.complang.tuwien.ac.at>
	<87ipmww7ii.fsf@mosquito.pool>
	<CAHRMfj5Cq1VSQEAyYt=Crns2ui7WP6nvbLHLNLPMi=3S7+G6eg@mail.gmail.com>
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Sun, 13 Nov 2011 17:23:07 +0330
Message-ID: <CAHRMfj7M5ih_2DMp-V8iCfvDn5e6Gx6mC0S_cf34nALGXK-Jaw@mail.gmail.com>
To: gforth@gnu.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.160.169
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 13:53:43 -0000

On Mon, Nov 7, 2011 at 14:14, Bahman Movaqar <b.movaqar@gmail.com> wrote:
> Thank you all for your responses.
>
> Perhaps it'll make it easier if I explain my circumstances.
>
> I'm an Iranian living in Iran, where there are -virtually- almost no (c)
> laws.=C2=A0 The software I'm planning to write is sort of an "illegal cop=
y
> protection" software.=C2=A0 So, obviously, the source code must *not* be =
-easily-
> readable by others; hence I insist on distributing it in only binary form=
.
> No (c) license -be it GPL or anything else- is valid here (!); but I just
> want to do something right and moral.
>
> So, now I'm asking you folks to please guide me how can I fulfil these
> requirements while not violating any (c) by the creators of the Gforth
> (whose efforts I really appreciate)?=C2=A0 Or I better ask is it possible=
 at
> all?!
>
> PS: Please note that even if I decided to share some of the money with An=
ton
> and Bernd it would be awfully difficult to transfer money from Iran to
> anywhere in EU or north America -sanctions, you know.

Does this silence mean there is no way?  Sigh.

--=20
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


From MAILER-DAEMON Sun Nov 13 08:59:24 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPaai-0008AZ-RP
	for mharc-gforth@gnu.org; Sun, 13 Nov 2011 08:59:24 -0500
Received: from eggs.gnu.org ([140.186.70.92]:48251)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPaag-00089L-4d
	for gforth@gnu.org; Sun, 13 Nov 2011 08:59:23 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPaae-0003b1-Uu
	for gforth@gnu.org; Sun, 13 Nov 2011 08:59:22 -0500
Received: from mailout-de.gmx.net ([213.165.64.22]:40682)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPaae-0003ak-Dy
	for gforth@gnu.org; Sun, 13 Nov 2011 08:59:20 -0500
Received: (qmail invoked by alias); 13 Nov 2011 13:59:17 -0000
Received: from p5DCD636A.dip0.t-ipconnect.de (EHLO sunwukong.site)
	[93.205.99.106]
	by mail.gmx.net (mp062) with SMTP; 13 Nov 2011 14:59:17 +0100
X-Authenticated: #153925
X-Provags-ID: V01U2FsdGVkX180Du5CWCo04smgX/2YGJrscjeIoPzifF+DIpBHOC
	QbyJP0txXvb/3l
From: Bernd Paysan <bernd.paysan@gmx.de>
To: gforth@gnu.org
Date: Sun, 13 Nov 2011 14:59:13 +0100
Message-ID: <2234618.1ikolKcz7h@sunwukong.site>
User-Agent: KMail/4.7.2 (Linux/3.1.0-1.1-desktop; KDE/4.7.2; x86_64; ; )
In-Reply-To: <CAHRMfj7M5ih_2DMp-V8iCfvDn5e6Gx6mC0S_cf34nALGXK-Jaw@mail.gmail.com>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<CAHRMfj5Cq1VSQEAyYt=Crns2ui7WP6nvbLHLNLPMi=3S7+G6eg@mail.gmail.com>
	<CAHRMfj7M5ih_2DMp-V8iCfvDn5e6Gx6mC0S_cf34nALGXK-Jaw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart33032692.lpVRqk1hDH";
	micalg="pgp-sha1"; protocol="application/pgp-signature"
Content-Transfer-Encoding: 7Bit
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 213.165.64.22
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 13:59:23 -0000


--nextPart33032692.lpVRqk1hDH
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Am Sonntag, 13. November 2011, 17:23:07 schrieb Bahman Movaqar:
> > PS: Please note that even if I decided to share some of the money with
> > Anton and Bernd it would be awfully difficult to transfer money from
> > Iran to anywhere in EU or north America -sanctions, you know.
> 
> Does this silence mean there is no way?  Sigh.

No, it more likely means it's at the moment not worth bothering.  China does 
not sanction Iran, and I've enough connections to China to get the money out.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

--nextPart33032692.lpVRqk1hDH
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)

iEYEABECAAYFAk6/zTEACgkQi4ILt2cAfDB0igCdGx6CYvkEi9zbcGlAw9CHGSvi
JCkAoKFo5lAbI4dDBFPsZzVCAmsB6MaR
=Qnrh
-----END PGP SIGNATURE-----

--nextPart33032692.lpVRqk1hDH--



From MAILER-DAEMON Sun Nov 13 10:05:12 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPbcO-0007k8-3T
	for mharc-gforth@gnu.org; Sun, 13 Nov 2011 10:05:12 -0500
Received: from eggs.gnu.org ([140.186.70.92]:49915)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RPbcI-0007gt-Ou
	for gforth@gnu.org; Sun, 13 Nov 2011 10:05:11 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RPbcD-0003Ut-4k
	for gforth@gnu.org; Sun, 13 Nov 2011 10:05:06 -0500
Received: from mail-yx0-f169.google.com ([209.85.213.169]:36278)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <b.movaqar@gmail.com>) id 1RPbcC-0003Uo-Vb
	for gforth@gnu.org; Sun, 13 Nov 2011 10:05:01 -0500
Received: by yenm10 with SMTP id m10so1959777yen.0
	for <gforth@gnu.org>; Sun, 13 Nov 2011 07:05:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=YRJOhw0D5ObmvAIuU3eNno2D+jexWe+ni0eKjNlYygw=;
	b=Pv9fkJ06XqRu9dnLsdV4gbmYvbjA8uFTBTJd6CBxXdD/2twFTbFsooTTFxPHNI85Lk
	AoZIJ4Xo1uvY1OMwaEV/wr4+C6VkTbmKGEdIy5RDg1RTv4OPF4WKeMN7/z3N7GW5y237
	3msYxdNpCeXTuk2dS7EIYxn2yyOhmtfdJiJFc=
Received: by 10.236.154.74 with SMTP id g50mr8758084yhk.72.1321196275071; Sun,
	13 Nov 2011 06:57:55 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.253.7 with HTTP; Sun, 13 Nov 2011 06:57:24 -0800 (PST)
In-Reply-To: <2234618.1ikolKcz7h@sunwukong.site>
References: <CAHRMfj5i_Y30ukrnOkB6QLPE_zh2W8872H6bKT+L-V=i5s0NLQ@mail.gmail.com>
	<CAHRMfj5Cq1VSQEAyYt=Crns2ui7WP6nvbLHLNLPMi=3S7+G6eg@mail.gmail.com>
	<CAHRMfj7M5ih_2DMp-V8iCfvDn5e6Gx6mC0S_cf34nALGXK-Jaw@mail.gmail.com>
	<2234618.1ikolKcz7h@sunwukong.site>
From: Bahman Movaqar <b.movaqar@gmail.com>
Date: Sun, 13 Nov 2011 18:27:24 +0330
Message-ID: <CAHRMfj6zjnv7n=YsGtrt-zar=s428zK4vLB_Cn+FdGf0pP5wgQ@mail.gmail.com>
To: Bernd Paysan <bernd.paysan@gmx.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Received-From: 209.85.213.169
Cc: gforth@gnu.org
Subject: Re: [gforth] How to make executable binary applications?
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 15:05:11 -0000

On Sun, Nov 13, 2011 at 17:29, Bernd Paysan <bernd.paysan@gmx.de> wrote:
> Am Sonntag, 13. November 2011, 17:23:07 schrieb Bahman Movaqar:
>> > PS: Please note that even if I decided to share some of the money with
>> > Anton and Bernd it would be awfully difficult to transfer money from
>> > Iran to anywhere in EU or north America -sanctions, you know.
>>
>> Does this silence mean there is no way? =C2=A0Sigh.
>
> No, it more likely means it's at the moment not worth bothering. =C2=A0Ch=
ina does
> not sanction Iran, and I've enough connections to China to get the money =
out.

Well, turns out if you didn't "bother" telling me about your China
connections, I wouldn't know that you have connections in China :-)

--=20
Bahman Movaqar (http://BahmanM.com)
ERP Evaluation, Implementation and Deployment Consultant


From MAILER-DAEMON Sun Nov 13 15:36:13 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPgmj-00012u-MR
	for mharc-gforth@gnu.org; Sun, 13 Nov 2011 15:36:13 -0500
Received: from eggs.gnu.org ([140.186.70.92]:55414)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPgmg-00012n-V5
	for gforth@gnu.org; Sun, 13 Nov 2011 15:36:11 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPgmf-0004Aq-LB
	for gforth@gnu.org; Sun, 13 Nov 2011 15:36:10 -0500
Received: from mailout-de.gmx.net ([213.165.64.22]:59901)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPgmf-0004Ak-7c
	for gforth@gnu.org; Sun, 13 Nov 2011 15:36:09 -0500
Received: (qmail invoked by alias); 13 Nov 2011 20:36:07 -0000
Received: from p5DCD636A.dip0.t-ipconnect.de (EHLO sunwukong.site)
	[93.205.99.106]
	by mail.gmx.net (mp052) with SMTP; 13 Nov 2011 21:36:07 +0100
X-Authenticated: #153925
X-Provags-ID: V01U2FsdGVkX1+9gIsjwmS9kF2h5Vt1Zpjc0jYzUPfNQs5UTC4pTZ
	vB/H6gHxqHFHbV
From: Bernd Paysan <bernd.paysan@gmx.de>
To: gforth@gnu.org
Date: Sun, 13 Nov 2011 21:36:04 +0100
Message-ID: <2269198.9LZxusH45j@sunwukong.site>
User-Agent: KMail/4.7.2 (Linux/3.1.0-1.1-desktop; KDE/4.7.2; x86_64; ; )
In-Reply-To: <20111113122117.GA5617@localdomain>
References: <20111113030357.GA7163@localdomain>
	<20111113033523.GA28886@localdomain>
	<20111113122117.GA5617@localdomain>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart8609176.EkQo4Jy53v";
	micalg="pgp-sha1"; protocol="application/pgp-signature"
Content-Transfer-Encoding: 7Bit
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 213.165.64.22
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 20:36:12 -0000


--nextPart8609176.EkQo4Jy53v
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Am Sonntag, 13. November 2011, 07:21:17 schrieb Josh Grams:
> OK, I get it now.  There's junk in unALLOTted memory up to a certain
> point; after that it's all zeroes.  So after that point, then if you
> have a wordlist at the end of the dictionary, `head?` thinks it's is
> followed by a header even though it isn't, and then that causes trouble.
> So compiling anything or putting data there or whatever makes it go
> away.  That's not so bad.  Disconcerting though.  Maybe there should be
> a comment on `.voc` -- it took me a while to think to look at `head?`...

Hm, looking at head?, it really looks wrong.  Try replacing it with this:

: head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address
    dup dup aligned <>
    if
	drop false exit \ heads are aligned
    then
    name>string dup $1F > if
	2drop false exit \ realistically the name is short
    then
    + cfaligned @ here forthstart within ; \ and the cfa is outside

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

--nextPart8609176.EkQo4Jy53v
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)

iEYEABECAAYFAk7AKjQACgkQi4ILt2cAfDC1bQCgyX5KTPn2cApN9cx1CzDxpx3b
k2QAniVPy+ltUFAsTQZUwCZL44Bcskxt
=d1MW
-----END PGP SIGNATURE-----

--nextPart8609176.EkQo4Jy53v--



From MAILER-DAEMON Sun Nov 13 18:42:09 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPjge-0007BJ-W3
	for mharc-gforth@gnu.org; Sun, 13 Nov 2011 18:42:08 -0500
Received: from eggs.gnu.org ([140.186.70.92]:54034)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPjgc-0007AD-QU
	for gforth@gnu.org; Sun, 13 Nov 2011 18:42:07 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPjgb-0006Uj-T6
	for gforth@gnu.org; Sun, 13 Nov 2011 18:42:06 -0500
Received: from white.jasonwoof.com ([216.168.135.82]:63774)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RPjgb-0006UV-1y
	for gforth@gnu.org; Sun, 13 Nov 2011 18:42:05 -0500
Received: (qmail 31080 invoked from network); 13 Nov 2011 23:43:39 -0000
Received: from unknown (HELO ostrich) (josh@216.227.96.243)
	by white.jasonwoof.com with SMTP; 13 Nov 2011 23:43:39 -0000
Received: by ostrich (sSMTP sendmail emulation);
	Sun, 13 Nov 2011 18:41:54 -0500
Date: Sun, 13 Nov 2011 18:41:54 -0500
From: Josh Grams <josh@qualdan.com>
To: Bernd Paysan <bernd.paysan@gmx.de>
Message-ID: <20111113234154.GA22605@localdomain>
References: <20111113030357.GA7163@localdomain>
	<20111113033523.GA28886@localdomain>
	<20111113122117.GA5617@localdomain>
	<2269198.9LZxusH45j@sunwukong.site>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <2269198.9LZxusH45j@sunwukong.site>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: FreeBSD 6.x (1)
X-Received-From: 216.168.135.82
Cc: gforth@gnu.org
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 23:42:07 -0000

>Hm, looking at head?, it really looks wrong.  Try replacing it with this:
>
>: head? ( addr -- f )
>\G heuristic check whether addr is a name token; may deliver false
>\G positives; addr must be a valid address
>    dup dup aligned <>
>    if
>	drop false exit \ heads are aligned
>    then
>    name>string dup $1F > if
>	2drop false exit \ realistically the name is short
>    then
>    + cfaligned @ here forthstart within ; \ and the cfa is outside

That does look more straightforward.  But it doesn't eliminate the
problem I was having.   I guess I never gave a good minimal test case.
This should reproduce it for reliably:

	here 32 cells erase  wordlist .voc

Hmm...a zero-length name should always be an invalid header, so I assume
replacing `$1F >` with `$20 1 WITHIN` should be OK?

--Josh


From MAILER-DAEMON Sun Nov 13 19:19:04 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RPkGO-0001vU-NE
	for mharc-gforth@gnu.org; Sun, 13 Nov 2011 19:19:04 -0500
Received: from eggs.gnu.org ([140.186.70.92]:54573)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPkGL-0001uY-W5
	for gforth@gnu.org; Sun, 13 Nov 2011 19:19:03 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPkGK-0002Q4-Iu
	for gforth@gnu.org; Sun, 13 Nov 2011 19:19:01 -0500
Received: from mailout-de.gmx.net ([213.165.64.22]:36724)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RPkGK-0002Pr-4S
	for gforth@gnu.org; Sun, 13 Nov 2011 19:19:00 -0500
Received: (qmail invoked by alias); 14 Nov 2011 00:18:58 -0000
Received: from p5DCD636A.dip0.t-ipconnect.de (EHLO sunwukong.site)
	[93.205.99.106]
	by mail.gmx.net (mp070) with SMTP; 14 Nov 2011 01:18:58 +0100
X-Authenticated: #153925
X-Provags-ID: V01U2FsdGVkX18M3LYteaYMuIuFEWRssrmifsGvtuxXvu+sSFuCJi
	fdAC1qsNJ+BAMU
From: Bernd Paysan <bernd.paysan@gmx.de>
To: Josh Grams <josh@qualdan.com>
Date: Mon, 14 Nov 2011 01:18:56 +0100
Message-ID: <5558006.vxafHjXJRF@sunwukong.site>
User-Agent: KMail/4.7.2 (Linux/3.1.0-1.1-desktop; KDE/4.7.2; x86_64; ; )
In-Reply-To: <20111113234154.GA22605@localdomain>
References: <20111113030357.GA7163@localdomain>
	<2269198.9LZxusH45j@sunwukong.site>
	<20111113234154.GA22605@localdomain>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart60085754.dxQOXoMeEe";
	micalg="pgp-sha1"; protocol="application/pgp-signature"
Content-Transfer-Encoding: 7Bit
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 213.165.64.22
Cc: gforth@gnu.org
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Nov 2011 00:19:03 -0000


--nextPart60085754.dxQOXoMeEe
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Am Sonntag, 13. November 2011, 18:41:54 schrieb Josh Grams:
> >Hm, looking at head?, it really looks wrong.  Try replacing it with this:
> >: head? ( addr -- f )
> >
> >\G heuristic check whether addr is a name token; may deliver false
> >\G positives; addr must be a valid address
> >
> >    dup dup aligned <>
> >    if
> >	
> >	drop false exit \ heads are aligned
> >	
> >    then
> >    name>string dup $1F > if
> >	
> >	2drop false exit \ realistically the name is short
> >	
> >    then
> >    + cfaligned @ here forthstart within ; \ and the cfa is outside
> 
> That does look more straightforward.  But it doesn't eliminate the
> problem I was having.   I guess I never gave a good minimal test case.
> This should reproduce it for reliably:
> 
> 	here 32 cells erase  wordlist .voc
> 
> Hmm...a zero-length name should always be an invalid header, so I assume
> replacing `$1F >` with `$20 1 WITHIN` should be OK?

Yes, that should do it.  Thanks for the reliable test.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

--nextPart60085754.dxQOXoMeEe
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)

iEYEABECAAYFAk7AXnAACgkQi4ILt2cAfDAI2wCfcSrqWKTQyQ/TUs4u8iJq0VXX
bvMAnipmQeVUDFHfnmIIbYWoRS3lfIYD
=cWzN
-----END PGP SIGNATURE-----

--nextPart60085754.dxQOXoMeEe--



From MAILER-DAEMON Mon Nov 14 17:23:26 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RQ4w2-0002Ng-NA
	for mharc-gforth@gnu.org; Mon, 14 Nov 2011 17:23:26 -0500
Received: from eggs.gnu.org ([140.186.70.92]:33366)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RQ4w0-0002Me-EW
	for gforth@gnu.org; Mon, 14 Nov 2011 17:23:25 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RQ4vz-00047i-1t
	for gforth@gnu.org; Mon, 14 Nov 2011 17:23:24 -0500
Received: from white.jasonwoof.com ([216.168.135.82]:58248)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <josh@qualdan.com>) id 1RQ4vy-00047e-SN
	for gforth@gnu.org; Mon, 14 Nov 2011 17:23:23 -0500
Received: (qmail 20400 invoked from network); 14 Nov 2011 22:25:02 -0000
Received: from unknown (HELO ostrich) (josh@216.227.96.243)
	by white.jasonwoof.com with SMTP; 14 Nov 2011 22:25:02 -0000
Received: by ostrich (sSMTP sendmail emulation);
	Mon, 14 Nov 2011 17:23:22 -0500
Date: Mon, 14 Nov 2011 17:23:22 -0500
From: Josh Grams <josh@qualdan.com>
To: gforth@gnu.org
Message-ID: <20111114222322.GA15129@localdomain>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="/04w6evG8XlLl3ft"
Content-Disposition: inline
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: FreeBSD 6.x (1)
X-Received-From: 216.168.135.82
Subject: [gforth] A couple typos
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Nov 2011 22:23:25 -0000


--/04w6evG8XlLl3ft
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I did a cvs up to see if Bernd had patched `head?`, and noticed I had a
couple typo fixes in my source tree...

--Josh

--/04w6evG8XlLl3ft
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="typos.patch"

Index: doc/gforth.ds
===================================================================
RCS file: /nfs/unsafe/cvs-repository/src-master/gforth/doc/gforth.ds,v
retrieving revision 1.232
diff -u -r1.232 gforth.ds
--- doc/gforth.ds	10 Aug 2011 13:55:03 -0000	1.232
+++ doc/gforth.ds	14 Nov 2011 22:19:55 -0000
@@ -14996,7 +14996,7 @@
 
 @end itemize
 
-In order to perform these consideratios, you need to know what's
+In order to perform these considerations, you need to know what's
 standard and what's not.  This manual generally states if something is
 non-standard, but the authoritative source is the
 @uref{http://www.taygeta.com/forth/dpans.html,standard document}.
Index: float.fs
===================================================================
RCS file: /nfs/unsafe/cvs-repository/src-master/gforth/float.fs,v
retrieving revision 1.61
diff -u -r1.61 float.fs
--- float.fs	7 Oct 2011 17:10:15 -0000	1.61
+++ float.fs	14 Nov 2011 22:19:55 -0000
@@ -88,7 +88,7 @@
     \G @code{F.} @code{FE.} and @code{FS.} to @i{u}.
     to precision ;
 
-: scratch ( r -- addr len )
+: scratch ( -- addr len )
   pad precision - precision ;
 
 : zeros ( n -- )   0 max 0 ?DO  '0 emit  LOOP ;

--/04w6evG8XlLl3ft--


From MAILER-DAEMON Thu Nov 17 11:11:37 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RR4Yr-0002AV-2i
	for mharc-gforth@gnu.org; Thu, 17 Nov 2011 11:11:37 -0500
Received: from eggs.gnu.org ([140.186.70.92]:56770)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR4Yo-00028K-G5
	for gforth@gnu.org; Thu, 17 Nov 2011 11:11:35 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR4Ym-0007Qf-QG
	for gforth@gnu.org; Thu, 17 Nov 2011 11:11:34 -0500
Received: from a4.complang.tuwien.ac.at ([128.130.173.65]:59701)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR4Ym-0007QB-IA
	for gforth@gnu.org; Thu, 17 Nov 2011 11:11:32 -0500
Received: from anton by a4.complang.tuwien.ac.at with local (Exim 4.69)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR4Yi-000649-V1; Thu, 17 Nov 2011 17:11:29 +0100
Date: Thu, 17 Nov 2011 17:11:28 +0100
From: Anton Ertl <anton@mips.complang.tuwien.ac.at>
To: Bernd Paysan <bernd.paysan@gmx.de>
Message-ID: <20111117161128.GA22740@a4.complang.tuwien.ac.at>
References: <20111113030357.GA7163@localdomain>
	<2269198.9LZxusH45j@sunwukong.site>
	<20111113234154.GA22605@localdomain>
	<5558006.vxafHjXJRF@sunwukong.site>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5558006.vxafHjXJRF@sunwukong.site>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 128.130.173.65
Cc: gforth@gnu.org
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
Reply-To: anton@mips.complang.tuwien.ac.at
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Nov 2011 16:11:35 -0000

On Mon, Nov 14, 2011 at 01:18:56AM +0100, Bernd Paysan wrote:
> Am Sonntag, 13. November 2011, 18:41:54 schrieb Josh Grams:
> > >Hm, looking at head?, it really looks wrong.  Try replacing it with this:
> > >: head? ( addr -- f )
> > >
> > >\G heuristic check whether addr is a name token; may deliver false
> > >\G positives; addr must be a valid address
> > >
> > >    dup dup aligned <>
> > >    if
> > >	
> > >	drop false exit \ heads are aligned
> > >	
> > >    then
> > >    name>string dup $1F > if
> > >	
> > >	2drop false exit \ realistically the name is short
> > >	
> > >    then
> > >    + cfaligned @ here forthstart within ; \ and the cfa is outside
> > 
> > That does look more straightforward.  But it doesn't eliminate the
> > problem I was having.   I guess I never gave a good minimal test case.
> > This should reproduce it for reliably:
> > 
> > 	here 32 cells erase  wordlist .voc
> > 
> > Hmm...a zero-length name should always be an invalid header, so I assume
> > replacing `$1F >` with `$20 1 WITHIN` should be OK?
> 
> Yes, that should do it.  Thanks for the reliable test.

I have now tested where the two versions produce different results
(which is either a false positive or a false negative for one of the
versions).  Program below.  On my system running this as follows
produces the following results:

[~/gforth:76417] gforth xxx.fs -e "test bye" |grep "new accepts as head"|wc -l
781
[~/gforth:76418] gforth xxx.fs -e "test bye" |grep "old accepts as head"|wc -l
4546

So both versions differ by a lot, and given that the old version does
not produce false negatives, the new version obviously produces at
least 781 false positives.  That's a lot, given that there are only
2987 names in the hash table.

Also, the new test recognizes 3634 names in the dictionary; the
difference from the hash table population is only 647.  The difference
from the 781 number above can be explained by 134 false negatives from
the new version, and/or by false negatives from the old version.

Anyway, these numbers are much too high for my taste.  Maybe we should
write a reliable test instead of a heuristic one, by adding some more data.

E.g., if we had a list of all wordlists, we could just check if the
addr matches any of the words in any wordlist.  If that's too slow for
some applications, we can add some caching.

Or we might check all the words in the hash table (but not all
wordlists use the hash table).

What do you think?

- anton

Here's the program:
\ test head? implementations

: new-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address
    dup dup aligned <>
    if
	drop false exit \ heads are aligned
    then
    name>string dup $20 $1 within if
	2drop false exit \ realistically the name is short
    then
    + cfaligned @ here forthstart within ; \ and the cfa is outside

: old-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address; returns 1 for
\G particularly unsafe positives
    \ we follow the link fields and check for plausibility; two
    \ iterations should catch most false addresses: on the first
    \ iteration, we may get an xt, on the second a code address (or
    \ some code), which is typically not in the dictionary.
    \ we added a third iteration for working with code and ;code words.
    3 0 do
	dup dup aligned <> if \ protect @ against unaligned accesses
	    drop false unloop exit
	then
	dup @ dup
	if ( addr addr1 )
	    dup rot forthstart within
	    if \ addr1 is outside forthstart..addr, not a head
		drop false unloop exit
	    then ( addr1 )
	else \ 0 in the link field, no further checks
	    2drop 1 unloop exit \ this is very unsure, so return 1
	then
    loop
    \ in dubio pro:
    drop true ;

: my-.name ( nt -- )
    name>string dup ." len=" .
    16 min dump ;

: test
    here forthstart do
	i new-head? i old-head? over <> if
	    cr if
		." new"
	    else
		." old"
	    then
	    ."  accepts as head: " i hex. i my-.name
	else
	    drop
	then
    loop ;

: testnew
    0 here forthstart do
	i new-head? -
    loop ;


From MAILER-DAEMON Thu Nov 17 12:53:22 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RR69K-0003ai-8f
	for mharc-gforth@gnu.org; Thu, 17 Nov 2011 12:53:22 -0500
Received: from eggs.gnu.org ([140.186.70.92]:36369)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR69H-0003ZA-8s
	for gforth@gnu.org; Thu, 17 Nov 2011 12:53:20 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR69F-0002b1-5o
	for gforth@gnu.org; Thu, 17 Nov 2011 12:53:19 -0500
Received: from a4.complang.tuwien.ac.at ([128.130.173.65]:49207)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR69E-0002aq-Su
	for gforth@gnu.org; Thu, 17 Nov 2011 12:53:17 -0500
Received: from anton by a4.complang.tuwien.ac.at with local (Exim 4.69)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RR69C-0006PT-5s; Thu, 17 Nov 2011 18:53:14 +0100
Date: Thu, 17 Nov 2011 18:53:14 +0100
From: Anton Ertl <anton@mips.complang.tuwien.ac.at>
To: Bernd Paysan <bernd.paysan@gmx.de>
Message-ID: <20111117175314.GA24040@a4.complang.tuwien.ac.at>
References: <20111113030357.GA7163@localdomain>
	<2269198.9LZxusH45j@sunwukong.site>
	<20111113234154.GA22605@localdomain>
	<5558006.vxafHjXJRF@sunwukong.site>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5558006.vxafHjXJRF@sunwukong.site>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 128.130.173.65
Cc: gforth@gnu.org
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
Reply-To: anton@mips.complang.tuwien.ac.at
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Nov 2011 17:53:20 -0000

I have now created a hybrid heuristic test and tested it.  It
recognizes fewer names (3158), and the (revised) test against the new
(current) HEAD? shows:

[~/gforth:76432] gforth xxx.fs -e "test cr bye"|grep "hybrid accepts"|wc -l
142
[~/gforth:76433] gforth xxx.fs -e "test cr bye"|grep "new accepts"|wc -l
622

Looking at the output of this test, it appears that there are quite a
number of false negatives coming out of the new HEAD?:

[~/gforth:76434] gforth xxx.fs -e "test cr bye"|grep -B1 recurse        
hybrid accepts as head: $7FFFF6BFA7E0 len=7 
7FFFF6BFA7F0: 72 65 63 75  72 73 65    -                           recurse
[~/gforth:76435] gforth xxx.fs -e "test cr bye"|grep -B1 cfalign
hybrid accepts as head: $7FFFF6BF3020 len=9 
7FFFF6BF3030: 63 66 61 6C  69 67 6E 65 - 64                        cfaligned
--
hybrid accepts as head: $7FFFF6BF9D58 len=7 
7FFFF6BF9D68: 63 66 61 6C  69 67 6E    -                           cfalign

Or, more relevantly:

s" recurse" find-name .s <1> 140737333143520  ok
head? . 0  ok

It seems that it does not recognize aliases.

I have tried to put the hybrid version into int.fs and test it, but
the kernel does not work then (this only becomes visible on the next
round of kernel-building).  I probably did something wrong wrt cross.fs.

I have now also prepared .VOC to report ??? for unsafe guesses of the
old and hybrid versions.  The problem is actually a general problem of
the combination of heuristic HEAD? and .VOC as currently implemented:
A false positive can lead to NAME>INT being called for an
inappropriate address, and NAME>INT will segfault.  There's a test of
the CFA at the end of NEW-HEAD?, but is it guaranteed to catch all
cases?

- anton

Here's the code:

\ test head? implementations

: new-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address
    dup dup aligned <>
    if
	drop false exit \ heads are aligned
    then
    name>string dup $20 $1 within if
	2drop false exit \ realistically the name is short
    then
    + cfaligned @ here forthstart within ; \ and the cfa is outside

: old-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address; returns 1 for
\G particularly unsafe positives
    \ we follow the link fields and check for plausibility; two
    \ iterations should catch most false addresses: on the first
    \ iteration, we may get an xt, on the second a code address (or
    \ some code), which is typically not in the dictionary.
    \ we added a third iteration for working with code and ;code words.
    3 0 do
	dup dup aligned <> if \ protect @ against unaligned accesses
	    drop false unloop exit
	then
	dup @ dup
	if ( addr addr1 )
	    dup rot forthstart within
	    if \ addr1 is outside forthstart..addr, not a head
		drop false unloop exit
	    then ( addr1 )
	else \ 0 in the link field, no further checks
	    2drop 1 unloop exit \ this is very unsure, so return 1
	then
    loop
    \ in dubio pro:
    drop true ;

: hybrid-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address; returns 1 for
\G particularly unsafe positives
    \ we follow the link fields and check for plausibility; two
    \ iterations should catch most false addresses: on the first
    \ iteration, we may get an xt, on the second a code address (or
    \ some code), which is typically not in the dictionary.
    \ we added a third iteration for working with code and ;code words.
    3 0 do
	dup dup aligned <> if \ protect @ against unaligned accesses
	    drop false unloop exit
	then
	dup name>string nip $20 $1 within if
	    drop false unloop exit \ realistically the name is short
	then
	dup @ dup if ( addr addr1 )
	    dup rot forthstart within
	    if \ addr1 is outside forthstart..addr, not a head
		drop false unloop exit
	    then ( addr1 )
	else \ 0 in the link field, no further checks
	    2drop 1 unloop exit \ this is very unsure, so return 1
	then
    loop
    \ in dubio pro:
    drop true ;

: my-.name ( nt -- )
    name>string dup ." len=" .
    16 min dump ;

: test
    here forthstart do
	i new-head? 0<> i hybrid-head? 0<> over <> if
	    cr if
		." new"
	    else
		." hybrid"
	    then
	    ."  accepts as head: " i hex. i my-.name
	else
	    drop
	then
    loop ;

: testhybrid
    0 here forthstart do
	i hybrid-head? 0<> -
    loop ;


From MAILER-DAEMON Thu Nov 17 13:07:54 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RR6NO-00030Y-7F
	for mharc-gforth@gnu.org; Thu, 17 Nov 2011 13:07:54 -0500
Received: from eggs.gnu.org ([140.186.70.92]:51170)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RR6NH-0002zN-QV
	for gforth@gnu.org; Thu, 17 Nov 2011 13:07:51 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RR6NG-00055D-7i
	for gforth@gnu.org; Thu, 17 Nov 2011 13:07:47 -0500
Received: from mailout-de.gmx.net ([213.165.64.23]:55042)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RR6NF-00054d-SK
	for gforth@gnu.org; Thu, 17 Nov 2011 13:07:46 -0500
Received: (qmail invoked by alias); 17 Nov 2011 18:07:38 -0000
Received: from p5DCD66CC.dip0.t-ipconnect.de (EHLO sunwukong.site)
	[93.205.102.204]
	by mail.gmx.net (mp011) with SMTP; 17 Nov 2011 19:07:38 +0100
X-Authenticated: #153925
X-Provags-ID: V01U2FsdGVkX18fukEZ0bsfCgTMkngvPiP4o8ELdma+QdKV/UOCam
	loFmQDhlaxT1EQ
From: Bernd Paysan <bernd.paysan@gmx.de>
To: anton@mips.complang.tuwien.ac.at
Date: Thu, 17 Nov 2011 19:07:23 +0100
Message-ID: <2942034.5eqKNovkGo@sunwukong.site>
User-Agent: KMail/4.7.2 (Linux/3.1.0-1.1-desktop; KDE/4.7.2; x86_64; ; )
In-Reply-To: <20111117161128.GA22740@a4.complang.tuwien.ac.at>
References: <20111113030357.GA7163@localdomain>
	<5558006.vxafHjXJRF@sunwukong.site>
	<20111117161128.GA22740@a4.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart2182438.N1MH61KvVV";
	micalg="pgp-sha1"; protocol="application/pgp-signature"
Content-Transfer-Encoding: 7Bit
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 213.165.64.23
Cc: gforth@gnu.org
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Nov 2011 18:07:52 -0000


--nextPart2182438.N1MH61KvVV
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Am Donnerstag, 17. November 2011, 17:11:28 schrieb Anton Ertl:
> I have now tested where the two versions produce different results
> (which is either a false positive or a false negative for one of the
> versions).  Program below.  On my system running this as follows
> produces the following results:
> 
> [~/gforth:76417] gforth xxx.fs -e "test bye" |grep "new accepts as head"|wc
> -l 781
> [~/gforth:76418] gforth xxx.fs -e "test bye" |grep "old accepts as head"|wc
> -l 4546
> 
> So both versions differ by a lot, and given that the old version does
> not produce false negatives, the new version obviously produces at
> least 781 false positives.  That's a lot, given that there are only
> 2987 names in the hash table.
> 
> Also, the new test recognizes 3634 names in the dictionary; the
> difference from the hash table population is only 647.  The difference
> from the 781 number above can be explained by 134 false negatives from
> the new version, and/or by false negatives from the old version.

This here should be better, this checks if the cfa points into the code for 
primitives or is a code word.  It also give special treatment to aliases (when 
the alias-mask bit is cleared), and checks if the name consists of printable 
characters only.

: new-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address
    dup dup aligned <>
    if
        drop false exit \ heads are aligned
    then
    dup cell+ @ alias-mask and 0= >r
    name>string dup $20 $1 within if
        rdrop 2drop false exit \ realistically the name is short
    then
    cfaligned 2dup bounds ?do \ should be a printable string
	i c@ bl < if
	    2drop unloop rdrop false exit
	then
    loop
    + r> if \ check for valid aliases
	@ dup forthstart here within
	over ['] noop ['] lit-execute 1+ within or
	over dup aligned = and
	0= if
	    drop false exit
	then
    then \ check for cfa - must be code field or primitive
    dup @ tuck 2 cells - = swap
    docol:  ['] lit-execute @ 1+ within or ;

Since it must be now safe to print out the names found, we can do the 
following:

: wordsnew
    here forthstart do
        i new-head? if i .name cr then
    loop ;

This should be a pretty strict test, and at least it won't do any harm to do a 
.name on it, even if it still is a false positive.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

--nextPart2182438.N1MH61KvVV
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)

iEYEABECAAYFAk7FTWMACgkQi4ILt2cAfDA1bgCeJzej3TuukKe+58kk+jZ+wmDH
sa0An0RNk2D7ux/gcVV2+yz6WBPXyF/A
=iv3U
-----END PGP SIGNATURE-----

--nextPart2182438.N1MH61KvVV--



From MAILER-DAEMON Thu Nov 24 13:15:26 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RTdpW-0008Az-Q4
	for mharc-gforth@gnu.org; Thu, 24 Nov 2011 13:15:26 -0500
Received: from eggs.gnu.org ([140.186.70.92]:56660)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RTdpN-00087R-1C
	for gforth@gnu.org; Thu, 24 Nov 2011 13:15:25 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RTdpB-0003IG-IZ
	for gforth@gnu.org; Thu, 24 Nov 2011 13:15:16 -0500
Received: from a4.complang.tuwien.ac.at ([128.130.173.65]:52852)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RTdpA-0003H2-Sg
	for gforth@gnu.org; Thu, 24 Nov 2011 13:15:05 -0500
Received: from anton by a4.complang.tuwien.ac.at with local (Exim 4.69)
	(envelope-from <anton@mips.complang.tuwien.ac.at>)
	id 1RTdp6-00034q-EC; Thu, 24 Nov 2011 19:15:00 +0100
Date: Thu, 24 Nov 2011 19:15:00 +0100
From: Anton Ertl <anton@mips.complang.tuwien.ac.at>
To: Bernd Paysan <bernd.paysan@gmx.de>
Message-ID: <20111124181500.GA11112@a4.complang.tuwien.ac.at>
References: <20111113030357.GA7163@localdomain>
	<5558006.vxafHjXJRF@sunwukong.site>
	<20111117161128.GA22740@a4.complang.tuwien.ac.at>
	<2942034.5eqKNovkGo@sunwukong.site>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <2942034.5eqKNovkGo@sunwukong.site>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 128.130.173.65
Cc: gforth@gnu.org
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
Reply-To: anton@mips.complang.tuwien.ac.at
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Nov 2011 18:15:25 -0000

On Thu, Nov 17, 2011 at 07:07:23PM +0100, Bernd Paysan wrote:
> This here should be better, this checks if the cfa points into the code for 
> primitives or is a code word.  It also give special treatment to aliases (when 
> the alias-mask bit is cleared), and checks if the name consists of printable 
> characters only.
> 
> : new-head? ( addr -- f )
> \G heuristic check whether addr is a name token; may deliver false
> \G positives; addr must be a valid address
>     dup dup aligned <>
>     if
>         drop false exit \ heads are aligned
>     then
>     dup cell+ @ alias-mask and 0= >r
>     name>string dup $20 $1 within if
>         rdrop 2drop false exit \ realistically the name is short
>     then
>     cfaligned 2dup bounds ?do \ should be a printable string
> 	i c@ bl < if
> 	    2drop unloop rdrop false exit
> 	then
>     loop
>     + r> if \ check for valid aliases
> 	@ dup forthstart here within
> 	over ['] noop ['] lit-execute 1+ within or
> 	over dup aligned = and
> 	0= if
> 	    drop false exit
> 	then
>     then \ check for cfa - must be code field or primitive
>     dup @ tuck 2 cells - = swap
>     docol:  ['] lit-execute @ 1+ within or ;

This works pretty well, and only produces three false positives that
hybrid-head? did not also produce.

I have again applied the idea of checking the link field to this new
head?, resulting in:

: hybrid-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address; returns 1 for
\G particularly unsafe positives
    \ we follow the link fields and check for plausibility; two
    \ iterations should catch most false addresses: on the first
    \ iteration, we may get an xt, on the second a code address (or
    \ some code), which is typically not in the dictionary.
    \ we added a third iteration for working with code and ;code words.
    3 0 do
	dup new-head? 0= if
	    drop false unloop exit
	endif
	dup @ dup 0= if
	    2drop 1 unloop exit
	else
	    dup rot forthstart within if
		drop false unloop exit
	    then
	then
    loop
    drop true ;

This eliminates the three known false positives.  Now we see:

[~/gforth:76535] gforth xxx.fs -e "hashpop ? testhybrid . cr bye"
2989 3014 

So there are 25 words that are recognized but are not in the hash
table.  Maybe we have that many words in plain linked lists, or maybe
there are still false positives; I did not find any suspicious words
among the recognized ones, though.

Anyway, I have added this method to our HEAD? check.

> This should be a pretty strict test, and at least it won't do any harm to do a 
> .name on it, even if it still is a false positive.

The problem is that the invalid memory access occurred in name>int
(IIRC), which might still trip over a false positive, unless your CFA
test excludes this possibility.

- anton

Here's the test program:

: new-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address
    dup dup aligned <>
    if
        drop false exit \ heads are aligned
    then
    dup cell+ @ alias-mask and 0= >r
    name>string dup $20 $1 within if
        rdrop 2drop false exit \ realistically the name is short
    then
    cfaligned 2dup bounds ?do \ should be a printable string
        i c@ bl < if
            2drop unloop rdrop false exit
        then
    loop
    + r> if \ check for valid aliases
        @ dup forthstart here within
        over ['] noop ['] lit-execute 1+ within or
        over dup aligned = and
        0= if
            drop false exit
        then
    then \ check for cfa - must be code field or primitive
    dup @ tuck 2 cells - = swap
    docol:  ['] lit-execute @ 1+ within or ;

: hybrid-head? ( addr -- f )
\G heuristic check whether addr is a name token; may deliver false
\G positives; addr must be a valid address; returns 1 for
\G particularly unsafe positives
    \ we follow the link fields and check for plausibility; two
    \ iterations should catch most false addresses: on the first
    \ iteration, we may get an xt, on the second a code address (or
    \ some code), which is typically not in the dictionary.
    \ we added a third iteration for working with code and ;code words.
    3 0 do
	dup new-head? 0= if
	    drop false unloop exit
	endif
	dup @ dup 0= if
	    2drop 1 unloop exit
	else
	    dup rot forthstart within if
		drop false unloop exit
	    then
	then
    loop
    drop true ;

: my-.name ( nt -- )
    name>string dup ." len=" .
    16 min dump ;

: test
    here forthstart do
	i new-head? 0<> i hybrid-head? 0<> over <> if
	    cr if
		." new"
	    else
		." hybrid"
	    then
	    ."  accepts as head: " i hex. i my-.name
	else
	    drop
	then
    loop ;

: testhybrid.
    0 here forthstart do
	i hybrid-head? dup if cr 5 .r space i hex. i .name else drop then
    loop ;

: testhybrid
    0 here forthstart do
	i hybrid-head? 0<> -
    loop ;


From MAILER-DAEMON Fri Nov 25 17:08:28 2011
Received: from list by lists.gnu.org with archive (Exim 4.71)
	id 1RU3wa-0004AV-Ez
	for mharc-gforth@gnu.org; Fri, 25 Nov 2011 17:08:28 -0500
Received: from eggs.gnu.org ([140.186.70.92]:40494)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RU3wW-00048t-UB
	for gforth@gnu.org; Fri, 25 Nov 2011 17:08:26 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RU3wV-000357-FI
	for gforth@gnu.org; Fri, 25 Nov 2011 17:08:24 -0500
Received: from mailout-de.gmx.net ([213.165.64.22]:56905)
	by eggs.gnu.org with smtp (Exim 4.71)
	(envelope-from <bernd.paysan@gmx.de>) id 1RU3wV-0002w5-1W
	for gforth@gnu.org; Fri, 25 Nov 2011 17:08:23 -0500
Received: (qmail invoked by alias); 25 Nov 2011 22:08:20 -0000
Received: from p5DCD666D.dip0.t-ipconnect.de (EHLO sunwukong.site)
	[93.205.102.109]
	by mail.gmx.net (mp070) with SMTP; 25 Nov 2011 23:08:20 +0100
X-Authenticated: #153925
X-Provags-ID: V01U2FsdGVkX1+8Uegfw3K84cDsD7ETXYb8oETVs64gA/yExFM+5q
	gqgKXxs7QNd+X1
From: Bernd Paysan <bernd.paysan@gmx.de>
To: anton@mips.complang.tuwien.ac.at
Date: Fri, 25 Nov 2011 23:08:15 +0100
Message-ID: <2154207.dq2CGnpg3t@sunwukong.site>
User-Agent: KMail/4.7.2 (Linux/3.1.0-1.1-desktop; KDE/4.7.2; x86_64; ; )
In-Reply-To: <20111124181500.GA11112@a4.complang.tuwien.ac.at>
References: <20111113030357.GA7163@localdomain>
	<2942034.5eqKNovkGo@sunwukong.site>
	<20111124181500.GA11112@a4.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart24969813.YmGfO8Wq5N";
	micalg="pgp-sha1"; protocol="application/pgp-signature"
Content-Transfer-Encoding: 7Bit
X-Y-GMX-Trusted: 0
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 213.165.64.22
Cc: gforth@gnu.org
Subject: Re: [gforth] ORDER bug
X-BeenThere: gforth@gnu.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Gforth discussion and announcements <gforth.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/gforth>,
	<mailto:gforth-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/gforth>
List-Post: <mailto:gforth@gnu.org>
List-Help: <mailto:gforth-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/gforth>,
	<mailto:gforth-request@gnu.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Nov 2011 22:08:26 -0000


--nextPart24969813.YmGfO8Wq5N
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Am Donnerstag, 24. November 2011, 19:15:00 schrieb Anton Ertl:
> I have again applied the idea of checking the link field to this new
> 
> head?, resulting in:
> : hybrid-head? ( addr -- f )
> 
> \G heuristic check whether addr is a name token; may deliver false
> \G positives; addr must be a valid address; returns 1 for
> \G particularly unsafe positives
>     \ we follow the link fields and check for plausibility; two
>     \ iterations should catch most false addresses: on the first
>     \ iteration, we may get an xt, on the second a code address (or
>     \ some code), which is typically not in the dictionary.
>     \ we added a third iteration for working with code and ;code words.
>     3 0 do
> 	dup new-head? 0= if
> 	    drop false unloop exit
> 	endif
> 	dup @ dup 0= if
> 	    2drop 1 unloop exit
> 	else
> 	    dup rot forthstart within if
> 		drop false unloop exit
> 	    then
> 	then
>     loop
>     drop true ;
> 
> This eliminates the three known false positives.  Now we see:
> 
> [~/gforth:76535] gforth xxx.fs -e "hashpop ? testhybrid . cr bye"
> 2989 3014
> 
> So there are 25 words that are recognized but are not in the hash
> table.  Maybe we have that many words in plain linked lists, or maybe
> there are still false positives; I did not find any suspicious words
> among the recognized ones, though.

The only wordlist with slowvoc enabled should be the locals definitions.

> Anyway, I have added this method to our HEAD? check.
> 
> > This should be a pretty strict test, and at least it won't do any harm
> > to do a .name on it, even if it still is a false positive.
> 
> The problem is that the invalid memory access occurred in name>int
> (IIRC), which might still trip over a false positive, unless your CFA
> test excludes this possibility.

Everything done in name>int is checked with my test.  What I would remove is 
the 1 return value ("not sure") when there are less than 3 names in the link 
chain.  Being at the head of a link chain makes it still a legitimate header, 
and this will also catch the most likely false positives: string literals.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

--nextPart24969813.YmGfO8Wq5N
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)

iEYEABECAAYFAk7QEc8ACgkQi4ILt2cAfDBizQCglM2WIpP55/97Wv5xRJnjqFd6
akkAoImTIh0ieSM/aPTqXfrbIkUDufRg
=BZv/
-----END PGP SIGNATURE-----

--nextPart24969813.YmGfO8Wq5N--



