[comp.unix.wizards] Undocumented ex/vi options

rk9005@cca.ucsf.edu (Roland McGrath) (02/28/88)

Does anyone know what the "sourceany", "tagstack" and "timeout"
options of ex/vi do?  I have found "sourceany" and "timeout"
in 4.3 BSD and "tagstack" only in Sun Unix 3.2.  None of them
are in the 4.3 BSD documentation.  I haven't had a chance to
look in the Sun docs.

Thanks, folks.
-- 
	Roland McGrath
ARPA: roland@rtsg.lbl.gov roland@lbl-rtsg.arpa
UUCP: ...!ucbvax!lbl-rtsg.arpa!roland

decot@hpisod2.HP.COM (Dave Decot) (02/29/88)

> Does anyone know what the "sourceany", "tagstack" and "timeout"
> options of ex/vi do?  I have found "sourceany" and "timeout"
> in 4.3 BSD and "tagstack" only in Sun Unix 3.2.  None of them
> are in the 4.3 BSD documentation.  I haven't had a chance to
> look in the Sun docs.

Some guesses in order of certainty:
    
    tagstack

	 Controls (whether there is a, the size of the?) stack of tags
	 in use.  There are probably additional commands called
	 :push and :pop.  :push is used like :tag, except that
	 it also pushes the most recently used tag position onto
	 the top of the tag stack.  :pop pops the tag stack and restores
	 the top tag position.

    timeout
	 Controls whether multi-character input sequences are
	 converted to their mapping (see :map and :map!)?

    sourceany
	 Controls whether vi/ex will read .exrc in the current directory?

Dave Decot
hpda!decot

shankar@hpclscu.HP.COM (Shankar Unni) (03/01/88)

/ hpclscu:comp.unix.wizards / decot@hpisod2.HP.COM (Dave Decot) /  2:39 pm  Feb 28, 1988 /
> Some guesses in order of certainty:
>     
>     tagstack
> 
> 	 Controls (whether there is a, the size of the?) stack of tags
> 	 in use.  There are probably additional commands called
> 	 :push and :pop.  :push is used like :tag, except that
> 	 it also pushes the most recently used tag position onto
> 	 the top of the tag stack.  :pop pops the tag stack and restores
> 	 the top tag position.

In 4BSD vi:

It controls the presence of a "tag stack" (not its size). There is also a 
variable called "filestack" which stores the file names in which the tags
are marked. For instance, if I set both "tagstack" and "filestack", then
when I type "^]" (the "tag" command), vi saves the current file name in 
the file stack, and the position in the tag stack before jumping to the
tag. I can't quite recall the command to pop off the tag/file stack, but I
remember that there *was* one (which I had bound to 'q').

(All this is from my memories of 4.2BSD > 3 years ago, so some of it is
fuzzy..)

BTW, Dave, you might want to suggest this feature to Wayne.... 

Shankar

mercer@ncrcce.StPaul.NCR.COM (D A Mercer) (03/02/88)

> Does anyone know what the "sourceany", "tagstack" and "timeout"
> options of ex/vi do? 

     timeout - ex/vi sets a one second timer upon input of special
	 characters (copied from curses); if all the characters are
	 not received within the time slice,  an error is generated and
	 subsequent characters in a multi character sequence (such as the
	 cursor keys for a vt100) are clocked in as normal command characters.
	 For instance, cursor right (<ESC>[C) can delete characters and leave
	 you in input mode.  Since in UNIX,  a 1 second time slice is the
	 interval between the last 1 second interval expiration and the next,
	 and is thus usually less than 1 second,  cursor keys are frequently
	 scrambled,  even at 19.2.  Setting notimeout prevents this,  bu has
	 its own side effects.  For instance,  if you have the erase to
	 end of file key defined for an ADDS Viewpoint 90 (<ESC>G),  trying
	 to exit input mode and branching to the end of the file can result
	 in erasing to the end of file.  Two escapes have to be entered to
	 be sure of exitting input mode.  All of this derives from ex being
	 single character oriented and only supporting multi character key
	 input as macros.