9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: John Stalker <stalker@Math.Princeton.EDU>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] page as a presentation tool
Date: Wed,  5 Nov 2003 11:25:47 -0500	[thread overview]
Message-ID: <200311051625.hA5GPmoY019949@localhost.localdomain> (raw)
In-Reply-To: <20031105061650.14690.qmail@g.bio.cse.psu.edu>

I should say I am using whatever version is in the ports tree
on FreeBSD.  Maybe there is a better version.  I have noticed
two ways in which it differs.  One is that undo doesn't
restore the dot.  This is pretty annoying since I like to
use succesive refinement to select text and I make a lot of
mistakes.  The other is the 'x' doesn't work quite as
advertised in the paper.  The relevant passage is

	Sam uses a two-pass algorithm for making changes,
	and treats each file as a database against which
	transactions are registered. Changes are not made
	directly to the contents. Instead, when a command
	is started, a `mark' containing a sequence number
	is placed in the transcript Buffer, and each change
	made to the file, either an insertion or deletion or
	a change to the file name, is appended to the end of
	the transcript. When the command is complete, the
	transcript is rewound to the mark and applied to
	the contents.

	One reason for separating evaluation from application
	in this way is to simplify tracking the addresses of
	changes made in the middle of a long sequence. The
	two-pass algorithm also allows all changes to apply
	to the original data: no change can affect another
	change made in the same command. This is particularly
	important when evaluating an x command because it
	prevents regular expression matches from stumbling
	over changes made earlier in the execution.

I haven't looked at the source to see whether UNIX sam also uses
the two pass algorithm, but it is certainly stumbling over changes
made earlier in the execution.

> | sam and the UNIX sam is rather broken.
>
> How so?  It's been ok for me.
>

--
John Stalker
Department of Mathematics
Princeton University
(609)258-6469


  reply	other threads:[~2003-11-05 16:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-05  5:27 John Stalker
2003-11-05  0:08 ` Russ Cox
2003-11-05  7:45   ` Fco.J.Ballesteros
2003-11-05 21:55     ` jpc
2003-11-05  6:16 ` Scott Schwartz
2003-11-05 16:25   ` John Stalker [this message]
2003-11-05 10:28     ` Russ Cox
2003-11-05 21:36       ` John Stalker
2003-11-05 21:44         ` Rob Pike
2003-11-06  1:29           ` John Stalker
2003-11-07  7:03 ` okamoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200311051625.hA5GPmoY019949@localhost.localdomain \
    --to=stalker@math.princeton.edu \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).