[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ligne vide (etait croneries)



> Le monsieur qui t'as parle de ligne vide utilise probablement emacs. En
> matiere de ligne, emacs est un mauvais editeur. 

> En effet, sous unix,
> normalement une ligne est *terminee* par un retour chariot (\n), 

Si on part de ces hypothèses, on peut effectivement tenir le
raisonnement présenté (et obtenir le jugement "emacs est un mauvais
éditeur") mais ...

Encore ce matin, j'ai eu le tour avec le fichier /etc/fstab (petite
parenthèse, la commande mount qui s'ensuit rale mais ... effectue
néanmoins (en douce) le montage, réflexe on fonce corriger et on
redemande le montage et le système se moque de nous en disant que
c'est déjà fait ... ggggrrrrrrrrrrrrrrrrr)

Curieusement, à partir des mêmes symptômes (hurlage pour dernière
ligne foireuse), personnellement je n'aboutis pas du tout à la même
conclusion... Moi, ma conclusion est que  certains outils [cron,
mount, make, autres ?? ] qui analysent les fichiers de conf unix sont
relativement "stupides/aveugles" au point de se plaindre alors que
l'information nécessaire au bon fonctionnement est disponible (et
éventuellement déjà lue!)

Ce n'est donc pas la faute des éditeurs quels qu'ils soient, car
l'opérateur humain y inscrit l'information nécessaire (selon lui) au
bon fonctionnement du système...
La question est plutôt : en quoi un caractère retour chariot en fin de
dernière ligne est une *information pertinente* pour mount/make et
autres... ??
(corollaire : pourquoi la fin de fichier je joue pas le rôle de ce
retour chariot tant attendu ?)

Petite piste (travaillant un peu la question des parsers j'ai ma
petite idée qui pourrait être confirmée ou démentie par toute personne
ayant le temps/courage de regarder les sources de l'un de ces
outils...)

Si l'analyse se fait sur une itération 'pour chaque ligne du fichier'
de la forme 'vérifier la ligne & vérifier la fin de ligne',
inexorablement cela pose un problème d'analyse à la dernière itération
...

PS : Nous sommes à l'intersection de considérations mécaniques
(analyse de fichier), ergonomiques (pour un RC inutile?) et peut-être
éventuellement  historique  ??? pas facile de juger... 

PS2 : au passage, l'hypothèse du retour chariot comme "terminateur" de
ligne et non pas comme "séparateur" peut être largement contestée. Si
vous relisez les manuels de références de langages informatiques (peu
importe lesquels), il est facile de constaté que de nombreux
caractères _perçus_ (ergonomie)  comme des "terminateurs" sont en fait
_spécifiés_ (théorie) comme des "séparateurs" et _tolérés_ (pratique)
comme des "terminateurs". Exemple incontournable, le ";".
Supposons que le retour-chariot soit le ";" du /etc/fstab, du
/etc/cron, et la boucle est bouclée.
Et ce n'est pas la faute d'emacs ;-) 
A+

--
# Georges MARIANO                 tel: (33) 03 20 43 84 06
# INRETS, 20 rue Elisee Reclus    fax: (33) 03 20 43 83 59
# 59650 Villeneuve d'Ascq         mailto:georges.mariano@inrets.fr
# FRANCE.                         
# http://www3.inrets.fr/Public/ESTAS/Mariano.Georges/
# http://www3.inrets.fr/B-Bibliography/



Reply to: