This program is compiled for 80486 (or higher) processors for Windows
95 (and it probably works on Windows NT).  It is a win32 console
program (no windows GUI) that supports long filenames.  However, for
backwards support, when an editor is invoked, the short pathname is
used.

The -q (quick search) option does not work due to unresolved problems
with the sort command.

The "Change this grep pattern:" is not implemented on MS-DOS and
Windows95 due to problems with the ed command.

The curses library has been replaced with curses.h and curses.c which
emulate the functionality with conio.h functions.  These are faster and
MUCH smaller.  In fact, the executable is only 102K!

You need Borland's MAKE or IDE (Interactive Development Environment)
version 5.02.  The cscope.ide and cscope.mak control files are
included.  These assume headers are under D:/BC5/INCLUDE and libraries
are under D:/BC5/LIB.

You must run lex on UNIX to generate the scanner.c file.

egrep.y is used in place of cgrep.c due to unresolved problems that
lock up the PC; you must run yacc on UNIX to generate the egrep.c
file.

Since MS-DOS conventions don't include having standard include
files in /USR/INCLUDE, you must either use the -I option to specify
where your compiler's standard include files are located, or use
the BORLAND convention of:

	C:/BC5/INCLUDE
	D:/BC5/INCLUDE
	C:/BC45/INCLUDE
	D:/BC45/INCLUDE
	C:/BC/INCLUDE
	D:/BC/INCLUDE
	C:/BORLANDC/INCLUDE
	D:/BORLANDC/INCLUDE

are also searched.

Cscope does not come with an editor and the standard MS-DOS editor
does not understand the +linenumber convention like VI or EMACS.
Versions of both VI and EMACS are available for MS-DOS elsewhere.

As this is a Windows 95 program, you can also specify a Windows program
as the editor.  For instance:

	set EDITOR=C:\winemacs\mewinnt.exe
	cscope95
		...

This will use this freeware editor (an emacs clone) which also happens
to understand the +linenumber convention.


----------------------------------------------------------------------
Changes needed for going from the DOS version to Windows 95 Console:
are marked with #ifdef CSCOPE95 

Changes to go from Unix to DOS (also used in cscope95) are marked
with #ifdef __BORLANDC__


------------------------------------------

regcmp.c:
	Change all __size  to R__size

------------------------------------------

global.h:
	define BOOL to conform to the MS Windows headers:
	#ifdef CSCOPE95
		/************************************************************
		 * Because of a typedef clash with the Windows 95 headers, we
		 * need to handle the boolean type differently.
		 ************************************************************/
	typedef int BOOL;
	#define NO  0
	#define YES 1
	#else
	typedef	enum	{		/* boolean data type */
		NO,
		YES
	} BOOL;
	#endif
	
------------------------------------------

command.c:
	Add in handling of extended keyboard character:

	#ifdef CSCOPE95
		/* Might have gotten an extended code */
	    if(commandc == '\0') {
	    	commandc = mygetch();	/* grab extension code */
		commandc |= 0x80;	/* set high bit to distiguish scan code from char */
	    }
	#endif
	
		switch (commandc) {



	Skip handling of undefined key (KEY_CLEAR):

		case ctrl('L'):	/* redraw screen */
	#ifndef CSCOPE95
	#if TERMINFO
		case KEY_CLEAR:
	#endif
			(void) clearok(curscr, TRUE);
			(void) wrefresh(curscr);
	#endif
			drawscrollbar(topline, bottomline, totallines);
			return(NO);
	

------------------------------------------

display.c
	Change "\n" to "\r\n" in printw calls.
		
	In myperror(), #ifdef out errno, sys_nerr, and sys_errlist[].
	
------------------------------------------

edit.c
	Immediately after including global.h, include wtypes.h and
	winbase.h to set up for using the Win32 function of
	GetShortPathName().

	At bottom of file, where the editor is executed, convert the 
	long filename to a short version:

	#ifdef CSCOPE95
		/**************************************************************
		 * To maintain compatibility with 16-bit editors (emacs, vi, etc)
		 * we need to conform to the old 8+3 DOS filenames.  So convert
		 * this file to the short version.  If the conversion fails,
		 * use the original, possibly long, filename.
		 **************************************************************/
		char	shortfile[256];
		int len = GetShortPathName(file,shortfile,255);
	        if(!len) {
	        	strcpy(shortfile, file);
	        }
		(void) execute(editor, editor, plusnum, shortfile, (char *) 0);
	#else
		(void) execute(editor, editor, plusnum, file, (char *) 0);
	#endif

------------------------------------------

scanner.c
	Since Borland 5.02 now uses a function call to define stdin (!) and
	stdout, ANSI C cannot handle a global initializer.  Turns out
	that one is not needed for this application:

	#ifdef CSCOPE95
	FILE *yyin;	/* cannot init at compile time because stdin is a function */
	FILE *yyout;
	#else
	FILE *yyin = {stdin}, *yyout = {stdout};
	#endif
