[svn:parrot] r48095 - in branches/gsoc_nfg: . compilers/imcc config/gen/platform/generic docs/project editor include/parrot runtime/parrot/library src src/call src/interp src/pmc src/runcore t/library t/src tools/dev

darbelo at svn.parrot.org darbelo at svn.parrot.org
Thu Jul 15 05:22:24 UTC 2010


Author: darbelo
Date: Thu Jul 15 05:22:24 2010
New Revision: 48095
URL: https://trac.parrot.org/parrot/changeset/48095

Log:
Sync with trunk.

Modified:
   branches/gsoc_nfg/   (props changed)
   branches/gsoc_nfg/DEPRECATED.pod
   branches/gsoc_nfg/NEWS
   branches/gsoc_nfg/compilers/imcc/pbc.c
   branches/gsoc_nfg/config/gen/platform/generic/env.c
   branches/gsoc_nfg/docs/project/support_policy.pod
   branches/gsoc_nfg/editor/README.pod
   branches/gsoc_nfg/include/parrot/key.h
   branches/gsoc_nfg/include/parrot/runcore_api.h
   branches/gsoc_nfg/include/parrot/runcore_trace.h   (props changed)
   branches/gsoc_nfg/runtime/parrot/library/distutils.pir
   branches/gsoc_nfg/src/call/args.c
   branches/gsoc_nfg/src/interp/inter_create.c   (props changed)
   branches/gsoc_nfg/src/key.c
   branches/gsoc_nfg/src/pmc/key.pmc
   branches/gsoc_nfg/src/runcore/cores.c   (props changed)
   branches/gsoc_nfg/src/runcore/main.c
   branches/gsoc_nfg/src/runcore/trace.c   (props changed)
   branches/gsoc_nfg/src/vtable.tbl
   branches/gsoc_nfg/t/library/pcre.t
   branches/gsoc_nfg/t/src/embed.t   (props changed)
   branches/gsoc_nfg/tools/dev/mk_gitignore.pl   (props changed)

Modified: branches/gsoc_nfg/DEPRECATED.pod
==============================================================================
--- branches/gsoc_nfg/DEPRECATED.pod	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/DEPRECATED.pod	Thu Jul 15 05:22:24 2010	(r48095)
@@ -406,13 +406,22 @@
 
 L<https://trac.parrot.org/parrot/ticket/463>
 
-=item PAST::Val node generation [eligible in 1.5]
+=item PAST::Val node generation [eligible in 1.5] 
 
-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.
-
-L<https://trac.parrot.org/parrot/ticket/868>
+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. 
+
+L<https://trac.parrot.org/parrot/ticket/868> 
+
+=item Meta-model implementation used by PCT [eligible in 2.7]
+
+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.)
 
 =back
 

Modified: branches/gsoc_nfg/NEWS
==============================================================================
--- branches/gsoc_nfg/NEWS	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/NEWS	Thu Jul 15 05:22:24 2010	(r48095)
@@ -1,5 +1,10 @@
 # $Id$
 
+New in 2.6.0
+- Platforms
+  + The Fedora package 'parrot-devel' install the files for syntax-highlighting
+    and automatic indenting for the vim editor.
+
 New in 2.5.0
 - Core
   + Added ByteBuffer PMC to allow direct byte manipulation

Modified: branches/gsoc_nfg/compilers/imcc/pbc.c
==============================================================================
--- branches/gsoc_nfg/compilers/imcc/pbc.c	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/compilers/imcc/pbc.c	Thu Jul 15 05:22:24 2010	(r48095)
@@ -1465,7 +1465,7 @@
         if (unit->vtable_name) {
             vtable_name = Parrot_str_new(interp, unit->vtable_name + 1,
                     strlen(unit->vtable_name) - 2);
-            UNIT_FREE_CHAR(unit->method_name);
+            UNIT_FREE_CHAR(unit->vtable_name);
         }
         else
             vtable_name = sub->name;

