Skip to content
This repository
Browse code

Add experimental ability to modify PARROT_LIB_PATH_LANG with the -L c…

…ommandline switch.
  • Loading branch information...
commit 229a7813acaf55b38110d81639365d6c097bf74b 1 parent e187a44
Andrew Whitworth authored April 18, 2011

Showing 2 changed files with 72 additions and 61 deletions. Show diff stats Hide diff stats

  1. 129  api.yaml
  2. 4  src/embed/api.c
129  api.yaml
@@ -7,7 +7,7 @@
7 7
   name:  'add write barrier to all PMCs that write in unusual VTABLE functions'
8 8
   eligible:  '3.4'
9 9
   note:  'VTABLE functions not marked with :write that mutate the PMCs need to use the write barrier.  See ticket for more information.'
10  
-  tags: 
  10
+  tags:
11 11
     - 'C'
12 12
     - 'deprecated'
13 13
   ticket:  'http://trac.parrot.org/parrot/ticket/2010'
@@ -15,7 +15,7 @@
15 15
   name:  '":init" Sub flag'
16 16
   eligible:  '3.4'
17 17
   note:  'At this point, ":init" is a no-op, and will therefore be removed.'
18  
-  tags: 
  18
+  tags:
19 19
     - 'PIR'
20 20
     - 'syntax'
21 21
     - 'deprecated'
@@ -27,7 +27,7 @@
27 27
   name:  '":load" and ":init" Sub flags doing different things'
28 28
   eligible:  '3.1'
29 29
   note:  'Currently, ":init" and ":load" flagged Subs get called depending on the way a PIR file has been loaded. This distinction is silly and will cease to be. The ":load" flag will be triggered both for scenarios. ":init" becomes a no-op for a deprecation cycle (see below).'
30  
-  tags: 
  30
+  tags:
31 31
     - 'deprecated'
32 32
     - 'PIR'
33 33
     - 'syntax'
@@ -36,7 +36,7 @@
36 36
   name:  ':main Sub behaviour and selection.'
37 37
   eligible:  '2.7'
38 38
   note:  'Currently, if no :main sub is found, the first .sub in a file is used as main. Also, arguments are passed to the main sub regardless of the .param declarations in that sub. After this change, if no sub is marked with :main, an exception will be raised. Multiple :main declarations will be still be allowed, and all but the first will be ignored. This change will also force all subs, including :main, to have their arguments checked - to allow an arbitrary number of arguments, have this be the only .param declaration in the sub.'
39  
-  tags: 
  39
+  tags:
40 40
     - 'deprecated'
41 41
     - 'PIR'
42 42
     - 'syntax'
@@ -44,27 +44,27 @@
44 44
 -
45 45
   name:  'Action methods in rules'
46 46
   note:  'Per Synopsis 5, all regexes will have an implied {*} token at the end which cause invocation of an action method if a ":action" object is supplied.'
47  
-  tags: 
  47
+  tags:
48 48
     - 'deprecated'
49 49
     - 'compiler'
50 50
     - 'completed'
51 51
   ticket:  'https://trac.parrot.org/parrot/ticket/843'
52 52
 -
53 53
   name:  'Archive::Tar & Archive::Zip'
54  
-  tags: 
  54
+  tags:
55 55
     - 'library'
56 56
     - 'experimental'
57 57
   ticket:  'https://trac.parrot.org/parrot/ticket/1598'
58 58
 -
59 59
   name:  'Assigning to registers in parrot_debugger'
60  
-  tags: 
  60
+  tags:
61 61
     - 'debugger'
62 62
     - 'experimental'
63 63
 -
64 64
   name:  'Auto-vivification of nested aggregates'
65 65
   eligible:  '2.4'
66 66
   note:  'E.g. will not auto-vivify nested hashes and return PMCNULL early.'
67  
-  tags: 
  67
+  tags:
68 68
     - 'deprecated'
69 69
     - 'PMC'
70 70
     - 'completed'
@@ -73,7 +73,7 @@
73 73
   name:  'C API coding standards cleanup'
74 74
   eligible:  '1.1'
75 75
   note:  'All C API functions that aren''t currently named according to the ''Parrot_<system>_*'' scheme will be renamed. A list of renamed functions will be kept in the ticket at:'
