| 
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
...
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
 | 
						return arg
					else return sp end
				end)
			end
			local function checkFromSec(sec,doc)
				if sec and not id:find'%.' then
					local rid = sec.refs[id]
					if rid then
						return rid, id, sec
					end
					if doc.sections[rid] then
						return nil, id, doc.sections[rid]
					end
				else
					local secid, ref = string.match(id, "(.-)%.(.+)")
					local s
					s = s or doc.sections[secid]
					if s then
						if s.refs[ref] then
................................................................................
					rid = self.invocation.origin:ref(id)
					if rid then
						return rid, id, self.invocation.origin.sec
					end
				end
			end
			o,i,s = scanParents(doc)
			if o or s then return o,i,s end
			self:fail("ID ā%sā does not name an object or section", id)
		end
	};
}
 |  | 
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
...
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
 | 
						return arg
					else return sp end
				end)
			end
			local function checkFromSec(sec,doc)
				if not id:find'%.' then
					if sec then
						local rid = sec.refs[id]
						if rid then
							return rid, id, sec
						end
					end
					if doc.sections[id] then
						return nil, id, doc.sections[id]
					end
				else
					local secid, ref = string.match(id, "(.-)%.(.+)")
					local s
					s = s or doc.sections[secid]
					if s then
						if s.refs[ref] then
................................................................................
					rid = self.invocation.origin:ref(id)
					if rid then
						return rid, id, self.invocation.origin.sec
					end
				end
			end
			o,i,s = scanParents(self.doc)
			if o or s then return o,i,s end
			self:fail("ID ā%sā does not name an object or section", id)
		end
	};
}
 |