linecache 0.43 → 0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ChangeLog CHANGED
@@ -1,317 +0,0 @@
1
- 2008-04-10 20:06 Rocky Bernstein
2
-
3
- * NEWS: What's new for 0.41.
4
-
5
- 2008-04-10 20:02 Rocky Bernstein
6
-
7
- * ChangeLog, Rakefile, VERSION: Forgot to add test/data to the gem.
8
-
9
- 2008-04-10 02:15 Rocky Bernstein
10
-
11
- * NEWS:
12
-
13
- 2008-03-28 15:04 Rocky Bernstein
14
-
15
- * test/data/if6.rb, test/data/if7.rb: More if tests
16
-
17
- 2008-03-09 23:24 Rocky Bernstein
18
-
19
- * ChangeLog, Rakefile, VERSION, lib/linecache.rb: Deal with
20
- Depricated win32.
21
-
22
- 2008-03-05 02:01 Rocky Bernstein
23
-
24
- * Rakefile: Add rubyforge_upload task -- code from
25
- ruby-memory-profiler.
26
-
27
- 2008-03-04 22:47 Rocky Bernstein
28
-
29
- * README: Ooops - forgot to credit Ryan Davis and ParseTree.
30
-
31
- 2008-02-10 13:59 Rocky Bernstein
32
-
33
- * ChangeLog, Rakefile, ext/trace_nums.c, ext/win32, svn2cl_usermap:
34
- Go over Rakefile and doc for 0.3 release.
35
-
36
- 2008-01-29 21:51 Rocky Bernstein
37
-
38
- * test/test-linecache.rb: Interface change. Don't know why this
39
- didn't get updated before.
40
-
41
- 2008-01-28 15:35 Rocky Bernstein
42
-
43
- * ChangeLog, lib/linecache.rb: Change line number return from a Set
44
- to an Array.
45
-
46
- 2008-01-27 11:24 Rocky Bernstein
47
-
48
- * ext/trace_nums.c, ext/trace_nums.h, test/data/if5.rb: Handle
49
- defined? node. Add "if" weirdness test.
50
-
51
- 2008-01-27 04:26 Rocky Bernstein
52
-
53
- * test/data/case5.rb: Verify that the 'else' doesn't appear in a
54
- trace.
55
-
56
- 2008-01-27 04:21 Rocky Bernstein
57
-
58
- * ext/trace_nums.c, test/data/block1.rb, test/data/block2.rb,
59
- test/data/case1.rb, test/data/case2.rb, test/data/case3.rb,
60
- test/data/case4.rb, test/data/case5.rb, test/data/def1.rb,
61
- test/data/each1.rb, test/data/for1.rb, test/data/if3.rb,
62
- test/data/if4.rb, test/data/match3.rb, test/data/match3a.rb,
63
- test/data/not-lit.rb: Was not showing blocks after when's.
64
-
65
- 2008-01-27 04:03 Rocky Bernstein
66
-
67
- * ext/trace_nums.c, test/data/block1.rb, test/data/block2.rb,
68
- test/data/if4.rb, test/lnum-diag.rb: trace_nums.c, block1.c,
69
- block2.c: bug in handling blocks
70
- lnum-diag.rb: more graceful about not finding the source.
71
- if4.rb: note weirdness in the way comparison works.
72
-
73
- 2008-01-27 02:11 Rocky Bernstein
74
-
75
- * ext/trace_nums.c, ext/trace_nums.h, test/data/case4.rb,
76
- test/data/def1.rb, test/data/if3.rb, test/lnum-diag.rb: Finish
77
- adding all tree nodes. Work on case nodes some more.
78
- lnum-diag.rb: add options to turn on and off various parts.
79
-
80
- 2008-01-26 11:12 Rocky Bernstein
81
-
82
- * test/data/comments1.rb: Add comment test and situation where no
83
- lines traced.
84
-
85
- 2008-01-26 11:08 Rocky Bernstein
86
-
87
- * ext/trace_nums.c, test/data/class1.rb: Add class, scope and
88
- module nodes.
89
-
90
- 2008-01-26 10:18 Rocky Bernstein
91
-
92
- * ext/trace_nums.c, test/rcov-bug.rb, test/test-linecache.rb,
93
- test/test-tracelines.rb: Add more tree nodes.
94
-
95
- 2008-01-26 02:09 Rocky Bernstein
96
-
97
- * test/data/each1.rb, test/data/for1.rb, test/data/if1.rb,
98
- test/data/if2.rb, test/test-lnum.rb: Add Debugger.init which
99
- intializes things that rdebug does. This
100
- allows a restart even though rdebug wasn't called initially.
101
-
102
- 2008-01-25 03:50 Rocky Bernstein
103
-
104
- * ext/trace_nums.c: Some code cleanup.
105
-
106
- 2008-01-25 02:50 Rocky Bernstein
107
-
108
- * ext/trace_nums.c, test/data/case1.rb, test/data/case2.rb,
109
- test/data/case3.rb, test/data/match3.rb, test/data/match3a.rb:
110
- Work over case, when and match3.
111
-
112
- 2008-01-25 00:17 Rocky Bernstein
113
-
114
- * ext/trace_nums.c, test/data, test/lnum-data, test/lnum-diag.rb,
115
- test/test-lnum.rb, test/test-tracelines.rb: Trace just line
116
- numbers for now until we get a better handle on things.
117
-
118
- 2008-01-24 13:36 Rocky Bernstein
119
-
120
- * test/lnum-diag.rb, test/rcov-bug.rb, test/test-linecache.rb,
121
- test/test-tracelines.rb: Need recursion in more places because of
122
- block continuation nodes.
123
- Add nodes needed so we don't complain about rcov-bug.rb:
124
- NODE_MATCH3, NODE_LASN, and NODE_STR (and those similar to that).
125
-
126
- 2008-01-24 04:09 Rocky Bernstein
127
-
128
- * test/lnum-diag.rb: Fix bug if print_file == false
129
-
130
- 2008-01-24 04:04 Rocky Bernstein
131
-
132
- * ext/trace_nums.c, test/lnum-data/begin3.rb,
133
- test/lnum-data/end.rb, test/lnum-data/match.rb,
134
- test/lnum-data/not-lit.rb, test/lnum-diag.rb: Add more
135
- operatiors. Go over existing ones and add more tests of them.
136
-
137
- 2008-01-23 19:17 Rocky Bernstein
138
-
139
- * NEWS: What's up.
140
-
141
- 2008-01-23 19:12 Rocky Bernstein
142
-
143
- * test/lnum-diag.rb: Don't assume we have expected line numbers.
144
-
145
- 2008-01-23 19:05 Rocky Bernstein
146
-
147
- * test/lnum-diag.rb: A conversion-error bug.
148
-
149
- 2008-01-23 19:04 Rocky Bernstein
150
-
151
- * test/lnum-diag.rb: variable name typo.
152
-
153
- 2008-01-23 19:03 Rocky Bernstein
154
-
155
- * ext, ext/trace_nums.c, test/lnum-diag.rb, test/parse-show.rb:
156
- lnum-diag.rb and parse-show.rb - some diagnostic tools.
157
-
158
- 2008-01-23 16:06 Rocky Bernstein
159
-
160
- * ChangeLog, ext/trace_nums.c: Show add_lines level, nicer
161
- formatting including \n for end.
162
-
163
- 2008-01-23 15:32 Rocky Bernstein
164
-
165
- * test/test-lnum.rb: Generalized routine to test everything in
166
- lnum-data
167
-
168
- 2008-01-23 12:07 Rocky Bernstein
169
-
170
- * Rakefile, ext, ext/extconf.rb, ext/trace_nums.c,
171
- ext/trace_nums.h, lib/linecache.rb, lib/tracelines.rb,
172
- test/lnum-data, test/lnum-data/begin1.rb,
173
- test/lnum-data/begin2.rb, test/lnum-data/begin3.rb,
174
- test/test-tracelines.rb: ParseTree is broken for our purposes.
175
- Having custom code for getting
176
- the trace line numbers is going remove a lot of headaches down
177
- the line.
178
-
179
- 2008-01-20 21:37 Rocky Bernstein
180
-
181
- * Rakefile, lib/linecache.rb, test/test-linecache.rb: Add
182
- trace_line_numbers to save/get line numbers which we can set
183
- breakpoints
184
- on.
185
-
186
- 2008-01-20 16:31 Rocky Bernstein
187
-
188
- * ChangeLog, Rakefile, lib/linecache.rb, lib/tracelines.rb,
189
- test/rcov-bug.rb, test/test-tracelines.rb: Add module
190
- TraceLineNumbers for extracting the stoppable lines in a
191
- Ruby program.
192
-
193
- 2008-01-19 15:55 Rocky Bernstein
194
-
195
- * lib/linecache.rb, test/test-linecache.rb: Allow nil to mean the
196
- same file. More tests.
197
-
198
- 2008-01-19 15:45 Rocky Bernstein
199
-
200
- * lib/linecache.rb, test/test-linecache.rb: Start remap_file_lines:
201
- ability to remap file ranges.
202
-
203
- 2008-01-17 22:25 Rocky Bernstein
204
-
205
- * lib/linecache.rb, test/test-linecache.rb: lines -> size. Add
206
- empty? Add remap_file.
207
-
208
- 2008-01-17 20:05 Rocky Bernstein
209
-
210
- * lib/linecache.rb, test/test-linecache.rb: Add method to get the
211
- number of lines in a cached file.
212
-
213
- 2008-01-17 19:42 Rocky Bernstein
214
-
215
- * lib/linecache.rb, test/short-file, test/test-linecache.rb: Add
216
- convenience method for testing presence in SCRIPT_LINES__.
217
-
218
- 2008-01-17 07:30 Rocky Bernstein
219
-
220
- * lib/linecache.rb, test/test-linecache.rb: Add path method and
221
- test.
222
-
223
- 2008-01-17 06:54 Rocky Bernstein
224
-
225
- * VERSION, lib/linecache.rb, test/test-linecache.rb: Add
226
- @@full2file_cache_key. getlines wasn't returning the right value
227
- sometimes.
228
- Make return from checkcache meaningful. Change return value of
229
- upate_cache().
230
- test-linecache.rb: was testing for buggy behavior!
231
- VERSION: now in 0.3 - hope we get it right this time.
232
-
233
- 2008-01-16 12:51 Rocky Bernstein
234
-
235
- * lib/linecache.rb: Add cached_files.
236
-
237
- 2008-01-16 01:30 Rocky Bernstein
238
-
239
- * NEWS: Update news for 0.2 release.
240
-
241
- 2008-01-15 22:43 Rocky Bernstein
242
-
243
- * test/test-linecache.rb: Remove debug line.
244
-
245
- 2008-01-15 22:42 Rocky Bernstein
246
-
247
- * lib/linecache.rb: Fix some syntax errors.
248
-
249
- 2008-01-15 22:40 Rocky Bernstein
250
-
251
- * Rakefile, lib/linecache.rb, test/short-file,
252
- test/test-linecache.rb: Add routine to save and get SHA1.
253
-
254
- 2008-01-15 22:16 Rocky Bernstein
255
-
256
- * lib/linecache.rb, test/test-linecache.rb: Add cached? and stat
257
- methods to determine in a file is cached and get
258
- File.stat from it.
259
-
260
- 2008-01-15 08:49 Rocky Bernstein
261
-
262
- * lib/linecache.rb: Don't ever modify SCRIPT_LINES__. And until
263
- SCRIPT_LINES__ is fixed,
264
- don't read from it. Corrections to comments.
265
-
266
- 2008-01-14 12:27 Rocky Bernstein
267
-
268
- * ChangeLog, VERSION, lib/linecache.rb: Add parameter to getline
269
- and getlines to reload file on change. Add
270
- option on clear_file_cache to clear out SCRIPT_LINES__ as well.
271
- TESTS ARE NEEDED.
272
- Update to version 0.2.
273
-
274
- 2008-01-14 03:41 Rocky Bernstein
275
-
276
- * lib/linecache.rb: Use SCRIPT_LINES__ if we can.
277
-
278
- 2007-12-10 16:24 Rocky Bernstein
279
-
280
- * : release 0.1
281
-
282
- 2007-12-09 17:47 Rocky Bernstein
283
-
284
- * : Make Ruby 1.9 compatible.
285
-
286
- 2007-12-09 17:17 Rocky Bernstein
287
-
288
- * : Better tests mean more bugs found. "rake" defaults now to
289
- "test".
290
-
291
- 2007-12-09 14:10 Rocky Bernstein
292
-
293
- * : Add VERSION to gem.
294
-
295
- 2007-12-09 14:09 Rocky Bernstein
296
-
297
- * : Change classname to something more appropriate.
298
-
299
- 2007-12-09 13:41 Rocky Bernstein
300
-
301
- * : . : ignore doc and pkg
302
- Rakefile: clean now does clobber_rdoc and clobber_package, i.e.
303
- removes
304
- the doc and pkg directories.
305
-
306
- 2007-12-09 13:15 Rocky Bernstein
307
-
308
- * : NEWS, README, linecache.rb: Add $Id$ line
309
- test-linecache.rb: make executable
310
- Rakefile: Correct documentation
311
-
312
- 2007-12-09 12:58 Rocky Bernstein
313
-
314
- * : Initial import of LineCache, a module for reading and caching
315
- lines.
316
- This time to trunk.
317
-
data/NEWS CHANGED
@@ -1,3 +1,8 @@
1
+ 0.45
2
+ 06-12-11
3
+ - Support for syntax highlighting and caching eval strings. The former
4
+ is used in rb8-trepanning.
5
+
1
6
  0.43