Modified: branches/gsoc_nfg/config/gen/platform/generic/env.c
==============================================================================
--- branches/gsoc_nfg/config/gen/platform/generic/env.c	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/config/gen/platform/generic/env.c	Thu Jul 15 05:22:24 2010	(r48095)
@@ -74,13 +74,13 @@
 void
 Parrot_unsetenv(PARROT_INTERP, STRING *str_name)
 {
-    char * const name = Parrot_str_to_cstring(interp, str_name);
 #ifdef PARROT_HAS_UNSETENV
+    char * const name = Parrot_str_to_cstring(interp, str_name);
     unsetenv(name);
+    Parrot_str_free_cstring(name);
 #else
-    Parrot_setenv(name, "");
+    Parrot_setenv(interp, str_name, Parrot_str_new(interp, "", 0));
 #endif
-    Parrot_str_free_cstring(name);
 }
 
 /*

Modified: branches/gsoc_nfg/docs/project/support_policy.pod
==============================================================================
--- branches/gsoc_nfg/docs/project/support_policy.pod	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/docs/project/support_policy.pod	Thu Jul 15 05:22:24 2010	(r48095)
@@ -71,13 +71,19 @@
 next supported release. We sometimes delay removing deprecated features
 for various reasons, including dependencies by other parts of the core.
 
-The developer releases have more flexibility in feature removal, while
-still meeting the deprecation requirements for support releases. A
-feature that has a deprecation notification in the 2.0 release may be
-removed from any monthly developer release between 2.0 and the next
-supported release, though we're likely to stagger the removals. An
-experimental feature that was never included in a supported release may
-be removed before a supported release without a deprecation cycle.
+The developer releases have more flexibility in feature removal, while still
+meeting the deprecation requirements for support releases. A feature that has a
+deprecation notification in the 2.0 release may be removed from any monthly
+developer release between 2.0 and the next supported release, though we're
+likely to stagger the removals.
+
+=head2 Experimental Features
+
+From time to time, we may add features to get feedback on their utility and
+design.  Marking them as "Experimental" in F<DEPRECATED.pod> indicates that we
+may modify or remove them without official deprecation notices.  Use them at
+your own risk--and please provide feedback through official channels if you use
+them successfully or otherwise.
 
 =head2 Supported Older Versions
 

Modified: branches/gsoc_nfg/editor/README.pod
==============================================================================
--- branches/gsoc_nfg/editor/README.pod	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/editor/README.pod	Thu Jul 15 05:22:24 2010	(r48095)
@@ -14,14 +14,20 @@
 
 =head2 Vim
 
-Calling C<make vim-install> in the F<editor/> directory will
-install several files in F<~/.vim>. All these files have the F<.vim>
+By default calling C<make vim-install> in the F<editor/> directory will
+install several files in F<~/.vim>. You can use the variable C<VIM_DIR>
+on the command line by calling C<make> to choose a different target directory
+for the vim files.
+
+   make vim-install [VIM_DIR=/vim_files_target_directory]
+
+All these files have the F<.vim>
 extension. F<pir.vim> (generated from F<pir_vim.in>), F<pasm.vim>, and
 F<pmc.vim> are syntax files; F<indent_pir.vim> is an indent plugin;
 and F<filetype_parrot.vim> is a filetype script that tells vim to
 associate the extensions .pir, .pasm, and .pmc with the
 right syntax. The syntax files are installed to F<~/.vim/syntax/>;
-F<filetype_parrot.vim> is installed to F<~/.vim/ftdetect>;
+F<filetype_parrot.vim> is installed to F<~/.vim/parrot.vim>;
 F<indent_pir.vim> is copied to F<~/.vim/indent/pir.vim>.  If you want
 indenting, you should also place C<filetype indent on> somewhere in
 your F<~/.vimrc>.
@@ -35,7 +41,7 @@
 
 in F<editor/> to build it.
 
-TODO: How do we install Kate syntax files?
+Copy the file F<imcc.xml> to F<~/.kde/share/apps/katepart/syntax>.
 
 =head2 Emacs
 
@@ -77,7 +83,7 @@
               (function (lambda ()
                           (setq indent-tabs-mode nil))))
 
-to F<~/.emacs> as this seems to prevent the odd behavior that is noted when 
+to F<~/.emacs> as this seems to prevent the odd behavior that is noted when
 using tabs in the pasm mode.
 
 =back

Modified: branches/gsoc_nfg/include/parrot/key.h
==============================================================================
--- branches/gsoc_nfg/include/parrot/key.h	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/include/parrot/key.h	Thu Jul 15 05:22:24 2010	(r48095)
@@ -147,17 +147,18 @@
         __attribute__nonnull__(1);
 
 PARROT_EXPORT
-PARROT_PURE_FUNCTION
-PARROT_WARN_UNUSED_RESULT
-INTVAL key_type(SHIM_INTERP, ARGIN(const PMC *key))
-        __attribute__nonnull__(2);
-
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 STRING * key_string(PARROT_INTERP, ARGIN(PMC *key))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
+PARROT_EXPORT
+PARROT_PURE_FUNCTION
+PARROT_WARN_UNUSED_RESULT
+INTVAL key_type(SHIM_INTERP, ARGIN(const PMC *key))
+        __attribute__nonnull__(2);
+
 #define ASSERT_ARGS_key_append __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(key1) \
@@ -203,11 +204,11 @@
     , PARROT_ASSERT_ARG(value))
 #define ASSERT_ARGS_key_set_to_string __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_key_type __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(key))
 #define ASSERT_ARGS_key_string __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(key))
+#define ASSERT_ARGS_key_type __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+       PARROT_ASSERT_ARG(key))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 /* HEADERIZER END: src/key.c */
 