76  
-  tags: 
  76
+  tags:
77 77
     - 'deprecated'
78 78
     - 'functions'
79 79
   ticket:  'https://trac.parrot.org/parrot/ticket/443'
@@ -81,7 +81,7 @@
81 81
   name:  'Complex PMC'
82 82
   eligible:  '3.1'
83 83
   note:  'This perennially broken PMC will be removed.'
84  
-  tags: 
  84
+  tags:
85 85
     - 'deprecated'
86 86
     - 'PMC'
87 87
   detection:
@@ -90,7 +90,7 @@
90 90
   ticket:  'https://trac.parrot.org/parrot/ticket/1892'
91 91
 -
92 92
   name:  'Cross-HLL library loading'
93  
-  tags: 
  93
+  tags:
94 94
     - 'library'
95 95
     - 'experimental'
96 96
   ticket:  'https://trac.parrot.org/parrot/ticket/754'
@@ -98,33 +98,33 @@
98 98
   name:  'GC timely destruction'
99 99
   eligible:  '3.1'
100 100
   note:  'All PIR ops and internal semantics related to timely destruction of PMCs is deprecated.'
101  
-  tags: 
  101
+  tags:
102 102
     - 'deprecated'
103 103
     - 'functions'
104 104
   ticket:  'https://trac.parrot.org/parrot/ticket/1800'
105 105
 -
106 106
   name:  'GC_SYS_NAME option to interpinfo_s_i'
107 107
   note:  'Ability to get the string name of the current GC core from the interpinfo_s_i. See r43900 and r43904 for details.'
108  
-  tags: 
  108
+  tags:
109 109
     - 'Opcodes'
110 110
     - 'experimental'
111 111
   ticket:  'https://trac.parrot.org/parrot/ticket/1581'
112 112
 -
113 113
   name:  'IPv6 Support'
114  
-  tags: 
  114
+  tags:
115 115
     - 'experimental'
116  
-  ticket:  
  116
+  ticket:
117 117
   note:  'IPv6 support is still being perfected and being made portable'
118 118
 -
119 119
   name:  'JSON and Config;JSON'
120 120
   eligible:  '1.5'
121  
-  tags: 
  121
+  tags:
122 122
     - 'deprecated'
123 123
     - 'library'
124 124
   ticket:  'https://trac.parrot.org/parrot/ticket/508'
125 125
 -
126 126
   name:  'LWP, https::Message, URI & URI::Escape'
127  
-  tags: 
  127
+  tags:
128 128
     - 'library'
129 129
     - 'experimental'
130 130
   ticket:  'https://trac.parrot.org/parrot/ticket/1637'
@@ -132,13 +132,13 @@
132 132
   name:  'ManagedStruct reallocations based on shape changes'
133 133
   eligible:  '2.4'
134 134
   note:  'Since shape changes may simply be used for re-interpreting data, and may also occur in several steps, re-allocating after any one shape change may be undesirable. In stead, an explicit allocate/reallocate method will be provided.'
135  
-  tags: 
  135
+  tags:
136 136
     - 'deprecated'
137 137
     - 'PMC'
138 138
   ticket:  'https://trac.parrot.org/parrot/ticket/1554'
139 139
 -
140 140
   name:  'MappedByteArray PMC'
141  
-  tags: 
  141
+  tags:
142 142
     - 'PMC'
143 143
     - 'experimental'
144 144
   ticket:  'https://trac.parrot.org/parrot/ticket/1877'
@@ -146,14 +146,14 @@
146 146
   name:  'Meta-model implementation used by PCT'
147 147
   eligible:  '2.7'
148 148
   note:  'PCT is set to switch to a new meta-model implementation for its classes and objects. This will most likely only affect those who rely on the interface of what is returned from .HOW, or rely on PCT objects exhibiting various other peculiarities of the P6object implementation. (Even when that is the case, the HOW API will not be changing too drastically, so for most PCT users there should be little to no upheavel.)'
149  
-  ticket:  
150  
-  tags: 
  149
+  ticket:
  150
+  tags:
151 151
     - 'deprecated'
152 152
     - 'compiler'