2
7
  06-12-08
3
8
  - tolerance for finding windows extension in lib rather than ext.
@@ -26,4 +31,4 @@
26
31
 
27
32
  - Initial release of LineCache, a module for reading and caching lines.
28
33
 
29
- $Id: NEWS 144 2008-06-12 11:29:53Z rockyb $
34
+ $Id: NEWS 265 2011-06-09 21:51:21Z rockyb $
data/README CHANGED
@@ -1,4 +1,16 @@
1
- = LineCache - Module to read and cache lines of a file
1
+ = LineCache - A module to read and cache file information of a Ruby program.
2
+
3
+ == SYNOPSIS
4
+
5
+ The LineCache module allows one to get any line from any file, caching
6
+ the lines and file information on first access to the file. Although
7
+ the file may be any file, the common use is when the file is a Ruby
8
+ script since parsing of the file is done to figure out where the
9
+ statement boundaries are.
10
+
11
+ The routines here may be is useful when a small random sets of lines
12
+ are read from a single file, in particular in a debugger to show
13
+ source lines.
2
14
 
3
15
  == Summary
4
16
 
@@ -35,4 +47,4 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
35
47
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36
48
  GNU General Public License for more details.
37
49
 
38
- $Id: README 63 2008-03-04 22:47:26Z rockyb $
50
+ $Id: README 169 2009-02-08 17:19:33Z rockyb $
data/Rakefile CHANGED
@@ -5,12 +5,12 @@ require 'rake/gempackagetask'
5
5
  require 'rake/rdoctask'
6
6
  require 'rake/testtask'
7
7
 
8
- SO_NAME = "trace_nums.so"
8
+ SO_NAME = 'trace_nums.so'
9
9
 
10
- # ------- Default Package ----------
11
- PKG_VERSION = open(File.join(File.dirname(__FILE__), 'VERSION')) do
12
- |f| f.readlines[0].chomp
13
- end
10
+ ROOT_DIR = File.dirname(__FILE__)
11
+ load File.join %W(#{ROOT_DIR} lib version.rb)
12
+
13
+ PKG_VERSION = LineCache::VERSION
14
14
  PKG_NAME = 'linecache'
15
15
  PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
16
16
  RUBY_FORGE_PROJECT = 'rocky-hacks'
@@ -23,7 +23,6 @@ FILES = FileList[
23
23
  'NEWS',
24
24
  'README',
25
25
  'Rakefile',
26
- 'VERSION',
27
26
  'ext/trace_nums.c',
28
27
  'ext/trace_nums.h',
29
28
  'ext/extconf.rb',
@@ -33,36 +32,38 @@ FILES = FileList[
33
32
  'test/short-file'
34
33
  ]
35
34
 
36
- desc "Test everything."
37
- test_task = task :test => :lib do
38
- Rake::TestTask.new(:test) do |t|
39
- t.pattern = 'test/test-*.rb'
40
- t.verbose = true
41
- end
35
+ desc 'Test everything'
36
+ Rake::TestTask.new(:test) do |t|
37
+ t.libs << './lib'
38
+ t.pattern = 'test/test-*.rb'
39
+ t.options = '--verbose' if $VERBOSE
42
40
  end
41
+ task :test => :lib
43
42
 
44
- desc "Create the core ruby-debug shared library extension"
43
+ desc 'Create the core ruby-debug shared library extension'
45
44
  task :lib do
46
- Dir.chdir("ext") do
45
+ Dir.chdir('ext') do
47
46
  system("#{Gem.ruby} extconf.rb && make")
48
47
  end
49
48
  end
50
49
 
51
50
 
52
- desc "Test everything - same as test."
51
+ desc 'Test everything - same as test.'
53
52
  task :check => :test
54
53
 
55
- desc "Create a GNU-style ChangeLog via svn2cl"
54
+ desc 'Create a GNU-style ChangeLog via svn2cl'
56
55
  task :ChangeLog do
57
- system("svn2cl --authors=svn2cl_usermap")
56
+ system('svn2cl --authors=svn2cl_usermap')
58
57
  end
59
58
 
59
+ gem_file = nil
60
+
60
61
  # Base GEM Specification
61
62
  default_spec = Gem::Specification.new do |spec|
62
- spec.name = "linecache"
63
+ spec.name = 'linecache'
63
64
 
64
- spec.homepage = "http://rubyforge.org/projects/rocky-hacks/linecache"
65
- spec.summary = "Read file with caching"
65
+ spec.homepage = 'http://rubyforge.org/projects/rocky-hacks/linecache'
66
+ spec.summary = 'Read file with caching'
66
67
  spec.description = <<-EOF
67
68
  LineCache is a module for reading and caching lines. This may be useful for
68
69
  example in a debugger where the same lines are shown many times.
@@ -70,12 +71,12 @@ EOF
70
71
 
71
72
  spec.version = PKG_VERSION
72
73
 
73
- spec.author = "R. Bernstein"
74
- spec.email = "rockyb@rubyforge.net"
74
+ spec.author = 'R. Bernstein'
75
+ spec.email = 'rockyb@rubyforge.net'
75
76
  spec.platform = Gem::Platform::RUBY
76
- spec.require_path = "lib"
77
+ spec.require_path = 'lib'
77
78
  spec.files = FILES.to_a
78
- spec.extensions = ["ext/extconf.rb"]
79
+ spec.extensions = ['ext/extconf.rb']
79
80
 
80
81
  spec.required_ruby_version = '>= 1.8.2'
81
82
  spec.date = Time.now
@@ -86,10 +87,12 @@ EOF
86
87
  spec.extra_rdoc_files = ['README', 'lib/linecache.rb', 'lib/tracelines.rb']
87
88
 
88
89
  spec.test_files = FileList['test/*.rb']
90
+ gem_file = "#{spec.name}-#{spec.version}.gem"
91
+
89
92
  end
90
93
 
91
94
  # Rake task to build the default package
92
- Rake::GemPackageTask.new(default_spec) do |pkg|
95
+ Rake::GemPackageTask.new(default_spec) do |pkg|
93
96
  pkg.need_tar = true
94
97
  end
95
98
 
@@ -102,12 +105,12 @@ win_spec.extensions = []
102
105
  win_spec.platform = 'mswin32'
103
106
  win_spec.files += ["lib/#{SO_NAME}"]
104
107
 
105
- desc "Create Windows Gem"
108
+ desc 'Create Windows Gem'
106
109
  task :win32_gem do
107
110
  # Copy the win32 extension the top level directory.
108
111
  current_dir = File.expand_path(File.dirname(__FILE__))
109
- source = File.join(current_dir, "ext", "win32", SO_NAME)
110
- target = File.join(current_dir, "lib", SO_NAME)
112
+ source = File.join(current_dir, 'ext', 'win32', SO_NAME)
113
+ target = File.join(current_dir, 'lib', SO_NAME)
111
114
  cp(source, target)
112
115
 
113
116
  # Create the gem, then move it to pkg.
@@ -119,37 +122,45 @@ task :win32_gem do
119
122
  rm(target)
120
123
  end
121
124
 
122
- desc "Publish linecache to RubyForge."
125
+ desc 'Publish linecache to RubyForge.'
123
126
  task :publish do
124
127
  require 'rake/contrib/sshpublisher'
125
128
 
126
129
  # Get ruby-debug path.
127
130
  ruby_debug_path = File.expand_path(File.dirname(__FILE__))
128
131
 
129
- publisher = Rake::SshDirPublisher.new("rockyb@rubyforge.org",
130
- "/var/www/gforge-projects/rocky-hacks/linecache", ruby_debug_path)
132
+ publisher = Rake::SshDirPublisher.new('rockyb@rubyforge.org',
133
+ '/var/www/gforge-projects/rocky-hacks/linecache', ruby_debug_path)
134
+ end
135
+
136
+ desc 'Remove residue from running patch'
137
+ task :rm_patch_residue do
138
+ FileUtils.rm_rf Dir.glob('**/*.{rej,orig}'), :verbose => true
131
139
  end
132
140
 
133
- desc "Remove built files"
134
- task :clean => [:clobber_package, :clobber_rdoc] do
135
- cd "ext" do
136
- if File.exists?("Makefile")
137
- sh "make clean"
138
- rm "Makefile"
141
+ desc 'Remove ~ backup files'
142
+ task :rm_tilde_backups do
143
+ FileUtils.rm_rf Dir.glob('**/*~'), :verbose => true
144
+ end
145
+
146
+ desc 'Remove built files'
147
+ task :clean => [:clobber_package, :clobber_rdoc, :rm_patch_residue,
148
+ :rm_tilde_backups] do
149
+ cd 'ext' do
150
+ if File.exists?('Makefile')
151
+ sh 'make clean'
152
+ rm 'Makefile'
139
153
  end
140
- derived_files = Dir.glob(".o") + Dir.glob("*.so")
154
+ derived_files = Dir.glob('.o') + Dir.glob('*.so')
141
155
  rm derived_files unless derived_files.empty?
142
156
  end
143
157
  end
144
158
 
145
159
  # --------- RDoc Documentation ------
146
- desc "Generate rdoc documentation"
147
- Rake::RDocTask.new("rdoc") do |rdoc|
160
+ desc 'Generate rdoc documentation'
161
+ Rake::RDocTask.new('rdoc') do |rdoc|
148
162
  rdoc.rdoc_dir = 'doc'
149
- rdoc.title = "linecache"
150
- # Show source inline with line numbers
151
- rdoc.options << "--inline-source" << "--line-numbers"
152
- # Make the readme file the start page for the generated html
163
+ rdoc.title = "linecache #{LineCache::VERSION} Documentation"
153
164
  rdoc.options << '--main' << 'README'
154
165
  rdoc.rdoc_files.include('ext/**/*.c',
155
166
  'lib/*.rb',
@@ -157,10 +168,18 @@ Rake::RDocTask.new("rdoc") do |rdoc|
157
168
  'COPYING')
158
169
  end
159
170
 
160
- desc "Publish the release files to RubyForge."
171
+ desc 'Publish the release files to RubyForge.'
161
172
  task :rubyforge_upload do
162
173
  `rubyforge login`
163
174
  release_command = "rubyforge add_release #{PKG_NAME} #{PKG_NAME} '#{PKG_NAME}-#{PKG_VERSION}' pkg/#{PKG_NAME}-#{PKG_VERSION}.gem"
164
175
  puts release_command
165
176
  system(release_command)
166
177
  end
178
+
179
+ desc 'Install the gem locally'
180
+ task :install => :gem do
181
+ Dir.chdir(ROOT_DIR) do
182
+ sh %{gem install --local pkg/#{gem_file}}
183
+ end
184
+ end
185
+
@@ -34,15 +34,29 @@
34
34
  #include <ruby.h>
35
35
  #include <version.h>
36
36
  #include <node.h>
37
- #include <env.h>
38
37
  #include <rubysig.h>
39
38
  #include "trace_nums.h"
40
39
 
41
40
  VALUE mTraceLineNumbers;
42
- extern NODE *ruby_eval_tree_begin;
41
+ RUBY_EXTERN NODE *ruby_eval_tree_begin;
42
+ RUBY_EXTERN int ruby_in_eval;
43
43
 
44
44
  #define nd_3rd u3.node
45
45
 
46
+ extern struct FRAME {
47
+ VALUE self;
48
+ int argc;
49
+ ID last_func;
50
+ ID orig_func;
51
+ VALUE last_class;
52
+ struct FRAME *prev;
53
+ struct FRAME *tmp;
54
+ struct RNode *node;
55
+ int iter;
56
+ int flags;
57
+ unsigned long uniq;
58
+ } *ruby_frame;
59
+
46
60
  struct METHOD {
47
61
  VALUE klass, rklass;
48
62
  VALUE recv;
@@ -87,7 +101,7 @@ struct BLOCK {
87
101
  #endif
88
102
 
89
103
  /* Used just in debugging. */
90
- static indent_level = 0;
104
+ static int indent_level = 0;
91
105
 
92
106
  static
93
107
  void ln_eval(VALUE self, NODE * n, VALUE ary) {
@@ -1,7 +1,7 @@
1
1
  /* Order is in C enum order. The below is correct for Ruby 1.8.6.
2
2
  Possibly others, but there may need some adjustment here.
3
3
  */
4
- char *NODE2NAME[] =
4
+ const char *NODE2NAME[] =
5
5
  {
6
6
  "method",
7
7
  "fbody",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
- # $Id: linecache.rb 69 2008-03-09 23:24:25Z rockyb $
2
+ # $Id: linecache.rb 266 2011-06-10 23:41:29Z rockyb $
3
3
  #
4
- # Copyright (C) 2007, 2008 Rocky Bernstein <rockyb@rubyforge.net>
4
+ # Copyright (C) 2007, 2008, 2010, 2011 Rocky Bernstein <rockyb@rubyforge.net>
5
5
  #
6
6
  # This program is free software; you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -22,16 +22,20 @@
22
22
  # Author:: Rocky Bernstein (mailto:rockyb@rubyforge.net)
23
23
  #
24
24
  # = linecache
25
- # Module to read and cache lines of a file
26
- # == Version
27
- # :include:VERSION
25
+ # A module to read and cache lines of a Ruby program.
28
26
 
29
27
  # == SYNOPSIS
30
28
  #
31
29
  # The LineCache module allows one to get any line from any file,
32
- # caching lines of the file on first access to the file. The may be is
33
- # useful when a small random sets of lines are read from a single
34
- # file, in particular in a debugger to show source lines.
30
+ # caching lines of the file on first access to the file. Although the
31
+ # file may be any file, the common use is when the file is a Ruby
32
+ # script since parsing of the file is done to figure out where the
33
+ # statement boundaries are.
34
+ #
35
+ # The routines here may be is useful when a small random sets of lines
36
+ # are read from a single file, in particular in a debugger to show
37
+ # source lines.
38
+ #
35
39
  #
36
40
  # require 'linecache'
37
41
  # lines = LineCache::getlines('/tmp/myruby.rb')
@@ -43,7 +47,6 @@
43
47
  # # Note lines[6] == line (if /tmp/myruby.rb has 6 lines)
44
48
  #
45
49
  # LineCache::clear_file_cache
46
- # LineCache::clear_file_cache('/tmp/myruby.rb')
47
50
  # LineCache::update_cache # Check for modifications of all cached files.
48
51
  #
49
52
  # Some parts of the interface is derived from the Python module of the
@@ -60,11 +63,13 @@ require 'digest/sha1'
60
63
  require 'set'
61
64
 
62
65
  begin require 'rubygems' rescue LoadError end
63
- require 'tracelines'
66
+ require 'require_relative'
67
+ require_relative 'tracelines'
68
+ require_relative 'version'
64
69
  # require 'ruby-debug' ; Debugger.start
65
70
 
66
71
  # = module LineCache
67
- # Module caching lines of a file
72
+ # A module to read and cache lines of a Ruby program.
68
73
  module LineCache
69
74
  LineCacheInfo = Struct.new(:stat, :line_numbers, :lines, :path, :sha1) unless
70
75
  defined?(LineCacheInfo)
@@ -72,6 +77,11 @@ module LineCache
72
77
  # The file cache. The key is a name as would be given by Ruby for
73
78
  # __FILE__. The value is a LineCacheInfo object.
74
79
  @@file_cache = {}
80
+ @@script_cache = {}
81
+
82
+
83
+ # Used for CodeRay syntax highlighting
84
+ @@ruby_highlighter = nil
75
85
 
76
86
  # Maps a string filename (a String) to a key in @@file_cache (a
77
87
  # String).
@@ -87,28 +97,80 @@ module LineCache
87
97
  # ranges. Will probably use this for that, but I'm not sure.
88
98
  @@file2file_remap = {}
89
99
  @@file2file_remap_lines = {}
100
+ @@script2file = {}
101
+
102
+ module_function
103
+
104
+ def remove_script_temps
105
+ @@script2file.values.each do |filename|
106
+ File.unlink(filename) if File.exist?(filename)
107
+ end
108
+ end
109
+ at_exit { remove_script_temps }
110
+
90
111
 
91
112
  # Clear the file cache entirely.
92
- def clear_file_cache()
93
- @@file_cache = {}
94
- @@file2file_remap = {}
95
- @@file2file_remap_lines = {}
113
+ def clear_file_cache(filename=nil)
114
+ if filename
115
+ if @@file_cache[filename]
116
+ @@file_cache.delete(filename)
117
+ end
118
+ else
119
+ @@file_cache = {}
120
+ @@file2file_remap = {}
121
+ @@file2file_remap_lines = {}
122
+ end
123
+ end
124
+
125
+ # Remove syntax-formatted lines in the cache. Use this
126
+ # when you change the CodeRay syntax or Token formatting
127
+ # and want to redo how files may have previously been
128
+ # syntax marked.
129
+ def clear_file_format_cache
130
+ @@file_cache.each_pair do |fname, cache_info|
131
+ cache_info.lines.each_pair do |format, lines|
132
+ next if :plain == format
133
+ @@file_cache[fname].lines[format] = nil
134
+ end
135
+ end
136
+ end
137
+
138
+ # Remove syntax-formatted lines in the cache. Use this
139
+ # when you change the CodeRay syntax or Token formatting
140
+ # and want to redo how files may have previously been
141
+ # syntax marked.
142
+ def clear_file_format_cache
143
+ @@file_cache.each_pair do |fname, cache_info|
144
+ cache_info.lines.each_pair do |format, lines|
145
+ next if :plain == format
146
+ @@file_cache[fname].lines[format] = nil
147
+ end
148
+ end
149
+ end
150
+
151
+ # Clear the script cache entirely.
152
+ def clear_script_cache()
153
+ @@script_cache = {}
96
154
  end
97
- module_function :clear_file_cache
98
155
 
99
156
  # Return an array of cached file names
100
157
  def cached_files()
101
158
  @@file_cache.keys
102
159
  end
103
- module_function :cached_files
104
160
 
105
161
  # Discard cache entries that are out of date. If +filename+ is +nil+
106
162
  # all entries in the file cache +@@file_cache+ are checked.
107
- # If we don't have stat information about a file which can happen
163
+ # If we don't have stat information about a file, which can happen
108
164
  # if the file was read from __SCRIPT_LINES but no corresponding file
109
165
  # is found, it will be kept. Return a list of invalidated filenames.
110
166
  # nil is returned if a filename was given but not found cached.
111
- def checkcache(filename=nil, use_script_lines=false)
167
+ def checkcache(filename=nil, opts=false)
168
+ use_script_lines =
169
+ if opts.kind_of?(Hash)
170
+ opts[:use_script_lines]
171
+ else
172
+ opts
173
+ end
112
174
 
113
175
  if !filename
114
176
  filenames = @@file_cache.keys()
@@ -123,19 +185,60 @@ module LineCache
123
185
  next unless @@file_cache.member?(filename)
124
186
  path = @@file_cache[filename].path
125
187
  if File.exist?(path)
126
- cache_info = @@file_cache[filename]
188
+ cache_info = @@file_cache[filename].stat
127
189
  stat = File.stat(path)
128
- if stat &&
129
- (cache_info.size != stat.size or cache_info.mtime != stat.mtime)
190
+ if cache_info
191
+ if stat &&
192
+ (cache_info.size != stat.size or cache_info.mtime != stat.mtime)
193
+ result << filename
194
+ update_cache(filename, opts)
195
+ end
196
+ else
130
197
  result << filename
131
- update_cache(filename, use_script_lines)
198
+ update_cache(filename, opts)
132
199
  end
133
200
  end
134
201
  end
135
202
  return result
136
203
  end
137
- module_function :checkcache
204
+
205
+ # Cache script if it's not already cached.
206
+ def cache_script(script, opts={})
207
+ if !@@script_cache.member?(script)
208
+ update_script_cache(script, opts)
209
+ end
210
+ script
211
+ end
212
+
213
+ # Cache file name or script object if it's not already cached.
214
+ # Return the expanded filename for it in the cache if a filename,
215
+ # or the script, or nil if we can't find the file.
216
+ def cache(file_or_script, reload_on_change=false)
217
+ if file_or_script.kind_of?(String)
218
+ cache_file(file_or_script, reload_on_change)
219
+ else
220
+ cache_script(file_or_script)
221
+ end
222
+ end
138
223
 
224
+ # Cache filename if it's not already cached.
225
+ # Return the expanded filename for it in the cache
226
+ # or nil if we can't find the file.
227
+ def cache_file(filename, reload_on_change=false, opts={})
228
+ if @@file_cache.member?(filename)
229
+ checkcache(filename) if reload_on_change
230
+ else
231
+ opts[:use_script_lines] = true
232
+ update_cache(filename, opts)
233
+ end
234
+ if @@file_cache.member?(filename)
235
+ @@file_cache[filename].path
236
+ else
237
+ nil
238
+ end
239
+ end
240
+
241
+ # Older routine - for compability.
139
242
  # Cache filename if it's not already cached.
140
243
  # Return the expanded filename for it in the cache
141
244
  # or nil if we can't find the file.
@@ -151,80 +254,116 @@ module LineCache
151
254
  nil
152
255
  end
153
256
  end
154
- module_function :cache
155
257
 
156
- # Return true if filename is cached
157
- def cached?(filename)
158
- @@file_cache.member?(unmap_file(filename))
258
+ # Return true if file_or_script is cached
259
+ def cached?(file_or_script)
260
+ if file_or_script.kind_of?(String)
261
+ @@file_cache.member?(unmap_file(file_or_script))
262
+ else
263
+ cached_script?(file_or_script)
264
+ end
159
265
  end
160
- module_function :cached?
161
266
 
162
267
  def cached_script?(filename)
163
268
  SCRIPT_LINES__.member?(unmap_file(filename))
164
269
  end
165
- module_function :cached_script?
166
270
 
167
271
  def empty?(filename)
168
272
  filename=unmap_file(filename)
169
- @@file_cache[filename].lines.empty?
273
+ !!@@file_cache[filename].lines[:plain]
170
274
  end
171
- module_function :empty?
172
275
 
173
276
  # Get line +line_number+ from file named +filename+. Return nil if
174
277
  # there was a problem. If a file named filename is not found, the
175
- # function will look for it in the $: path array.
278
+ # function will look for it in the $: array.
176
279
  #
177
280
  # Examples:
178
281
  #
179
- # lines = LineCache::getline('/tmp/myfile.rb)
282
+ # lines = LineCache::getline('/tmp/myfile.rb')
180
283
  # # Same as above
181
284
  # $: << '/tmp'
182
- # lines = Dir.chdir('/tmp') do
183
- # lines = LineCache::getlines ('myfile.rb')
184
- # end
285
+ # lines = LineCache.getlines('myfile.rb')
185
286
  #
186
- def getline(filename, line_number, reload_on_change=true)
187
- filename = unmap_file(filename)
188
- filename, line_number = unmap_file_line(filename, line_number)
189
- lines = getlines(filename, reload_on_change)
287
+ def getline(file_or_script, line_number, opts=true)
288
+ reload_on_change =
289
+ if opts.kind_of?(Hash)
290
+ opts[:reload_on_change]
291
+ else
292
+ opts
293
+ end
294
+ lines =
295
+ if file_or_script.kind_of?(String)
296
+ filename = unmap_file(file_or_script)
297
+ filename, line_number = unmap_file_line(filename, line_number)
298
+ getlines(filename, opts)
299
+ else
300
+ script_getlines(file_or_script)
301
+ end
190
302
  if lines and (1..lines.size) === line_number
191
303
  return lines[line_number-1]
192
304
  else
193
305
  return nil
194
306
  end
195
307
  end
196
- module_function :getline
197
308
 
198
309
  # Read lines of +filename+ and cache the results. However +filename+ was
199
310
  # previously cached use the results from the cache. Return nil
200
311
  # if we can't get lines
201
- def getlines(filename, reload_on_change=false)
202
- filename = unmap_file(filename)
312
+ def getlines(filename, opts=false)
313
+ if opts.kind_of?(Hash)
314
+ reload_on_change, use_script_lines =
315
+ [opts[:reload_on_change], opts[:use_script_lines]]
316
+ else
317
+ reload_on_change, use_script_lines = [opts, false]
318
+ opts = {:reload_on_change => reload_on_change}
319
+ end
203
320
  checkcache(filename) if reload_on_change
321
+ format = opts[:output] || :plain
204
322
  if @@file_cache.member?(filename)
205
- return @@file_cache[filename].lines
323
+ lines = @@file_cache[filename].lines
324
+ if opts[:output] && !lines[format]
325
+ lines[format] =
326
+ highlight_string(lines[:plain].join(''), format).split(/\n/)
327
+ end
328
+ return lines[format]
206
329
  else
207
- update_cache(filename, true)
208
- return @@file_cache[filename].lines if @@file_cache.member?(filename)
330
+ opts[:use_script_lines] = true
331
+ update_cache(filename, opts)
332
+ if @@file_cache.member?(filename)
333
+ return @@file_cache[filename].lines[format]
334
+ else
335
+ return nil
336
+ end
209
337
  end
210
338
  end
211
- module_function :getlines
339
+
340
+ def highlight_string(string, output_type)
341
+ require 'rubygems'
342
+ begin
343
+ require 'coderay'
344
+ require 'term/ansicolor'
345
+ rescue LoadError
346
+ return string
347
+ end
348
+ @@ruby_highlighter ||= CodeRay::Duo[:ruby, output_type]
349
+ @@ruby_highlighter.encode(string)
350
+ end
212
351
 
213
352
  # Return full filename path for filename
214
353
  def path(filename)
354
+ return unless filename.kind_of?(String)
215
355
  filename = unmap_file(filename)
216
356
  return nil unless @@file_cache.member?(filename)
217
357
  @@file_cache[filename].path
218
358
  end
219
- module_function :path
220
359
 
221
360
  def remap_file(from_file, to_file)
222
- @@file2file_remap[to_file] = from_file
361
+ @@file2file_remap[from_file] = to_file
362
+ cache_file(to_file)
223
363
  end
224
- module_function :remap_file
225
364
 
226
365
  def remap_file_lines(from_file, to_file, range, start)
227
- range = (range..range) if range.is_a?(Fixnum)
366
+ range = (range..range) if range.kind_of?(Fixnum)
228
367
  to_file = from_file unless to_file
229
368
  if @@file2file_remap_lines[to_file]
230
369
  # FIXME: need to check for overwriting ranges: whether
@@ -243,21 +382,25 @@ module LineCache
243
382
  return @@file_cache[filename].sha1.hexdigest if
244
383
  @@file_cache[filename].sha1
245
384
  sha1 = Digest::SHA1.new
246
- @@file_cache[filename].lines.each do |line|
247
- sha1 << line
385
+ @@file_cache[filename].lines[:plain].each do |line|
386
+ sha1 << line + "\n"
248
387
  end
249
388
  @@file_cache[filename].sha1 = sha1
250
389
  sha1.hexdigest
251
390
  end
252
- module_function :sha1
253
391
 
254
392
  # Return the number of lines in filename
255
- def size(filename)
256
- filename = unmap_file(filename)
257
- return nil unless @@file_cache.member?(filename)
258
- @@file_cache[filename].lines.length
393
+ def size(file_or_script)
394
+ cache(file_or_script)
395
+ if file_or_script.kind_of?(String)
396
+ file_or_script = unmap_file(file_or_script)
397
+ return nil unless @@file_cache.member?(file_or_script)
398
+ @@file_cache[file_or_script].lines[:plain].length
399
+ else
400
+ return nil unless @@script_cache.member?(file_or_script)
401
+ @@script_cache[file_or_script].lines[:plain].length
402
+ end
259
403
  end
260
- module_function :size
261
404
 
262
405
  # Return File.stat in the cache for filename.
263
406
  def stat(filename)
@@ -276,17 +419,16 @@ module LineCache
276
419
  e = @@file_cache[filename]
277
420
  unless e.line_numbers
278
421
  e.line_numbers =
279
- TraceLineNumbers.lnums_for_str_array(e.lines)
422
+ TraceLineNumbers.lnums_for_str_array(e.lines[:plain])
280
423
  e.line_numbers = false unless e.line_numbers
281
424
  end
282
425
  e.line_numbers
283
426
  end
284
- module_function :trace_line_numbers
285
427
 
286
428
  def unmap_file(file)
287
429
  @@file2file_remap[file] ? @@file2file_remap[file] : file
288
430
  end
289
- module_function :unmap_file
431
+ alias :map_file :unmap_file
290
432
 
291
433
  def unmap_file_line(file, line)
292
434
  if @@file2file_remap_lines[file]
@@ -299,13 +441,32 @@ module LineCache
299
441
  end
300
442
  return [file, line]
301
443
  end
302
- module_function :unmap_file_line
444
+
445
+ # Update a cache entry. If something is wrong, return nil. Return
446
+ # true if the cache was updated and false if not.
447
+ def update_script_cache(script, opts)
448
+ # return false unless script_is_eval?(script)
449
+ # string = opts[:string] || script.eval_source
450
+ lines = {:plain => string.split(/\n/)}
451
+ lines[opts[:output]] = highlight_string(string, opts[:output]) if
452
+ opts[:output]
453
+ @@script_cache[script] =
454
+ LineCacheInfo.new(nil, nil, lines, nil, opts[:sha1],
455
+ opts[:compiled_method])
456
+ return true
457
+ end
303
458
 
304
459
  # Update a cache entry. If something's
305
460
  # wrong, return nil. Return true if the cache was updated and false
306
461
  # if not. If use_script_lines is true, use that as the source for the
307
462
  # lines of the file
308
- def update_cache(filename, use_script_lines=false)
463
+ def update_cache(filename, opts=false)
464
+ if opts.kind_of?(Hash)
465
+ use_script_lines = opts[:use_script_lines]
466
+ else
467
+ use_script_lines = opts
468
+ opts = {:use_script_lines => use_script_lines}
469
+ end
309
470
 
310
471
  return nil unless filename
311
472
 
@@ -322,7 +483,11 @@ module LineCache
322
483
  rescue
323
484
  stat = nil
324
485
  end
325
- lines = SCRIPT_LINES__[name]
486
+ raw_lines = SCRIPT_LINES__[name]
487
+ lines = {:plain => raw_lines}
488
+ lines[opts[:output]] =
489
+ highlight_string(raw_lines.join, opts[:output]).split(/\n/) if
490
+ opts[:output]
326
491
  @@file_cache[filename] = LineCacheInfo.new(stat, nil, lines, path, nil)
327
492
  @@file2file_remap[path] = filename
328
493
  return true
@@ -346,8 +511,13 @@ module LineCache
346
511
  end
347
512
  begin
348
513
  fp = File.open(path, 'r')
349
- lines = fp.readlines()
514
+ raw_string = fp.read
515
+ fp.rewind
516
+ lines = {:plain => fp.readlines}
350
517
  fp.close()
518
+ lines[opts[:output]] =
519
+ highlight_string(raw_string, opts[:output]).split(/\n/) if
520
+ opts[:output]
351
521
  rescue
352
522
  ## print '*** cannot open', path, ':', msg
353
523
  return nil
@@ -358,8 +528,6 @@ module LineCache
358
528
  return true
359
529
  end
360
530
 
361
- module_function :update_cache
362
-
363
531
  end
364
532
 
365
533
  # example usage
File without changes
@@ -0,0 +1,3 @@
1
+ module LineCache
2
+ VERSION = '0.45'
3
+ end
File without changes
File without changes
File without changes
@@ -127,7 +127,7 @@ class TestLineCache < Test::Unit::TestCase
127
127
 
128
128
  def test_path
129
129
  assert_equal(nil, LineCache::path(__FILE__),
130
- "path for #{__FILE__} shouldn't be nil - just cleared cache.")
130
+ "path for #{__FILE__} should be nil - just cleared cache.")
131
131
  path = LineCache::cache(__FILE__)
132
132
  assert path
133
133
  assert_equal(path, LineCache::path(__FILE__),
@@ -144,7 +144,7 @@ class TestLineCache < Test::Unit::TestCase
144
144
  def test_sha1
145
145
  test_file = File.join(@@TEST_DIR, 'short-file')
146
146
  LineCache::cache(test_file)
147
- assert_equal('1134f95ea84a3dcc67d7d1bf41390ee1a03af6d2',
147
+ assert_equal('3e1d87f3399fc73ae5683e106bce1b5ba823fc50',
148
148
  LineCache::sha1(test_file))
149
149
  end
150
150
 
File without changes
File without changes
metadata CHANGED
@@ -1,33 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: linecache
5
3
  version: !ruby/object:Gem::Version
6
- version: "0.43"
7
- date: 2008-06-12 00:00:00 -04:00
8
- summary: Read file with caching
9
- require_paths:
10
- - lib
11
- email: rockyb@rubyforge.net
12
- homepage: http://rubyforge.org/projects/rocky-hacks/linecache
13
- rubyforge_project: rocky-hacks
14
- description: LineCache is a module for reading and caching lines. This may be useful for example in a debugger where the same lines are shown many times.
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 1.8.2
24
- version:
4
+ hash: 81
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 45
9
+ version: "0.45"
25
10
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
11
  authors:
30
12
  - R. Bernstein
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-06-11 00:00:00 -04:00
18
+ default_executable:
19
+ dependencies: []
20
+
21
+ description: |
22
+ LineCache is a module for reading and caching lines. This may be useful for
23
+ example in a debugger where the same lines are shown many times.
24
+
25
+ email: rockyb@rubyforge.net
26
+ executables: []
27
+
28
+ extensions:
29
+ - ext/extconf.rb
30
+ extra_rdoc_files:
31
+ - README
32
+ - lib/linecache.rb
33
+ - lib/tracelines.rb
31
34
  files:
32
35
  - AUTHORS
33
36
  - COPYING
@@ -35,64 +38,86 @@ files:
35
38
  - NEWS
36
39
  - README
37
40
  - Rakefile
38
- - VERSION
39
41
  - ext/trace_nums.c
40
42
  - ext/trace_nums.h
41
43
  - ext/extconf.rb
44
+ - lib/version.rb
42
45
  - lib/tracelines.rb
43
46
  - lib/linecache.rb
47
+ - test/parse-show.rb
48
+ - test/lnum-diag.rb
44
49
  - test/rcov-bug.rb
45
- - test/test-tracelines.rb
46
50
  - test/test-lnum.rb
47
51
  - test/test-linecache.rb
48
- - test/parse-show.rb
49
- - test/lnum-diag.rb
50
- - test/data/for1.rb
51
- - test/data/if6.rb
52
+ - test/test-tracelines.rb
53
+ - test/data/if1.rb
52
54
  - test/data/comments1.rb
53
- - test/data/if3.rb
54
- - test/data/if5.rb
55
- - test/data/begin3.rb
56
- - test/data/end.rb
57
- - test/data/case1.rb
58
- - test/data/match.rb
59
- - test/data/begin2.rb
60
- - test/data/match3.rb
61
- - test/data/case5.rb
62
55
  - test/data/not-lit.rb
63
- - test/data/match3a.rb
64
- - test/data/if7.rb
65
- - test/data/if4.rb
66
- - test/data/case2.rb
56
+ - test/data/begin2.rb
67
57
  - test/data/block2.rb
58
+ - test/data/if6.rb
59
+ - test/data/end.rb
60
+ - test/data/case4.rb
68
61
  - test/data/begin1.rb
69
- - test/data/def1.rb
70
- - test/data/if1.rb
62
+ - test/data/for1.rb
63
+ - test/data/match.rb
64
+ - test/data/match3a.rb
71
65
  - test/data/class1.rb
72
- - test/data/if2.rb
66
+ - test/data/if3.rb
67
+ - test/data/if5.rb
68
+ - test/data/case1.rb
69
+ - test/data/def1.rb
70
+ - test/data/if7.rb
73
71
  - test/data/block1.rb
72
+ - test/data/begin3.rb
74
73
  - test/data/case3.rb
74
+ - test/data/case2.rb
75
75
  - test/data/each1.rb
76
- - test/data/case4.rb
76
+ - test/data/if2.rb
77
+ - test/data/match3.rb
78
+ - test/data/if4.rb
79
+ - test/data/case5.rb
77
80
  - test/short-file
78
- test_files:
79
- - test/rcov-bug.rb
80
- - test/test-tracelines.rb
81
- - test/test-lnum.rb
82
- - test/test-linecache.rb
83
- - test/parse-show.rb
84
- - test/lnum-diag.rb
85
- rdoc_options: []
81
+ has_rdoc: true
82
+ homepage: http://rubyforge.org/projects/rocky-hacks/linecache
83
+ licenses: []
86
84
 
87
- extra_rdoc_files:
88
- - README
89
- - lib/linecache.rb
90
- - lib/tracelines.rb
91
- executables: []
85
+ post_install_message:
86
+ rdoc_options: []
92
87
 
93
- extensions:
94
- - ext/extconf.rb
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ hash: 51
96
+ segments:
97
+ - 1
98
+ - 8
99
+ - 2
100
+ version: 1.8.2
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
95
110
  requirements: []
96
111
 
97
- dependencies: []
98
-
112
+ rubyforge_project: rocky-hacks
113
+ rubygems_version: 1.6.1
114
+ signing_key:
115
+ specification_version: 3
116
+ summary: Read file with caching
117
+ test_files:
118
+ - test/parse-show.rb
119
+ - test/lnum-diag.rb
120
+ - test/rcov-bug.rb
121
+ - test/test-lnum.rb
122
+ - test/test-linecache.rb
123
+ - test/test-tracelines.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.43