Modified: branches/gsoc_nfg/include/parrot/runcore_api.h
==============================================================================
--- branches/gsoc_nfg/include/parrot/runcore_api.h	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/include/parrot/runcore_api.h	Thu Jul 15 05:22:24 2010	(r48095)
@@ -78,13 +78,14 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
-void Parrot_runcore_destroy(PARROT_INTERP)
+PARROT_EXPORT
+void Parrot_setup_event_func_ptrs(PARROT_INTERP)
         __attribute__nonnull__(1);
 
-void Parrot_runcore_init(PARROT_INTERP)
+void Parrot_runcore_destroy(PARROT_INTERP)
         __attribute__nonnull__(1);
 
-void Parrot_setup_event_func_ptrs(PARROT_INTERP)
+void Parrot_runcore_init(PARROT_INTERP)
         __attribute__nonnull__(1);
 
 void prepare_for_run(PARROT_INTERP)
@@ -106,12 +107,12 @@
 #define ASSERT_ARGS_Parrot_runcore_switch __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(name))
+#define ASSERT_ARGS_Parrot_setup_event_func_ptrs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_Parrot_runcore_destroy __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_Parrot_runcore_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_setup_event_func_ptrs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_prepare_for_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_runops_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\

Modified: branches/gsoc_nfg/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/gsoc_nfg/runtime/parrot/library/distutils.pir	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/runtime/parrot/library/distutils.pir	Thu Jul 15 05:22:24 2010	(r48095)
@@ -193,7 +193,11 @@
 
 L<http://bitbucket.org/riffraff/shakespeare-parrot/src/tip/setup.pir>
 
-L<http://gitorious.org/kakapo/kakapo/blobs/master/setup.nqp>
+L<http://github.com/bacek/pir/blob/master/setup.pir>
+
+L<http://github.com/kthakore/parrotSDL/blob/master/setup.pir>
+
+L<http://github.com/ekiru/tree-optimization/blob/master/setup.nqp>
 
 =cut
 

