/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()
}
|