Since the fact that the Completion plugin *disables* an already on feature, added a note to that effect. The current behavior is: no Completion plugin loaded then you'll get the Term::ReadLine default of filename expansion (unless disabled at the Term::ReadLine level), and with Completion plugin loaded any fallback Term::ReadLine expansion will not happen. To use Term::ReadLine completion again, just set the do_readline_filename_completion attribute to 1.
The default for the Completion plugin is now to specifically disable the standard Term::ReadLine::Gnu and Term::ReadLine::Perl filename expansion when it is loaded. A new attribute do_readline_filename_completion is available to re-enable the Term::ReadLine functionality.
This now works with *both* Term::ReadLine::Gnu (pretty much a no-op since TR::Gnu does the expansion itself before the History plugin sees the input pattern) and Term::ReadLine::Perl. At this point, I believe that History and ReadLineHistory are fully operational and hope for an official release soon.
Note that README is just the output of 'perldoc -t Devel::REPL' so I that POD was updated to be consistent with the information in README and then README was generated with perldoc. If there is no other information in README, maybe it should be generated by the distribution process.
This fixes RT bug #58351 where using the Completion plugin resulted in losing the default fallback filename completion of Term::ReadLine::Gnu and Term::ReadLine::Perl. There still may be times one would like to include filename completion matches along with other completions but that is more about fine tuning completion control.
This description of what the Turtle plugin is looking for and the default_command_prefix character value of '#' now makes it clear that other uses of '#' may conflict with this plugin. This is relevant to PDL shell development which uses '#' as the shell escape character which conflicts with Turtle usages.
The problem was actually the FindVariable plugin implementation of find_variable. Class::MOP::Package::has_package_symbol method was being called with a name without a sigil which is an error in usage. This skips the call if no sigil is present.
This addresses rt.cpan.org bug #48459 where a user complained that history expansion caused problems with using ! in strings. This is the expected behavior. The documentation covers how to quote the ! so that history expansion with not take place as well as how to disable it entirely.
To indicate changes in the Devel::REPL module (from the work to integrate support for Term::ReadLine::Perl) the VERSION has been incremented. I'm using CPAN developers release numbers since I don't know the process for versioning used by the Devel::REPL team.