Modified: branches/gsoc_nfg/src/call/args.c
==============================================================================
--- branches/gsoc_nfg/src/call/args.c	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/src/call/args.c	Thu Jul 15 05:22:24 2010	(r48095)
@@ -583,15 +583,6 @@
 
         /* Regular arguments just set the value */
         switch (type) {
-          case 'I':
-            VTABLE_push_integer(interp, call_object, va_arg(*args, INTVAL));
-            break;
-          case 'N':
-            VTABLE_push_float(interp, call_object, va_arg(*args, FLOATVAL));
-            break;
-          case 'S':
-            VTABLE_push_string(interp, call_object, va_arg(*args, STRING *));
-            break;
           case 'P':
             {
                 const INTVAL type_lookahead = sig[i+1];
@@ -617,6 +608,15 @@
                             : clone_key_arg(interp, pmc_arg));
                 break;
             }
+          case 'S':
+            VTABLE_push_string(interp, call_object, va_arg(*args, STRING *));
+            break;
+          case 'I':
+            VTABLE_push_integer(interp, call_object, va_arg(*args, INTVAL));
+            break;
+          case 'N':
+            VTABLE_push_float(interp, call_object, va_arg(*args, FLOATVAL));
+            break;
           case '-':
             return call_object;
             break;

Modified: branches/gsoc_nfg/src/key.c
==============================================================================
--- branches/gsoc_nfg/src/key.c	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/src/key.c	Thu Jul 15 05:22:24 2010	(r48095)
@@ -379,6 +379,7 @@
 
 */
 
+PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 STRING *

Modified: branches/gsoc_nfg/src/pmc/key.pmc
==============================================================================
--- branches/gsoc_nfg/src/pmc/key.pmc	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/src/pmc/key.pmc	Thu Jul 15 05:22:24 2010	(r48095)
@@ -388,6 +388,18 @@
     VTABLE STRING* get_repr() {
         return key_set_to_string(INTERP, SELF);
     }
+
+/*
+=item C<set_register(reg_no, type)>
+
+Set key to hold particular register.
+
+=cut
+*/
+    METHOD set_register(INTVAL reg_no, INTVAL reg_type) {
+        key_set_register(INTERP, SELF, reg_no, reg_type);
+    }
+
 }
 
 /*

Modified: branches/gsoc_nfg/src/runcore/main.c
==============================================================================
--- branches/gsoc_nfg/src/runcore/main.c	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/src/runcore/main.c	Thu Jul 15 05:22:24 2010	(r48095)
@@ -261,6 +261,7 @@
 
 */
 
+PARROT_EXPORT
 void
 Parrot_setup_event_func_ptrs(PARROT_INTERP)
 {

Modified: branches/gsoc_nfg/src/vtable.tbl
==============================================================================
--- branches/gsoc_nfg/src/vtable.tbl	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/src/vtable.tbl	Thu Jul 15 05:22:24 2010	(r48095)
@@ -274,9 +274,9 @@
 PMC* inspect_str(STRING* what)
 
 void freeze(PMC* info)
-void thaw  (PMC* info) :write
-void thawfinish (PMC* info) :write
-void visit (PMC* info)
+void thaw(PMC* info) :write
+void thawfinish(PMC* info) :write
+void visit(PMC* info)
 
 void share()
 

Modified: branches/gsoc_nfg/t/library/pcre.t
==============================================================================
--- branches/gsoc_nfg/t/library/pcre.t	Thu Jul 15 04:50:35 2010	(r48094)
+++ branches/gsoc_nfg/t/library/pcre.t	Thu Jul 15 05:22:24 2010	(r48095)
@@ -1,5 +1,5 @@
 #!perl
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
 # $Id$
 
 use strict;
@@ -101,7 +101,9 @@
 OUT
 
 ## 2
-    pir_output_is( <<"CODE", <<'OUT', 'soup to nuts' );
+    my @todo;
+    @todo = ( todo => '3..5 fail on Win32' ) if $^O =~ /MSWin32/;
+    pir_output_is( <<"CODE", <<'OUT', 'soup to nuts', @todo );
 
 .include 'iglobals.pasm'
 .include 'libpaths.pasm'


More information about the parrot-commits mailing list