This file is indexed.

/usr/share/nrn/lib/hoc/rcs.iv is in neuron 7.5-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/*------------------------------------------------------------
/local/src/master/nrn/lib/hoc/rcs.iv,v 1.1.1.1 1994/10/12 17:20:44 hines Exp
------------------------------------------------------------*/

/*------------------------------------------------------------
Template for files maintained with RCS menu system
------------------------------------------------------------*/

begintemplate RcsFile 
	public fname, ci, co, file_menu, name, open, view, write
	strdef filename, fname, ver

	proc init() {
		/* Initialize all RcsFile variables */

		diff = 0		/* File different from rcs version - (1 needs ci, 0 doesn't) */
		exist = 0		/* Flag for valid instance - guard against empty array elements */
		filename = ""	/* File name */
		ver = ""		/* File's rcs version number */
		fname = ""		/* File's name with version number */
	}

	proc ci() { 
		/* Ci NAME */

		if (exist) { 
			if (rcs_ci_file(filename, diff)) { diff = 0 }
			/* Only change diff if rcs_ci_file() worked */

			set_version()
		}
	}

	proc co() { 
		/* Co NAME */

		if (exist) { 
			if (rcs_co_file(filename)) { diff = 0 }
			/* Only change diff if rcs_co_file() worked */

			set_version()
		}
	}

	proc file_menu() {
		set_version() 

		xpanel(filename)
			xvarlabel(fname)
			xlabel("")
	 		xbutton("Get New Version", "co()") 
	 		xbutton("Save Version", "ci()") 
	 		xbutton("Xopen File", "open()") 
 			xbutton("View File", "view()") 
 		xpanel() 
	}

	proc name() {
		/* Get file's name, test if exist & reset file's variables */

		if (file_exist($s1)) {
			init()
			filename = $s1
			exist = 1

			set_version() /* Also sets "fname" */

		} else {
			printf("name: file does not exist, please enter new file name or co file\n")
		}
	}			

	proc open() {
		/* Xopen() NAME and set DIFF for later reference */

		if (exist) {
			xopen(filename)
			set_diff()
		}
	}

	proc set_diff() { 
		/* Test if NAME different then original rcs version and set DIFF accordingly */

		if (diff == 0) {
			diff = rcsdiff_file(filename)
		}
	}

	proc set_version() { 
		/* Set VER with file's rcs version number */

		rcs_version(filename, "ver")

		/* Need to redo fname with proper version number */
		sprint(fname, "%s (%s)", filename, ver)
	}

	proc view() {
		/* Cat NAME */

		if (exist) { rcs_view_file(filename) }
	}

	proc write() {
		/* If DIFF then ask to ci files, write VER into version_file */

		if (exist) {
			if (diff) {	ci() }

			set_version()
			add_version_entry($s1, filename)
		}
	}
endtemplate RcsFile

/*------------------------------------------------------------
Procedures for handling a file list
------------------------------------------------------------*/

objectvar file
proc appendFile() {
	/* Add file $s1 to file list $o2 */

	file = new RcsFile()
	file.name($s1)
	$o2.append(file)
}

proc fileBrowser() {
	/* Display file manager browser for $o1, and uses $s2 to 
	   set $o1.accept_action ($s2 should be the name of $o1
	   as a string */
	strdef ba

	sprint(ba, "%s.object(hoc_ac_).file_menu()", $s2)

	$o1.browser("RCS File Manager", "filename")
	$o1.accept_action(ba)
}

proc openAll() {
	/* Xopen() all files in list $o1 */

 	for i = 0, $o1.count() { 
		$o1.object(i).open()
	}
}

proc saveVersionFile() {
	/* Create new version_file */

	for i = 0, $o1.count() {
		/* Write version numbers for all files in file list $o1 */
		$o1.object(i).write(identifier)
	}

	update_id_info(identifier)
	updateTitles()
}