153 153
 -
154 154
   name:  'Method unescape on String'
155 155
   note:  'This is a helper method for testing of Parrot_str_unescape_string.'
156  
-  tags: 
  156
+  tags:
157 157
     - 'PMC'
158 158
     - 'experimental'
159 159
     - 'completed'
@@ -161,20 +161,20 @@
161 161
 -
162 162
   name:  'NCI_FB_CB and NCI_FB_UD in iglobals'
163 163
   note:  'Hooks allowing a runtime-loadable dynamic frame builder.'
164  
-  tags: 
  164
+  tags:
165 165
     - 'opcodes'
166 166
     - 'experimental'
167 167
   ticket:  'https://trac.parrot.org/parrot/ticket/1582'
168 168
 -
169 169
   name:  'OpenGL bindings and libraries'
170  
-  tags: 
  170
+  tags:
171 171
     - 'library'
172 172
     - 'experimental'
173 173
   ticket:  'https://trac.parrot.org/parrot/ticket/852'
174 174
 -
175 175
   name:  'Overriding vtable invoke in PIR objects'
176 176
   note:  'The VTABLE invoke in object.pmc puts SELF at the start of the signature call arguments when there is no current object and is not already here. This allows the usage of $P0() instead of $P0($P0).'
177  
-  tags: 
  177
+  tags:
178 178
     - 'PMC'
179 179
     - 'experimental'
180 180
     - 'completed'
@@ -182,7 +182,7 @@
182 182
 -
183 183
   name:  'PARROT_LIBRARY and PARROT_INCLUDE environment variables'
184 184
   note:  'A way to provide an equivalent of -L and -I parrot command line options to language that doesn''t support it.'
185  
-  tags: 
  185
+  tags:
186 186
     - 'library'
187 187
     - 'experimental'
188 188
   ticket:  'https://trac.parrot.org/parrot/ticket/1429'
@@ -190,7 +190,7 @@
190 190
   name:  'PAST::Val node generation'
191 191
   eligible:  '1.5'
192 192
   note:  'The PAST::Compiler may generate the code for PAST::Val nodes (i.e., constants) at the beginning of the block (Parrot sub) instead of the location where they occur in the PAST tree.'
193  
-  tags: 
  193
+  tags:
194 194
     - 'deprecated'
195 195
     - 'compiler'
196 196
     - 'completed'
@@ -199,7 +199,7 @@
199 199
   name:  'PCT::HLLCompiler from Perl 5''s Test::Harness'
200 200
   eligible:  '1.1'
201 201
   note:  'In order to facilitate using PCT::HLLCompiler with test harnesses, the ''command_line'' method of PCT::HLLCompiler object exits silently if it detects that it is being run in a sample run from Perl''s Test::Harness. Currently this detection is done by checking the second command line argument for @INC; future releases may use a different detection mechanism or eliminate it altogether.'
202  
-  tags: 
  202
+  tags:
203 203
     - 'deprecated'
204 204
     - 'compiler'
205 205
   ticket:  'https://trac.parrot.org/parrot/ticket/463'
@@ -207,7 +207,7 @@
207 207
   name:  'PCT::HLLCompiler stages'
208 208
   eligible:  '1.1'
209 209
   note:  'The interface of various methods for adding, removing, and modifying the list stages in a PCT::HLLCompiler object is subject to change. The existing actual stages will remain; only the mechanism for specifying the order of individual stages is likely to change.'
210  
-  tags: 
  210
+  tags:
211 211
     - 'deprecated'
212 212
     - 'compiler'
213 213
     - 'completed'
@@ -215,33 +215,33 @@
215 215
 -
216 216
   name:  'PMC Attributes Allocation Functions'
217 217
   note:  'These items and related helper functions are added as experimental support for <https://trac.parrot.org/parrot/ticket/1506>'
218  
-  tags: 
  218
+  tags:
219 219
     - 'functions'
220 220
     - 'experimental'
221 221
     - 'completed'
222 222
 -
223 223
   name:  'PMC numbering'
224  
-  tags: 
  224
+  tags:
225 225
     - 'bytecode'
226 226
     - 'experimental'
227 227
     - 'completed'
