!
pendant la configuration
Avertissement affiché par le navigateur pendant l'indexation par genxref
Statistiques d'indexation enregistrées et accessibles par un nouveau script perf
Pour accélérer cette étape,
utilisation du mode incrémental quand --reindexall
n'est pas spécifié
Pour réduire l'indisponibilité de la recherche en plein texte, l'indexation est effectuée dans un répertoire "offline" qui est substitué au répertoire "online" à la fin.
Accès à la base de données garanti en lecture seule lors de la navigation dans l'arbre; accès en écriture réservé à genxref
Purge totale de la base de données plus rapide (avec --reindexall
)
par destruction et recréation
Le fichier de configuration du serveur s'adapte désormais automatiquement à la version d'Apache.
La désignation de l'arbre dans l'URL est déplacée dans PATH_INFO
au lieu de SERVER_NAME
ou SCRIPT_NAME
.
Il est maintenant possible d'imprimer un message à l'écran lors d'événements catastrophiques pendant l'initialisation en évitant ainsi l'"écran vide" assez déstabilisant.
Navigation: les erreurs et avertissements sont désormais aussi imprimés à l'écran, réduisant la nécessité de les consulter dans les journaux du serveur.
Configuration: la plupart des entrées utilisateur sont désormais comparées au format attendu, détectant ainsi précocément certaines erreurs triviales .
Pour faciliter l'écriture de nouveaux analyseurs de langage, une fonction ancillaire commune a été insérée dans l'analyseur générique pour établir les hyperliens vers chaque fragment du chemin du fichier inclus. Tous les analyseurs référencent dorénavant cette fonction.
Le traitement de C a été séparé de l'analyseur générique pour améliorer la fiabilité et la lisibilité de ce dernier.
Comme C possède maintenant son analyseur indépendant, la syntaxe include par défaut est désormais mot-clef, tel que défini par la description du langage, suivi par le simple nom de fichier, sans aucun délimiteur tel que apostrophes ou guillemets.
'include'
dans le fichier de configuration generic.conf.
Les mots-clefs 'first'
et 'last'
sont renommés
'pre'
et 'post'
pour insister sur leurs rôles de
pré- et post-traitement du nom de fichier.
Le nouveau mot-clef 'separator'
définit le séparateur de chemin dans le dialecte du langage.
Il est remplacé par le séparateur de chemin de l'OS (/
) pour l'accès
au fichier inclus.
'global'
.
Suppression d'une situation particulière dans le traitement include provoquant une boucle infinie (notamment en Java)
Sur demande d'un utilisateur, l'affichage des répertoires et fichiers, l'interrogation d'identificateur et la recherche en plein texte ont été amendés pour montrer visuellement que les références croisées de la base de données font référence à un état antérieur du fichier. Cette situation se produit fréquemment en phase de développement quand les fichiers sont modifiés et que genxref n'a pas encore été relancé.
'ignorefiles'
Sur demande d'un utilisateur, ce paramètre permet d'ignorer sélectivement des fichiers dont le nom correspond à un motif (utilisé en interne pour ignorer les fichiers binaires issus des compilateurs, peut être étendu pour ignorer des fichiers de documentation par exemple).
Les modèles de configuration utilisent dorénavant un language de script unique mieux défini. Il autorise le partage de blocs de configuration entre les modèles, aboutissant à une meilleure gestion de modèles similaires.
Jusqu'à un certain point, la configuration du serveur web est contrôlée par le configurateur interactif. Cependant, seuls les cas les plus courants sont couverts. Référez-vous au Manuel de l'utilisateur pour les vérifications à effectuer.
Le configurateur peut désactiver la recherche en plein texte si ni Glimpse ni Swish-E ne sont détectés. Ceci permet d'essayer LXR sans le souci d'installer un moteur de recherche. Bien entendu, la fonctionnalité devient indisponible jusqu'à ce que vous en installiez un et que vous ajustiez lxr.conf.
L'accès est volontairement limité aux dépôts locaux.
Parmi ceux-ci, correction pour le cas où le site web est entièrement consacré à LXR, i.e. quand LXR est à la racine du site.
IMPORTANT!
Une prise en compte plus élaborée des langages rend impossible le maintien de la compatibilité avec Perl 5.8. Exprimé autrement, il est impossible d'analyser certaines constructions dans le cadre du présent automate lexicographique SimpleParse.pm. Elles peuvent certes être décrites par expressions régulières complexes, mais elles mettent en échec le mécanisme de capture de l'automate.
Mettez à jour votre Perl à la version 5.10 au minimum.
Configure de façon fiable LXR et sa base données en l'espace de quelques minutes, élimine le besoin d'éditer lxr.conf (sauf bien entendu le cas d'optimisation pointue).
L'accès est volontairement limité aux dépôts locaux
(i.e. l'URL est de la forme file:///...
).
Propose une alternative pour les petits arbres (ne doit pas être envisagé pour les arbres moyens et gros en raison de performance insuffisante).
Aboutit à un notable gain de performance malgré le nombre de nouvelles fonctionnalités.
Lors d'une indexation sans l'option --reindexall
,
les anciennes définitions et références sont maintenant correctement
effacées de la base de données, ne laissant plus de faux doubles.
Dans le cas courant d'un arbre source stocké dans des fichiers ordinaires, suppression des copies vers des fichiers temporaires pour travailler directement sur les originaux.
Configurer correctement LXR pour le noyau Linux a toujours été un supplice.
Le nouveau modèle de configuration contient une pléthore de 'variables'
pour résoudre les #include
virtuels présents dans le source.
'maps'
'variables'
conditionnelles
La nouvelle clause 'when'
indique quand le contexte est valide pour une variable.
La recherche Case insensitive est désormais réellement insensible à la casse.
Peut comparer deux fichiers différant d'un nombre quelconque de 'variables'
si cela a un sens
(seulement sous interface boutons-et-menus).
Sous-répertoires plus nombreux pour que seuls les scripts principaux restent à la racine.
Première étape vers une installation automatisée.
Fonctionne avec les modules MPM Prefork et Worker.
Changement d'arbre intégré.
Sélection du style appliqué par l'utilisateur avec les navigateurs compatibles .
Les branches latérales sont maintenant accessibles et indexées.
'variables'
peuvent porter n'importe quel nom
Les arguments internes utilisés dans l'URL
sont désormais préfixés par _
(souligné)
de façon qu'ils n'entrent jamais en conflit avec les 'variables'
de configuration.
Couleurs de fond marquant les différences, définies par CSS
Possibilité de changer la largeur de la colonne de gauche avec un paramètre de configuration et un argument d'URL
Possibilité de limiter la recherche aux seules définitions; valeur par défaut définie par un paramètre de configuration
Résultats présentés dans une table pour éviter une présentation irrégulière
Résultats présentés dans une table pour éviter une présentation irrégulière
Avec Glimpse, la chaîne recherchée est mise en évidence dans le fragment du texte trouvé.
Ajout de la description de JavaScript
Ajout d'une description élémentaire de Ruby
Corrections à la description de Python
Analyse de langage, compatibilité Perl, …
Possibilité d'annoter l'arbre-source avec des commentaires conservés dans la base de données de façon qu'ils persistent entre les sessions.