syntax for vim
Merge pull request #144 from maettu/master

syntax for vim
vim syntax file: correcting symlink direction
Merge pull request #145 from maettu/master

vim syntax file: correcting symlink direction
basic optimization for unused attributes

still broken for string evals
disable optimizations when string evals happen
use a full peep override instead of just the custom op one

with the custom op peep, the provided oldop is one of the children of
the custom op we're trying to remove, so we can't actually remove the
custom op with all its children this way - we need to modify op_next in
an earlier op to get everything
limit how far we traverse the optree

the thing we're looking for will always be right near the beginning, so
this avoids infinite loops for now
more optimization tests
move support files to etc

inc is typically for files used during the build
Test that empty methods don't return the invocant.

Currently, this only happens in list context.
Stop empty methods from returning anything
Merge branch 'empty-method-retval'

* empty-method-retval:
  Stop empty methods from returning anything
  Test that empty methods don't return the invocant.
Fix a bunch of warnings on non-DEBUGGING perls
initialize attributes before method parameters

this keeps the attribute initialization near the front of the method, so
that it's easier for the peep to find
we can catch this earlier now that we optimize out unused attributes

if pp_init_attr is running, we know that the method body uses this
attribute, so it's safe to die in pp_init_attr if we're calling a class
method. this eliminates a bunch of the magic stuff that was otherwise
necessary
better error messages (#146)
Revert "we can catch this earlier now that we optimize out unused attributes"

This reverts commit 50d8ed556f87b84c623545557d161a49da613b45.

this actually doesn't work, because a method might look like

    method wrap ($app, @args) {
        if (ref $self) {
            $!app = $app;
        } else {
            $self = $self->new({ app => $app, @args });
        }
        return $self->to_app;
    }
fix some reference cycles in traits
Drop-in replacement for vanilla perl-mode.el for Emacs 24.

This file was copied verbatim from the perl-mode.el packaged with my
version of Emacs (24.3 packaged for Ubuntu 13.10).  It is meant to be
loaded instead of the regular perl-mode.el.