- Subject: Re: pop_spot(0)
 
- From: Günter Milde <milde@xxxxxxxxxxxxxxxxxxxx>
 
- Date: Wed, 9 Jul 2003 14:18:36 +0200
 
On Tue, Jul 08, 2003 at 10:35:12AM -0400, John E. Davis wrote:
> Klaus Schmid <klaus.schmid@xxxxxx> wrote:
> >Reading the docs I fear I do not understand the user-mark mechanics
> >completly, especially move_user_marks.
... 
> A user-mark is passed by reference.  Hence, any changes to it by a
> function will manifest itself outside the function. 
m = cerate_user_mark() - creates a new mark and attaches to variable m
                         (replacing its old value, which can be everything,
			  especially, it can also be a user_mark in another 
			  buffer)
move_user_mark(m)      - changes value of existing variable m
                       - cannot move mark into another buffer
		       - changes value of all attached variables
		       - slightly faster
Examples:
% a function moving the mark (fails, if called from another buffer)
define fun1 (m)
{
   move_user_mark (m);
}
% a function redefining the mark (doesnot work)
define fun2 (m)
{
   m = create_user_mark();
}
eob ();
% m can be of any type, the old value gets overwritten
variable m1 = 0;  
m1 = create_user_mark ();
variable m2 = m1;
bob ();
fun1(m1); % m1 _and_ m2 moved to bob
eob ();
fun2(m1); % m1 and m2 still at bob
m1 = create_user_mark();  % m1 at eob, m2 still at bob
% timing
variable t1, t2, n = 100000;
tic;
loop(n)
{
   bob();
   m1 = create_user_mark();
   eob();
}
t1 = toc();
tic;
loop(n)
{
   bob();
   move_user_mark(m1);
   eob();
}
t2 = toc();
vmessage("create_user_mark: %f s, move_user_mark: %f s bei n=%d", 
          t1, t2, n);
	  
	  
Günter
	  
-- 
Milde at ife.et.tu-dresden.de
--------------------------
To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
the word "unsubscribe" in the message body.
Need help? Email <jed-users-owner@xxxxxxxxxxx>.
  [2003 date index]
  [2003 thread index]
  
  [Thread Prev] [Thread Next]
      
  [Date Prev] [Date Next]