Perl::Critic::Policy::Editor::RequireEmacsFileVariables - Per-file editor settings



NAME

Perl::Critic::Policy::Editor::RequireEmacsFileVariables - Per-file editor settings


AFFILIATION

This policy is part of the Perl::Critic::More manpage, a bleading edge supplement to the Perl::Critic manpage.


DESCRIPTION

Many text editors know how to find magic strings in files that indicate settings that work best for that file. For example, the file can indicate that it expects four-character indentation.

In emacs, this magic string is called ``File Variables''. There are two syntaxes: -*- ... -*- (single-line) and Local Variables:\n...\nEnd: (multi-line). Both syntaxes allow leading and trailing text on the line.

The single-line syntax must be used on the first line of the file to be recognized, or on the second line if the first line is a shebang. The following examples are explicitly allowed by Perl:

   #!perl -w -*- cperl -*-
   #!perl -w # -*- cperl -*-
   #!perl # -*- cperl -*-

The multi-line syntax must be used ``in the last page'' (that is, after the last formfeed) at the end of the file. As of Emacs21, the ``end of the file'' is hard-coded to be the last 3000 bytes of the file (in the hack-local-variables function in files.el). In this syntax, each line must begin and end with the same prefix/suffix pair. That pair is defined by the text before and after the ``Local Variables:'' string.


SEE ALSO

the Perl::Critic::Policy::Editor::RequireViModeline manpage

http://www.gnu.org/software/emacs/manual/html_node/File-Variables.html

In Emacs, you can view the ``File Variables'' info node by typing: Help-key, i, g, (emacs)File Variables (where Help-key is often C-h or F1.)

Alternatively, you can execute the following elisp: (info ``(emacs)File Variables'')


AUTHOR

Chris Dolan <cdolan@cpan.org>

Michael Wolf <MichaelRWolf@att.net>


COPYRIGHT

Copyright (c) 2006-2007 Chris Dolan

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.

 Perl::Critic::Policy::Editor::RequireEmacsFileVariables - Per-file editor settings