228 228
   ticket:  'https://trac.parrot.org/parrot/ticket/451'
229 229
 -
230 230
   name:  'PackfileDebug'
231  
-  tags: 
  231
+  tags:
232 232
     - 'PMC'
233 233
     - 'experimental'
234 234
   ticket:  'https://trac.parrot.org/parrot/ticket/1599'
235 235
 -
236 236
   name:  'Parrot_load_bytecode_file'
237 237
   note:  'Load a .pbc file into the interpreter. Experimental.'
238  
-  tags: 
  238
+  tags:
239 239
     - 'functions'
240 240
     - 'experimental'
241 241
 -
242 242
   name:  'Parrot_str_unescape_string'
243 243
   note:  'This function is an experimental addition to enhance and maybe replace Parrot_str_unescape'
244  
-  tags: 
  244
+  tags:
245 245
     - 'functions'
246 246
     - 'experimental'
247 247
     - 'completed'
@@ -250,7 +250,7 @@
250 250
   name:  'Protoobject'
251 251
   eligible:  '2.7'
252 252
   note:  'Use P6Object instead.'
253  
-  tags: 
  253
+  tags:
254 254
     - 'deprecated'
255 255
     - 'library'
256 256
     - 'completed'
@@ -259,7 +259,7 @@
259 259
   name:  'STRING COW'
260 260
   eligible:  '2.4'
261 261
   note:  'COW strings are to be removed. All "inplace" string modification functions and all "inplace" string ops are deprecated.'
262  
-  tags: 
  262
+  tags:
263 263
     - 'deprecated'
264 264
     - 'functions'
265 265
     - 'completed'
@@ -268,21 +268,21 @@
268 268
   name:  'STRING Out parameters in Parrot_str_* functions'
269 269
   eligible:  '2.1'
270 270
   note:  'All STRING modification functions will return a STRING pointer; capture and use this rather than relying on in-place modification of an existing pointer.'
271  
-  tags: 
  271
+  tags:
272 272
     - 'deprecated'
273 273
     - 'functions'
274 274
     - 'completed'
275 275
   ticket:  'https://trac.parrot.org/parrot/ticket/1584'
276 276
 -
277 277
   name:  'Threads and Parallelism'
278  
-  tags: 
  278
+  tags:
279 279
     - 'experimental'
280 280
   ticket:  'https://trac.parrot.org/parrot/ticket/1601'
281 281
 -
282 282
   name:  'UnManagedStruct get_integer, set_integer_native'
283 283
   eligible:  '2.4'
284 284
   note:  'These will no longer refer to the byte length of the buffer, but to the number of times the struct is repeated; emulating an array of structs.'
285  
-  tags: 
  285
+  tags:
286 286
     - 'deprecated'
287 287
     - 'PMC'
288 288
   ticket:  'https://trac.parrot.org/parrot/ticket/1553'
@@ -290,7 +290,7 @@
290 290
   name:  'UnManagedStruct handling nested structure'
291 291
   eligible:  '2.4'
292 292
   note:  'UnManagedStruct will be simplified to only support flat structures. This means that elements which themselves have structure - struct pointers and function pointers will be stored as "void *" and "void (*)(void)" respectively. To use these, they will need to be cast to the appropriate signature on access.'
293  
-  tags: 
  293
+  tags:
294 294
     - 'PMC'
295 295
     - 'deprecated'
296 296
   ticket:  'https://trac.parrot.org/parrot/ticket/1551'
@@ -298,7 +298,7 @@
298 298
   name:  'UnManagedStruct initializer structure'
299 299
   eligible:  '2.4'
300 300
   note:  'The initializer structure will cease to be an array of triples. Instead, an array of flags (no counts or offsets), or a string representation of the same information may be used.'
301  
-  tags: 
  301
+  tags:
302 302
     - 'deprecated'
303 303
     - 'PMC'
304 304
   ticket:  'https://trac.parrot.org/parrot/ticket/1552'
@@ -306,7 +306,7 @@
306 306
   name:  'charset, charsetname, find_charset, trans_charset'
307 307
   eligible:  '2.10'
308 308
   note:  'These opcodes will be removed. The corresponding encoding opcodes should be used instead.'
