Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Changes since 0.03:
0.14 Fri Jun 03 2011
- The filename memory is now a part of the object (not a package variable
any more). This was a bug.
- Since <fork> is not performed on Windows OS as on Linux, I removed the
<eval> and <warn> from 0.13 and add an INFO to the documentation.
- Updated the documentation.
0.13 Wed Jun 01 2011
- Add ability to define the user identifier for the daemon if you want to
run it under other user then the parent (request from Holger Gläss).
- Add <eval> and <warn> for OS not supporting POSIX::setsid (e.g. Windows).
- Updated the documentation.
0.12 Tue Mai 24 2011
- Init() did not close all filehandles reliably in some cases. Thanks again
to Rob Brown for reporting.
- Text improvement in the documentation.
0.11 Mon Mai 23 2011
- Init() didn't close all filehandles reliably (see also bug report at
http://rt.perl.org/rt3/Ticket/Display.html?id=72526). Thanks to Rob Brown
for reporting and offering a patch.
- Attributes 'dont_close_fh' AND 'dont_close_fd' added so we can define
file handles and descriptors that must be preserved from the parent into
the child (daemon).
- Updated the documentation.
- In some environment it is not allowed to open anonymous files. In this
case now a 'pid_file' must be defined. Thanks to Holger Gläss for
reporting.
0.10 Fri Apr 01 2011
- Improvement how Init() determines whether it was passed a blessed object
0.09 Tue Mar 15 2011
- Fix for a possibly not reseted numbered match variable ($1).
- Typo fix and text improvement in the documentation.
0.08 Sun Mar 13 2011
- The <open> Mode of the daemon file handles STDIN, STDOUT, STDERR can be
specified now. The default Mode values are the same as before.
- Updated the documentation.
0.07 Thu Feb 17 2011
- Add signal processing to Kill_Daemon().
- Updated the documentation.
0.06 Mon Jan 17 2011
- A lot of documentation was add to the source code.
- Daemon STDIN was fixed to "read" now instead of "write".
- Replaced global filehandles with scalars.
- Add a <die> if <chdir> fails.
- Updated the documentation and add a note to the documentation about the
behavior of process-group Signals.
0.05 Thu Okt 28 2010
- Fixed a problem when using the old method of calling Proc::Daemon::Init
without object (reported by Alex Samorukov). The parent process didn't
exit.
- Fixed a problem with Proc::ProcessTable 0.44: Under some conditions
'cmndline' retruns with space and/or other characters at the end.
- Update and small fixes in the documentation.
0.04 Sun Okt 24 2010
- Added functions: new(), adjust_settings(), fix_filename(), Status(),
Kill_Daemon(), get_pid() and get_pid_by_proc_table_attr().
- Init() now returns the PID of the daemon.
- Fork() now allways returns values like Perls built-in 'fork' does.
- Description was rewritten, extended and moved to the new Daemon.pod file.
- Additional test are done at installation.
- $SIG{'HUP'} was set to be valid only 'local' (bug report).
- POSIX::EAGAIN() was added to Fork() (bug report).
|
|
Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s
specifics in mind, Google C++ Mocking Framework (or Google Mock for
short) is a library for writing and using C++ mock classes. Google Mock:
* lets you create mock classes trivially using simple macros,
* supports a rich set of matchers and actions,
* handles unordered, partially ordered, or completely ordered expectations,
* is extensible by users, and
* works on Linux, Mac OS X, Windows, Windows Mobile, minGW, and Symbian.
|
|
|
|
|
|
destroys tabs in makefiles and thereby causes things to fail miserably.
|
|
|
|
This fixes PR 45169 by Luke Mewburn.
Approved by lukem@
|
|
|
|
|
|
(POSIX, PCRE and Oniguruma) to Lua 5.1.
This package provides a meta package
|
|
(POSIX, PCRE and Oniguruma) to Lua 5.1.
This package provides Lua module for Oniguruma regular expressions
|
|
(POSIX, PCRE and Oniguruma) to Lua 5.1.
This package provides Lua module for POSIX regular expressions
|
|
(POSIX, PCRE and Oniguruma) to Lua 5.1.
|
|
Based on PR#45165 by Petr Pavlu.
0.8.2 2011-06-17 "mathematically annoying"
BUG FIXES
* Abort immediately if a callback raises an exception.
(Jelmer Vernooij)
* Fix leaking of error objects. (Jelmer Vernooij)
0.8.1 2011-06-02 "ornithologic reptile"
FEATURES
* Add subvertpy.wc.WorkingCopy.conflicted. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.resolved_conflict. (Jelmer Vernooij)
* Add subvertpy.client.Client.mkdir. (Jelmer Vernooij)
BUG FIXES
* Fix compilation on OS X. (#728574)
* Keep reference to commit callback in editor. (Jelmer Vernooij, #732120)
* Properly check return values of PyInt_AsLong() in various places.
* Convert times and file sizes to 64 bit integer objects.
(Jelmer Vernooij, #786156)
0.8.0 2011-03-02 "("
FEATURES
* Add --version option to subvertpy-fast-export. (Jelmer Vernooij)
* Add basic manual page for subvertpy-fast-export. (Jelmer Vernooij)
* Automatically convert the appropriate errors to socket.gaierror.
(Jelmer Vernooij)
* Add subvertpy.wc.set_adm_dir(). (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.has_binary_prop. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.get_ancestry. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.maybe_set_repos_root.
(Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.add_repos_file.
(Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.mark_missing_deleted.
(Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.remove_from_revision_control.
(Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.relocate. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.crop_tree. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.translated_stream. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.text_modified. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.props_modified. (Jelmer Vernooij)
* Add subvertpy.wc.CommittedQueue. (Jelmer Vernooij)
* Add subvertpy.wc.get_actual_target. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.is_wc_root. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.transmit_text_deltas. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.transmit_prop_deltas. (Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.probe_retrieve, subvertpy.wc.WorkingCopy.retrieve.
(Jelmer Vernooij)
* Add subvertpy.wc.WorkingCopy.probe_try. (Jelmer Vernooij)
* Add subvertpy.client.export. (Jelmer Vernooij)
DEPRECATIONS
* ERR_UNKNOWN_HOSTNAME and ERR_EAI_NONAME are deprecated
and will be removed in the next version of subvertpy.
Instead, subvertpy will raise socket.gaierror.
(Jelmer Vernooij)
* Use svn_fs_paths_changed2() if available. (Jelmer Vernooij)
BUG FIXES
* Fix handling of DST in time_from_cstring. (Max Bowsher, #656226)
* Re-using a WorkingCopy object after calling close() on it
now raises an exception rather than trigger a segfault.
(Jelmer Vernooij)
* Fix type mismatch in svn.ra.get_dir(). (Jelmer Vernooij, #686663)
* Cope with trailing slash being specified to subvertpy.wc.revision_stats().
(Ronny Pfannschmidt)
API BREAKS
* WorkingCopy.entry() will now raise KeyError if the specified entry was not found.
(Jelmer Vernooij)
0.7.5 2010-10-26
BUG FIXES
* Fix compatibility with Subversion 1.4 and 1.5. (Max Bowsher)
0.7.4 2010-09-25
FEATURES
* Add constants ERR_APR_OS_START_EAIERR and ERR_APR_OS_ERRSPACE_SIZE.
(Jelmer Vernooij)
* Implement subvertpy.wc.match_ignore_list. (Jelmer Vernooij)
* Add subvertpy.ra.RemoteAccess.iter_log(). (Jelmer Vernooij)
* Add subvertpy.wc.STATUS_* constants. (Jelmer Vernooij)
* Add subvertpy.wc.api_version(), subvertpy.ra.api_version().
(Dan Villiom Podlaski Christiansen, Jelmer Vernooij)
DEPRECATION
* Avoid deprecation warnings for svn.client.Client.copy,
svn.client.Client.propset, svn.client.Client.propget,
svn.client.Client.do_update.
(Jelmer Vernooij)
* Avoid deprecation warnings for svn.ra.RemoteAccess.do_update,
svn.ra.RemoteAccess.do_switch, svn.ra.RemoteAccess.do_diff.
(Jelmer Vernooij)
* Avoid deprecation warnings for svn.wc.WorkingCopy.propset,
svn.wc.WorkingCopy.walk_entries,
svn.wc.WorkingCopy.add, svn.wc.WorkingCopy.close,
svn.wc.WorkingCopy.crawl_revisions,
svn.wc.WorkingCopy.update_editor,
svn.wc.ensure_adm.
(Jelmer Vernooij)
* Add ERR_ENTRY_NOT_FOUND constant. (Jelmer Vernooij)
* Add subvertpy.ra.RemoteAccess.get_url(). (Dan Villiom Podlaski Christiansen)
BUG FIXES
* Fix compilation using Visual C++.
(Ronald Blaschke, #612056)
* Return an empty dictionary rather than None when there are no revision
properties. (Jelmer Vernooij)
* Link against all libraries that are somehow called.
(Daniel Johnson, Jelmer Vernooij, #615015)
* Include check for apr util headers. (Jelmer Vernooij, #615017)
* Fix reference leaks in Auth and SubversionException handling.
(Jelmer Vernooij, #436406)
* Canonicalize paths in subvertpy.ra.RemoteAccess.get_locations().
(Jelmer Vernooij)
0.7.3.1 2010-07-27
BUG FIXES
* Fix compilation against Subversion 1.5. (Jelmer Vernooij)
0.7.3 2010-07-21
BUG FIXES
* Canonicalize paths to subvertpy.wc.check_wc. (Ronny Pfannschmidt)
* Canonicalize paths to subvertpy.repos.Repos. (Dan Villiom Podlaski
Christiansen)
* Cope with leading slashes in paths. (David Wolever, #527239)
* Various methods are now a bit more liberal in accepting any
sort of sequence rather than explicitly requiring lists.
(Jelmer Vernooij)
FEATURES
* Implement subvertpy.client.Client.diff. (Dan Villiom Podlaski Christiansen,
Jelmer Vernooij)
* Support ``revprops`` argument to subvertpy.client.Client.commit.
(Jelmer Vernooij)
* Implement subvertpy.wc.get_pristine_contents(). (Jelmer Vernooij)
* Use better error messages when possible.
(Dan Villiom Podlaski Christiansen)
* Implement subvertpy.ra.get_platform_specific_client_providers().
(Dan Villiom Podlaski Christiansen)
0.7.2 2010-01-03
BUG FIXES
* Fix inconsistencies between PyArg_ParseTuple arguments and variables,
which caused crashes on some 64-bit platforms. (Václav Slavík, #488780)
* Add constant for ERR_NODE_UNKNOWN_KIND. (Dan Villiom Podlaski Christiansen)
* Add svn.client.proplist() binding. (Dan Villiom Podlaski Christiansen,
Jelmer Vernooij)
* Add svn.client.list() binding. (Dan Villiom Podlaski Christiansen,
Jelmer Vernooij)
0.7.1 2009-10-20
BUG FIXES
* Fix APR include path on Windows. (Ronald Blaschke, #456321)
0.7.0 2009-10-20
FEATURES
* Add definition for ERR_EAI_NONAME. (John Szakmeister)
* Add subvertpy.repos.FileSystem methods: youngest_revision, revision_root,
revision_proplist. (Jelmer Vernooij)
* Add subvertpy.repos.{delete,Repository.has_capability,hotcopy}.
(Jelmer Vernooij)
* Add subvertpy-fast-export script, based on svn-fast-export.py by Chris Lee
included with bzr-fast-import. (Jelmer Vernooij)
0.6.9 2009-09-10
BUG FIXES
* Cope with leading slashes in paths specified to
subvertpy.ra.RemoteAccess.get_{dir,file}(). Thanks Ronny for the bugreport.
(#405713)
* Don't send too large svndiff windows as newer versions of libsvn
will barf. (CVE2009-2411, #413113)
0.6.8 2009-06-18
FEATURES
* Support svn.client.Client.delete(keep_local=True)
* Support svn.wc.WorkingCopy.delete(keep_local=True)
* Define ERR_RA_DAV_FORBIDDEN.
0.6.7 2009-06-01
BUG FIXES
* Replace PyExc_ArgumentError with PyExc_TypeError.
* Fix compilation with MSVC++.
FEATURES
* Support RemoteAccess.stat.
* Support svn.client.add(parents=false)
* Support uuid argument to svn.ra.RemoteAccess().
|
|
bzr-svn 1.0.2 2010-01-22
BUG FIXES
* Cope with Google code Subversion repositories a bit better in the
layout detection code. (Jelmer Vernooij)
* Push tags when pushing to a new repository. (Jelmer Vernooij, #459444)
* Cope with non-ascii URLs.
* During connect. (#456548, Jelmer Vernooij)
* During repository creation. (#458008, Jelmer Vernooij)
* Cope with non-ascii characters in svn author names. (#460392,
Jelmer Vernooij)
* Fix expected URL in Repository.__repr__ tests that sometimes causes
troubles if the temporary directory contains special characters.
(John Szakmeister, #460899)
* Cope with pushing new non-mainline revisions. (Jelmer Vernooij, #416328)
* Support probing for Subversion repositories over existing HTTP transports
using pycurl. (Jelmer Vernooij, #424626)
* Show Subversion revno and uuid in "bzr version-info". (Jelmer Vernooij,
#490771)
* Properly handle invalid Subversion revision numbers. (Jelmer Vernooij,
#504376)
PERFORMANCE
* When updating the log cache, fetch from newest to oldest revision as
the Subversion database backends are optimized for this.
(John Szakmeister)
* Fetch history information newest revision to oldest revision because of
speed. (John Szakmeister, #453789)
* Add extra constraints in sqlite database. (Jelmer Vernooij)
FEATURES
* New variant of the 'trunk' layout named 'trunk-variable' that accepts
branches with any level of nesting, at some performance cost.
(Jelmer Vernooij)
bzr-svn 1.0.1 2009-10-20
BUG FIXES
* Mark as compatible with Bazaar 2.1. (Jelmer Vernooij)
* Only use tdb if Tdb.get is there. (Jelmer Vernooij, #440211)
* Cope with xdg_cache_home sometimes containing unicode. (Jelmer Vernooij)
* Provide right infrastructure for bzrlib.tests.per_foreign_vcs.
(Jelmer Vernooij)
|
|
|
|
testtools is a set of extensions to the Python standard library's unit testing
framework. These extensions have been derived from many years of experience
with unit testing in Python and come from many different sources. testtools
also ports recent unittest changes all the way back to Python 2.4.
|
|
www/ruby-rails3 package should be work.
Bump PKGREVISION.
|
|
It was really needed by devel/ruby-railties, sigh.
=== 3.8 / ??
* Minor enhancements
* RDoc::Parser::C can now discover methods on ENV and ARGF.
* RDoc::Parser::C now knows about rb_cSocket and rb_mDL.
* Bug fixes
* Updating Object in an ri data store with new data now removes methods,
includes, constants and aliases.
=== 3.7 / 2011-06-27
* Minor enhancements
* New directive :category: which allows methods to be grouped into sections
more cleanly. See RDoc::Markup for details.
* Document-class for RDoc::Parser::C now supports Foo::CONST as well as
CONST.
* ri method output is now a comma-separated list when displayed
interactively. Pull Request #39 by Benoit Daloze.
* RDoc::ClassModule#merge now prefers the argument's information over the
receiver's (it now behaves like Hash#merge! instead of a backwards
Hash#merge!).
* RDoc::Markup#convert now accepts an RDoc::Markup::Document instance
* RDoc now owns the code for generating RDoc and ri data when gems install
* Added RDoc::RDoc::reset
* Added RDoc::CodeObject#file_name
* Bug fixes
* ri no longer crashes when attempting to complete a plain [.
* ri data now tracks which file information came from so it can process
removals and changes to:
* Classes and Modules
* Methods
* Attributes
* Includes
* Constants
You will need to rebuild your ri data for it to update properly. Issue
#21 by Sven Riedel
* Signal and SignalException no longer clobber each other
* RDoc::Parser::C no longer creates classes when processing aliases.
* RDoc::Text#strip_stars handles Document-method for methods with =, ! and ?
now.
* RDoc::Parser::C now allows .cpp files to be used with the "in" comment on
rb_define_method. Bug #35 by Hanmac.
* RDoc::Parser::Ruby no longer eats content when =begin/=end documentation
blocks are followed by a documentable item. Issue #41 by mfn.
* RDoc::Markup::Formatter and subclasses now allow an optional +markup+
parameter for adding custom markup. The example in
RDoc::Markup::Formatter will now work. Issue #38 by tsilen.
* RDoc::Parser::C can now distinguish between class methods and instance
methods in Document-method. Issue #36 by Vincent Batts.
* RDoc now encodes file names in the output encoding. Issue #33 by Perry
Smith.
* ri data generation for method aliases no longer duplicates the class in
#full_name
|
|
|
|
|
|
(PKGREV bumped)
|
|
|
|
|
|
under NetBSD/amd64 5.1_STABLE and Mac OS 10.6.8.
Bump package revision because the shared library version was increased.
|
|
GNOME bug 654767. The package is now compatible with previously built
binary packages under Mac OS X.
|
|
Three years of development, way too much to include here. If anyone's
curious the list is in CHANGES.txt in the distfile.
|
|
|
|
|
|
Parser combinators are just higher-order functions that take parsers as their
arguments and return them as result values. Parser combinators are:
* First-class values
* Extremely composable
* Tend to make the code quite compact
* Resemble the readable notation of xBNF grammars
Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that
it's very easy to write them without thinking about look-aheads and all that
hardcore parsing stuff. But the recursive descent parsing is a rather slow
method compared to LL(k) or LR(k) algorithms.
So the primary domain for funcparserlib is parsing little languages or external
DSLs (domain specific languages).
The library itself is very small. Its source code is only 0.5 KLOC, with lots of
comments included. It features the longest parsed prefix error reporting, as
well as a tiny lexer generator for token position tracking.
|
|
|
|
|
|
* gmmproc:
- _WRAP_METHOD: Add optional parameter functionality.
- _WRAP_[CREATE|CTOR|METHOD]: Support parameter reordering.
- _WRAP_METHOD: Add the possibility of an output parameter.
- Protect documentation with m4 quotes.
Gio:
* DBus::Connection::emit_signal(): Replace empty strings with 0, because
gio fails with "", apparently unnecessarily.
Build:
* Removed now-unused doctooldir variable from pkgconfig files.
|
|
Changelog:
Changes in version 2.0.1:
=========================
*
* Bug 652205: Use const instead G_CONST_RETURN
* Bug 649307: Clarify AtkPlug and AtkSocket docs
* Bug 551489: Fix doc of atk_text_get_text_before_offset
* Bug 588083: Information about return value of some AtkText methods can be clearer
* Added Alejandro Piñåiro Iglesias as maintainer
* Updated .gitignore
* VS 2008/2010 support update
* New Zulu translation added, Esperanto and Catalan updated
Changes in version 2.0.0:
=========================
*
*Translation update.
Changes in version 1.91.92:
=========================
*
*BGO#638377: Add text_insert, text_remove, and text_update signals
*Reviewed Serbian Translation
*Fix introspection for atk_text_get_bounded_ranges
*Visual C++ 2010 Project Files
*Updated Spanish translation
Changes in version 1.33.6:
=========================
*
*Returns FALSE on atk_object_add_relationship if it is already included
*Bug 640574: gobject-introspection annotation and documentation fixes
*Bug 637663: Added atk_streamable_content_get_uri to atk/atk.symbols
*Add missing Makefiles to AC_CONFIG_FILES
*Fixes for the MSVC Project Files
*Update deprecated autoconf macros and use new libtool syntax
*Documentation fixes
*Translation updates
|
|
add a missing LICENSE and fix a few COMMENT
|
|
|
|
of "archive.dir.tar.gz" to "archive.git.tar.gz". We now get a consistent
package list on system with and without GIT installed. Bump package
revision again.
|
|
Diffuse 0.4.5 - 2011-07-13
- fixed a bug in CVS and Subversion support that prevented Diffuse from displaying some removed files
- added syntax highlighting for JSON files
- added menu items and keyboard shortcuts for "First Tab" and "Last Tab"
- added "--line" command line option
- fixed a bug that caused deleted files to be ignored when using the '-m' option
- fixed a bug that incorrectly encoded pasted text if utf_8 was not specified in the Region Settings preferences
- state information is now stored in ~/.local/share/diffuse
- Diffuse now uses a patience diff-based algorithm to align lines
- added command line option to specify a label to display instead of the file name
- added preference to display the right margin
- added Cristian Marchi's Italian translation
- fixed a bug that could cause "Save As..." to fail with some user specified encodings
|
|
|
|
|
|
|
|
* Changes in version 2.5 (2011-05-14):
** Grammar symbol names can now contain non-initial dashes:
Consistently with directives (such as %error-verbose) and with
%define variables (e.g. push-pull), grammar symbol names may contain
dashes in any position except the beginning. This is a GNU
extension over POSIX Yacc. Thus, use of this extension is reported
by -Wyacc and rejected in Yacc mode (--yacc).
** Named references:
Historically, Yacc and Bison have supported positional references
($n, $$) to allow access to symbol values from inside of semantic
actions code.
Starting from this version, Bison can also accept named references.
When no ambiguity is possible, original symbol names may be used
as named references:
if_stmt : "if" cond_expr "then" then_stmt ';'
{ $if_stmt = mk_if_stmt($cond_expr, $then_stmt); }
In the more common case, explicit names may be declared:
stmt[res] : "if" expr[cond] "then" stmt[then] "else" stmt[else] ';'
{ $res = mk_if_stmt($cond, $then, $else); }
Location information is also accessible using @name syntax. When
accessing symbol names containing dots or dashes, explicit bracketing
($[sym.1]) must be used.
These features are experimental in this version. More user feedback
will help to stabilize them.
** IELR(1) and canonical LR(1):
IELR(1) is a minimal LR(1) parser table generation algorithm. That
is, given any context-free grammar, IELR(1) generates parser tables
with the full language-recognition power of canonical LR(1) but with
nearly the same number of parser states as LALR(1). This reduction
in parser states is often an order of magnitude. More importantly,
because canonical LR(1)'s extra parser states may contain duplicate
conflicts in the case of non-LR(1) grammars, the number of conflicts
for IELR(1) is often an order of magnitude less as well. This can
significantly reduce the complexity of developing of a grammar.
Bison can now generate IELR(1) and canonical LR(1) parser tables in
place of its traditional LALR(1) parser tables, which remain the
default. You can specify the type of parser tables in the grammar
file with these directives:
%define lr.type lalr
%define lr.type ielr
%define lr.type canonical-lr
The default-reduction optimization in the parser tables can also be
adjusted using `%define lr.default-reductions'. For details on both
of these features, see the new section `Tuning LR' in the Bison
manual.
These features are experimental. More user feedback will help to
stabilize them.
** LAC (Lookahead Correction) for syntax error handling:
Canonical LR, IELR, and LALR can suffer from a couple of problems
upon encountering a syntax error. First, the parser might perform
additional parser stack reductions before discovering the syntax
error. Such reductions can perform user semantic actions that are
unexpected because they are based on an invalid token, and they
cause error recovery to begin in a different syntactic context than
the one in which the invalid token was encountered. Second, when
verbose error messages are enabled (with %error-verbose or the
obsolete `#define YYERROR_VERBOSE'), the expected token list in the
syntax error message can both contain invalid tokens and omit valid
tokens.
The culprits for the above problems are %nonassoc, default
reductions in inconsistent states, and parser state merging. Thus,
IELR and LALR suffer the most. Canonical LR can suffer only if
%nonassoc is used or if default reductions are enabled for
inconsistent states.
LAC is a new mechanism within the parsing algorithm that solves
these problems for canonical LR, IELR, and LALR without sacrificing
%nonassoc, default reductions, or state merging. When LAC is in
use, canonical LR and IELR behave almost exactly the same for both
syntactically acceptable and syntactically unacceptable input.
While LALR still does not support the full language-recognition
power of canonical LR and IELR, LAC at least enables LALR's syntax
error handling to correctly reflect LALR's language-recognition
power.
Currently, LAC is only supported for deterministic parsers in C.
You can enable LAC with the following directive:
%define parse.lac full
See the new section `LAC' in the Bison manual for additional
details including a few caveats.
LAC is an experimental feature. More user feedback will help to
stabilize it.
** %define improvements:
*** Can now be invoked via the command line:
Each of these command-line options
-D NAME[=VALUE]
--define=NAME[=VALUE]
-F NAME[=VALUE]
--force-define=NAME[=VALUE]
is equivalent to this grammar file declaration
%define NAME ["VALUE"]
except that the manner in which Bison processes multiple definitions
for the same NAME differs. Most importantly, -F and --force-define
quietly override %define, but -D and --define do not. For further
details, see the section `Bison Options' in the Bison manual.
*** Variables renamed:
The following %define variables
api.push_pull
lr.keep_unreachable_states
have been renamed to
api.push-pull
lr.keep-unreachable-states
The old names are now deprecated but will be maintained indefinitely
for backward compatibility.
*** Values no longer need to be quoted in the grammar file:
If a %define value is an identifier, it no longer needs to be placed
within quotations marks. For example,
%define api.push-pull "push"
can be rewritten as
%define api.push-pull push
*** Unrecognized variables are now errors not warnings.
*** Multiple invocations for any variable is now an error not a warning.
** Unrecognized %code qualifiers are now errors not warnings.
** Character literals not of length one:
Previously, Bison quietly converted all character literals to length
one. For example, without warning, Bison interpreted the operators in
the following grammar to be the same token:
exp: exp '++'
| exp '+' exp
;
Bison now warns when a character literal is not of length one. In
some future release, Bison will start reporting an error instead.
** Destructor calls fixed for lookaheads altered in semantic actions:
Previously for deterministic parsers in C, if a user semantic action
altered yychar, the parser in some cases used the old yychar value to
determine which destructor to call for the lookahead upon a syntax
error or upon parser return. This bug has been fixed.
** C++ parsers use YYRHSLOC:
Similarly to the C parsers, the C++ parsers now define the YYRHSLOC
macro and use it in the default YYLLOC_DEFAULT. You are encouraged
to use it. If, for instance, your location structure has `first'
and `last' members, instead of
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).first = (Rhs)[1].location.first; \
(Current).last = (Rhs)[N].location.last; \
} \
else \
{ \
(Current).first = (Current).last = (Rhs)[0].location.last; \
} \
while (false)
use:
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).first = YYRHSLOC (Rhs, 1).first; \
(Current).last = YYRHSLOC (Rhs, N).last; \
} \
else \
{ \
(Current).first = (Current).last = YYRHSLOC (Rhs, 0).last; \
} \
while (false)
** YYLLOC_DEFAULT in C++:
The default implementation of YYLLOC_DEFAULT used to be issued in
the header file. It is now output in the implementation file, after
the user %code sections so that its #ifndef guard does not try to
override the user's YYLLOC_DEFAULT if provided.
** YYFAIL now produces warnings and Java parsers no longer implement it:
YYFAIL has existed for many years as an undocumented feature of
deterministic parsers in C generated by Bison. More recently, it was
a documented feature of Bison's experimental Java parsers. As
promised in Bison 2.4.2's NEWS entry, any appearance of YYFAIL in a
semantic action now produces a deprecation warning, and Java parsers
no longer implement YYFAIL at all. For further details, including a
discussion of how to suppress C preprocessor warnings about YYFAIL
being unused, see the Bison 2.4.2 NEWS entry.
** Temporary hack for adding a semicolon to the user action:
Previously, Bison appended a semicolon to every user action for
reductions when the output language defaulted to C (specifically, when
neither %yacc, %language, %skeleton, or equivalent command-line
options were specified). This allowed actions such as
exp: exp "+" exp { $$ = $1 + $3 };
instead of
exp: exp "+" exp { $$ = $1 + $3; };
As a first step in removing this misfeature, Bison now issues a
warning when it appends a semicolon. Moreover, in cases where Bison
cannot easily determine whether a semicolon is needed (for example, an
action ending with a cpp directive or a braced compound initializer),
it no longer appends one. Thus, the C compiler might now complain
about a missing semicolon where it did not before. Future releases of
Bison will cease to append semicolons entirely.
** Verbose syntax error message fixes:
When %error-verbose or the obsolete `#define YYERROR_VERBOSE' is
specified, syntax error messages produced by the generated parser
include the unexpected token as well as a list of expected tokens.
The effect of %nonassoc on these verbose messages has been corrected
in two ways, but a more complete fix requires LAC, described above:
*** When %nonassoc is used, there can exist parser states that accept no
tokens, and so the parser does not always require a lookahead token
in order to detect a syntax error. Because no unexpected token or
expected tokens can then be reported, the verbose syntax error
message described above is suppressed, and the parser instead
reports the simpler message, `syntax error'. Previously, this
suppression was sometimes erroneously triggered by %nonassoc when a
lookahead was actually required. Now verbose messages are
suppressed only when all previous lookaheads have already been
shifted or discarded.
*** Previously, the list of expected tokens erroneously included tokens
that would actually induce a syntax error because conflicts for them
were resolved with %nonassoc in the current parser state. Such
tokens are now properly omitted from the list.
*** Expected token lists are still often wrong due to state merging
(from LALR or IELR) and default reductions, which can both add
invalid tokens and subtract valid tokens. Canonical LR almost
completely fixes this problem by eliminating state merging and
default reductions. However, there is one minor problem left even
when using canonical LR and even after the fixes above. That is,
if the resolution of a conflict with %nonassoc appears in a later
parser state than the one at which some syntax error is
discovered, the conflicted token is still erroneously included in
the expected token list. Bison's new LAC implementation,
described above, eliminates this problem and the need for
canonical LR. However, LAC is still experimental and is disabled
by default.
** Java skeleton fixes:
*** A location handling bug has been fixed.
*** The top element of each of the value stack and location stack is now
cleared when popped so that it can be garbage collected.
*** Parser traces now print the top element of the stack.
** -W/--warnings fixes:
*** Bison now properly recognizes the `no-' versions of categories:
For example, given the following command line, Bison now enables all
warnings except warnings for incompatibilities with POSIX Yacc:
bison -Wall,no-yacc gram.y
*** Bison now treats S/R and R/R conflicts like other warnings:
Previously, conflict reports were independent of Bison's normal
warning system. Now, Bison recognizes the warning categories
`conflicts-sr' and `conflicts-rr'. This change has important
consequences for the -W and --warnings command-line options. For
example:
bison -Wno-conflicts-sr gram.y # S/R conflicts not reported
bison -Wno-conflicts-rr gram.y # R/R conflicts not reported
bison -Wnone gram.y # no conflicts are reported
bison -Werror gram.y # any conflict is an error
However, as before, if the %expect or %expect-rr directive is
specified, an unexpected number of conflicts is an error, and an
expected number of conflicts is not reported, so -W and --warning
then have no effect on the conflict report.
*** The `none' category no longer disables a preceding `error':
For example, for the following command line, Bison now reports
errors instead of warnings for incompatibilities with POSIX Yacc:
bison -Werror,none,yacc gram.y
*** The `none' category now disables all Bison warnings:
Previously, the `none' category disabled only Bison warnings for
which there existed a specific -W/--warning category. However,
given the following command line, Bison is now guaranteed to
suppress all warnings:
bison -Wnone gram.y
** Precedence directives can now assign token number 0:
Since Bison 2.3b, which restored the ability of precedence
directives to assign token numbers, doing so for token number 0 has
produced an assertion failure. For example:
%left END 0
This bug has been fixed.
|
|
1.1. Major features
New fileset file matching support
Improved remote changeset discovery
New command server mode to improve application integration
Experimental generaldelta storage scheme
Experimental new http client library
1.2. Command changes
HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT
manifest: add new option --all
aliases: add positional arguments to non-shell aliases
add: introduce a warning message for non-portable filenames (issue2756)
add: notify when adding a file that would cause a case-folding collision
bisect: new command to extend the bisect range (issue2690)
bookmarks: allow deactivating current bookmark with -i
bundle: update current bookmark to most recent revision on current branch
diff: make diff -c aware of revision sets
help: add -c/--command flag to only show command help (issue2799)
help: add -e/--extension switch to display extension help text
help: move hgignore man page into built-in help (issue2769)
http: correctly handle redirects from http to https
identify: list bookmarks for remote repositories
import: add --bypass option
paths: Add support for -q/--quiet
pushkey: add hooks for pushkey/listkeys
revset: add aliases
revset: add ^ and ~ operators from parentrevspec extension
revset: add a revset command to get bisect state
revset: add desc(string) to search in commit messages
revset: add follow(filename) to follow a filename's history across copies
revset: introduce filelog() to emulate log's fast path
revset: add a last() function
1.3. Web changes
add bookmarks listing to raw style and summary pages
support alternate logo url
add base link to file log for paper and coal styles (issue2452)
paper, coal: display diffstat on the changeset page
elapsed time calculation dynamic (javascript)
provide diffstat and summary on the changeset page
1.4. Extension changes
hgcia: handle URL like in notify (issue2406)
rebase: add -m/--message to rebase --collapse (issue2389)
Updating hgext.extdiff to use revsets
bash_completion: enable alias auto-complete
bugzilla: add XMLRPC interface
color: add support for terminfo-based attributes and color
convert/mtn: add support for using monotone's "automate stdio" when available
convert/svn: stop using svn bindings when pushing to svn
convert: add bookmark support for hg and git backends
convert: add svnrev, svnpath and svnuuid template keywords
extdiff: add repository root as a variable
graphlog: support more log command features with revsets
keyword: convert a verbatim block to a field list
keyword: offer additional datefilters when the extension is enabled
mq: add a 'mq()' revset predicate that returns applied mq csets
notify: send changesets on 'outgoing' hook, updated doc
progress: add speed format
rebase: add --tool argument for specifying merge tool
rebase: allow for rebasing descendants onto ancestors on different named branches
record: add an option to backup all wc modifications
record: add qrefresh -i/--interactive
record: add white space diff options
record: alias qrecord to qnew -i/--interactive
1.5. Bug fixes
bookmarks: allow create/move bookmark without making it current (issue2788)
bookmarks: do not forward merged bookmark (issue1877)
changegroup: do not count closed new heads (issue2697)
config: handle comment lines in continuations (issue2854)
dispatch: propagate ui command options to the local ui (issue2523)
eol: make the hook check all new heads, not only tip (issue2666)
grep: don't print data from binary files for matches (issue2614)
http: report unexpected unparsable push responses (issue2777)
httprepo: handle large lengths by bypassing the len() operator
httprepo: long arguments support (issue2126)
httprepo: proper handling of invalid responses without content-type (issue2019)
httprepo: send URL redirection notices to stderr (issue2828)
localrepo: don't add deleted files to list of modified/added files (issue2761)
localrepo: ignore tags to unknown nodes (issue2750)
merge: drop resolve state for mergers with identical contents (issue2680)
patch: do not patch unknown files (issue752)
path_auditor: check filenames for basic platform validity (issue2755)
rebase: don't mark file as removed if missing in parent's manifest (issue2725)
rebase: preserve mq series order after rebasing (issue2849)
rebase: restore mq guards after rebasing (issue2107)
revset: report a parse error if a revset is not parsed completely (issue2654)
scmutil: improve path calculation for install-relative RC files (issue2841)
set NOT_CONTENT_INDEXED on .hg dir (issue2694)
sslutil: fall back to commonName when no dNSName in subjectAltName (issue2798)
subrepo: be more careful with deletions of .hgsub and .hgsubstate (issue2844)
subrepo: make stdin for svn a pipe for non-interactive use (issue2759)
subrepo: svn abort now depends on exit code (issue2833)
subrepo: be smarter about what's an absolute path (issue2808)
svn subrepo: attempt work around obstructed checkouts (issue2752)
svn subrepos: work around checkout obstructions (issue2752)
tags: catch more corruption during cache parsing (issue2779)
util: add Mac-specific check whether we're in a GUI session (issue2553)
|
|
|
|
Hopefully fixes PR pkg/44053.
|
|
|
|
|
|
|