162: def self.get_lines(filename, start_line = 1)
163: case filename
164: when nil
165: nil
166: when "(irb)"
167: IRB.conf[:MAIN_CONTEXT].io.line(start_line .. -2)
168: when /^\(eval.+\)$/
169: EVAL_LINES__[filename][start_line .. -2]
170: else
171:
172: if defined?(SCRIPT_LINES__) && SCRIPT_LINES__[filename]
173: SCRIPT_LINES__[filename][(start_line - 1) .. -1]
174:
175: elsif File.exist?(filename)
176: begin
177: File.readlines(filename)[(start_line - 1) .. -1]
178: rescue
179: nil
180: end
181: end
182: end
183: end