309  
-  tags: 
  309
+  tags:
310 310
     - 'deprecated'
311 311
     - 'opcodes'
312 312
     - 'completed'
@@ -314,7 +314,7 @@
314 314
 -
315 315
   name:  'continuation-based ExceptionHandlers'
316 316
   eligible:  '2.1'
317  
-  tags: 
  317
+  tags:
318 318
     - 'deprecated'
319 319
     - 'PIR'
320 320
     - 'syntax'
@@ -324,14 +324,14 @@
324 324
   name:  'dlfunc and new_callback signature string format'
325 325
   eligible:  '2.4'
326 326
   note:  'These will be changed to allow more flexibility in types.'
327  
-  tags: 
  327
+  tags:
328 328
     - 'deprecated'
329 329
     - 'opcodes'
330 330
   ticket:  'https://trac.parrot.org/parrot/ticket/1565'
331 331
 -
332 332
   name:  'finalize'
333 333
   note:  'Finalize exception handler, unrolling inner runloops if needed.'
334  
-  tags: 
  334
+  tags:
335 335
     - 'opcodes'
336 336
     - 'experimental'
337 337
     - 'completed'
@@ -340,7 +340,7 @@
340 340
   name:  'fixed_8 encoding'
341 341
   eligible:  '2.10'
342 342
   note:  'The ''fixed_8'' encoding is going away. Use ''ascii'' instead. If you want to test for a fixed_8 encoding, you have to compare the encoding to ''ascii'', ''iso-8859-1'' and ''binary'' separately.'
343  
-  tags: 
  343
+  tags:
344 344
     - 'deprecated'
345 345
     - 'opcodes'
346 346
     - 'completed'
@@ -349,7 +349,7 @@
349 349
   name:  'get_addr and set_addr'
350 350
   eligible:  '1.5'
351 351
   note:  'These opcodes are being repurposed. They will always return a unique memory address of the PMC. Uses of get_addr and set_addr that would set label values for Sub, Exception, and related PMC types will instead be handled by get_label and set_label.'
352  
-  tags: 
  352
+  tags:
353 353
     - 'deprecated'
354 354
     - 'opcodes'
355 355
   ticket:  'https://trac.parrot.org/parrot/ticket/218'
@@ -357,7 +357,7 @@
357 357
   name:  'get_results opcode order and features'
358 358
   eligible:  '2.1'
359 359
   note:  'get_results no longer used to fetch exception object.'
360  
-  tags: 
  360
+  tags:
361 361
     - 'deprecated'
362 362
     - 'opcodes'
363 363
     - 'completed'
@@ -365,7 +365,7 @@
365 365
 -
366 366
   name:  'implicit optional named parameters'
367 367
   eligible:  '2.1'
368  
-  tags: 
  368
+  tags:
369 369
     - 'completed'
370 370
     - 'deprecated'
371 371
     - 'PIR'
@@ -375,7 +375,7 @@
375 375
   name:  'inplace string updates.'
376 376
   eligible:  '2.4'
377 377
   note:  'All "inplace" string update ops are deprecated. E.g. "chopn_s", etc. Part of COW removal.'
378  
-  tags: 
  378
+  tags:
379 379
     - 'deprecated'
380 380
     - 'opcodes'
381 381
     - 'completed'
@@ -383,7 +383,7 @@
383 383
 -
384 384
   name:  'loadlib_p_s_p'
385 385
   note:  'Ability to use non-default dynamic loading behaviour.'
386  
-  tags: 
  386
+  tags:
387 387
     - 'opcodes'
388 388
     - 'experimental'
389 389
   ticket:  'https://trac.parrot.org/parrot/ticket/1583'
@@ -391,7 +391,7 @@
391 391
   name:  'logical PMC ops'
392 392
   eligible:  '2.7'
393 393
   note:  'These fall out from the logical vtables deprecation.'
394  
-  tags: 
  394
+  tags:
395 395
     - 'deprecated'
396 396
     - 'opcodes'
397 397
   ticket:  'https://trac.parrot.org/parrot/ticket/1655'
@@ -399,21 +399,21 @@
399 399
   name:  'logical_* vtables'
400 400
   eligible:  '2.7'
