- Extend CppLanguage::ParseTypeExpression() to also grok array
specifiers. This theoretically lets one now typecast to array types
as well as pointer types, though things don't entirely work as expected
yet.
- Added GetSystemInfo() to DebuggerInterface. Use that from
DebugReportGenerator instead of calling get_system_info()/utsname()
directly since otherwise we'd get the information for the wrong system
in the eventual case when we have remote debugging support.
* Implement copy-on-write support.
* Add copy constructor and assignment operator.
* Remove Init(). Initialize lazily instead. Since AddInfo() can fail
and we check initialization anyway, there's no point in having an
explicit Init(). Given that there was only one invocation of Init()
in the package kit and its users, it was very likely missing in some
places.
* Fix a few places where we ignored that the PackageMap actually
contains lists of PackageInfo objects.
When clearing the filter state, don't disable filtering entirely if we
have a ref filter present. Otherwise, it won't be invoked again
until the next time a typeahead filter is engaged.
There's now a Command class that must be derived and registered with
a CommandManager, all simplified by a REGISTER_COMMAND macro. That gets
rid of the print_command_usage_and_exit() function copy for every
command, moves the short usage texts to the command implementations,
and avoids any repetition of the command name. When implementing a new
command only a new source file needs to be created, nothing else needs
to be touched.
* It no longer consists of a BPackageResolvableExpression and a
repository. Instead it can now either refer to a package directly or
consist of a search string.
* SolverPackageSpecifierList: Add AppendSpecifier() convenience
versions.
* Adjust LibsolvSolver and pkgman accordingly.
BUnicodeChar::ToUTF8() had the same regression as ::FromUTF8() as far as
not advancing the input string pointer, which broke building
case-insensitive queries.
* BSolver/LibsolvSolver:
* Add B_FIND_IN_NAME and make searching in the names explicit.
* Add B_FIND_IN_PROVIDES to search the packages' provides list.
* pkgman: Also search in provides.
In the Terminal data model every full width character occupies two cells
in the data buffers. The second cell of such characters is not drawn and
used mainly to differentiate between full width and half width
characters.
Proposed fix zeroes the attributes of the second cell in the
HistoryBuffer::GetTerminalLineAt() that prevents the potential endless
loops in the BasicTerminalBuffer::_ResizeRedraw(). Those loops were
result of the random attributes in full width character's second cells.
* libsupc++ wasn't required, the build failed on x86_64.
* PPL: --disable-maintainer-mode configure option seems not enough to avoid an autoconf launch.
Solved by redefined AUTOCONF AUTOHEADER ACLOCAL AUTOMAKE variables to the noop command "true".
* _Init() was a bit too enthusiastic, throwing really everything away.
So, after calling it at the beginning of _AddRepositories() there
wouldn't be any repositories anymore.
* Rename _Init() to _InitPool() to make its purpose clearer.
* Pull a _CleanupPool() out of _Cleanup() that only deletes the pool
and anything depending on it.
* RepositoryInfo::HasChanged(): Always consider changed when there's no
libsolv repo yet.
Currently there are two generators. The fast one is the same one the scheduler
is using. The standard one is the same algorithm libroot's rand() uses. Should
there be a need for more cryptographically PRNG MD4 or MD5 might be a good
candidates.
* daemon: Implement private message protocol to retrieve the active
packages.
* BPackageRoster::GetActivePackages(): Get the active packages list
from the daemon.
I fear that perhaps the fBarView variable may be accessed before it has a
chance to be set in AttachedToWindow(). By setting it in the constructor there
is no chance of this. Might fix #9656