!
during configuration
Warning displayed by browser during genxref indexation
Indexation statistics recorded and accessible through a new script perf
To speed up this step, use incremental mode when --reindexall
is not specified.
To minimise free-text search downtime, indexing is performed in an "offline" directory which is substituted with the "online" one when done.
Database access guaranteed read-only when browsing tree; write-enabled access reserved for genxref
Faster full DB purge (under --reindexall
)
through disposal and recreation
Server configuration file now automatically adapts itself to Apache version.
Tree designation in URL moved into PATH_INFO
instead of
SERVER_NAME
or SCRIPT_NAME
.
Printing a message on screen under catastrophic events during initialisation now possible, avoiding the disturbing "blank screen" situation.
Browsing: errors and warnings are now sent both to log file and screen, thus reducing the need to retrieve them from the web server log files.
Configuration: most user entries are checked against the expected format, detecting early trivial errors or mispellings.
To facilitate implementation of new language parsers, a common utility function has been inserted in the generic parser to build hyperlinks to every component of the included file path. All parsers now reference this function.
C processing has been separated from the generic parser to improve reliability and readability of the latter.
Since C is now an independent parser, default include syntax is keyword, as defined by the language description, followed by the bare filename, without any delimiters such as quotes or double quotes.
'include'
specification
in configuration file generic.conf.
Keywords 'first'
and 'last'
have been renamed
'pre'
and 'post'
to emphasize their roles in
pre- and post-processing the filename.
New keyword 'separator'
defines path separator in the language dialect.
It is replaced by the OS path separator (/
) to access
the included file.
'global'
substitution rule.
Removal of a bad handling situation in include processing causing an infinite loop (notably in Java)
Per user request, directory and file view, identifier and free-text search have been modified to show that cross-references in the database refer to an earlier state of the file. This situation arises in development phase when files are modified and genxref has not yet been rerun.
'ignorefiles'
parameter
Upon user request, this parameter allows to selectively ignore files which name matches a pattern (internally used to ignore compiler-binary files, can be extended to ignore document files for instance).
Configuration templates now use a consistent well defined scripting language. This allows to share blocks of configuration among templates, resulting in easier management of similar templates.
To a certain extent, web server setup is now under control of the interactive configurator. However, only the most common cases are covered. Read the User's Manual for the necessary checks.
Configurator can disable free-text search if neither Glimpse nor Swish-E is detected. This allows to have a try with LXR without the pain of installing a text search engine. Of course, the feature becomes unavailable until you install one and update lxr.conf.
As per design choice, access is limited to local repositories.
Among these, fix for the case when the web site is totally devoted to LXR, i.e. when LXR is at the root of site.
IMPORTANT!
Finer grained language support make it impossible to maintain Perl 5.8 compatibility. Stated otherwise, it is impossible to parse some language features within the frame of the present SimpleParse.pm lexical scanner. They can indeed be described by complex regular expressions but they break the capture mechanism of the scanner.
Upgrade your Perl to version 5.10 at least.
Reliably configures LXR and its database in a matter of minutes, suppresses the neeed to edit lxr.conf (but for advanced tuning of course).
As per design choice,
access is limited to local repositories
(i.e. URL is of the form file:///...
).
Offers an alternative for small trees (not to be reasonably considered for medium and large trees because of poor performance).
Results in a global performance boost despite the number of new features.
When indexing without --reindexall
option,
former definitions and references are now correctly erased from the
database, leaving no false duplicates.
In the common case where source tree is stored in plain ordinary files, suppress file copying and work directly on original files.
Correctly configuring LXR for the Linux kernel has always been a nightmare.
The new configuration template contains plethora of 'variables'
to resolve the virtual #include
s present in the source.
'maps'
rules
'variables'
New 'when'
clause tells when context is meaningful for the variable.
Case insensitive search now really case-insensitive.
Can compare two files differing in any number of 'variables'
if it makes sense
(only under buttons-and-menus interface).
More subdirectories so that only the main scripts remain at the root.
First step towards automated installation.
Can work with Prefork and Worker MPM
Integrated tree switching.
Selection of actual style done by user in compatible browsers.
Side branches now accessed and indexed
'variables'
can have any name
Internal arguments used in the URL
are now prefixed with _
(underscore)
so that they will never conflict with a configuration 'variables'
Background colours to highlight differences, set with CSS
Ability to change width of left column through a configuration parameter and an URL arg
Ability to limit search to declarations only, default set by a configuration parameter
Results presented in a table to avoid bad looking ragged presentation
Results presented in a table to avoid bad looking ragged presentation
With Glimpse, searched string is highlighted in the hit text fragment
Add JavaScript description
Add Ruby description
Fixes to Python description
Language parsing, Perl compatibility, ...
Ability to annotate the source tree with comments stored in the DB so that they persist across sessions.