401 401
   note:  'These can be replaced by ''get_bool'' and intval ops unless you''re using them for things that aren''t really logical ops (don''t do that!). Logical vtables are removed in r49012, and logical ops on PMCs are converted to use ''get_bool'' internally. Rakudo seems to depend on logical ops on PMC.'
402  
-  tags: 
  402
+  tags:
403 403
     - 'deprecated'
404 404
     - 'PMC'
405 405
   ticket:  'https://trac.parrot.org/parrot/ticket/1655'
406 406
 -
407 407
   name:  'mmd_cvt_to_types'
408 408
   eligible:  '1.1'
409  
-  tags: 
  409
+  tags:
410 410
     - 'deprecated'
411 411
     - 'functions'
412 412
   ticket:  'https://trac.parrot.org/parrot/ticket/907'
413 413
 -
414 414
   name:  'multiple dispatch within core PMC'
415 415
   eligible:  '1.1'
416  
-  tags: 
  416
+  tags:
417 417
     - 'deprecated'
418 418
     - 'PMC'
419 419
   ticket:  'https://trac.parrot.org/parrot/ticket/452'
@@ -421,13 +421,13 @@
421 421
   name:  'new_callback_p_p_p_s'
422 422
   eligible:  '2.4'
423 423
   note:  'To be replaced with new_callback_p_p_p_p_s.'
424  
-  tags: 
  424
+  tags:
425 425
     - 'deprecated'
426 426
     - 'opcodes'
427 427
   ticket:  'https://trac.parrot.org/parrot/ticket/1548'
428 428
 -
429 429
   name:  'opcode numbering'
430  
-  tags: 
  430
+  tags:
431 431
     - 'bytecode'
432 432
     - 'experimental'
433 433
     - 'completed'
@@ -436,13 +436,13 @@
436 436
   name:  'open and close opcodes will be removed'
437 437
   eligible:  '2.7'
438 438
   note:  'These opcodes will be removed. The open/close methods on File or the FileHandle PMC should be used instead.'
439  
-  tags: 
  439
+  tags:
440 440
     - 'deprecated'
441 441
     - 'opcodes'
442 442
   ticket:  'https://trac.parrot.org/parrot/ticket/1697'
443 443
 -
444 444
   name:  'packfile structure'
445  
-  tags: 
  445
+  tags:
446 446
     - 'bytecode'
447 447
     - 'experimental'
448 448
     - 'completed'
@@ -451,14 +451,21 @@
451 451
   name:  'pkg-config support'
452 452
   eligible:  '3.1'
453 453
   note:  'Use "parrot_config" instead.'
454  
-  tags: 
  454
+  tags:
455 455
     - 'deprecated'
456 456
     - 'library'
457 457
     - 'completed'
458 458
   ticket:  'https://trac.parrot.org/parrot/ticket/1853'
459 459
 -
460 460
   name:  'Parrot_ext_try function'
461  
-  tags: 
  461
+  tags:
462 462
     - 'experimental'
463 463
     - 'functions'
464 464
   ticket:  'https://trac.parrot.org/parrot/ticket/1996'
  465
+-
  466
+  name:  'LANG search path with -L'
  467
+  tags:
  468
+    - 'experimental'
  469
+    - 'api'
  470
+    - 'library'
  471
+  ticket:  ''
4  src/embed/api.c
@@ -604,6 +604,10 @@ Parrot_api_add_library_search_path(Parrot_PMC interp_pmc,
604 604
     ASSERT_ARGS(Parrot_api_add_library_search_path)
605 605
     EMBED_API_CALLIN(interp_pmc, interp)
606 606
     Parrot_lib_add_path_from_cstring(interp, path, PARROT_LIB_PATH_LIBRARY);
  607
+
  608
+    /* EXPERIMENTAL. This line has been added experimentally because it is a
  609
+       missing feature, and it may go away at any time without warning. */
  610
+    Parrot_lib_add_path_from_cstring(interp, path, PARROT_LIB_PATH_LANG);
607 611
     EMBED_API_CALLOUT(interp_pmc, interp)
608 612
 }
609 613
 

0 notes on commit 229a781

Please sign in to comment.
Something went wrong with that request. Please try again.