[libhtml-mason-perl] annotated tag upstream/1.58 created (now 38e43f5)
Florian Schlichting
fsfs at moszumanska.debian.org
Mon Nov 6 22:47:30 UTC 2017
This is an automated email from the git hooks/post-receive script.
fsfs pushed a change to annotated tag upstream/1.58
in repository libhtml-mason-perl.
at 38e43f5 (tag)
tagging a363a3945fb865903169329b59279f15e8ac77ba (commit)
replaces upstream/1.56
tagged by Florian Schlichting
on Mon Nov 6 22:29:20 2017 +0100
- Log -----------------------------------------------------------------
Upstream version 1.58
(no author) (1):
New repository initialized by cvs2svn.
Alex Balhatchet (1):
Set execute bit for .pl scripts
Alex Vandiver (1):
Fix precedence error; "and" is lower precedence than "return"
Dave Rolsky (51):
Don't create a passthrough Makefile.PL
Check for .git, not .svn
Add .gitignore
Use pid ($$) in paths so we can run tests in parallel
Handle undefined value for Filter config in ApacheHandler
Formatting tweak
Changes for 1.47
Bump version
Add Module::Build to configure_requires
Fix spacing
Avoid uninit value warning with subcomponent in anon component
Update MANIFEST.SKIP
Changes for 1.48
Bump version to 1.48
Ignore all meta files
Small Changes formatting tweak
Update .gitignore
Remove ancient sample code
Remove broken links to masonhq.com
Move live tests from xt/author to live-tests
Move Pod::Weaver module to inc/
Update weaver plugin to work from inc and skip main module
Tidy some ancient code in bin
Update dist.ini to use my bundle
Merge pull request #1 from jibsheet/master
Changes for next release
Bump version
Tweak text about Mason 2
Update .mailmap
Remove link to jonswar github
Remove Git::CheckFor::MergeConflicts plugin
v1.55
Don't use MetaProvides::Package plugin
Bump version
v1.56
Fix typo in Changes
Merge pull request #3 from kaoru/execute-bit-on-scripts
Merge pull request #4 from shlomif/shlomif--pull-req-challenge
Add .travis.yml file
Test back to Perl 5.8
Update dist.ini to get module to build & pass tests
Remove empty tidyall.ini
Update generated files
Remove dead link to Jon Swartz's blog and change refs to Mason2
Add Changes for "." in @INC fix
Bump version in dist.ini
v1.57
Add Test::Memory::Cycle to develop prereqs
Changes for 1.58
Bump version to 1.58
v1.58
Florian Schlichting (1):
New upstream version 1.58
Jonathan Swartz (49):
update copyright
correct spelling of overriden -> overridden
1.49
skip release
add
add dzil support files, remove old cruft
used to be autogenerated, now hand-maintained
ignore t/lib/BadModule.pm
simplify
ignore htdocs
expand P<>, ADMIN<>, and DEVEL<> pod shortcuts for good
fix broken links
ignore mason_tests
make live tests author-only
1.50
remove now-autogenerated pod sections like AUTHOR, COPYRIGHT, SEE ALSO
add SeeAlsoMason
VERSION will be autocreated
1.50
update Changes from previous dist
fix MANIFEST.SKIP
don't perltidy after all
revert tidying
remoe superfluous sections
update
add mason 2 note, getting help and sources
1.50
updating to next version 1.51
1.51
remove hardcoded version
add
1.51
updating date for 1.51
updating to next version 1.52
RT #49031 - Ignore 'Software caused connection abort'
RT #88708 - sort hash keys to deal with Perl 5.18+ hash randomization
1.52
Merge pull request #2 from alexmv/precedence
Merge pull request #1 from rjbs/escape-each-item
Merge pull request #3 from avar/do-not-use-global-warnings-in-tests
Merge pull request #4 from avar/implement-use_warnings-switch
Merge pull request #5 from avar/html-mason-params-correct-docs-for-compiler_class-default
1.52
updating date for 1.52
updating to next version 1.53
1.53
updating date for 1.53
updating to next version 1.54
updating date for 1.54
Kent Fredric (1):
Fix t/13-errors.t failing w/o '.' in @INC
Kevin Falcone (1):
Ask CGI to not warn about param() in list context.
Ricardo Signes (2):
escape each part of substitution, not their concatenation
ensure that we can write escapes that handle refs
Shlomi Fish (1):
Made a hyperlink clickable in README.md.
autarch (2053):
remove direct access to other object's hash keys
remove direct access to other object's hash keys
add some methods to keep others away from my hash keys
remove direct access to other object's hash keys
added test for pre & postprocess options
tests for parser pre & postprocess options
fix broken postprocess feature
automates the task of making simple read & read/write accessor methods
use HTML::Mason::MethodMaker to make simple accessors
removed unneeded use of Exporter
added warning about mod_perl as a DSO
removed object hash key of '_permitted', which wasn't being used anywhere
added cgi_object to ::Request::ApacheHandler class so it can return the CGI object we use internally
documentation for new cgi_object method
summarized my changes
make sure warnings are off when %ARGS is assigned in a component
squash warning
resolving conflicts
make cgi_object method return a new, empty CGI object if none was
document that cgi_object is a fatal error when using Apache::Request to get args
added FAQ for how to handle file uploads
added Component run method so components execute themselves rather than having the Request object poking about in their internals. Nice and clean (and subclassable)
The code_cache related tests have to change when the size of a cached component changes
make MethodMaker declarations look pretty for Jon ;)
this test now also tests that the $m->cache store action returns the value stored
returns the stored value on a store action if this is successful
document that $m->cache store action returns the stored value if successful
add Component method run_dynamic_sub to be called from Request object to eliminate Request poking about in Component internals
removed some unused imports and changed a bizarre code construct in process_comp_path
did the following things for a number of modules:
added 'use 5.004' to top
removed unneeded use
remove use of POSIX
change DSO warning to mention that I did actually get this working
more ch-ch-changes
remove yet more direct hash accesses into the component. clean up some variable names
explicitly use IO::File cause its not in any of the modules any more
3 things
remove all IO:: stuff
remove use of IO::
remove use of IO::
remove use of IO::
remove IO::
finish cleaning up var names
I thought we killed this weird stat thing already ;)
var name cleanup
always one last var name to clean up
check even more syscall returns
more changes
use File::Spec
getting ready for 0.89 (already!)
removed a number of functions no longer being used. Use File::Spec where appropriate
fix screwup that caused error at startup if using system logging
use File::Spec to replace a lot of file/dir related code
added CGI object test
test for cgi_object method
test cgi_object method
test harness for Mason
clarify difference between Apache request object and Mason request object for last question
fix so that its possible to override call_path param properly
get Jon's fix for the CGI object stuff from 0.89 into the HEAD branch
This appears to fix the tainting bug!
this runs independtly of the test harness (new or old) and tests that the parser works in taint mode
use plain scalar instead of scalar ref in getting around taint bug. Its less obfuscated and benchmarks to the same speed
uses the spiffy new test harness
new test suite for error testing
updated version
makes sure that Tests.pm can see TEST_VERBOSE=1 switch to make test
some code reorganization to make the paths the test harness uses for writing components available publicly
use expect_error param to check error message.
translated all old tests
added a few options (interp & skip_expect) to support Interp tests
recursive descent lexer piece of new parser architecture
base class for compilers. Basically a set of methods that are called from the lexer that generates a big data structure representing the component and does basic escaping and such. The compiler subclasses are responsible for generating some sort of useful output (like a component object file)
compiler subclass to generate object file text
beginning of compiler subclass to generate class files instead of object files
just spits out events to STDOUT. useful for testing the lexer
allow compiler_class as parameter to new
add line numbering whenever text is added to text buffer
I remembered why I got rid of the text buffer stuff once already. It makes proper line numbering almost impossible. I got rid of it and added in proper line numbering (I think). Maybe I'll take a look at the text buffer concept again later.
call SUPER::new (to get lexer object)
call SUPER::new
fix first test to match old path
convert to new system
convert to new system
fix regex for perl var names
make check_output avaialable as a public class method (need to doc it though)
expect $m->caller_args to return a list
remove qr// and add bad_var_name test
fix incorrect use of File::Spec->catdir
update with fix for _make_error problems and check for bad var names (of course, this module will go away but for now its good to make it pass all the tests)
delete files generated for Apache::test
Apache::test module. Once this version is standard in the mod_perl distro this can go.
no longer needed
fix major bug where if actual result was totally empty, it was treated as success
doc check_output method
fix test that was failing without being caught by test harness (because of bug in test harness)
uses real apache server for testing
contains patch needed to make this work with servers using DSOs (any DSO, not just mod_perl)
removed chk_version (which is in makeconfig.pl)
added a bunch of code that uses Apache::test to generate an Apache conf file.
add test that $r really is an Apache::Request object when in mod_perl args mode
sync up with changes in 0.8. Also make minimum Perl version 5.005
I rearranged the code so that the lexer is created by the compiler,
call _init instead of SUPER::new
remove new method and move its functionality to _init which is called from subclasses.
tweak cleanup to make sure we don't miss things.
use absolute paths for everything in the Apache config file
expect root dir for apache test in $ENV{APACHE_DIR} so we can use absolute paths for everything.
fix doubled slash (//) in generated path
remove carriage returns that screwed up my testing
bug fix for Apache::Status view
fix typo
added Caleb Crome. Moved to perfect alphabetical ordering because that is important!
access all attributes internally via accessors
lots of little tweaks to make it produce a correct component.
lots of little tweaks. This still doesn't do much.
make it work under taint mode
use catdir instead of catfile
try setting PERL5LIB explicitly
merge in various changes from the branch
bring in changes from mason-0-8-branch (cvs update -j mason-0-8-branch foo)
remove linefeeds (I think)
show more lines when showing disparities between what was received and what was expected
bring in changes from mason-0-8-branch
minor tweak to error message
bring in changes from mason-0-8-branch (why, I don't know? Since this should be going away soon in this branch anyway)
bring in mason-0-8-branch changes
bring in changes from mason-0-8-branch
kill linefeeds
remove linefeeds
bring mason-0-8-branch changes
remove reference to FAQ
merge in mason-0-8-branch changes
continuing the endless mason-0-8-branch merging
update with 0.8 changes
bring 0.8 branch changes
bye bye faq
bring in 0.8 branch changes
bye bye tests
further cleanup of test file removal
more file removals
remove more files
files removed
all removed
remove files
bring in new tests from mason-0-8 branch
merge from mason-0-8
don't copy makeconfig.pl to module dir
fewer globals
only use one global
move code a titch
merge in changes from 1.0 branch
check in changes from 1.0 branch
merge in 1.0 branch
merge in 1.0 changes
merge in fix from 1.0 branch
added Params::Validate and upped version #
merge in goodies from 1-0 branch
remove carriage returns (oops)
integrate 1-0 branch
merge 1-0 branch and use File::Spec
merge from 1-0 branch
merge 1-0 branch (I don't care if this breaks cause it'll all dissapear soon I hope)
merge in from 1-0
merge in 1-0 branch
merge from 1-0 branch
cleanup after merge
merge in 1-0
put Error.pm into HEAD branch too
anally merge from 1-0
merge in 1-0
more or less blindly merge in 1-0 stuff, which is generally more up to date
merge in 1-0
incorporate changes from 1.03
comment out old perl_* tests (I assume this is disappearing?)
add tests from John Williams
change made by John Williams
remove test of STORE param (John Williams)
a convenient module in which to define all exceptions at once
John William's buffer code tweaked a bit by me to abstract it more.
is_taint_on => taint_is_on cause I want to say:
change parser_params to compiler_params. Need to add lexer_params and finish implementation
this incorporates a number of changes:
more big changes:
much tweaking
small tweaks to internal data structures
handle new data structures
don't use Parser
remove references to MLDBM
renamed test and tweaked to make it work
use compiler, not parser
update to expect new error text from lexer/compiler
use new compiler
use new interp->make_anonymous_component method (which seems to exist just for this test)
don't run tests unless we have Cache::FileCache
move escaping from parser into here
fix bugs in turning source into component object process (in load method)
implement allowed_globals, escape flags, and postprocess of perl & text
call ->_init with params
*** empty log message ***
handle lexer/compiler params
handle <% $foo | %> though I think it should be an error
add 'n' flag to make it do what we want
improve/fix some error messages
don't use Parser.om
have debug flag as a scalar
fix handling on 'n' flag
use new compiler, not parser
tweak handling of debug mode
fix code cache test by increasing cache size (#line directives are probably bulking up component size)
incorporate Barrie Slaymaker's patch for Parser.pm here (fixes a problem in taint mode). I need a test for this, I think.
add more tests to catch stuff caught by Barrie Slaymaker
tweak a comment
convert die to exceptions
convert die to exceptions
fix code that would ignore a valid param of 0 for use_strict
no need to explicitly load Lexer class
die => exception
add a couple new ones
rethrow exceptions if possible, otherwise make regular errors into exceptions
die => exceptions
die => exceptions
die => exceptions
implement Ilmari Karonen's much simplified args grabbing loop
use Apache::Request by default. User must load CGI themselves and set args_method in the params to the ApacheHandler object to change this.
tweak docs to reflect new reality of defaulting to Apache::Request
make sure to preload CGI when necessary
add Apache::Request as dependency
update dependencies
avoid undef warning
put the 1; in the right place
rework Resolver API to make it much simpler.
add to a comment
remove old methods from File.pm
test for new $m->comp({store => \$foo},...);
store param for comp requests. use it to implement scomp.
fix POD buglet
passing content to flush_buffer won't do anything
these changes fix much of the memory leakage but there still seems to be a 4k leak every 1-2k requests. Help!
using a scalar ref for the out_method breaks in stream mode now (as it should). Use a sub instead
this optimization no longer works but the Buffer.pm code does something similar
buffer->destroy => dispose
simplify out_method method
destroy => dispose
make sure to clean up buffers in ->_reinitialize
update urls
I'm bored and working on random things for no reason
Ok, this thing has been dead for a while. To the Attic with thee!
make copyright year 1998-2001
fix copyright years
test that print call works (in a non-Apache setting)
test that print() works with Apache
do wack crazy shit to make print() work from inside components
apply John William's patch which makes ->dispose unnecessary
no need to call dispose (I think) - we still have a slow leak though
fix test counts
always upgrade $r to an Apache::Request object now that we require Apache::Request anyway
hideous evil thing! This code makes $r->print work in components by blessing $r into a subclass that capture calls to ->print and does the 'right' thing with them.
always do tests with Apache::Request (and do them first)
no more testing for Apache::Request cause its now required
Not sure if I should do this but it avoid sending output through the tied filehandle so it should be quicker
implement Ken's suggestion for handling $r->print, plus a tweak of my own.
don't require Apache::Request or else install may fail. But warn user that it is required for using Mason with mod_perl
tests for comps w/content (from John Williams)
make it match comps with content
handle comps w/ content (very little code, actually). thanks to John Williams
tweak pop_stack to not pop_buffer_stack (do it explicitly) cause..
remove handling of </&| foo &> for comp w/content ending (we only accept </&|> now)
add conditionals to protect against undef warnings when using 5.00503
update this to make it useful again (very nice for debugging the lexer)
simplify handling of comps w/content
change comp w/content ending tags
remove unneeded capturing parens in regex
Add HTML::Mason::Request->instance for outside-of-Mason access to request object
task #218 - Eliminate run_count() and first_time() from comp API
remove expectation for run_count/first_time results
remove use of ->first_time & ->run_count
move some of the CGI.pm args processing to Utils.pm so it can be used from CGI scripts
add docs on using Mason via CGI
test ignore_warnings_expr
test using $_ in a filter
remove mentions of Parser
test interp->make_anonymous_component
tweaks in eval_object_text
get rid of Parser mentions
Parser => Compiler
fix handling of expect_error when no error occurs.
don't mention Parser
add make_anonymous_component docs
make sure line numbering is correct
allow skipping of prompts
I am so anal. I just had to have the lexer handling escaped newlines cause it bugged me that the compiler was doing it
don't handle escaped newlines here
needs a compiled_component method even as a no op
</&|> => </&>
don't overwrite MASON_VERBOSE env var by accident
correct patch. oops
document TEST_VERBOSE
document --no-prompts
show something for values that are references in status handler
break stuff out of makeconfig.pl into separate files
Mason will now try to do a simple Apache configuration for you
remove apache_install.txt on clean
still needs an import() sub for maximal efficiency. removing it broke my install. I was over-zealous
fix exception throwing
check that the object passed to push_buffer_stack implements the Buffer interface
remove call method (legacy stuff)
save user specified config file location
there is no conf_file entry in that hash. Don't know why I did that!
use user-specified conf file if available
This bit was not achieving anything for our purposes
move all param checking into validation spec
MultipleConfig without a CompRoot setting still indicates we're being loaded from the Apache config file
InterpClass may be set but not yet loaded, just short circuit and use the 'private' method
uh, yeah
no poking about in other object's data structures!
try to use all needed modules as soon as possible
really try to load all classes ASAP
validate lexer class based on interface, not isa-ness
fix syntax errors
make sure all classes get loaded eventually
be consistent in method names
reality was different from what comments and error messages indicated
use Params::Validate
Jon didn't like calling this parameter just 'comp' and in retrospect he's definitely right. Change it.
this method just makes sense alongside subcomps
If this is set make sure we know its been overridden
use File::Spec more and tweak comments
catdir and catpath are actually very different!
ok, now MultipleConfig tests work all good and stuff
this bit not used anywhere!
a (micro-?)optimization
fix syntax error from last checkin
another common Apache location
oops comment in wrong place and return not needed
Jon said this:
don't require 5.004. we require 5.005 in HTML/Mason.pm, that should be enough (I think?)
merge .pod with .pms
to the Attic with thee!
with the lexer/compiler working and the other stuff moved to Interp these can go to the Attic
pass args method HTML::Mason::ApacheHandler->new
remove cruft from past conflict
don't try to load so many classes here. Let that be handled by the sub-objects bits
This works ok for the Interp class, at least.
use wacky new Container.pm code. Makes 08-ah.t pass (along with changes to ApacheHandler.pm)
use new validation_spec/allowed_params method
comp_root is in resolver now
MultipleConfig is no longer needed. This can be determined easily enough (it was the whole args method bit that made this necessary before)
no more MasonMultipleConfig
get rid of MultipleConfig
a better way to ensure the least objects are created. Even works with multiple configs since multiple requests that use the same set of params will reuse the objects (neat)
don't poke about in globals, use API
a bit of a hack to make sure that we get all of the overridden foo_class params right away so these can be passed to ->allowed_params
This should do the right thing in several respects now:
use base, not @ISA
doesn't create anything
make it a container
tweak to make it work with Container.pm
comment was wrong, now its not broken
debugging is good. no need to remove it!
ok, 08-ah.t passes now. I don't care what changes are made to this class as long as 08-ah.t keeps passing
this code has been moved to HTML::Mason::Container
test for bug #283
should work with HEAD requests and whatnot now
change strange formatting
don't capture unnecessarily
add escape just to be clear
add object id method (note that this currently requires Digest::MD5. Is that a problem?)
add object_id method
add object_id method
add compiler_id as attribute
add an exception just for incompatible compilers
make eval_object_text check compiler_id in loaded components. Also handles older components with or without parser_version
components got a little bigger when adding compiler_id
no more cache files
newer CGI.pm versions add a default charset to the content-type header
no need for error param
pass comp name on error (more useful than just saying <anonymous component>)
barf on 0 length components
clean up httpd.pid file
this validity of comp_root is checked when the object is created
remove other checks that comp root is string or arrayref
remove the bits related to really old components (now allows for zero length components)
make sure id is properly escaped
make id generation smarter
require (and use) newest Exception::Class, which has a slightly different interface
no need to use regex when eq will do
implementation, tests, and docs for $m->cache_self
fix check for last comp root when determining whether or not to make a new object
see comment
update prereqs
Clinton now calls these keys instead of identifiers (thank you, Clinton ;) so we should too
point to correct location.
fix typo reported by Jay Caliguiran
add MasonDhandlerName
remove need for HTML::Mason::Config
fix tied file handle's PRINTF method and add a test for it
Params::Validate 0.08 fixes a bug with the NO_VALIDATION option (for P::V).
Params::Validate 0.08 shipped without a Makefile.PL. require 0.09
ok, 0.10 really has an ok MANIFEST, I swear, really, it'll work. I'm not kidding this time.
set_options has been renamed to validation_options
make tests more likely to run: if 10 seconds pass waiting for the
fix comment
hey, use strict, there's an idea (I'm so embarassed!)
make it possible to easily use a request sublcass (will have neat example in book!)
make generic_block public so that all the methods that we might want to be subclassed are public
wherever we have 'use base', use the parent modules (because 5.00503's
make ApacheHandler a Container subclass. should make it easier to subclass
only needs SCALAR from P::V
only needs SCALAR from P::V
cosmetic tweak
remove spaces on empty lines
remove no longer relevant comment
lexer just needs to have ->lex and ->object_id methods. No need to force it to subclass HTML::Mason::Lexer
factor out block ending bits. might make some subclasses a little easier
more methods lexer must provide
wasn't actually using anything from Tools
wasn't actually using some of these functions
was exporting lots of things that no longer exist!
wasn't using Data::Dumper;
its good the compiler to generate valid Perl code (/me smacks me)
fix syntax error
only need to use it once
remove unpleasant whitespace on empty lines (anal-man strikes again)
update to new Mason
remove carriage returns
mention parser is gone
improve the way a custom request class is handled (if ApacheHandler were a subclass of Interp it might be even easier)
restore check for isa-ness
John Williams claims this may not work, so back to checking for VERSION
make data_dir and comp_root settable
wasn't being used anywhere
A. no need to break encapsulation
gack, more encapsulation breakage. and it wouldn't have worked anyway! and it should use File::Spec!
various fixes
use delayed object stuff for request creation
just let interp make the request (and figure out what class it should be)
make sure to not install any .pl files
make load_pkg work cross-platform
oops, didn't mean to remove that just yet!
have to eval this cause if the class isn't loaded this will blow chunks
fix docs
use exceptions
use exceptions
test that subclassing works (still need to test that you can pass something like MasonFooVal from httpd.conf though)
the quest to annhilate needless whitespace continues
try to make sure this code doesn't generate great gobs of warnings (like I've seen in my logs) for uninit values
use new get_keys API call
/me pays more attention when fixing warnings
really trying hard to avoid those warnings
another potential warning issue
another pod fix
one more tiny pod tweak
make it work under taint mode again (grr, run the tests!) and add a
this class doesn't need to inherit from HTML::Mason::Container twice over
typo fix
remove all the nasty copies from of the comp text. Just untaint it once
don't mention parser
make it possible to have a call_path param with multiple slashes in the path (foo//bar)
handle URLs with multiple consecutive slashes
revert previous change for paths with //+ in them and simply handle them by cleaning up the path when we first see it, since these sorts of paths break a lot of assumptions otherwise.
test dhandler code against a call path with multiple consecutive slashes
fix uninit value warning
fix some doc bugs
test to catch weird loop madness with ->flush_buffer
clear the buffer after flushing, otherwise old output just sits there (amazing I didn't see this earlier)
remove Apache-related bits and make a new method ->_run_comp (which is overriden in HTML::Mason::ApacheHandler::Request)
move the Apache-related madness for catching $r->print and print into the Request subclass
remove debug warning
handle Mac line endings too
this is slightly faster
same effect, one less line of code
improve object_id generation
when a buffer without a parent is flushed, don't do anything, because calling ->clear on a top level buffer containing scalar ref buffer simply makes the output disappear.
simplify method quite a bit
fix test count
remove unneeded var
fix flush_buffer slightly differently. Any buffer without a parent automatically turns on ignore_flush
spacing tweak
another dhandler test
i made the test so it doesn't hurt to have it, I guess
get rid of one goto
don't use deprecated features in test helper code ;)
goto considered harmful ;)
without the "delay headers if only whitespace is sent" bit this test outputs the first header set, not the second
only tie/untie STDOUT for first comp call
error messages are a little different if all errors are exceptions
tie stdout as little as possible
there is no ->_error method anymore
tweak regex a little for new style errors
having two exceptions with the same abbreviation seems like a bad thing.
only import once
no need to fiddle with Apache::print in two different spots
apparently the code to handle print and $r->print can be trimmed a bit (I think I had multiple solutions implemented at the same time)
do print catching tests in stream mode too
also make sure it works with $m->flush_buffer
add live tests for CGIHandler (right now there's extra junk in here that was copied from 08-ah.t. most of it can probably go)
setup live tests for CGIHandler
Mason needs 5.005
remove some unneeded code (and whitespace on empty lines)
make sure all errors include comp name and line number
use fixed Exception::Class
Oops, didn't mean to delete that
error messages have a changed a little
doesn't hurt to quotemeta
use correct var for name!
errors in generated comp code should be exceptions
true or undef is a little misleading, since we never actually explicitly check defined-ness, just boolean truth/false.
if we tell people they can use their own request of buffer subclasses, we really need to use our own API rather than bypassing it by passing output directly to the top buffer's sub reference.
order of buffers returned from ->buffer_stack should match order returned from ->callers
remove more unholy whitespace
fix a number of bugs related to the Apache::Status code, also make it warning free
fix Apache::Status code
don't generate exception from existing exception
make Params::Validate generate proper exceptions
don't unconditionally throw an error here (I am dummm)
Apache::Status hook improvement
Apache::Status hooks improvement
make error/exception handling a bit more standardized
implement attr_if_exists (with test)
fix bug in _run_comp that hosed all requests
stream => autoflush
remove die_handler related code as this is no longer being used
don't pass mod param to buffer constructor
implement autoflush
remove $m->time related bits
add a HTML::Mason::Exception::Syntax class with extra accessors and slightly tweaked as_string
make syntax errors very consistent
inheritance is declared earlier
no longer need this stuff (I hope)
error_mode is now request param
make sure to preserve context properly
*** empty log message ***
ok, we can, in most circumstances, cache apachehandler objects
slightly simplify how request gets the out_method attribute
make accessors for selected params for contained obejct (request)
test accessor for contained object params
no need for that
move request object creation later (we only use it in handle_request_1)
fix var name (code that works is good)
tweak some wording in the docs
update some docs
move process_comp_path docs to Interp.pm since nothing ever calls it in the request object (I can make an alias in the request for backwards compatibility if desired)
rename method to absolule_comp_path (cause that's what it returns)
fix (sort of) calls to ->assign_runtime_properties that were broken.
fix name and dir_path to really be cross-platform
fix list/scalar context propogation again
simplify a little bit
change really weird parens
initial docs (mostly done but might need some tweaking)
useful when you want to create component on the fly via
without a comp_root, must use HTML::Mason::Resolver::Null class
update copyright
get rid of assumption in ApacheHandler that resolver is
fixes failure of 09-component/#5 (context propogation)
improve docs a bit
improve dump_specs output
test that things work without an explicit comp root
add no comp_root config for apachehandler tests
use document root as default comp_root when none is provided _and_ the resolver can actually accept one
remove a number of empty calls to ->contained_objects and ->valid_params
*** empty log message ***
the default document root bits should be done in the resolver itself, I think.
it's important to call ->rethrow when possible or else the stacktrace
exception objects have no as_text method!
fq_path => comp_id
comp_root method for interp object
convert component ids to obj filenames in a cross-platform manner
improve docs about comp_id
improve generation of unique key for apachehandlers to handle code
don't put things in the hash if it doesn't exist
no_comp_root => no_config
add ServerRoot to generated httpd.conf file so when it tries to pick a default data_dir it works
remove default comp root stuff
move default comp root stuff here again
generate a default comp root and data dir when the interp/resolver will accept it
a few small changes to make this stuff more intelligent (read the long comments for details)
um, yeah, capitalize that env var so it actually works!
be more flexible about err message check
fixes warnings from 5.7.3
call abosolute_comp_path in interp with dir_path
keep our bundle up to date
move absolute_comp_path from Interp to Tools, don't document it as publically accessible
make this test fail more gracefully
make interp via apachehandler
create interp via apachehandler
override request class here
remove request class hack for mod_perl
remove warning against print and $r->print
remove all mentions of parser. show creation of ApacheHandler object
remove mention of comp root and data dir for "simplest" config bits
cleanup data dir that is created for no_config tests
implemented HTML::Mason::Resolver::File::Apache
fix docs
eh, doesn't use autoload anywhere
use the new 'official' subrequest mechanism
add new HTML::Mason::ComponentInfo class to be returned by resolvers
update docs a bit
encourage everyone to read the admin manual
encourage pre-loading of mason modules
one little tweak
fix bug where incompatible object files triggered an exception instead of a recompilation
make comment make sense
try to get docs in sync with current state of code
*** empty log message ***
tests turning off autohandlers for a subrequest
These changes are all about moving the use_autohandlers and
no longer allow undef for auto- or d- handler names
mention the use_<foo> params for requests
fix braino
move HTML::Mason::Resolver::File::Apache into ApacheHandler.pm file and rename to ::ApacheHandler
another subrequest test
change comp_text => comp_source (if we have a compiler it makes sense to talk about "source")
implement use_autohandlers in request _without_ recalcing inheritance each time a request runs
don't recalc inheritance over and over. just do it once when ->assign_runtime_properties is called
comp_text => comp_source
remove incorrect comment
add responsibility to componentinfo class for compiling (and returning object code)
update docs
all components now have some sort of comp_id
change param name for ->make_component
slight method name tweak
simplify how anon components get a title and comp id
lots of changes to update for new code, clarify things, update POD syntax to more modern usages
ComponentInfo renamed as ComponenSource (suggested by Jon). I think this is a more accurate name
*** empty log message ***
call error functions without parens to improve compile time checks
call abbreviated error function without parens
try to clarify the code path a little more here
take advantage of new full_message method in Exception::Class 1.00
turn on fatal error mode if expect_error is set
handle scalarref out_method for errors in output mode
make error_mode default to 'output' in a web context (where that actually makes sense)
revert error_mode change since the default error mode is now fatal in a non-web context
remove weird use_autohandlers hack (wasn't supposed to go into CVS0
require Exception::Class 1.00
fix precedence for sending out error output
don't use nonexistend config options
allow_recursive_autohandlers param gone
replace regex with one that is known to work ;)
don't forget to strip off final slash where necessary
use regex from File::Basename here too
fix tabbing (very important ;)
don't use File::Spec on URL-style paths. Also make sure path is always absolute
$m->out => $m->print
no need to prepend /
test use print outside of ApacheHandler, with & without autoflush
print directly to STDOUT, do not pass to currently selected filehandle, do not collect $200
correct comment
not use File::Basename
fixup "print catching" to actually work in all cases
change package name used with handler.pl
change package name
make sure this works when repeated (that select magic is restored after a print in Tie::Handle::Mason::PRINT)
die if the interp's resolver ! ->can('apache_request_to_comp_path')
move remapping of Apache::print into Request::ApacheHandler->exec
pure cosmetics
make $m->abort(0) set aborted_value properly
make sure $m->abort(0) works
remove reload_file code
require new Params::Validate (faster and has BOOLEAN type)
fix bug
implement fixed_source feature
add test for fixed_source feature
if there is something where an object file needs to go that is not a file, throw an exception (otherwise we'll just die later).
remove tests related to ->make_component with a path arg
remove path arg to interp->make_component
add test for interp w/o data_dir
make interp work w/o a data_dir
test accessor validation generated by MethodMaker
add accessor validation test for contained object param accessor
add ability to do accessor validation
do validation for all relevant accessors, using already defined validation_spec where possible
no need to load this hear
fix up parameter validation
make component accurate
fix up test numbering
make this status_as_html look like the one in AH
gah, I just can't handle seeing a goto when it isn't really needed (what's wrong with a do loop? It's nice and clear. Do this _at least_ one time)
uncomment instance code
there is no fourth ah object to use
add warning when onexistent AH object is requested
don't copy args
make it a normal loop
require Params::Validate 0.14
make auto_send_headers a request property, as mentioned in todo item #292
document subrequests
use convenient new BOOLEAN validation type
slight doc clarification
update docs on comp_root
default_root_path was changed to default_path_prefix a while back
fix spelling in comment ;)
add test for running without a comp_root outside the web
remove default_path_prefix stuff because it just didn't work (the
don't remove args shared by the containing and contained objects
add pointer to bit on using Mason outside the web in Admin manual
add section on using Mason outside the web
%args was no longer being used
actually it ignores all arguments
for contained objects the default is what is in CONTAINED_OBJECTS, not VALID_PARAMS{foo}{isa}
fix defaults for object. Unless an object is a contained object, there is no default at all
indicate whether a param is required
add default_path_prefix back in
add back default_path_prefix but still assign default comp_root via valid_params
remove system log test
update non-web docs bit
The comp_root method is documented separately
add back default_path_prefix
document load method
remove useless whitespace
no need to get $comp_root
check for public attribute in param spec
mark some attributes as not being public so they don't end up in generated docs
auto-generated via a script
make interp private
don't list params here, just refer reader to Params.pod
document constructor params
remove out_method as a parameter (just make it a passthrough)
out_method is no longer an interp param
some small updates
add description for contained object
pass through contained object descriptions
add descriptions for contained objects
remove unnecessary parens
updated
no more system logs
remove mention of system log
line_count => line_number
line_count => line_number
very minimal docs
remove mention of path arg to make_component
update docs a bit
fill in a little more
one more thing
return Params::Validate type from all_specs
fixed_source => static_source
caught a few old instances of fixed vs. static
I _think_ this is more cross-platform compatible but I don't know how this will work on systems with volumes (like Win32 & VMS). Guess we can just wait for the bug reports ;)
used with "make manifest"
comment out code cache tests until they are less fragile
don't skip that, we need it for tests
validate params (helped me catch an error)
fix call to write_object_file
mention Params doc
changes L<> links
changes to L<> links
no, really fix the links
updated L<>
updated L<> tags
skeleton POD
add POD (incomplete)
update L<> tags
more L<> fixups (to make sure crosslinks work when they should)
no need to mess with this module!
oooooooooohhhhhhhhhhhhhhhhhhhh........... aaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhh..................
add test for error handling in cache_self
fix error handling bug in cache_self
allow any error_format for which there is a method "as_foo" in HTML::Mason::Exception
rename CGIRequest to FakeApache (would like to use Apache::Fake but it appears to have some issues and I don't want to wait on it)
add another test
exclude a few more things
add note on calling flush_buffer when filter block is active, in scomp, etc.
document component call modifiers
use instance method instead of poking about in HTML::Mason::Commands namespace
remove periods
make aliases for now deprecated top_args and top_comp
doesn't hurt to be explicit
default comp_class
fix some L<> tags
*** empty log message ***
one more note
grammar-ify
make error detection a little smarter
avoid undef warnings
avoid some warnings
implement weird hack and move version down to 1.09_01 (I think Ken was right)
um, I don't remember what I intended to do with that variable but right now it's not doing anything at all
refer to CGIHandler instead of custom CGI
fix up links a bit and mention CGIHandler
allow space before block ending tags like </%args>
delete old POD files
more details. am I missing anything?
add docs for handle_request and prepare_request
use perldoc -l per Ken's suggestion
tweak how old pods are deleted
change message
this message doesn't seem to show up no matter what I do. Weird, but not important
add a new regex for newer makemakers
can't call output unless we have a scalar ref buffer
all the abort tests had a wrong assumption. In fact, output generate
test that abort cooperates with the store comp call modifier
make sure to flush output even on an abort
initial changelog. I tweaked the format a bit because there are _so_ many changes and I wanted to try to organize it somehow
don't put this in CVS
little tweak for Build.PL
more changes
document a few more incompatibilities
hey, I'm dumb. Amazingly, this somehow worked. I don't know why.
skeleton docs
make these methods a little safer (no need to blow up in $self->{buffer} doesn't exist)
added some names (also a good syncmail test)
make it "component calls with content"
I should be jailed for this ;)
pod skeleton
don't need Data::Dumper
update requirements
little doc tweak
fix title (so links work on search.cpan.org)
minor change to link text
fix Apache::Status page (needs a test)
remove "expire this comp" code from perl status page
the trick here (to make pod2html work) is to make sure that the entire
add a =cut
again, gotta be on one line (annoying)
slight tweaks
add docs
document this class
add a quick note
document functions
don't send '' as output on a flush
update to require Cache::Cache 1.00
require Cache::Cache 1.00
remove evilness now that Cache::Cache 1.0 has fixed this problem
add filename field back to Compilation exception (must reduce crack intake)
loosen up regex for fiddling with make targets with newer MM modules
need to save cwd when resolver was created because it can change (if you use File::Find, for example) and that can get _really_ confusing
more detail on how relative paths are handled
you too can now laugh at my inability to write C code ;)
skip C stuff for now
fix some pod nits reported by Ilya Martynov
add a name
making data_dir read-write makes no sense unless we actually create new data_dir subdirectories when it changes (eek). Then it'd be different per-Apache child and you have a big nasty mess.
document this motha
add a bit more
provide pointers to other docs
documentation
make it look nicer
mention change to base_comp
update docs on base_comp (please read and make changes if this doesn't make sense)
duh
fix comment typo
mention args_method change
should have restored this earlier
This implements an optimization (yes, me, optimizing! ;) for the
require 0.15 (it has a bugfix)
require 0.15
a few minor cleanups
don't call compiler->text for an empty string
um, don't be an idiot and check truth when that would break things
remove unneeded check of $p{text}
add some functions used for parameter handling in components
I've always thought that the generated argument handling code was too complex. This simplifies it quite a bit.
gah, why would you do that?
even if we decide we want to support this idiom I still don't like it. so there.
more style issues
modernize a bit
previewer is gone, to return in another life
make it stop
add back a newline
remove dangling print optimization. It broke autoflush
document new funcs
updated change list - probably ready for 1.09_02 soon. I'd like to finish HTML::Mason::Subclassing before that though
be real explicit about backwards incompatibilities
add backwards compat warning here too
improve error message for failure to coerce parameter to a specific type
fix test names and expectations
fix descriptions
complexify "text" regex to make tests pass
make good English
add tests for alternate ways of executing CGI requests
multiple ways of executing a request
remove some unused stuff
handle_cgi => handle_component (better name needed?)
set a param in CGI object to test later
not actually using Carp anywhere in here
reorder subs in file so that match order of usage
*** empty log message ***
remove unused exec method
require P::V 0.16
require P::V 0.16 which silences a warning it was giving with 5.00503
*** empty log message ***
make it work (warnings-free) with 5.00503
I'm not all that satisfied with this solution but if I do a string eval on the same problem code in a standalone script it does not just hang.
test #21 produced different errors for 5.00503 & 5.6.1
make this work with newer versions of Perl where the hanging bug doesn't happen
pass line & file with args
*** empty log message ***
test line number reporting in <%args> block
put #line comment above variable assignment for args block to catch error like
oops, fix error message check
ok, this has been sitting here long enough doing nothing
always expect real syntax error
cool, we can still send out the real cause of the error!
handle_component => handle_comp
*** empty log message ***
*** empty log message ***
improve error message
not using Cwd
changes that allow this to work:
add some new tests to check handling of various presence/absence of whitespace in args/flags/attr blocks
add note about making your own error formatting method
unless out_method is explicitly set we make the subrequest pass output to the same buffer as all other output. Works spiffy
add a test to make sure that output from a subrequest comes where we'd expect
add bit about output for subrequest being "inlined" into caller
note about subreq output
tweaks to canonize headers in a way that CGI.pm likes
*** empty log message ***
make grammatical ;)
gah, really fix the word choice correctly this time
these freakish changes allow Mason to work with modperl 2.0, although there still seem to be some dir_config related bugs in the CVS version of mod_perl 2. but I did get it to serve mason pages. cool.
remove my debugging code
two things:
clarify instance
don't call import, just run the code
no need to put this in BEGIN block
*** empty log message ***
handle this in <%args>
try to set $r as allowed global earlier in order to allow components using $r to be preloaded
move comment to correct location
wish I knew how to test this stuff
doc tweaks and make auto_send_headers writeable (does that server a purpose yet? I dunno)
remove dev_dirs feature
require E::C 1.01 (fixes a bug in 1.00)
require E::C 1.01
only require Apache::Request if user has mod_perl installed
latest changes
*** empty log message ***
mac os x has mod_perl but Apache::Request still won't work there
document redirect method
fix typo
add redirect method to request
add redirect test
centralize live server code
remove live server code
remove live server code
add redirect method
add redirect test
*** empty log message ***
move some attributes around
move attribute docs around
move some attributes around
set a settable attribute
fix attribute changes to actually work!
fix attribute moves
need to set this directly
make sure redirects are not farked up by weird code in handler subs
Apache::Request is not required
clarify default comp_root
use cwd for default comp root
*** empty log message ***
change path for component called with new interp
change reserved cache key bit
change cache key for cache_self
do default comp root even when new is called without $r
grammar-ize
implement aborted & aborted_value in terms of checking $@
suppresses a warning from 5.8.0-RC1
up version num
minor pod tweaks
don't skip live_server_lib.pl
hack to let make_params_pod.pl work
belatedly add release date
add ** for incompatible changes
this change makes subrequests respect autoflush in parent request
*** empty log message ***
revert previous change cause it turns out to have been unecessary
add some tests related to autoflush & subrequests to make sure that it DWIM
uh, it was already working
warn about $m & $r in <%once>
add warning about $m & $r in <%once> with preloads
check comment with compiler id for compatibility
*** empty log message ***
gack, new test to catch bug in compiler
make sure percent line is preceded by start of line
*** empty log message ***
don't bypass this test
find <%method> && <%def> with no name
catch invalid method/def names
clarify error message
add some tests for bad <%method> blocks (no name & invalid name)
*** empty log message ***
must stop leaving this in here
sometimes for debugging I don't want this stuff cleaned up
*** empty log message ***
rename $low_class to $class_param
These changes make ApacheHandler handle config items like
*** empty log message ***
pass qr// regex, not string
*** empty log message ***
add class::container prereq
replace with Class::Container
replace HTML::Mason::Container with Class::Container
add Class::Container as prereq
maintainin prereqs in 2 places is dumb
slightly simplify code by always getting validation spec in ->get_param method
add Mason version to compiler id checksum
start subclassing docs
add test for line number reporting in <%once> blocks (also applies to <%cleanup> and others
make sure all Perl blocks have a line number comment for error reporting.
fix off-by-one in line numbering
test for off-by-one in line numbering caused by args block miscount
remove cruft
make it a Class::Container
add docs
move subclassing docs to Subclassing.pod
document request_args method
ok, I consider this done.
add in 1.05 changes
doc tweaks
ooh, exciting! (1.10)
this seems slightly more elegant
clarify version number
add some more incompatibilities
tweak a few things in prep for 1.10
newline before "killing..." message
fix warning from pod2html
remove XX comment
remove cd-me samples from MANIFEST
fix regex
add Class::Container & File::Spec
don't mention previewer or cd-me example
Kwindla does not maintain the FAQ any more.
square credits with list generated by todo tracker (which is missing many of the names already on here, oh well)
can't mix location & filesmatch
preload Apache::Request
mention httpd.conf bits too
don't include Build.PL (cause its not up to date)
freaking pod2html!
have I mentioned recently how much I hate pod2html?
add subclassing link
fix base_comp docs, doh!
fix pod nit
add this back ( i could've sworn I saw this mentioned for an earlier version)
fix link
make it 5.005-happy
skip test with older Perls
add a comment
fix fix for running tests as root
fix link text
mention autoflush
remove chown bit
add that AH will chown created files/dirs
add mention of chown feature
don't upgrade $r if its already an Apache::Request object
1.101 changes
fix and clarify subrequest docs
fix doc bugs for subrequests
more changes
up to 1.11
*** empty log message ***
explcitly set content_type when error mode is html
ha! freaking indirect syntax actually caused an error ("Undefined subroutine &HTML::Mason::Interp called at /usr/local/share/perl/5.6.1/HTML/Mason/Exceptions.pm line 287.")
um, I meant error_format
*** empty log message ***
add httpd.conf bits here too
here goes nothing
document how to mix $m->redirect and eval blocks
a little late but better late than never, I suppose
better abort handling code
don't document the same change twice (reported by Jonathan Swartz ;)
somp? interesting typo
fix typo
I _really_ need a proof-reader ;)
use L<> here, not C<>
make request_args method for benefit of subclasses
mention CGIHandler
fix html error output to have balanced table tags
accept all r/w request attributes
ignore undef warnings in this bit of code
ignore undef warnings when making object id
avoid error when asked to compiler an empty string
making args_method settable makes little sense given the current way
fix syntax error typo
don't store reference to $request in closure!
fix memory leak from how we were using Apache::Request
optimize case of scalarref buffer
optimize common cases for rw methods, since they get called a lot and shift is (relatively) expensive for such a small sub
add comment about optimization so others don't remove it in the future
hideous, but highly effective, optimization
let subcomps find the hash entry for us
hmm, that's what I get for using Devel::Profiler, which seems a bit flaky
this is actually a worthwhile hack, and seems to give us about a 8% boost
don't need methods for these
no need to set $HTML::Mason::Commands::m every time ->comp is called since it can only be a _different_ object if ->exec was called
increase version so it shows up properly on CPAN
make sure instance works whenever out_method might be called
add test for HTML error messages
already have $interp
minor optimization to reduce number of method calls
update test name
optional & a default doesn't make much sense
no terribly compelling reason to make this a container
again, no terribly strong reason to make this a container object. skipping validation seems to be a speed boost
this method gets called a lot. this tiny optimization seems to have a minor impact when profiliing
also no need to have this be a Container
require faster P::V
*** empty log message ***
seems like a useful optimization when lots of $m->print calls happen
hey, this can't be helping much!
do more direct manipulation of various stacks, because these are accessed on every comp call
more optimizations, and a long-winded comment about the various optimizations recently added
expand comment a bit
require newer version (version dance time again)
you can (version) dance if you wanna
fix backwards comparison
up it again!
*** empty log message ***
simple benchmarking script
beginnings of simple benchmark tool
made simple script
comps for benchmarking
up required module v nums
up required versions (this should be the last time before 1.12)
mention what you can and cannot see argument-wise in <%shared> blocks
um, I am dumb (but it still seemed to work?) - reported by Andy Lester
mention PerlFreshRestart
make things more readable (without needing a bazillion column editor)
using this interal var is more portable (kill may not work on all platforms)
test with custom interp provided (a bit fragile because we need to duplicate the AH default params when creating the Interp)
add new interp class test (tests Class::Container as well). will fail with current C::C
pass %params, not @_, since we might change %params
require 0.24 (0.23 fails some tests with 5.8.0)
require P::V 0.24
back to old resolver subclass
revert to Resolver::File::ApacheHandler
remove resolve_backwards
add new_superclass method for use by subclasses
make it callable as class or object method
mention request ->new_super method
use correct method name
new_superclass sounds like a constructor. change the method name
new_superclass => alter_superclass
mention perl_ no longer being supported
require latest Class::Container
require C::C 0.07
just expect valid_params to be get/set
about to do 1.12
finally!
make sure scomp & cache_self cooperate
I hate 5.00503
handle upper case METHOD/DEF
test <%METHOD> (upper case)
mention MASON_VERBOSE
quick bugfix release
changes for 1.1201
add description for lexer_class
description for interp
use proper grammar
fix syntax error
slight grammar tweak
reword item
don't run tests using 'h' escape flag unless we have HTML::Entities available
make sure that buffer push/pops are _always_ balanced
handle filter buffer push/pop in Component->run rather than inside
make the filter a component parameter, not a part of its body code
test wacky combos of cache_self, filters, & scomp and make sure it all works (it does now)
use comp_id as key in wrapper index, because all components (anonymous or not) have a comp_id
add bit about not using $m or $r as variable names
optimize common case
add semi-colon
suppress 'subroutine redefined' warnings
fix typo
fix error when multiple comp roots are defined in the httpd.conf
fix typo
make sure $apr gets assigned if $r is an Apache::Request object.
accomodate newer Debian
add Apache::Filter cooperation test
dont' do filter test first
config for Apache::Filter cooperation test
this change should make the $r->print() hack cooperate with _any_
fix problem in apache_request_to_comp_path on Win32
this'll be the next verson
sort keys explicitly
sing it, Bowie!
also needed to fix Win32 bug
trim trailing slashes
add tests for allowing spaces after method/subcomp names
allow space after subcomp/method names
compile component so that comments should be allowed after flags & attr section
add test for comments after attribute and flag definitions
allow dash (-) in subcomp/method names
add test for dash in subcomponent name
more changes
added credits
change A-Za-z0-9 to \w which will cooperate better with locales
use \w instead of [A-Za-z0-9] in order to be more locale friendly
*** empty log message ***
[\w_] is redundant
reword this change
it only affects Unicode. locales are entirely lexical
simplify infinite-loop-in-interpreter checking (code from Ken)
no need for a 1-item loop
permanently set version to be higher than last release where the version was based on the CVS version.
permanently set version to be higher than highest version on CPAN (which is 1.69 as part of the 1.05 release). This should fix the CPAN 'r' bug thinking 1.69 is more recent than 1.242, and avoid all such problems in the future.
last bits for 1.13
if its created without a request, the comp root needs to be specified
slightly better handling of void context
<%filter> should be able to stuff from <%shared>
filter-specific tests
fix bugs in fix for filter & shared/ARGS
pass arguments when calling filter
pass arguments to filter
add test for turning off strict (which works _without_ changes to the existing code!)
add note on source filters
add test for using Switch.pm if its installed (source filter test)
do object file if it exists, rather than just eval'ing its code. this fixes source filters
show creating comp root and data dir
clarify comment
warn when not-found comp path matches a real filesystem path
make use_strict work no matter what
better use strict test
test turning off strict when not using object files
no need to check ->can
just pass along args
fix obscure bug waiting to happen. don't add $filter to the buffer stack unless there _is_ a filter
add date for 1.13
add test for death in cache_self
remove extra flush (because this is already happening in $comp->run)
no reason to stick this stuff in a BEGIN block
don't mention betas
test weird lexer edge case (just for Jon ;)
test clear_buffer and flush_buffer inside comp call w/ content
differentiate between ignoring clear and flush
differentiate between ignoring clear & flush for buffers
new bits for user-defined escapes
more code for user-settable escapes
remove escape stuff, as it's now entirely dynamic and uses the interp object
new subs for escaping
user-defined escape tests
new user-defined escapes
fix test
don't use explicit Unix-style paths
don't spit out filesystem info
don't expect filesystem info
make it filesystem agnostic
provide links for more of the docs
don't save source in memory
only untaint if necessary
forgot my semi-colon!
note to self: the tests are there for a reason, doofus!
escaping methods should expect scalar refs
make sure apply_escapes always gets a single text argument
tweaks for escape code
learn to write proper regexes (fix add_escape name check regex)
uc escape should expect scalar ref
use proper sub name (I'm surprised this worked!)
add docs on user-defined escapes
learn to spell
mention passing arrayref for multiple default escapes
use OBJECT, not HASHREF
document apply_escapes
add other 1.14 changes
add_escape => set_escape
fixup and clarify escape docs
fix grammar
patch from Ilya
fix tests to use correct api
whether these tests represent bugs is highly debatable, and its not
allow user to use a different status for redirect
allow user to specify status code for redirect
document $status arg for redirect method
mention redirect status thingy
fix typo
specifically say lexical variables are shared with <%shared>
remove tests that won't ever pass
fix expected error for Perl < 5.6.0
fix typos
add bit on setting escapes
add handling for MasonSetEscape parameter
add some MasonSetEscape directives
test MasonSetEscape directives
can't use html_escape as escape sub. made new old_html_escape for this purpose
add old_html_escape sub for pre-1.1 to implement html escaping behavior as an escape
this is a safer test because a component could call a method that only exists in itself (not in the base_comp, just the current_comp)
implement is_method
add is_method
test that we get a useful error when a component's source file is unreadable
handle MasonEscapes as normal constructor param, with some munging
change escape setting
needs to add, not set
handle setting escapes from constructor
document escapes option to new()
remove section on special param for escapes
make sure mason handles a zero-length source file properly (which means it causes no errors)
add a 1; at the end
add test that bad source_callback returns useful error
escapes => escape_flags
escape => escape_flags
old => basic
old => basic
add test for setting escape flags via constructor
first version of spiffy new module
teeny doc tweaks
respect MASON_NO_CLEANUP env var
one more escaping test
add test for proper error with invalid escape flag
allow for escape subroutine to be a string, which is assumed to be in HTML::Mason::Escapes
one more escape flag setting to make sure string version of setting works
use new escapes module
different sub name
removed all the escaping bits
add test for a comp with a filter block calling a comp that clears the buffer. The entire stack should be cleared in this case.
move flexible handling of escape parameters to set_escape and document this
remove funky handling of escape flag settings, just pass it to
update changes
fix error display (good thing 1.14 didn't go out yet!)
don't include check for required args if there are none
just do require, which will only load the module as needed
revert earlier change because doing "require CGI" again can cause some dumb warning about redefining a constant, and I'd best leave well enough alone before 1.14
mention mp2 fix
handle error in a subrequest properly
test for error handling in subrequests
*** empty log message ***
fix bug description
fix link
fix link again
fix another POD buglet
ok, really freaking fix this link!
no, really, this actually fixed the pod link. I'm not kidding.
GAH! I'm an idiot. Fix all the POD shortcuts I broke by checking in a post-processed file.
add date
don't mention cd-me
make code play nice with CPAN's r command
fix test name
argh, there's no way to conditionally skip the test from _inside_ the test, and it's not til we're in it that we know what will happen so ...
turn on MASON_MAINTAINER env var when a CVS dir exists
fix test numbering if alarm doesn't work
ignore unitialized value warnings that may come from Switch.pm during compilation
fix setting env var
fix further cruft from checking in post-processed docs
*** empty log message ***
only flush top buffer after executing filter
test that a filter doesn't break a call to $m->clear_buffer that comes later
add more filter tests. both of these fail for now
fixes filter bugs by ...
filters are now handled by giving the buffer a component object which
get the filter from a component object
don't distribute stuff in benchmarks (too late for 1.14)
make filter a rw property via methodmaker
set filter on $m->current_comp
make has_filter a get method
shut warning when there's nothing to cleanup before running tests
check comp for filter, not buffer
make pre_test_cleanup option because some tests (see 07-interp.t) do
set pre_test_cleanup to 0 so that multiple comp root tests can function
skip Apache/mod_perl test setup unless run in 'maintainer mode'
only run for maintainers
add handy is_maintainer sub
oops, didn't mean to check that in
must return explicit number for MY::test
changes for 1.15
*** empty log message ***
change release date
no need for etc dir
get rid of reference to "Parser"
remove reference to old Parse.pm
test for flush in presence of filter (still need to decide if this test is actually looking for the right output)
clear is meaningless when there is no buffer
move some tests here from 09-component.t
move filter tests to 02a-filter
comment for test (there can be only one!)
chop off newline (apparently, this was being obscured somehow by the buffers, and I don't have a clue why it didn't show up earlier)
this is the "use fewer damn buffers" patch, which gets rid of the 1-1 relationship between a comp call and sticking a buffer on the stack, because it really doesn't serve any purpose. All tests pass except one in 02a that is unrelated to this change.
don't use flush at all, because it may (or may not depending on what
fix crucial hello, world example
ignore flushes when a filter is in effect (matches 1.0x behavior)
expect flushes to be ignored when filter is in effect
clarify how flush_buffer works in presence of a filter
don't ignore flush in the presence of a filter
respect flush in a filter
document behavior of filters with regards to flush_buffer
mention flush_buffer & filter
remove nowrap from error cell, so long errors messages don't require horizontal scrolling
*** empty log message ***
pod fixes (cut'n'paste-o, mostly)
had wrong function name in docs
test calling a component via scomp inside a filter section
test more complicated scenario with a filter calling a component that dies, all while wrapped in an autohandler
add test for one _possible_ expectation regarding $m->abort in a filter section
code cleanup
avoid warning when path is /
fix doc buglet
tweak to docs about setting escape in handler.pl
don't match <% $foo || 50 %> as escape
add test for || in substitution
more tests for substitution flags
require flags to start with an alpha or underscore (breaks some tests in 06-compiler that contain <% $expr | %>)
method to retrieve escape flag regex (will be used in interp)
tighten up regex for acceptable flags
add some code that forms the basis of code to record test results in a DB file with the intention of providing another script to compare results and generate summaries, etc.
replace deprecated parent_comp method with owner
remove type entry in code_cache, which is a relic of some attempted feature during development of 1.1x
don't allow no-flag escape
compiled_component now returns ref to object code
Don't store component directly in code cache, instead we make a copy
tests that interp objects are destroyed as expected
replaces FilesMatch with LocationMatch where appropriate
add back raw error display to HTML error page
don't escape '$' in shell command on Win32
call instance instead of new to get an Apache::Request object
try to make destruction for determinate
small hack to shut up compile-time warning from 5.00503
will only work properly with 5.6.0+
remove code to make copies of comp objects
remove comp copying circular ref fix
add Scalar::Util prereq
calling ->can only works on objects, not on any old scalar
test decline from lower level dhandler to top-level dhandler (based on bug report on users list but there seems to be no bug)
make regex human-readable
there is no username option for Cache::Cache!
test that setting data_cache_defaults from httpd.conf works
set data_cache_defaults for testing
make escape_flags a hash_list
add new type of parameter, hash_list
parse data_cache_defaults as hash_list
cosmetic fix to make this stuff fit on my screen (won't fit on all screens, but previous layout used _way_ too many columns)
reformat to reduce line wrap
reduce line wrap, make more readable
add mem leak warning
less line wrap
fix weird formatting
die, line wrap, die
oops, want to run these tests
use LocationMatch instead of FilesMatch
change module name
change package name to something that makes a little more sense (I think)
major rewrite, particularly of sections on configuration
fix caps for head3
fix cperl-mode buglet
ahem, need $self ;)
sneaky trick to really create failing test case for top-level dhandler
be a little more portable
don't leave path empty or call to ->load will throw an exception later
just die if we can't get an interp, because without it other things will blow up
prepare changes file for upcoming release
hope to release 1.16 next week sometime
remove debugging output thingy
remove other debugging thingy
read in 16KB chunks
mention reduced memory usage for large comps
cache constructor expects hashref
Apache::Request->instance was introduced in 0.32
mention Apache::Reload
fix link to Admin section
fix grammar
a lot of minor tweaks and POD fixups
fix one caps
pod buglet fix
=item /\*|\d/
take some care not to needlessly copy incoming arguments around
formatting and wording changes
rewrite to just use MasonX::Request::WithApacheSession
add version and comment explaining why
don't override user-provided out_method
cleanup and tweaks based on Jared Rhine's comments
some changes based on Jon's suggestions
shut Win32 up because one of those two vars may be undef
add test for mixed query string & POST params
use Utils::cgi_request_args to process arguments
mention that we merge POST and query string args
add explicit return to make it clear that returning the value of $req->exec is important
explicitly override default format set further on
provide access to cgi_request object
more on wrappers
fix reference to older name of module
can't use HTML::Mason as handler
add CGI.pm as prereq
can't put escapes in =head's
mention cgi_request method
more 1.16 changes
shameless book promotion
require CGI 2.46, which is in Perl 5.00503
don't require Apache::Request if user has only Apache2/mod_perl2
credit where it's due ;)
mention book
update prereq list
grammar fix
a few tiny tweaks to wording
no more previewer
add date
don't run this test unless the user has HTML::Entities
avoid uninit value warning
try to work around test failure on Win32 (getcwd may not be tainted there?)
test of a subclass of a subclass of request (this fails currently)
we want to change the inheritance of the _caller_, not the inheritance
remove unused variable
track what was last added to the body code so we can avoid adding line number comments between contiguous perl-lines
test for qw() spanning multiple perl-lines
glob_path should not return directories, only files
die if $self->load fails when doing preloads
test handling abort in shared block of comp that also has filter
if comp that should have filter doesn't have one, return unfiltered output
test that we cache post-filter component output, not pre-filter
make sure we cache filtered component output in cache_self, not the output before its run through the filter
alter filter so that's it obvious when filter is run multiple times against same output
add call_self and re-write cache_self to use it
convenience method for when request object has to monkey around with filters in cache_self & call_self
add tests for $m->call_self
use rethrow_exception
description tweaks
document call_self - note this still needs an example that actually
test REQUEST:
add REQUEST: as shorthand for $m->request_comp in component calls
add tests for $comp->methods, $comp->subcomps, & $comp->attributes (the last is new)
add attributes method
get rid of long-deprecated (and not documented for ages) parent_comp method
get print from $new_r, not $r
simplify use of $r in prepare_request
talk about mod_perl arg handling first
use correct module as handler
remove comment that is no longer meaningful
fix error message
use File::Spec
pass text as a reference
remove pass-text-as-ref optimization (needs more thinking out)
Scalar::Util may not always have weaken sub (patch from Autrijus)
turn weaken check into compile-time constant
add test for calling $m->file in a subcomp
make $m->file work in subcomps/methods
add prereq for Apache::Filter 1.021+ _if_ the user already has
these are actually needed in live_server_lib.pl
not needed here
load needed modules here
add clarifications for how abort & cache_self work with shared/filters/etc
changes for 1.17
add John Williams
should replace all newlines with <br>, not just the first
put pre tags around raw error message
don't stick filename in double-quoted string because on windows backslashes cause problems
in Win32 destructor seems to run later than exit from block. try to force it to run earlier
convert line ending to try to make this pass on win32
check for Scalar::Util::weaken explicitly
more detail in mem leak warning
remove bogus Win32 (non-)fix
1.17 soon I hope
no need for $r->warn (which mp 2 doesn't yet support anyway)
have to exit, doh
final changes for 1.17
learn to be more grammar
shut up warnings from 5.00503
remove unused pos bits
fix syntax err (can't believe this worked on 5.6.1+!
fix line counting bug with 5.00503
require E::C 1.09
up to 1.18
changes for 1.18
change release date
require E::C 1.10 (fixes alias bug)
use new alias feature in E::C
allow flag or attr closing tag to be upper-cased
allow non-lower case in ending tags for flags, attr, & args
some more parsing tests to make sure that one line blocks and non lower case ending tags are allowed
use a custom resolver subclass provided as an object to the apachehandler constructor
if errors are handled internal to a component, we can't expect error_format to be respected (I don't think)
change print to warn for dump method
test for _very_ ugly bug where subcomponents from one component can leak into another
fix subcomp/method leakage
latest bugs
urls may change, but id won't
prepare for release
simplify test components for subcomp leak test down to bare minimum to expose bug
remove spaces
add date
just check defined-ness of component source
clarify scope of filter block
move subrequest tests to their own file (some of these .t files have way too much stuff in them)
fixup tests after moving subrequest tests to separate file
test error from calling metohd or subcomp inside shared block
detect recursive calls to dynamic_subs_init, which should only happen when a method or subcomp is called from a shared block
test I added a while back to test a bug report
$m->notes is a 1.20 thing
mention putting wrapper code in <Perl> block
don't turn references into HTML::Mason::Exception objects, only strings
more about handling Mason-generated exceptions
mention that error_mode must be "fatal" when handling exceptions in wrapper code
warn against calling methods/subcomps in shared block
*** empty log message ***
test handling of non-Mason exception objects
add note about content type and dhandlers
fix wording
fix in_package & subrequest bug by moving handling of in_package to compilation of components
move setting request earlier
*** empty log message ***
minor word tweak
oops, I'm tired, the original wording was correct
test for bug reported by Vadim Ustiansky
uncomment stuff (oops)
remove debugging junk
fix decline and cache_self bug with patch from Vadim Ustiansky plus some more code plus docs
*** empty log message ***
make object at startup even if ArgsMethod isn't set (oops)
remove debugging cruft
don't get dir_config if we already have it
FilesMatch => LocationMatch
make Tests.pm respect TEST_VERBOSE env var
method & subcomp can longer have the same name
more docs on performance
restore missing newline
add Exceptions to docs list
make sure we have a SYNOPSIS and DESCRIPTION
simplify config-related code slightly
*** empty log message ***
remove attempt to create object during server startup
add bits on config name
pluralize
*** empty log message ***
slight wording change
wording tweak
guide => manual
show MasonConfigName being used more
add config name to at least one configuration just to make sure some tests are run where this is set
generate config cache key before getting the config in a usable form,
remove Config name stuff
make space expectations match up, after which it passes with 5.8.0
just use HTML::Mason::Request->instance inside tied filehandle, rather than holding a reference to a specific object.
*** empty log message ***
woohoo, new release
forgot to squeeze
perl blocks aren't stored as blocks
check define_args_hash always and never
add define_args_hash implementation
not copying is an enhancement. Plus add mention of define_args_hash
turn a few arrays into scalars
add more information on what someone might want to subclass when creating their own compiler
*** empty log message ***
require P::V 0.58
use regex validation
assignment needs to be on one line for proper line number reporting
test keeps failing under 5.00503 but I think the problem is the test code itself, not Mason
doesn't work under 5.6.1 either
let H::M::Resolver::File barf if no comp_root is provided, since that's what needs the parameter
restore previous comp_root checking code, because we don't want to allow default from H::M::Resolver::File to be used. only change is die => param_error
use exceptions instead of calling die()
do more permutations on ApacheHandler object creation
add taint tests
add some tests for running under taint mode
fix test counts
checking taint mode in BEGIN block seemed causes an infinite memory-eating loop in mod_perl
re-fix warnings
require latest P::V
add nasty hack for testing with 5.00503
make taint mode check cached
remove weird binary cruft
test to make sure we see uses of %ARGS in the args section
looks for mention of %ARGS in <%args> block!
check for ARGS in postamble too
only check defaults that aren't undef
make tests verbose when TEST_VERBOSE=1
hmm, $VERBOSE & $DEBUG weren't being used
no need to set MASON_VERBOSE=1 now
make comment a little less demanding ;)
new release
update copyright years
fix grammar
this should be even more optimized when all warnings are being ignored
add test for setting ignore_warnings_expr to '.'
adjust test to test bug #473 (filters run twice after abort) as well
I have no idea why we would flush the buffer in comp() after an
grammar fix
test whether $m->aborted can be checked in a filter section
add warning about return() in filter
*** empty log message ***
test empty attr & flags blocks
allow comments in <%attr> & <%flags> blocks
*** empty log message ***
no point in checking path of '/' against FS - this gives a warning from File::Spec::Unix::catfile under bleadperl and there's no point in doing it anyway
English good
require Exception::Class 1.14
don't save references in mason exception objects
document redirect non-bug bug (task #477)
changes for 1.22
new version
just to distinguish the two branches
Build.PL should now be equivalent to Makefile.PL
can never be too strict
add some minimal docs
fix title
remove stray =back
DWheeler's fix
changes from branch
add test for DWheeler's fixed bug
only use basic html escape in error component
fix redirect inside scomp bug (task id #498)
remove accidental change
*** empty log message ***
remove test since we aren't going to be able to fix this
Declined exception doesn't have aborted_value field
spiffy new build/install/test stuff with Module::Build
fix doc buglet
just use bare return for callers & caller_args when there is no entry on the stack, otherwise
clarify comment
tweaks
only pop the buffer stack if we have good reason to believe that we should!
remove confusing comments
clarify comment
clear_buffer now always clears all buffers
doubt this will ever be used but ...
test & document turning off autohandlers
*** empty log message ***
I just saw this fail, and it was probably a timing problem, so I'm increasing the times to make this less likely to happen
switch to pass-through makefile.pl
remove this cruft since I'm not ever going to finish it for mp 1.x
sleep longer here too, but no need to extend expiration
make these tests more flexible in the face of varying versions of CGI.pm, some of which have slightly different output for headers
more fixes from branch
add some minimal docs
add Apache package declaration to stop Jon's errors
fix SYNOPSIS (dwheeler)
use LocationMatch, not FilesMatch
move all install/build code into Mason::Build
*** empty log message ***
respect --noprompts
only setup apache test for maintainers
simplify code slightly
require at least mod_perl 1.24 if user already has mod_perl installed
don't unconditionally require Apache::Request
add empty manifest so EU::Manifest shuts up!
need recent EU::Manifest for dist action
*** empty log message ***
require mod_perl 1.24 - it was released in May of 2000 so this seems pretty reasonable
*** empty log message ***
escape vars
use Test::Builder inside H::M::Tests
don't capture unnecessarily
need to convert custom pod tags before pod2man is done
require Pod::Html
add action to test POD files (which needs to be done after Params.pod is generated and custom tags are processed)
fix method name in error message
E::C 1.15 has a bug fix
implement clear_and_abort Request method
clarify redirect implementation
pass through work to CGI.pm methods whenever possible
new Params::Validate error messages
no undef warning
document that return foils cleanup block
plugin patch from Doug Treder
actually, plugins are only stored in the request object
no need to keep "plugins" key around
don't assume all plugins are objects. if there is no new() method just call plugin on a class
plugin class
no longer using Config
stop error when no plugins are specified
use File::Glob::bsd_glob, because Perl's built-in glob is broken on Windows
Mason passes all other parameters as hashes, not hash refs, so there's no reason to do so with plugins
test setting interp->out_method
default comp root is current working directory, not /
use Proc::ProcessTable to get process size
fix broken FakeApache methods and add tests for them
require Params::Validate 0.70 to make sure users aren't affected by nasty memory leaks
update with current bits
*** empty log message ***
add HTML error output test
we need to pass parent_request to new request objects so that if
add reference to devel docs on data caching
comment in last line of comp call causes syntax error
comment in last line of comp call causes syntax error
missing >
first stab at Handler base class
check for needed Apache::Filter version at runtime if filtering is on, rather than making it a prereq
lc ARGS
correct the flow of the space-time continuum
add mention of plugins param to new()
continue pleasing pod tester
add action to test POD coverage (whooh, we suck ;)
copy over new tests from stable branch
add support for todo tests.
add a todo test for <% #foo %>
add bugfix tests from stable
compiler bug fixes ported forward from stable
should subclass compilation exceptions
doc fix from branch
bug fix from stable for line numbering breakage with args, attr, & flags
new tests from stable
doc fixes from stable
remove space from test name
port of bug fix for comp calls with leading newline
remove confusing space before parens
uh, since when do we end sub names with an underscore?
remove one last use of sub name ending in underscore (grr)
add changes from 1.25 - 1.28 here
make header regexes case-insensitive to work with older CGI.pm
remove stray bit of doc
make sure custom pod conversion in blib always happens
make sure pod is only tested in blib
don't use SKIP block
don't pass dir to all_pod_files_ok()
add a title to make pod => html converter happy
make sure pod2html temp files don't end up in manifest
fix link
allow passing dir to convert_custom_pod
we need to make this a dev version # or people who do "install HTML::Mason" from the CPAN shell will get this release, which would be bad
add a date
more stuff to skip
remove mentions of Buffer class
update copyright dates. add license file. add John Williams to authors
change version number
remove reference to Buffer, add Plugin
remove empty manifest from cvs
change version # to be less than 1.30
oops, this was wrong in the uploaded tarball (no big deal for dev release)
auto-generate passthrough Makfile.PL
wording tweak
owner is not available in regular components
update mod_perl2 support for latest mod_perl RC
one more mod_perl 2 change
eek, weird amazon sub naming convention ;)
fix package name
the API didn't change constantly
move BEGIN block out of package since it's not specific to one package
clean up warnings from trying to load Apache::Filter
make post API change mod_perl 2.0 RCs work
MP2 1.99 is ok
mod_perl2.pm will load fine under mod_perl 1, we really need to check $ENV{MOD_PERL} to figure out what version of mod_perl is currently loaded
add a date
new version
missed a bug fix in Changes (oh well)
remove checks for Perl < 5.6.0
update README
encourage people to use modules for handler() subs, its cleaner and seems less magical than handler.pl stuff (I hope)
add a big warning about mixing wrappers & PerlSetVar config methods
rename the action to be less similar to M::B built-in "html" action
small doc tweaks to clarify that both mp 1 and 2 are supported out of the box
changes for 1.30
check for /usr/sbin/apache2
add use warnings to all modules and make sure the tests run warnings-clean
mention addition of "use warnings" in changes
clean up weird tabbing
clean up weird formatting
add missing type for plugins param
die if we have mp2 and CGI < 3.08, since it just won't work without that version or newer
improve prereq checks for mp1 & 2
woohoo, 1.30
move $VERSION here which will (I hope) make PAUSE indexer happier
formatting fixes and untabify (no tabs darnit!)
make this metohd actually work
minor formatting tweak to make code a little clearer
changes for 1.31
destroy all tabs. who put all these in here? could have been me years ago, actually.
redo de-tabbing without fscking existing indentation
redo de-tabbing without fscking existing indentation (hating CVS here)
ignore Plugin dir
a couple tests for cleanup blocks
remove naughty block around body which was there to turn off warnings
where the heck did this thing come from?
shut up warnings from this test (they used to be shut up by the no warnings added to comp bodies)
add a semi colon before the component's final return - this helps catch syntax errors in the component body
*** empty log message ***
we don't want the generated subs to be in the "no strict 'refs'" scope
modernize HTML in examples
add no_warnings option for tests to explicitly make sure a test runs & passes the output checks without any warnings
style cleanup
only output defined bits of text for output-generating code with enable_autoflush off
added expect_warnings, which works just like expect_error (more or less)
test that a substitution can output an undef value without warnings
fix regressions in CGIHandler and FakeApache. add tests from stable for CGIHandler. fix failing test due to changes in Request
update changelog
don't show warnings unless verbose flag is on
do show warnings when not verbose if warnings were not expected
remove debugging gunk
new version
a tweak to make really sure we don't confuse any modules/PAUSE looking for $.+VERSION
turn off assisted install for now, since it always prompts
*** empty log message ***
remove .cvsignore file
fix check for has custom out method to actually work
fix for CGIHandler
new tiny release to fix CGIHandler
look for .svn, not CVS
make sure to skip .svn dirs
oops, forgot my little header
use Test::More instead of Test
be consistent and use http_header_sent() here
make sure headers are sent for compilation errors under mp1
no more need for make_fh because filehandles-as-scalar is built in to 5.6.0+
specify version more normally
make sure that $retval is defined before checking if it is == 200
fix handling of utf8 in uri to match CGI.pm and URI::Escape
skip second test on Perl < 5.8.0
silence warning if mod_perl is not installed
add a bug fix Jon implemented a while back
add task id
treat return value from comp execution like a string. add an HTTP_OK constant instead of just using 200
there is no such parse option as 'arrayref', it's 'list' (which is kind of goofy) - fixed rt.cpan.org #15710
more fixes
mark compute_base_comp_for_frame as private and die if given a frame number < 0 (since that means we've tried to find a base comp all the way down the stack and could not find one)
if base_comp is called before we have a stack set up just throw an exception and give up
if we're going to optimize here might as well optimize as much as possible
privatize more methods
just return false if base_comp is called before we have a stack (which matches what all the other stack-info methods return when there is no stack)
document that request is incomplete when start_request_hook is called - RT #16015
*** empty log message ***
ignore any data files that might end up in t
move var definition to where it is used
simplify code execution by simply returning early from fetch_comp when not caching
remove mostly unused $interp in favor of $self->interp in several methods
make comment more accurate
refactor _initialize method to break out individual pieces into their own private methods, just for readability
remove ancient comment about expiring cached components via Apache::Status page
add release date
in bleadperl uninit warnings include the var name, so adjust regex for that (see RT 17118)
fix from Shane McCarron for test failure on win32
make sure we can load this module outside of mod_perl
don't have to trick ApacheHandler into being loadable, and if it ever fails I want to see it, because that's a bug
document fix for ApacheHandler not loading outside of mod_perl
302 should be Found, but was Moved in CGI.pm < 3.16
Change the example code to actually work - from John Siracusa
Note fixing of example code in Null resolver
Simplify code for determining what versions of mod_perl are installed
Fix task #596, flush does nothing when there's a filter present.
Add clarifying comment in print()
Tweak filter test so that it will catch the filter being run twice
Doh, no tests fail as long as they all have unique names.
When calling flush_buffer, we should flush $self->{request_buffer}
Fixes the last failing test by making the stack buffer unflushable
Note new tests in Changes.
Correct typo in example code.
There is no resolve() method in either H::M::Resolver or
Fix a small typo in the docs.
Add a change that I must've done from this machine, because this was
Add mention of RT 17118, fixed in 1.33
Add release date for 1.33
Doh, lost the "R" in "Revision"
Protect against weirdness with CPANPLUS and/or Module::Build in tests
Note fix for bogus live test failures.
Add get_server_port - patch from HDP.
Note get_server_port() change.
Add a test to ensure that the file resolver doesn't give access to
Add a component about the security of get_info.
A bunch of tests to make sure that Mason does not leak memory. The
Fix test plan
This fixes a major bug which prevents objects from being destroyed in
Added labels for each block of tests
Remove empty comment line.
Simplify test case. It has nothing to do with %ARGS.
Rename to match existing leak test file.
Make the extra block more obvious.
Ok, this looks like a Perl bug, but it's useful as a TODO test so we
Note memory leak fix.
Add a simple --dist flag to Build.PL. We should use this when we're
Fixed META.yml mis-declaration of prereqs.
Include Module::Build in build_requires.
Update changes with latest change.
New version for releaes.
Shut up warning when not running verbosely.
Use dist=1 to indicate we're building a tarball, so it's available
We need Module::Build 0.26 for the ->args method.
When load_pkg fails because it loads A, which cannot find B, make sure
Add note for most recent bug fix.
Remove unused var
I finally tracked down the new stack corruption bug I was seeing. It
This brings back the old stack-handling method of just using Perl's
With some versions of Perl (5.6.2 in my testing and 5.8.5 in a bug
remove whitespace and comment
This simple change fixes the stack corruption problem, though the
Remove separator since the support comp is only used in this one test.
A 1 second expiration may just be too little on some systems. It's
Add changes for 1.35.
Remove unused component.
Add a test for handling of request for dir when decline_dirs is false.
Add a date for 1.35.
Update to 1.35.
This bundle was way out of date with our actual prereqs.
Add HTML::Entities as a recommended module. Since it's not a prereq,
Passing undef to $r->content_type() seems to cause warnings undef
Record uninit warning fix in Changes.
Add named_component_subs to compiler, which compiles all components
Pass comp_path to compiler.
Distinguish between comp source and compiled component object.
Fix test description to describe success case, not failure.
Pass comp_path to compiler as needed.
Have to pass the comp_path to the ComponentSource constructor, not
Make named_component_subs work in the presence of <%shared>
Oops, this should be off by default. I had turned it on to run all the
Make HTML::Entities a required module. This simplifies our code and
Added new errors_are_exceptions Request parameter which can be used to
Add an additional test to make sure errors are not upgraded to
Improve named_component_subs docs.
Someone reported a test failure in this test. I _suspect_ that the
Remove bit about nesting <%perl> blocks. It implies that other blocks
Change errors_are_exceptions to component_error_handler, and make the
Return the return value of calling SUPER::exec. Debian bug #425937.
Note CGIHandler::Request->exec() fix.
Add reporter for latest bug fix.
Update changes to match current state of error handling in Request.
This fixes a problem in the handling of the comp with content stack in
Add date.
Fix a grammar mistake.
Add a missing period.
Use $r->notes() to track whether or not we've sent the headers in
Document header-related bug fixes I just checked in.
Make these tests more verbose about why they skip tests.
Ignore more generated files
Require 5.006 here since HTML::Mason itself does.
Make this version 1.37 and set the date for the release
The version for mp2 is in mod_perl2.pm not mod_perl.pm
Update Changes.
The nasty closure leaks have all been fixed in 5.10, apparently.
tests should not be executable
A huge refactoring of the incredibly nasty Apache live tests.
Use strict & warnings in our generated CGIHandler.cgi file.
Integrated the live tests for CGIHandler.pm into the new live test framework.
Rename ah subdir to live, since it contains CGIHandler tests as well.
Turn on recursive test files (though the live tests will only get run
Yet another header-sending fix.
Allow comp call with content end tag to include whitespace ala:
Changes for 1.38
Remove bits that set notes after sending header.
This change gets the live tests passing with Apache2, since under mp2
Change the expiration to 2 seconds. I noticed a bunch of failures for
Last change for 1.38
Add release date for 1.38
New version #
Some minor doc tweaks and reformatting
Slight reformatting
Update for release
Unfortunately, L<> links to outside modules cause us to generate links
Remove a few more L<> links that made lint unhappy
I cannot spell test, apparently.
Fix for setting >1 cookie under CGIHandler
fix/improve docs on compile() method to match reality
Clean up some pod formatting.
Prep for 1.40 release with Jesse's segfault fix, for the benefit of Debian (and everyone else ;)
Make symbolic ref syntax consistent
Add release date
Jon, please don't L<> to modules not in this dist, it makes linklint sad.
This check was somehow broken by the latest Exception::Class. This
Fix a link in Admin
Bump version
Add changes for release
Clarify which version of E::C I'm talking about
Fix speling of publicly
Require CHI 0.21+ for testing
Fix broken print method in FakeApache
Add release date
Bump version
Add dynamic_config flag
Failing test for components with spaces in path
escape filenames before putting them in a #line directive
Add bug fix for spaces in path issue
Hackaround attempting to "do" an object file in taint mode (seems to be an error with 5.10)
More flushing fixes.
Add release date
Bump version
Revert attempt to fix tainted @INC (sigh, I give up on taint mode)
update manifest.skip
Fix release date - formatting tweaks
Don't try Switch test on Perl 5.12.0+, since that may cause a "Switch is deprecated" warning.
Don't use defined on a hash, which is deprecated, and warns in 5.12.0
Add changes for 1.45
Bump version to 1.45
Add release date
No "used once" warnings when setting globals
jswartz (399):
eliminate risky 'my var = value if...' idiom
fixed syntax of open and seek calls
shortened mailing list info to refer to masonhq; updated my email address
this will be version 1.1
merge caller_args, top_args, fetch_next changes from mason-0-8-branch
updated copyright to 2000
merge various changes from mason-0-8-branch
fixed quote glitch
don't try to escape undefined perl expression
whoops
clarify url escaping
separated group->add_test and group->add_support blocks with dashed lines, to improve readability of test files
tests for top_comp, top_args, and calling call_next from helper component
various updates to README
document need to clear cache when changing parser (todo #163)
added subdirectory glob pattern to preload test
fix preload documentation (bug #203); add a few validation tests for preload values
minor formatting bug
minor wording change regarding default xpressions
took out erroneous qw
just to be a stickler, checking in original 0.896 version for 1.0 release, then reapplying change after 1.0
merge changes from 1.0 branch
merge change from 1.0 branch
merge changes from branch, putting eval around all comp calls
first stage of replacing old Mason caching mechanism with Cache::Cache interface
merging from 1.0 branch
remove debug file facility and documentation
standardized parenthesis
eliminated debug files
eliminate taint_check parser option by detecting when taint mode is on
removed mc_ command compatibility and docs (task #225)
remove old mentions of mc_ commands from docs
remove debugging mention
overhauled cache documentation for new Cache::Cache implementation
added function comments
deleted access_data cache; added data_cache_namespace
changed caching section to reflect Cache::Cache switch
replaced data_cache_dir with data_cache_defaults
minor fixes
remove infernal dos newline characters
formatting fixes
eliminate verbose_compile_error (merged from branch)
remove test directory, no longer needed with new test system
added .cvsignore files to ignore files created when make test is run
allow comp_root of '/' (bug #259)
add prereqs section
fix to Apache conf
update Eric Hammond email address (methinks this should be in a database or something)
take out misleading taint line
put back standalone script example
standardize new usage in docs
fix cache tests to match new syntax
remove DataCacheDir; fix disabling data caching section
remove source_ref_start (until rolsky brings it back again :)) and cache_file
removed data_cache_dir and cache_file; added data_cache_defaults example
automatically require cache subclass if not in INC
fix cache tests for new syntax
various fixes, additions to caching section
get rid of use_data_cache
removed cache file from test results
remove 'Guarantees (or lack thereof)' section, as this is no longer necessarily true with Cache::Cache
there is no more Config.pm, so remove from .cvsignore
add load_pkg routine; use HTML::Entities for |h flag (task #287)
switch to load_pkg for Time::HiRes usage
use load_pkg to confirm existence of Cache::Cache and cache subclass
test whether file can be opened, not whether $fh can be created (it always can)
Take email addresses out of CREDITS. It's an administrative cost and spam risk, and doesn't buy us much.
Remove some artifacts of debug files: debug_* parameters in valid_params, $debug_msg reference in error handling
No comments allowed at end of Apache conf line.
Turn on tracing for each exception class.
Remove deprecated output_mode
Take write_system_log calls out of ApacheHandler.pm. They belong in Interp.pm, if anywhere, but we may ditch system logs altogether and just use hooks.
Simplify ApacheHandler's automatic http header behavior. No longer
Further simplify automatic header code.
Change default die handler from Carp::confess to HTML::Mason::Exceptions::error
No need for error_backtrace and error_clean now that we are always passing back an exception object.
First set of functions on the road to making exceptions readable (so as to replace Error.pm)
capitalize error for consistency
put "at line" before line number in error msgs
It seems more correct to do HTML::Mason::Exception->Trace(1) than Exception::Class::Base->Trace(1) since Mason users might be using Exception::Class for their own uses, and they won't necessarily want tracing on.
Fix wrapper_index/path undef warning by shoving under the rug...the
eliminate use of run_once in example
When calling compile(), pass filename along as name if it is available.
Get rid of out_mode (going to be replaced with autoflush), and static_file_root (deemed unnecessary).
Get rid of out_mode (being replaced with autoflush) and file_root (deemed unnecessary)
Get rid of out_mode (will be replaced with autoflush)
* Only override SIG{__DIE__} once, at top of Request::exec. This provides consistent behavior that all errors out of Request::exec should be exceptions.
Take out stream/buffer mode (will be replaced with autoflush); make {buffer} always a reference to simplify code
Get rid of error_mode (moving to Request.pm)
Add HTML::Mason::Exception::TopLevelNotFound
Whoops, didn't mean to make an interpreter (doesn't work without comp_root/data_dir yet)
* Use top_level_not_found_error instead of error_code to signal a not found at top level (used by ApacheHandler); get rid of error_code
Simplify code to override *Apache::print - just do once around $request->exec. Seems to work for me. This will also let us clean up the _run_comp2 ugliness.
Tie STDOUT once, before the first comp call in exec().
Get rid of _run_comp, as no longer needed.
fix module name
whoops, didn't mean to remove that
Set default error_format based on error_mode. If 'fatal', use line format; if 'output', use html format.
Add fields to abort, compilation, and syntax error class definitions.
If we create a new exception from a Mason exception, just use the
Change _compilation_error to stuff filename into exception object
implement separate error_mode and error_format parameters
Ignore all stack frames within HTML::Mason::Exceptions
Seperate exec()'s error handling into separate routine, _handle_error,
Override _handle_error to always die when top level component is not found,
Add isa_mason_exception, which checks that exception class exists. Use instead of UNIVERSAL::isa.
Take out use_autohandlers, use_dhandlers, and allow_recursive_autohandlers parameters.
removed outdated Components.pod shell pod
Simplify AUTHORS sections; just put in Mason.pm, Admin.pod, Devel.pod, and Request.pm as these are the most often read.
Eliminate Error.pm; error formatting code is now in Exceptions.pm
standardize SEE ALSO sections somewhat
simplify full_message call a bit
and add undef protection
take out use_autohandlers test
Put in_cache_self flag back in top_stack, because more than one component may call cache_self in the stack.
Make print the official name of the output method, with out a synonym.
add MasonErrorFormat mention; update error_mode choices
fix pod buglet
Don't use HTML::Mason::Error anymore
out => print
Document error_mode and error_format
Get rid of a few unused variables
Don't create cache/locks subdir
Don't create preview subdir
If we create a new exception from a Mason exception, just use the *short* error message.
Get rid of handle_request_1, move contents into handle_request and request->exec
Answer Dave's question.
Clean up fixed_source usage a bit
add comments about comp_id
There's no need for a special case for caching virtual components. If a virtual component has a path, it should be using a memory resolver (which may or may not be implemented for this release).
get rid of warning
* Change Request object to have comp and args embedded in it. exec()
* Centralize not_found error serving in return_not_found().
Adjust for new Request exec interface.
add is_subrequest
Whoops, _cgi_args() now requires $cgi_object as argument
* Eliminate top_level_predicate from our lives.
get rid of MasonTopLevelPredicate
On a success code, send headers if they have not been sent and if we
adjust tests for new Request.pm API, loss of top_level_predicate
update .cvsignore files
Remove all traces of previewer. It will be back in a much more compact form, eventually, but probably not for 1.1.
Change loop into a block with a redo. A loop is unintuitive when it
Take sub apache_request_to_comp_path out of Resolver so that ApacheHandler can() check works
Make default error format 'text' instead of 'brief'
When resolver is created with no comp_root, use / as only root and allow relative paths to be used. This allows for the most intuitive standalone use. Implemented with new Resolver method default_root_path, which defaults to undef (meaning paths must be absolute).
change default_root_path to default_path_prefix, to avoid overuse of the word 'root'.
eliminate use-of-undef warning
Errors in _initialize are now stuffed in prepare_error(), and
remove system log documentation; document fixed_source mode
get rid of hooks and system logs; put a few methods in sort order
change / to rootdir on Dave's suggestion
change from default_path_prefix to rel2abs for more generality; rename use_default_path to allow_relative_path
fix typo
comment prepare_error mechanism in _initialize
move install helper scripts to install subdirectory
Rename top_comp and top_args to request_comp and request_args
Fix up documentation of component call modifiers; take out mention of base_comp
fix pod2html errors
ignore subdirectories
Take out some fluff from Mason.pm
Update index.html so it will work on site as well as standalone
Add in 1.04 and 1.03 changes, add date
Get rid of extra blank lines - if we want these we can put them in the convert-changes script that should be run with the install - but all releases should be consistently formatted.
no periods after L{} tags
a few indenting glitches
We create htdocs during makerel.pl
The link remover can't handle multiple links. So sue me. Anyway, we
add closing tr
ignore Params.pod
Greatly simplify handler.pl
Reorganization and rewrites in places
Put auto-chown in new() method so it works for handler.pl configuration as well
whoops
Standalone mode is now documented in Admin.pod
Take out relative-path resolving special case when Resolver is created without component root
Make comp_root read-only - changing comp_root in a resolver (and thus in an Interp) is not supported. Take out a few unnecessary lines of code.
update standalone script link
create_time => load_time
ignore_warnings_expr affects loading, not compiling
Use $self->abort(REDIRECT) instead of $r->status(REDIRECT), it seems the more standard way to do this.
add a bit more detail to redirect doc
Add a web-specific features section containing the existing "Sending HTTP Headers" as well as new "Returning HTTP Status" and "External Redirects" sections.
Add "use HTML::Mason;" to bring in $VERSION, the assumption being that
add warning about PerlFreshRestart
Can't cache auto_send_headers anymore, because it can be changed mid-request.
Fixed problem with internal Apache requests, involving the Apache::print override.
Compute and store $real_apache_print once at load time; remap
Change around recommended reading section
Document internal redirects
Explicitly prevent requests from being executed twice with a nice error msg
add test for internal redirect
Allow $m->aborted to take an optional $err argument, but still default to $@; improve documentation of $m->abort and $m->aborted given new implementation
Don't allow resolver to get created without comp_root, if it needs one
MasonOutmode --> MasonOutMode
Make m->decline clear buffer (task #335)
Add date to Changes
explain differences between Apache::Request and CGI
add </a> for all <a name=...> tags
get rid of out_method in base-bones standalone example
start_block => end_block
capitalize title
add note about system log being removed
add date
add details about caching, must add also to docs
add an example of replacing expire_if with get_object and get_created_at
formatting fix
capitalize a few section names at random, to make sure we allow <%INIT> and so on
don't run cache test if Cache::Cache not present
update globals section to take out bad advice about 'use vars' in autohandlers
add busy lock doc
Actually document the default key for cache_self, as it is needed for
be a little more accurate about cache_self args
=pod sections seem to mess up pod2html; change to standard comments
document exec method
need load_pkg
Fix $req->exec to use wantarray correcly (move wantarray() call outside of eval).
test that $req->exec returns scalar and list values correctl
check wantarray in return-value tests
do the right thing in non-return context (wantarray undefined)
select the originally selected handle, not STDOUT
change title
add test for exec in non-return context
a few formatting changes
convert =pod to regular comment section, since it was confusing pod2html and pod installer
add a NAME, otherwise pod installer gets mad
Allow expire_in for token backward compatibility with 1.0x
add create_time for backwards compatibility with 1.0x
add param documentation
add test for 1.0x cache compatibility layer
Update to reflect new backward compatibility efforts in 1.14; separate installation/setup from component syntax
Update with information about data caching: expire_if, busy_lock, and 1.0x compatibility layer
added to enhance Cache::BaseCache
add back current_time for backward compatibility (deprecated); add data_cache_api to list of contained request params
add pkg_loaded to export
add backward compatibility layer with 1.0 cache API and time method
provide yet more details about data caching in its own section
add test for both expire_in and expires_in; fix test for expire_if
add test for current_time and $m->time; fix expectation of cache module
add a few comments
object must be grabbed after expire_if is handled
add test that Mason cache packages get created
fix typo
update "declining image requests" and "sessions"
standardize on P<> for parameters
up version num
standardize some section titles, alphabetize some section items
Make data_cache_namespace work generally with comp_ids
update cache documentation; use custom P<> tag for parameter links
fix some pod links
fix up Cache::BaseCache documentation for end users
many little documentation changes to cleanup and make more consistent
a few more pod fixes
fix real filesystem check
all guides are now manuals :)
add Cache
missing colon
add MANIFEST
document deprecated methods
Add changes for 1.14
Add 1.14 people
wording change
Add note about |h escape change and the html_escaping parameter
add note about $m->call_self no longer existing
add example of private component directory
add tests for filters in subcomponents
Do cleanup before running test as well as after, in case test directory was left around
Fix a whole bunch of broken links (thanks linklint!)
add Component
Filters in subcomponent and methods were never broken in a released version.
Add date, close enough probably
I think changes should be ordered with most "important" items first, judgement call of course
Add flush_code_cache as a memory leak solution for users of 5.00503 or earlier
* Fix some broken links and pod tags
fix link
combine and clean up admin sections discussing image requests and security; make eg/httpd.conf more realistic
Use just LocationMatch rather than FilesMatch; as Ken points out, LocationMatch will work
fix LocationMatch buglet
ignore htpods
add example of using call_self to trap errors
mark cache_self change as incompatibility
Add a line about wantarray
add "manually applying escapes" note
should have been head3
Add missing documentation to index.html, reorganize. Generated dynamically from masonhq/comps/misc/doc_index.html.
Fix several doc buglets
fix doc buglet
You cannot create a subcomponent and method with the same name.
doc buglet
Rename $info to $source, since it is a ComponentSource object. I found the generic use of $info confusing.
You can now run just some of a test file with the '--tests-to-run' flag,
little fixes
Modify 'subrequest' test to use Perl's print after the subrequest finishes. This currently fails at least on my 5.6.1 system.
Change simple component example to use localtime correctly.
fix "HTML table formed from list of hashes" example
change $info to $source in assign_runtime_properties for clarity, since it is a ComponentSource object
add Jeremy Blain
Add use_source_line_numbers compiler parameter, on by default, which controls whether source #line directives are inserted into object files [task #461].
join is faster than foreach
* Fix bug #462, in which runtime properties are not assigned for methods.
Add line to test $comp->is_method
For performance, cache whether taint is on or off the first time the
This line isn't useful, as $code isn't referenced anywhere.
add a few 1.21 changes
Reverted back to Ken's version with an extra comment.
Make taint_is_on a constant subroutine.
* Add "I am not a method" lines to reflect change to Tests.pm:/shared/display_comp_obj
add optimization for ignore_warnings_expr => '.'
Eliminate unnecessary request and component argument copying in Interp and Request. This also changes the semantics of @_ in components to match that of Perl's, e.g. to contain aliases to the caller's arguments. [Task #464]
Get rid of double backslashes that interfere with html escaping [Bug #468]
Look for ClearModuleList directives as well
Take out the use of alarm() and SIG{ALRM} to trap rare infinite loops
started 1.22 changes
whoops, add a space
Change remaining 'new HTML::Mason::Foo' to 'HTML::Mason::Foo->new' in the docs, since the majority of developers in the group seem to prefer this.
Allow the user to subclass Tests.pm and run tests with that subclass,
The object file load loop in Interp:load (line 302) loops forever if
Add an in_named_block property to $self->{current_compile} containing
Define $self->{current_compile}->{in_named_block} locally in _compile_subcomponents_or_methods as well
fix grammar
Add --tests-to-skip parameter / MASON_TESTS_TO_SKIP environment
Forbid duplicate definition of subcomponents and methods [task #476]
Add $self->{main_compile}, always set to the first $self->{current_compile}.
Improve --tests-to-run and --tests-to-skip options: Accept wildcards
doc fix
fix a number of section references
change wording, add credits, add optimistic release date
add a bit about has_content
augment comment for has_content
generalize 18-interp_leak.t to 18-leak.t; add test for request leak
comment NoRefs(1)
add subexec relative path mention
Trigger a fatal error when the explicit inherit path for a component cannot be found.
Fix busy_lock - simply return the object's value rather than attempting to reset its expiration time. The latter would allow multiple busy_lock calls to indefinitely delay the object's expiration. [Task #484]
whoops, make busy_lock work with any duration string
document backslash-at-end-of-line change in 1.1x
add more docs about basic_html_escape
reword and reformat escaping docs; add cache->clear example
Have caller, callers and caller_args return undef if the specified stack level does not exist [task #495].
add tests for not found errors
Revert busy_lock behavior back to 1.22 state, which was basically correct, as opposed to the completely incorrect behavior that I checked in here. The only fixes from 1.22 are: (1) allow busy_lock to take any duration string, and (2) document the unavoidable fact that after the busy_lock time expires, only one new process at a time will attempt to recompute the value.
small clarification
make attr_exists return undef instead of 0 for false [task #508]
doc buglet
mention that $m->redirect requires Mason 1.1x
Filter out Exception::Class::__ANON__ and
fix caller doc buglet
Propagate errors from using tests_class class
Instead of adding a newline to every <& &> comp call, just change the preprocessing to retain existing newlines.
move backslash change to syntax category
update urls
mention accessor methods
add note about auto_send_headers(0)
eliminate component <-> subcomponent memory leak by weakening subcomponent owner slot (item #549)
Large number of changes, many of them based on work at Amazon.
oops, had commented out important line for testing
changed internal methods to have underscore at beginning instead of end; fixed apache_request_to_comp_path
old component path could be leaked inside anonymous component object - fixed and added a test
fix recently introduced bug in <& &> syntax wrt non-word characters past the first position; added tests
include whitespace in call itself, for more accurate line numbering
add more tests for printing lists, base_comp in subcomponent, and accidental 'next'ing out of component; add more docs about base_comp
change enable_autoflush default to 1, removing backward incompatibility
Convert plugins to create and pass context objects to hooks
use 5.006_000; is preferred form
show successful output when expected error does not occur
separate comp call syntax into separate test file; test that paths are canonicalized to the same component (currently failing) and that components cannot be called outside the comp root
Call absolute_comp_path on all paths to fetch_comp, as this canonicalizes even the absolute paths.
add more feedback from canonicalize test
Add ability for end_request plugin to change content; more plugin tests
Remove "optimization" of reassigning out_method after header sending; it doesn't help in the vast majority of non-autoflush cases
Merge rolsky's changes to value returning section
merge comp_exists doc change; fix no-content HTTP case (e.g. redirects)
cleanup config docs per Max Baker
change context->args to return a list reference or list depending on context
Fix ->decline from /dhandler entering infinite loop (task id #573)
Change object file path to include the compiler object_id and customizable extension (default .obj). Change compiler params to be read-only so as to compute the object_id only once. Current 06-compiler.t:compiler_id_change test fails because our object_id signature generation is lame; trying to figure out a replacement. Task ids 152 and 569.
replace existing object_id routine with Data::Dumper + Adler32 checksum, tests now pass
update Changes
Fixed comp_exists to work with any path accepted by comp or fetch_comp (task #572). Fixed fetch_comp to not throw errors for various bad paths.
add a _hook prefix to the name of each plugin hook method, to distinguish them from future user-accessible methods on plugin objects
skip autoflush_in_parent_not_subrequest for now - we're not sure of the appropriate behavior, and this needn't be a showstopper for releasing 1.3
more updates for 1.30
update changes and credits
If a request fails during initialization (e.g. the top-level component cannot be loaded), then return immediately if and when exec() is called. See http://masonhq.com/?WhyRequestPrepareErrors. This is probably not the final API, but it is good enough for 1.3 release and closest to the existing behavior.
Check static_source touch file before first component is loaded. Bug #576.
Clarify that current request == $m
clean up base_comp description a bit
add 'not in use' comment
cache parent in use_internal_component_caches mode
change fetch_comp(undef) to return undef instead of unblessed empty hash - task #578
Prefix Apache parameter names with 'Mason' (bug #575)
mention PerlModule Apache2::compat in Mason.pm and Admin.pod
don't override out_method if user has provided one
Recover more gracefully from an empty or corrupted object file. [task #579]
Only reset file type on directories. Task id #584.
Update changse
remove brackets from cache_self description
indicate that load dies with error on failure
revert to 'if defined' instead of grep when printing a list of items to the Mason output buffer; it is more efficient
kwilliams (318):
Fixed wantarray detection in comp1(). Closes to-do item #115.
Fixed warning about bareword 'y' interpreted as string.
Tiny simplification of code that senses component caller's wantarray()
Mason now requires File::Spec version 0.8 or higher, so I added that
Added a little codelet for displaying errors as file-chunks rather than line-chunks.
Was accidentally calling comp() instead of scomp() in test.
$m->out() and <% %> now accept and emit more than one argument, just
Eliminated several unneccesary eval("...") statements in
Eliminated more unneccesary eval("...") statements in
Added a bit of code that improves compatibility with Apache::Filter.
Apache::test now allows the user to skip testing with a live server if
Fixed a couple of bugs in File::Spec::canonpath, which we're
Fixed some incorrect/misleading comments.
In filtering example, regex will allow additional attributes between
Put all module names in single-quoted strings, since for some reason
Added 'Exception::Class' to list of module prerequisites in PREREQ_PM.
Fixed POD typo.
Uncompressed the formatting of the object_file() and cache_file() methods.
Add documentation for the 'interp' parameter to the new() method
Did some work on the cooperation with Apache::Status. First, it will
Added the ability to delete cached components via the Apache::Status
Added test for $interp->make_component() - doesn't pass yet because
Cleaned up code that handles default values in new(). It also wasn't
The make_component() and make_anonymous_component() docs were
As near as I can tell, $interp->make_component() didn't work at all.
Merged the make_component() and make_anonymous_component() methods.
Adjust for $interp->make_component() API changes.
Adjust docs to match current make_component() situation.
Tiny speedup to call_next() - don't create temporary array.
make_component() now dies with an exception object instead of a string.
The 'die_handler' heading got lost sometime, I added it back.
push_buffer_stack() needs to shift(@_) to get rid of $self before validating its params.
First step toward making Apache::Request optional again. Seems to
Will skip Apache::Request tests if Apache::Request not installed, or
Did lots of work on making the various classes more "pluggable".
Get rid of the old %fields hash, it's replaced by valid_params().
Converted Component and Lexer to use new valid_params() system.
More work on pluggability of classes.
Make the Interp's 'resolver' parameter overridable.
Broke the circular reference between the compiler and the lexer. The compiler
Created the create_subobjects() function in Utils.pm, and altered the
The interpreter now auto-creates the resolver and compiler.
Corrected some terminology in an error message.
Let the validate() function return the parameters for the compile() method.
The 'current_time' property of Interp has gone away. In its place,
A full stat() of the sourcefile isn't necessary unless it exists.
Moved responsibility for a component's object_file and cache_file from
Revamped the HTML::Mason::Container class - now classes set their
Fixed a few problems in creating the Config.pm file. Also, defined()
Fix exception-throwing typo
The lexer is required for the Compiler, not optional.
If a 'foo' parameter is passed instead of 'foo_class', then we
Some minor documentation revisions
Some minor code cleanup in the set_global() method
Use 'interp_params' instead of 'compiler_params'
Get rid of 'lexer_params' and 'compiler_params' - the interpreter will
Added an 'interp_class' parameter to the new() method. t/14-cgi.t is
Added a HTML::Mason::CGIHandler class and some tests for it.
Setting $r->header_out('Foo' => undef) or $r->content_type(undef) will
Docs correction: change make_anonymous_component() to make_component().
Added the handle_cgi() and interp() methods, and their docs.
Fix missing quotation mark from FilesMatch. Also make indenting look nice.
Committed a test which exhibits an infinite-loop bug involving % in a text section
Fixed a bug in which % in a text-section caused an infinite loop.
Improved the regex for matching a text section.
Squashed another infinite loop.
Errors of line numbers in <%init> blocks should now be correct,
Don't use typeglobs as filehandles under perl 5.6 or greater - undef
Convert all spaces to in code listing (context around red
Changed name of $compiler->set_allowed_globals() to
Fixed the 'postprocess_perl' directive - it was skipping many of the
Added a little stub documentation
We don't need Digest::MD5, since we don't need the checksum to change
Change 'allowed_globals' to 'allow_globals' (was a typo?)
Fixed POD typo
Found a bug in parsing of <%attr> sections: 0 can't be used as a
Fixed a bug in which 0 wasn't a valid <%attr> or <%flags> value (or key).
Fixed a bug that prevented headers from being set properly
Don't inherit from HTML::Mason::Request.
Added code that allows 'delayed' creation of contained objects. This
We shouldn't be deleting the '_class' from the '_delayed_$class' hash,
Let the Container class create the Interp object for us.
Avoid creating a temporary hash for arguments to the new() method.
Buffer & Request now use the Container class to validate parameters
Create compile-time abbreviations for exceptions
Use compile-time exception abbreviations
Some minor formatting cleanup
Tiny little speedup - don't create another SVHV just to look up an entry in it.
Use compile-time exception abbreviations
Use compile-time exception abbreviations
Use compile-time exception abbreviations
Use compile-time exception abbreviations
Changed the say the 'abbr' feature works, this way is less error-prone.
Added a dump_specs() method, mostly useful for the book, I think.
More conversion to new exception-handling abbreviations
Update the "docs".
Fix a couple formatting tags
Don't get your hopes up - just fix a module-loading issue.
Use the Container class for HTML::Mason::Request::ApacheHandler, which
Store all state about the current lex in $self->{current} instead of
add_hook() and remove_hook() now use validate() to validate their parameters.
Avoid needless copying of parameters from @_ to %args.
Use the compile-time abbreviations for exceptions.
Get the 14-cgi.t test working again. Also added a TODO test for a new feature of CGIHandler.
Moved 'data_cache_defaults' from Interp to Request, since that's where they're used.
Use HTML::Mason::MethodMaker for some common lookups.
Added the delayed_object_params() method. Previously, all the
Fixed the $m->cgi_object method in CGIHandler.
Oops, forgot to take out a debug statement
Add a stub to catch people who are trying to use the Parser module with Mason > 1.1
Add a function that will catch people trying to do
Fix regex for checking the 'error_mode' parameter
Remove superfluous line of code
Make sure we're opening a file for reading, so someone malicious
Allow for a comp_root in a few different forms
The object files are now created using the exact name of the component
Simplify an expression in setting component args
Reorganized the resolver methods. Allows for more transparent interaction with the Interpreter.
Use the redesigned resolver API
Use the info returned by the resolver, don't try to reconstruct it.
Back out part of the previous change, sort of: comp_root() will act as
Restore to previous state - but these two tests (multiconf1 &
Fix the new comp_root() accessor method
The 'make_component' test with a path should work now (or will as soon as I check in its changes).
Added the 'is_virtual' test parameter and its docs. Implemented by a
Changed 'virtual_comp' to 'is_virtual'.
Some very minor code cleanup
Make the 'comp_root' parameter optional. This allows for easier use
Allow 'virtual' components - components created by make_component()
Added a stack_entry() method for accessing entries in the component
Be a little safer about calling Apache->request() method
Add descriptions for valid parameters. This allows for some
Return the output as a string rather than printing it.
Add descriptions for valid_params
Add descriptions for valid_params
Be a bit more flexible in the dump_specs output (perhaps too flexible?)
Add descriptions to valid_params.
Give a default description when none is provided
Provide descriptions for valid_params
Error message has changed, don't be so specific about it.
Be less specific in error messages, we just want to make sure the
Use named parameters for output options
Get rid of all the text output formatting code for dump_specs(). The
Provide 'parse' types for a couple parameters, which helps auto-generate the docs.
return() is smart enough to return the right thing in context.
Simplify the code for finding comps upwards
Fix name of "expires_in" parameter
Be a little more subclassable about making child buffers
Dave, don't you run 'make test' anymore? ;-)
Simplify the error callback
This new test currently fails, but should succeed.
Update & reorganize
Minor code formatting change
Initial support for building via Module::Build
Downgrade $Module::Build::VERSION to 0.05_01, I'm not ready to release 0.06 yet.
The only thing missing from Build.PL now is the proper 'Build clean'
We shouldn't have t/error_log in MANIFEST
Simplify the creation of the returned hashref value for request_args()
Use the full Container idiom in case someone wants to subclass
Created a new() method in HTML::Mason::Container. Its derived classes
Updated summary of usage
The time() method is gone from the request object
Clarify the docs
Clarify docs for ->compiler().
Change $r->headers_out->add(...) to $r->header_out(...) for broad compatibility
The old version of this didn't work when running under the root user
change run_script() to run_perl_script()
Make this a HTML::Mason::Container subclass.
Edit some parameter descriptions
Fix typo in comment
Correct typo
None of the parameters should be public, I think.
Nearly gave me a heart attack - we still support relative paths in
Added a couple of tests that exhibit a couple of bugs I've found. Not
Make the list of properties (inherited by subrequests) a method, so
Don't hard-code the names of blocks, make it a method.
Get the list of "properties" dynamically. This is used when creating
Params::Validate version didn't match in two parts of Makefile.PL
Move the request args processing to its own method (request_args()).
skip CVS directories properly
Ugh, this wasn't as self-contained as I thought it was. Well, it
error_mode and error_format docs were backwards
add a test for syntax errors in make_component()
Add some cautions and elaborations to the documentation. Recommend
Be safer about removing files in $APACHE{apache_dir}
In glob_path() the component root could contain regex metacharacters
Generate error message using an anonymous component, which helps us
Small doc addition
Use a better hack for letting ApacheHandler run offline
Slight simplification of an error string
A new command-line tool for executing Mason components
Add a resolve_backwards() method for mapping from files to component paths
Instead of creating our own resolver, use the new resolve_backwards()
wantarray() is documented to return true, false, and undef, not necessarily 1, 0, and undef (though in implementation it does).
Don't multiply-define prerequisite information
Fix what looks like a typo in exception handling
Avoid unnecessary string copying in a couple of places: the text()
Several changes to avoid needless copying of component text. Mostly
Avoid a couple of unnecessary data copies in compiled_component().
To reduce string copying and memory usage, _constructor() doesn't
"use_strict" now affects the object files, not the way those object
Add a comment about why we're doing a list subscript here
If a suitable httpd.conf file can't be found, don't die(). Just
Put the MASON COMPILER ID at the beginning of the object file, so we
Test out the Compiler->assert_creatorship() method.
write_object_file() now takes a string reference for 'object_code'.
This is just a little script that makes it easier to test a single
load() doesn't need to read the content of an object file into memory
Fix a doc typo
Fix a doc typo.
Make sure comments parse correctly in substitution tags
tests $m->caller() in subcomponent (I thought I'd found a bug, but I hadn't).
Test calling $m->call_next from within a subcomponent. This used to
Demonstrate several scoping bugs related to <%shared> and <%init>
The $m->caller() method had somehow escaped documentation.
$m->caller() documented.
Fixed a small documentation error about what kinds of things are valid
Don't load HTML::Mason::* modules here, because in Makefile.PL we
Can't use error() routines here, just use die()
Clear up some grey areas in the <%shared> docs.
Fix a doc typo
Add tests for one-level-deep ServerRoot
Make it expect to succeed with single_level_serverroot
Only die if data_dir isn't explicitly set and the default would be
Use a better regex for finding flag names
Placeholder for something that would be nice to have
Add a large component, and memory usage numbers
Add a TODO suggestion for faster output
Two changes for better memory usage in buffers.
Add a 'clear_cache' CLI argument
Add an explanatory comment about backward compat
Add a compile_to_file() method, which is the write_object_file() that
Use the Compiler->compile_to_file() method instead of
Use Test.pm for better verbosity upon failure
Add the rest of the options to the usage statement.
Implement --cvs_tag option
large.mas is too big to check in, and it's auto-generated
Fix the test that makes sure we can write tainted component data to
Fix the default comp_class. This must have meant that nothing was
If $err is true, we can call its ->can() method from UNIVERSAL, we
Don't use HTML::Mason::Tests, that confuses the references and clouds
Don't clean up when debugging
Explain why tests are being skipped
Add rethrow_exception(), which rethrows correctly when its argument is
lex() can now accept either a SCALAR or a SCALARREF.
Added the utility function read_file_ref(), which takes care to never
The source_callback routine can now return either a reference to the
Show the CVS output
Use read_file_ref() instead of read_file() as the source_callback
Use a compile-time constant for the infinite loop alarm() hack
Make sure we're loading the right version of Mason from CVS
compile() now passes through all arguments it receives to its
compile() can now accept either a SCALAR or SCALARREF for comp_source.
Don't use object files in compiler subclass test
Use Test.pm for reporting results
Remove a couple things unnecessary under Test.pm
Use Test.pm
ok() isn't used anymore
Allow 'expect' parameter to be a qr{} regex
A couple of tests for setting error_format
Simplify the handling of PERL_BUG_INFINITE_LOOP so that _do_or_eval()
Check line numbers of error messages after escaped newlines
Use 'tr/\n//' instead of 'tr/\n/\n/' to count lines, because it
Fix typo in comment.
Check whether the request_method is HEAD only once, not every time we print.
This change was suggested by several people
HTML-escape the raw error message
Added the 'check_error_format_brief' test to make sure the 'brief'
Don't set a default request_class or resolver_class if the user
The 'my $foo = bar() if baz()' construction is never a good idea.
Don't create $SIG{__DIE__} anonymous wrappers around
perl 5.6.0 doesn't like "foo \n => $bar"
Add an $m->notes() method
Explain notes() method
add docs for comp_root_array
The data members of $self and $self->{current_comp} were being badly
Tests for the compiler, but doesn't use HTML::Mason::Test
*** empty log message ***
Change 'current_comp' member to 'current_compile'
*** empty log message ***
Only certain kinds of syntax errors
Get rid of BUS error under 5.6, 5.005 in define_args_hash_never test
Fix a problem in specifying resolver/interp subclasses
Move responsibility for checking comp_root parameter to the class that requires it
Easier and more portable way to test for taintedness (invented by Chris Nandor?)
Don't mask the taint problem, it needs to be tested properly
Apache won't start with a tainted ENV{PATH}, so set it
Cooperate with M::B and use strict
Sanitize more of %ENV
make_subrequest() and subexec() can now take relative component paths
Subrequests can be created with component objects
Ignore some Module::Build generated stuff
Added a test to make sure $@ retains its value in subcomp calls
Remove unused variable
Tiny simplification of wantarray conditional code
Request->new() can now throw exceptions if the request is unexecutable
New notes() feature needs Module::Build 0.19_05
Use latest API of Module::Build notes() feature
Simplify code for isa_mason_exception()
More complete $r support from David Wheeler
Deal with exceptions properly when request is created
*** empty log message ***
Remove superfluous eval{}s
Tests out the HTML::Mason::FakeApache class
Make sure setting dhandler_name to '' works
Create a use_dhandlers() read-only method to short-circuit dhandler-finding process when no dhandlers are being used
Make sure '0' can be used as a dhandler name, in case people are crazy
More fleshing out of FakeApache from David Wheeler
Don't make unsupported methods no-ops, just omit them
Move the FakeApache stuff out of CGI.pm to its own module file
Get a little more performance and/or correctness from send_fd()
The use_autohandlers() method probably belongs in Interp, not Component
Add docs for make_request()
Add simple docs for purge_code_cache() method
Set the cperl-style automatically, hope this doesn't get too annoying
Requests may not correspond to a file
Just set some style variables, don't force cperl-mode or an elisp-eval
Simplify call to rscan_dir().
modus (33):
Added session support (commented out) in handler.pl
Initialize system_log_events with '' instead of {} to prevent
Added the faq to the distribution and added a faq/Makefile.PL to create
*** empty log message ***
Inserted a dummy test section in the faq Makefile and stopped the faq
Added Config.pm to the list of files that get nuked when we do a make clean.
Made HTML::Mason 8-bit safe by removing the control character parsing
Removed File::Recurse from ApacheHandler.pm -- may require branching the
Changed the bundle to install Data::Dumper before MLDBM, since ::Dumper
Parser.pm updates in anticipation of the <%perl_off> section.
<%perl_off> section added.
Updated makeconfig.pl to prefer GDBM_File, to avoid a bug in Berkeley DB 1.x
Added matching @perltexts push in the perl_off section, per jon's request.
Corrected a nit in the faq's desciption of anonymous subroutines.
Added test suite
*** empty log message ***
final test suite commit
Tweaked the Makefile.PL so that a make clean doesn't screw up CVS and
Removed some older files
Added some more tests.
reindented some of Gerald's code.
Even more tests! Gosh is this fun.
New testing infrastructure that doesn't rely on the Test module.
Corrected a small problem in the Devel.pod.
Bulk of the FAQ updates
Added some description to handler.pl and added session_handler.pl
A few more addition and a pre-0.8 spellcheck.
permissions update
perm tweaks
perm tweaks
perm tweaks
updated the redirect question in the FAQ to reflect Beckman's redirect
Documentation buglet. The CGI or Apache::Request objects _are_ available
sharkey (2):
Using $m->call_next from a helper component should reset base_comp to the request_comp.
Fixed a bug where $m->clear_buffer inside a component called from a comp_with_content did not clear all buffers.
sharkey3 (52):
Set base_comp whenever any component is called,
'use base' does not automatically 'require' in perl 5.00503
Main documentation for Components that filter content.
document $m->content
call_self is gone; nothing worth saving in that section.
Remove development notes which I never meant to include anyway.
Make flush followed by clear work inside scomp.
fixes test 23 in 07-interp (system_log) when Time::HiRes is not installed.
fix pod2man warning
This is the essentially the patch formerly posted at <http://marc.theaimsgroup.com/?l=mason&m=103046929709575&w=2>
document the bugfix
Add $m->has_content to check for content without side effects.
bug test and bug fix.
Apache2 updates.
Apache2 updates.
Apache2 updates.
Apache2 tweaks (mainly $r->headers_out instead of $r->header_out).
documentation note
Fix filter flushing anomaly: if the filter does not output anything,
doc fix: <%filter> does not block flushing.
Use CGI.pm for tests when Apache::Request is not installed.
Additional Apache modules needed on some systems.
Workarounds for changing Apache APIs
mispelling
big friendly error when data_dir cannot be created
set data_dir permissions when run as root so live tests will work
Don't change the version in ApacheHandler.
Allow optional comp name in comp-with-content ending tag </& foo >
Eliminate annoying "uninitialized value in concatenation" warnings.
TODO test:
Could it be? Yes, it's another mod_perl2 API change.
fix tests:
De-obfuscate ApacheHandler creation, because it's no fun to debug.
Merge HTML::Mason::Resolver::File::ApacheHandler into HTML::Mason::Resolver::File.
Moved Apache configuration into t/conf and the logs into t/logs.
Merge wheeler change from 1.2 branch.
merge from 1.2: tone down "experimental" warning.
mod_perl2 renaming: need to check for mod_perl and mod_perl2 modules
mod_perl2 renaming changes
mod_perl2 renaming: need to check both mod_perl2::VERSION and mod_perl::VERSION
mod_perl2 renaming: check both $mod_perl2::VERSION and $mod_perl::VERSION
check $mod_perl2::VERSION
tested with libapreq2-2.05-dev
Wow, I remembered to do a changelog this time.
Be more specific about which 1.99 versions are ok
backout a change which is causing regressions
typo
Convert 200 status to OK to make mod_perl-2 happy.
make $ENV{MOD_PERL} check work when mod_perl-1 is not installed
Make Mason work with Apache2::Status from mod_perl-2
late with my changelog, as usual :(
make MasonArgsMethod default to 'CGI' under mod_perl-2
swartz (365):
Initial revision
imported various updates from CMP:
Updated copyright
Revamped arguments and parameter passing
Fixed "return if content_type..." line
encoded tags to fix for Internet Explorer
organized into sections
mention Win32 case mismatch problem
make filename processing compatible with Windows
fix infinite loop problem in dhandler code for certain BSD versions
handle backslashes correctly
replaced File::Recurse with File::Find
implemented and documented 'expire' and 'keys' cache actions
no longer requires File::Tools
fixed up parameter passing, in-line sections
Removed HTML files which are simply generated from POD files
Removing irrelevant pod files
added DefaultType directive to standard setup
brought FakeApache and debug file creation up to date with mod_perl 1.16
minor fix
minor changes
fix syntax errors
don't use ApacheHandler unless we are in mod_perl or debug file environment
fixed up system log internals
Preview.pm no longer included automatically in mason.pm
ApacheHandler prints to standard output instead of using \$r->print
Added many more warnings about inferior DBM formats (e.g. SDBM); implemented new Mason configuration file (Config.pm)
Implemented workaround for Perl 5.005 \$r scoping bug
Integrated Philip Gwyn's patch for new Parser parameters in_package, preprocess, and postprocess.
updated documentation about reload files; added documentation about Parser parse method
removed memory leak associated with 'return sub {...}'
Added changes for 0.5
Took out File::Tools
added
added content management blurb to README
added session example
nada
added paragraph about Apache::Session to Admin
ok
more
updated version to 0.5
removed, generated dynamically
fix
fixed warning
eliminated warnings
turn off pure text and source reference optimizations when preprocess or postprocess defined
incorporated Philip Gwyn patch for status improvements
added
match to handler.pl
little stuff
minor doc fixups
Took out previewer stub from Mason.pm; fixed pod errors in Commands.pod
updated changes, credits files for 0.5.1
cleaned up interp hooks facility
use mod_perl in FakeApache
Fixed FakeApache to handle Apache::Table parameters (headers, etc.) if Apache::Table is available; added pkg_installed function to Tools
Added HEAD optimization
Static file root, if not specified, now defaults to current component directory
implemented shorter section names (<%init>, etc.)
added Config.pm to ignore list
Documented changes to parser (short section names, <%once>, <%text>, <& &>)
added
fixed bug in <& &> parsing
more docs; upgraded cd-me to new syntax
added
added warning for calling commands outside of Interp::exec
reorganized docs
added filtering and related docs
fixed <& &> detection of literal component paths
took out head_optimization flag
correction
Changes file can now include L<> tags to be processed on masonhq; is preprocessed to add indentation
Implemented autohandlers; cleaned up exec_next a bit, removed allow_handlers code
documented autohandlers
fixed expire bug
implemented repeat detector in previewer
various
more interface improvements
implemented recursive autohandlers
added note re DB 1.x
documented, updated Parser::make
repairs to convert prog
Changes changes
added
previewer interface improvements
minor
make comp_root,data_dir absolute
testing now uses abs paths for comp_root,data_dir
fix
fix
fix
fixed
removed
added
test, docs fixups
little changes
Added warning about occasional erroneous <& &> replacements; fixed <% "foo/$bar/baz" %> path conversion
fixed mc_suppress_http_header with 0 arg
up to date with 0.6.1
New object-oriented component/request implementation, many changes
version no. update
little fixes
little fixes
little fixes
fixed Parser::make_dir
fixed uppercase <%PERL>
Many more changes filling in new object structure
more updates to object structure; parser method reorganization
took out debug output, oops
more fixes to objects
Added def test; made cache tests work; added separate test components list
added separate test components list
more object fixes
added dhandler, autohandler tests
Added Request.pod and Component.pod; moved developer's manual to Devel.pod; many other doc changes
allow comments in %args
documented arg comments
updtaed Changes file
added more tests, made necessary fixes to libs
fix
removed cache store warning
automatically upgrade pre-0.7 object files
fixed suppress header
Fixed some argument parsing bugs
little speedups
warn about mod_mime_magic
added commands tests
added shared locks to cache
changed Changes
changed Changes
fix
fixes
changed evals to use braces
version
Updated API in a variety of ways
changed chanegs
removed docs to args and autohandler_next, whose current API might interfere with non-hash argument passing later on
fixed top_level_predicate reversal
fixed unsuppress_hook
fixed longstanding %-line parsing bug
added names to credits, updated changes for 0.7.1, changed version number
fixed changes
fixed Changes
added mini-todo; tiny ApacheHandler fix
fixed stupid restriction bug in action=keys
fixed cache keys action again
remove unnecessary terminating slashes from root & data directories; check that these dirs are absolute; added ~/ to absolute prefixes
took out pure-text zero-size component reference
fixed not-found-POST-infinite-loop bug; fixed various methods in FakeApache
replace */* with default-handler in docs
no pure text for subcomps
version
source ref text no longer read in binary mode, to make work on win platform
whoops
quoted all hash strings in object files
whoops
check current_time args
mc_auto_continue --> mc_auto_next
Devel.pod fixes
changes/credits
updated copyrights
put in Brian's reload file fixes
allow single / directory for interp directories
made status return explicit at end of handler
added untie %session
fixed unsuppress_hook bug; put eval back for each comp call to fix die/eval component bug
updated version, readme, changes
little syntax fix
little syntax fix
mc_cache_self now caches return values
fixed buglet in mc_cache_self
added test.pl
started implementation of multi-request stack
more multiple-request stack changes
added subrequest tests; updated error-generating tests to handle error specifically
errors now checked by components themselves; real errors cause test failure
lots of changes updating to m request protocol
added resolver.pm
documented data_cache_dir
finished initial implementation of integrated request API that passes current test suite
Reorganized tests into multiple scripts and directories
added parser tests
removed tests from main dir
buglet
more new tests
more tests
caller_args, decline
finished decline method w/tests
decline method working with ApacheHandler
not much
changes for 0.8
new http header behavior and tests
change multidirectory filenames from :: to +2f to accomodate windows
change Components.pod references to Devel.pod
finished converting Admin
documented more new 0.8 features such as mult comp roots
variety of changes
added scomp, docs and test
changed autohandler request methods; added data_dumper_xs config item
doc updates
various changes
started changes to Changes
updated Changes, CREDITS
lots of doc updates; capitalize source root in obj and cache file path
fixed ah test
implemented intelligent code cache; removed source refs and pure text optimization
updated changes, Admin session section, code cache tests, Previewer.pm
make tests mod_perl independent
fixed mod_perl test
test fixes for win32
little changes
faq changes and other little stuff
separated cache tset
little doc changes
faq changes
little changes
fixed warnings in 08-ah
little
wittle change
fixed headers not being sent on blank content
fixed default system log problem
another 20 years for cookie_manip
0.81 switch
imported avantgo updates: added inheritance and cascading autohandlers, added minimal flags section, fixed source_file bug, added comp:subcomp syntax
use -d r->finfo in ApacheHandler.pm; added new multi-site scheme to Admin.pod
another header fix - don't send headers on error codes
add swish =item hooks to Request.pod
various fixes from avantgo
minor fix
check type of reference, might be a file reference
implemented new inheritance scheme except for Parser changes: methods, attributes, m->called_comp, comp->parent, cascading autohandlers
added comp:method syntax for m->comp; added SELF and PARENT special paths; fixed called_comp on top level request; dhandler_arg fix for requesting dhandler directory itself
Autarch's reorganized Parser, including method, flags and attr tags
added sections for declining requests for binary files and allowing requests for directories
updated max_recurse default to 32
fixes
added note about handling directory requests
added inheritance tests; updated max_recurse test for new 32 recurse limit; fixed system_log test to allow for ms times
udpated version
removed useless o flag
check if err is non-null rather than defined
added keys test
allow keys, expire action from m->cache interface
shuffled image/directory requests section; added decline_dirs
made amper_test test independent of hash key ordering
removed dependency on CGI::use_named_parameter
new oo tests
new oo features documentation
minor fixes, reorg by Autarch
added escape flags (both default and explicit) with tests
added securing top level components section
continued improvements to oo section
restrict invalid flags and embedded def/method sections
moved _escape definition to header; removed useless @g assignment
little bug
eliminated 'status subroutine redefined' warning
changed parent_comp to owner; documented parent
added call_dynamic method (for shared section)
implemented shared section and (associated) dynamic subroutine invocation
integrated Autarch's Apache::Request params handling option, got it working with debug files
make flags and attr section a bit more robust; fix flag validity check
work with new debug file args_hash
had to simplify test for now
fix parent_comp references
documented apache::request args handling
added dynamic attr behavior; little error msg fixes
documented shared section, how-to-use-this-manual section
made m->file work when multiple component roots
improved inheritance tests; added test for shared section
changed called_comp to base_comp; took out remnants of dynamic attributes and auto-call_next
added
mentioned clear_buffer
mentioned CGI/req objects not available
reorg, fixes
allow_recursive_autohandlers => 1 by default
documented clear_buffer and base_comp; fixed docs for call_next and fetch_next
added -f flag to rm
reverse allow_recursive_autohandlers polarity
integrated and documented 0.81 dhandler removal from ApacheHandler
changed to version 0.85
Reverse Dave's decision and allow multiple sections. e.g. Multiple inits can be useful for readability, in preview component we put one init on top for user settings and another on bottom for hidden complex stuff
added for 0.82
assign defaults to use params in case ApacheHandler is only require'd (as in Mason.pm!)
little fixes
fixed link
integrated full set of 0.81 changes from that release tag
minor
cosmetic
added test for multiple instances of syntactic sections (e.g. init)
ApacheHandler always gets used, even when brought in by Mason.pm; signal error if import not called
what is test.pl doing here??
took out errant eval-if-code code
upped version
added mixed case and multiple sections to perl test
trick Apache into not reading POST content in case of 404
eliminate unnecessary lc and index; fix infinite loop bug with multiple perl sections
use File::Path
added scall_method and test
Documented attr, methods, and flags in Component.pod
Eliminate reliance on hash ordering in tests
formatting etc fixes to docs
Assign Apache::Request object to \$r when ARGS_METHOD = _mod_perl_args
create separate data dirs for each test branch, and clear data dir at start of test
Remove http_input from docs; deprecated
removed deprecated http_input; fixed args processing loop to allow multiple non-array (e.g. file upload) refs
Give better error msg for <%def> or <%method> without name arg
combined non embedded tags in one place, improved error msg for using non embedded tag in def or method
documented \$r upgrade to Apache::Request
ignore subdirs
new changes
fixed boneheaded parenthesis error
upped version
updated
changed version number to 0.87
allow arbitrary whitespace after expr escape flags
upped version number
fix call_method and scall_method to take list of args instead of hash
test arg passing for methods
test newline after escape flags
edited cgi_object documentation wording a bit
added items
added taint checking warning
reduced indentation level on MethodMaker invocations
Only create object_create_marker_file once, and push onto files written so permissions are set correctly. Bug #593.
test
test again, please ignore
testing checkin
roll back test change
Ken no longer active on Mason
add closing </li> tags
support using CHI for $m->cache
up version to 1.39
default CHI to File or Memory same as Cache::Cache
pod tweaks
add test for data_cache_defaults
doc fixes
add require_bad_module_in_once test
add both use and require tests
fix for RT #39803
fix to work with latest version of CHI - expire_if and ref of cache changed
fix to work with latest version of CHI - expire_if and ref of cache changed
fix spelling mistakes - RT 45543 and 45573
make HTML::Entities a real requirement
depend on Log::Any 0.07
add Test:Deep
require Log::Any 0.08 for testing
1.44
added
add logging
add logger
accidental commit - rollback
add logging of major events
add Cache::Cache back
encourage CHI a little more
up version
make links like other existing ones so linklint doesn't complain
add .svnignore
add .svnignore
skip notes
1.44
remove time - long deprecated
mention Mason 2
up version to 1.46
tweak
tweak
Ævar Arnfjörð Bjarmason (3):
Don't turn on global warnings via shebang parsing in tests
Implement a use_warnings flag for the Mason compiler
HTML::Mason::Params: Correct lies about complier_class default
-----------------------------------------------------------------------
No new revisions were added by this update.
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libhtml-mason-perl.git
More information about the Pkg-perl-cvs-commits
mailing list