le Sunday 01 February 2004 15:49, écrivit :Samuel Krempp writes:
|> le Sunday 01 February 2004 13:14, écrivit :
|> > probablement de maintenir les fichiers dans le format
|> > normalisé (qui est pour une fois celui qu'utilise Microsoft),
|> > et d'utiliser un
|> ah bon ? c'est la norme C++ qui précise ça ?
C'est la norme ASCII. Celle qui définit le jeu de caractères dont tu
te sers.
ah d'accord, je viens de voir la liste des codes Ascii 0-31
(non-printable), qui inclue CR et LF. Effectivement si on cherche à
donner un sens à un maximum de ces symboles du point de vue plus
abstrait du codage de texte, une ligne pourrait se terminer en CR/LF
par analogie aux machines à écrire (et terminaux antiques).
Je trouve que le choix de CR/LF ou LF seul pour signifier la fin de
ligne dépasse de tte façon le cadre su standard ascii, unix a choisi
un standard, windows un autre (plus proche des significations
originales de CR/LF).
Mais finalement toute la partie ASCII qui sort des caractères lisibles
est en fait un standard de terminal, pas de codage du texte.
ça rime pas à grand chose d'essayer de reprendre le plus possible de
ces choses terminalesques dans un standard de codage de texte.
Dans les codages de texte plus récents et plus complets (iso*,
unicode), il y a un symbole 'fin de ligne', ou bien c'est encore
remplacé par emprunt de CR/et/ou/LF au domaine des terminaux ?
M'enfin
ensuite c'est la porte ouverte à des symboles pour fin de paragraphe,
fin de chapitre.. finalement la vraie place de la 'fin de ligne' n'est
peut être pas dans le jeu de caractères mais dans l'interpretation du
flux de caractères, qui ne devrait pas inclure de fin de ligne du tout
mais seulement l'indication de sa structure, comme ça se passe en
html..
enfin bon, en attendant on tape Entrée un peu partout pour donner un
minimu de structure aux codes sources et messages texte, et c'est pas
idéal mais c'est pas si mal..
enfin, pour les codes sources ce serait tout de meme mieux que tout le
formattage soit fait par l'éditeur/visualiseur, et que le source en
soit indépendant.
Ce qui m'amnèe à une question finalement en thème : y a des outils
pour réindenter complètement (y compris ajouter/supprimer des fins de
ligne) des sources C++ ?
le Sunday 01 February 2004 15:49, kanze@gabi-soft.fr écrivit :
Samuel Krempp <krempp@crans.truc.en.trop.ens-cachan.fr> writes:
|> le Sunday 01 February 2004 13:14, kanze@gabi-soft.fr écrivit :
|> > probablement de maintenir les fichiers dans le format
|> > normalisé (qui est pour une fois celui qu'utilise Microsoft),
|> > et d'utiliser un
|> ah bon ? c'est la norme C++ qui précise ça ?
C'est la norme ASCII. Celle qui définit le jeu de caractères dont tu
te sers.
ah d'accord, je viens de voir la liste des codes Ascii 0-31
(non-printable), qui inclue CR et LF. Effectivement si on cherche à
donner un sens à un maximum de ces symboles du point de vue plus
abstrait du codage de texte, une ligne pourrait se terminer en CR/LF
par analogie aux machines à écrire (et terminaux antiques).
Je trouve que le choix de CR/LF ou LF seul pour signifier la fin de
ligne dépasse de tte façon le cadre su standard ascii, unix a choisi
un standard, windows un autre (plus proche des significations
originales de CR/LF).
Mais finalement toute la partie ASCII qui sort des caractères lisibles
est en fait un standard de terminal, pas de codage du texte.
ça rime pas à grand chose d'essayer de reprendre le plus possible de
ces choses terminalesques dans un standard de codage de texte.
Dans les codages de texte plus récents et plus complets (iso*,
unicode), il y a un symbole 'fin de ligne', ou bien c'est encore
remplacé par emprunt de CR/et/ou/LF au domaine des terminaux ?
M'enfin
ensuite c'est la porte ouverte à des symboles pour fin de paragraphe,
fin de chapitre.. finalement la vraie place de la 'fin de ligne' n'est
peut être pas dans le jeu de caractères mais dans l'interpretation du
flux de caractères, qui ne devrait pas inclure de fin de ligne du tout
mais seulement l'indication de sa structure, comme ça se passe en
html..
enfin bon, en attendant on tape Entrée un peu partout pour donner un
minimu de structure aux codes sources et messages texte, et c'est pas
idéal mais c'est pas si mal..
enfin, pour les codes sources ce serait tout de meme mieux que tout le
formattage soit fait par l'éditeur/visualiseur, et que le source en
soit indépendant.
Ce qui m'amnèe à une question finalement en thème : y a des outils
pour réindenter complètement (y compris ajouter/supprimer des fins de
ligne) des sources C++ ?
le Sunday 01 February 2004 15:49, écrivit :Samuel Krempp writes:
|> le Sunday 01 February 2004 13:14, écrivit :
|> > probablement de maintenir les fichiers dans le format
|> > normalisé (qui est pour une fois celui qu'utilise Microsoft),
|> > et d'utiliser un
|> ah bon ? c'est la norme C++ qui précise ça ?
C'est la norme ASCII. Celle qui définit le jeu de caractères dont tu
te sers.
ah d'accord, je viens de voir la liste des codes Ascii 0-31
(non-printable), qui inclue CR et LF. Effectivement si on cherche à
donner un sens à un maximum de ces symboles du point de vue plus
abstrait du codage de texte, une ligne pourrait se terminer en CR/LF
par analogie aux machines à écrire (et terminaux antiques).
Je trouve que le choix de CR/LF ou LF seul pour signifier la fin de
ligne dépasse de tte façon le cadre su standard ascii, unix a choisi
un standard, windows un autre (plus proche des significations
originales de CR/LF).
Mais finalement toute la partie ASCII qui sort des caractères lisibles
est en fait un standard de terminal, pas de codage du texte.
ça rime pas à grand chose d'essayer de reprendre le plus possible de
ces choses terminalesques dans un standard de codage de texte.
Dans les codages de texte plus récents et plus complets (iso*,
unicode), il y a un symbole 'fin de ligne', ou bien c'est encore
remplacé par emprunt de CR/et/ou/LF au domaine des terminaux ?
M'enfin
ensuite c'est la porte ouverte à des symboles pour fin de paragraphe,
fin de chapitre.. finalement la vraie place de la 'fin de ligne' n'est
peut être pas dans le jeu de caractères mais dans l'interpretation du
flux de caractères, qui ne devrait pas inclure de fin de ligne du tout
mais seulement l'indication de sa structure, comme ça se passe en
html..
enfin bon, en attendant on tape Entrée un peu partout pour donner un
minimu de structure aux codes sources et messages texte, et c'est pas
idéal mais c'est pas si mal..
enfin, pour les codes sources ce serait tout de meme mieux que tout le
formattage soit fait par l'éditeur/visualiseur, et que le source en
soit indépendant.
Ce qui m'amnèe à une question finalement en thème : y a des outils
pour réindenter complètement (y compris ajouter/supprimer des fins de
ligne) des sources C++ ?
Oui et non. Tout dépend de ce que tu entends par ligne. Sous Unix, en
fait, on considère la plupart du temps les lignes comme des
enregistrements, et la norme C a consacré cette idée avec sa définition
de mode texte des entrées/sorties. Mais en ASCII, le caractère pour
séparer les enregistrements, c'est RS (0x1E).
terminal (typiquement imprimante, à l'époque), par exemple BEL, TAB ou
CR, LF, tandis que d'autres n'ont une signification que dans le
contexte de la transmission de données, comme STX, ETX, ou NAK. Et il y
en a d'autres.
D'une côté, je suis d'accord avec toi, et il n'y a aucune raison pour
qu'un système ne choisit pas la convention qui lui convient, interne. Le
problème, c'est qu'avec NFS, il n'y a plus d'interne -- idéalement, NFS
aurait aussi la notion de fichier texte et de fichier binaire, comme
C/C++ et FTP, mais je ne crois pas que ça risque de changer maintenant.
Tu veux dire comme u0085, Unicode NEXT LINE ? D'après le code,
j'imagine qu'il fait partie des ISO 8859-n aussi.
C'est sans doute la vraie solution quand il s'agit de texte. Les fins de
lignes (CRLF, etc.) dans la texte ne servent que pour faciliter
l'affichage du texte source, dans l'éditeur, etc. Mais on n'en est pas
là, et si une ligne dans ton programme C++ commence #define, la fin de
la ligne a une signification sémantique plus que de simples éspaces.
Il y a « indent-region » en Emacs (que j'ai lié à la touche ^C-N chez
moi), mais il ne changerait que l'indentation -- il ne change rien au
delà du premier non-blanc dans la ligne, et il ne supprime ni inserte
jamais de 'n'.
Oui et non. Tout dépend de ce que tu entends par ligne. Sous Unix, en
fait, on considère la plupart du temps les lignes comme des
enregistrements, et la norme C a consacré cette idée avec sa définition
de mode texte des entrées/sorties. Mais en ASCII, le caractère pour
séparer les enregistrements, c'est RS (0x1E).
terminal (typiquement imprimante, à l'époque), par exemple BEL, TAB ou
CR, LF, tandis que d'autres n'ont une signification que dans le
contexte de la transmission de données, comme STX, ETX, ou NAK. Et il y
en a d'autres.
D'une côté, je suis d'accord avec toi, et il n'y a aucune raison pour
qu'un système ne choisit pas la convention qui lui convient, interne. Le
problème, c'est qu'avec NFS, il n'y a plus d'interne -- idéalement, NFS
aurait aussi la notion de fichier texte et de fichier binaire, comme
C/C++ et FTP, mais je ne crois pas que ça risque de changer maintenant.
Tu veux dire comme u0085, Unicode NEXT LINE ? D'après le code,
j'imagine qu'il fait partie des ISO 8859-n aussi.
C'est sans doute la vraie solution quand il s'agit de texte. Les fins de
lignes (CRLF, etc.) dans la texte ne servent que pour faciliter
l'affichage du texte source, dans l'éditeur, etc. Mais on n'en est pas
là, et si une ligne dans ton programme C++ commence #define, la fin de
la ligne a une signification sémantique plus que de simples éspaces.
Il y a « indent-region » en Emacs (que j'ai lié à la touche ^C-N chez
moi), mais il ne changerait que l'indentation -- il ne change rien au
delà du premier non-blanc dans la ligne, et il ne supprime ni inserte
jamais de 'n'.
Oui et non. Tout dépend de ce que tu entends par ligne. Sous Unix, en
fait, on considère la plupart du temps les lignes comme des
enregistrements, et la norme C a consacré cette idée avec sa définition
de mode texte des entrées/sorties. Mais en ASCII, le caractère pour
séparer les enregistrements, c'est RS (0x1E).
terminal (typiquement imprimante, à l'époque), par exemple BEL, TAB ou
CR, LF, tandis que d'autres n'ont une signification que dans le
contexte de la transmission de données, comme STX, ETX, ou NAK. Et il y
en a d'autres.
D'une côté, je suis d'accord avec toi, et il n'y a aucune raison pour
qu'un système ne choisit pas la convention qui lui convient, interne. Le
problème, c'est qu'avec NFS, il n'y a plus d'interne -- idéalement, NFS
aurait aussi la notion de fichier texte et de fichier binaire, comme
C/C++ et FTP, mais je ne crois pas que ça risque de changer maintenant.
Tu veux dire comme u0085, Unicode NEXT LINE ? D'après le code,
j'imagine qu'il fait partie des ISO 8859-n aussi.
C'est sans doute la vraie solution quand il s'agit de texte. Les fins de
lignes (CRLF, etc.) dans la texte ne servent que pour faciliter
l'affichage du texte source, dans l'éditeur, etc. Mais on n'en est pas
là, et si une ligne dans ton programme C++ commence #define, la fin de
la ligne a une signification sémantique plus que de simples éspaces.
Il y a « indent-region » en Emacs (que j'ai lié à la touche ^C-N chez
moi), mais il ne changerait que l'indentation -- il ne change rien au
delà du premier non-blanc dans la ligne, et il ne supprime ni inserte
jamais de 'n'.
oui et pour les commentaire // aussi, c'est le seul vrai rôle des fins de
lignes dans du code source. (outre le fait qu'en pratique le compilateur
donne le num de ligne à laquelle il a diagnostiqué l'erreur, et que __LINE
est une macro bien pratique)
oui et pour les commentaire // aussi, c'est le seul vrai rôle des fins de
lignes dans du code source. (outre le fait qu'en pratique le compilateur
donne le num de ligne à laquelle il a diagnostiqué l'erreur, et que __LINE
est une macro bien pratique)
oui et pour les commentaire // aussi, c'est le seul vrai rôle des fins de
lignes dans du code source. (outre le fait qu'en pratique le compilateur
donne le num de ligne à laquelle il a diagnostiqué l'erreur, et que __LINE
est une macro bien pratique)
[Gros, long, énorme couic]
Enfin la situation n'est pas tout à fait désespérée,
je crois qu'il y a un portage de linux pour ibm390 :)
Tu n'as pas l'air de te rendre compte. S'il y a encore des utilisateurs
des IBM 390, c'est qu'ils ont besoin d'un système ultra stable, qui
marche.
[Gros, long, énorme couic]
Enfin la situation n'est pas tout à fait désespérée,
je crois qu'il y a un portage de linux pour ibm390 :)
Tu n'as pas l'air de te rendre compte. S'il y a encore des utilisateurs
des IBM 390, c'est qu'ils ont besoin d'un système ultra stable, qui
marche.
[Gros, long, énorme couic]
Enfin la situation n'est pas tout à fait désespérée,
je crois qu'il y a un portage de linux pour ibm390 :)
Tu n'as pas l'air de te rendre compte. S'il y a encore des utilisateurs
des IBM 390, c'est qu'ils ont besoin d'un système ultra stable, qui
marche.
et les outils habituels de traitement de
texte (je pense à grep, par exemple) sont inutilisables.
ah bon ? ah oui, tout ce qui se base sur une ligne, c vrai..
et les outils habituels de traitement de
texte (je pense à grep, par exemple) sont inutilisables.
ah bon ? ah oui, tout ce qui se base sur une ligne, c vrai..
et les outils habituels de traitement de
texte (je pense à grep, par exemple) sont inutilisables.
ah bon ? ah oui, tout ce qui se base sur une ligne, c vrai..
l'éditeur de code pourrait restreindre les libertés du codeur
le codeur taperait
seulement le code, au kilometre et l'éditeur l'afficherait comme il faut,
de manière adaptée à la structure du code.
l'éditeur de code pourrait restreindre les libertés du codeur
le codeur taperait
seulement le code, au kilometre et l'éditeur l'afficherait comme il faut,
de manière adaptée à la structure du code.
l'éditeur de code pourrait restreindre les libertés du codeur
le codeur taperait
seulement le code, au kilometre et l'éditeur l'afficherait comme il faut,
de manière adaptée à la structure du code.
wrote:
Toi tu n'as pas l'air de te rendre compte que les lignes de mon
messages se terminent souvent par :) Elles ne sont donc pas
nécessairement à prendre au premier degré (les autres non plus,
d'ailleurs, je n'aurais pas cette prétention). Que tu le veuilles ou
non, c'est ainsi, la vie n'est pas uniquement faite de 0 et de 1, il y
a plein de trucs entre les deux :)
Je ne dispose pas de beaucoup de temps pour poursuivre ce débat,
d'autant plus passionnant que nous disons à peu près la même chose, ce
qui offre encore plus de possibilités d'ergoter sur tous les mots
pendant des pages. Donc je te laisse avec plaisir le dernier mot que
j'espère bien te voir relever avec brio.
Tiens, au fait, il me vient une question : c'est codé comment une fin
de page ?
PS. j'aime bien tes envolées d'autant plus lyriques que les sujets sont
sans intérêt.
kanze@gabi-soft.fr wrote:
Toi tu n'as pas l'air de te rendre compte que les lignes de mon
messages se terminent souvent par :) Elles ne sont donc pas
nécessairement à prendre au premier degré (les autres non plus,
d'ailleurs, je n'aurais pas cette prétention). Que tu le veuilles ou
non, c'est ainsi, la vie n'est pas uniquement faite de 0 et de 1, il y
a plein de trucs entre les deux :)
Je ne dispose pas de beaucoup de temps pour poursuivre ce débat,
d'autant plus passionnant que nous disons à peu près la même chose, ce
qui offre encore plus de possibilités d'ergoter sur tous les mots
pendant des pages. Donc je te laisse avec plaisir le dernier mot que
j'espère bien te voir relever avec brio.
Tiens, au fait, il me vient une question : c'est codé comment une fin
de page ?
PS. j'aime bien tes envolées d'autant plus lyriques que les sujets sont
sans intérêt.
wrote:
Toi tu n'as pas l'air de te rendre compte que les lignes de mon
messages se terminent souvent par :) Elles ne sont donc pas
nécessairement à prendre au premier degré (les autres non plus,
d'ailleurs, je n'aurais pas cette prétention). Que tu le veuilles ou
non, c'est ainsi, la vie n'est pas uniquement faite de 0 et de 1, il y
a plein de trucs entre les deux :)
Je ne dispose pas de beaucoup de temps pour poursuivre ce débat,
d'autant plus passionnant que nous disons à peu près la même chose, ce
qui offre encore plus de possibilités d'ergoter sur tous les mots
pendant des pages. Donc je te laisse avec plaisir le dernier mot que
j'espère bien te voir relever avec brio.
Tiens, au fait, il me vient une question : c'est codé comment une fin
de page ?
PS. j'aime bien tes envolées d'autant plus lyriques que les sujets sont
sans intérêt.
wrote:Oui et non. Tout dépend de ce que tu entends par ligne. Sous Unix,
en fait, on considère la plupart du temps les lignes comme des
enregistrements, et la norme C a consacré cette idée avec sa
définition de mode texte des entrées/sorties. Mais en ASCII, le
caractère pour séparer les enregistrements, c'est RS (0x1E).
effectivement, c'est bien le rôle que joue n en pratique. mais bon,
si j'ai bien compris la norme C définit LF pour ça, ça en fait une
norme au moins aussi fondamentale que les normes du net que tu cites.
(d'ailleurs qui ne s'applique qu'aux headers des messages transmis,
pas au texte lui même)
terminal (typiquement imprimante, à l'époque), par exemple BEL, TAB
ou CR, LF, tandis que d'autres n'ont une signification que dans le
contexte de la transmission de données, comme STX, ETX, ou NAK. Et
il y en a d'autres.
c'est un peu batârd de mélanger les 2 dans un seul standard, de nos
jours on ferait pas comme ça :)
D'une côté, je suis d'accord avec toi, et il n'y a aucune raison
pour qu'un système ne choisit pas la convention qui lui convient,
interne. Le problème, c'est qu'avec NFS, il n'y a plus d'interne --
idéalement, NFS aurait aussi la notion de fichier texte et de
fichier binaire, comme C/C++ et FTP, mais je ne crois pas que ça
risque de changer maintenant.
hof, finalement ça pose pas tant de problèmes que ça si ? vu que de
toute façon toutes les applications se doutent bien que LF signifie
fin de ligne, et que CR/LF aussi, ya pas de méprise possible.
Bien qu'en fait, avec des echanges par cvs et tout plein d'interaction
unix/windows il peut finir par arriver des choses étranges (des
centaines d'occurences de 'CR CR LF' d'origine incertaine dans le
repository cvs de boost par exemple)
Autant que les couches de transport ne se mêlent pas de ça, ça a
plutot tendance à compliquer les choses je trouve.
Tu veux dire comme u0085, Unicode NEXT LINE ? D'après le code,
j'imagine qu'il fait partie des ISO 8859-n aussi.
ah voilà, je me doutais que ça devait exister.
C'est sans doute la vraie solution quand il s'agit de texte. Les
fins de lignes (CRLF, etc.) dans la texte ne servent que pour
faciliter l'affichage du texte source, dans l'éditeur, etc. Mais on
n'en est pas là, et si une ligne dans ton programme C++ commence
#define, la fin de la ligne a une signification sémantique plus que
de simples éspaces.
oui et pour les commentaire // aussi, c'est le seul vrai rôle des fins
de lignes dans du code source. (outre le fait qu'en pratique le
compilateur donne le num de ligne à laquelle il a diagnostiqué
l'erreur, et que __LINE est une macro bien pratique)
ça n'empecherait pas de laisser l'editeur gerer les fins de ligne..
Il y a « indent-region » en Emacs (que j'ai lié à la touche ^C-N
chez moi), mais il ne changerait que l'indentation -- il ne change
rien au delà du premier non-blanc dans la ligne, et il ne supprime
ni inserte jamais de 'n'.
oui j'utilise aussi, mais ça ne fait que regler l'indentation, pas le
formattage complet d'un fichier source.
Pour ça il faudrait avoir des algos qui pesent le pour et le contre
d'ajouter une nouvelle ligne au milieu d'un appel de fction à plusieurs
arguments selon la longueur de ligne résultante, le contexte, etc..
kanze@gabi-soft.fr wrote:
Oui et non. Tout dépend de ce que tu entends par ligne. Sous Unix,
en fait, on considère la plupart du temps les lignes comme des
enregistrements, et la norme C a consacré cette idée avec sa
définition de mode texte des entrées/sorties. Mais en ASCII, le
caractère pour séparer les enregistrements, c'est RS (0x1E).
effectivement, c'est bien le rôle que joue n en pratique. mais bon,
si j'ai bien compris la norme C définit LF pour ça, ça en fait une
norme au moins aussi fondamentale que les normes du net que tu cites.
(d'ailleurs qui ne s'applique qu'aux headers des messages transmis,
pas au texte lui même)
terminal (typiquement imprimante, à l'époque), par exemple BEL, TAB
ou CR, LF, tandis que d'autres n'ont une signification que dans le
contexte de la transmission de données, comme STX, ETX, ou NAK. Et
il y en a d'autres.
c'est un peu batârd de mélanger les 2 dans un seul standard, de nos
jours on ferait pas comme ça :)
D'une côté, je suis d'accord avec toi, et il n'y a aucune raison
pour qu'un système ne choisit pas la convention qui lui convient,
interne. Le problème, c'est qu'avec NFS, il n'y a plus d'interne --
idéalement, NFS aurait aussi la notion de fichier texte et de
fichier binaire, comme C/C++ et FTP, mais je ne crois pas que ça
risque de changer maintenant.
hof, finalement ça pose pas tant de problèmes que ça si ? vu que de
toute façon toutes les applications se doutent bien que LF signifie
fin de ligne, et que CR/LF aussi, ya pas de méprise possible.
Bien qu'en fait, avec des echanges par cvs et tout plein d'interaction
unix/windows il peut finir par arriver des choses étranges (des
centaines d'occurences de 'CR CR LF' d'origine incertaine dans le
repository cvs de boost par exemple)
Autant que les couches de transport ne se mêlent pas de ça, ça a
plutot tendance à compliquer les choses je trouve.
Tu veux dire comme u0085, Unicode NEXT LINE ? D'après le code,
j'imagine qu'il fait partie des ISO 8859-n aussi.
ah voilà, je me doutais que ça devait exister.
C'est sans doute la vraie solution quand il s'agit de texte. Les
fins de lignes (CRLF, etc.) dans la texte ne servent que pour
faciliter l'affichage du texte source, dans l'éditeur, etc. Mais on
n'en est pas là, et si une ligne dans ton programme C++ commence
#define, la fin de la ligne a une signification sémantique plus que
de simples éspaces.
oui et pour les commentaire // aussi, c'est le seul vrai rôle des fins
de lignes dans du code source. (outre le fait qu'en pratique le
compilateur donne le num de ligne à laquelle il a diagnostiqué
l'erreur, et que __LINE est une macro bien pratique)
ça n'empecherait pas de laisser l'editeur gerer les fins de ligne..
Il y a « indent-region » en Emacs (que j'ai lié à la touche ^C-N
chez moi), mais il ne changerait que l'indentation -- il ne change
rien au delà du premier non-blanc dans la ligne, et il ne supprime
ni inserte jamais de 'n'.
oui j'utilise aussi, mais ça ne fait que regler l'indentation, pas le
formattage complet d'un fichier source.
Pour ça il faudrait avoir des algos qui pesent le pour et le contre
d'ajouter une nouvelle ligne au milieu d'un appel de fction à plusieurs
arguments selon la longueur de ligne résultante, le contexte, etc..
wrote:Oui et non. Tout dépend de ce que tu entends par ligne. Sous Unix,
en fait, on considère la plupart du temps les lignes comme des
enregistrements, et la norme C a consacré cette idée avec sa
définition de mode texte des entrées/sorties. Mais en ASCII, le
caractère pour séparer les enregistrements, c'est RS (0x1E).
effectivement, c'est bien le rôle que joue n en pratique. mais bon,
si j'ai bien compris la norme C définit LF pour ça, ça en fait une
norme au moins aussi fondamentale que les normes du net que tu cites.
(d'ailleurs qui ne s'applique qu'aux headers des messages transmis,
pas au texte lui même)
terminal (typiquement imprimante, à l'époque), par exemple BEL, TAB
ou CR, LF, tandis que d'autres n'ont une signification que dans le
contexte de la transmission de données, comme STX, ETX, ou NAK. Et
il y en a d'autres.
c'est un peu batârd de mélanger les 2 dans un seul standard, de nos
jours on ferait pas comme ça :)
D'une côté, je suis d'accord avec toi, et il n'y a aucune raison
pour qu'un système ne choisit pas la convention qui lui convient,
interne. Le problème, c'est qu'avec NFS, il n'y a plus d'interne --
idéalement, NFS aurait aussi la notion de fichier texte et de
fichier binaire, comme C/C++ et FTP, mais je ne crois pas que ça
risque de changer maintenant.
hof, finalement ça pose pas tant de problèmes que ça si ? vu que de
toute façon toutes les applications se doutent bien que LF signifie
fin de ligne, et que CR/LF aussi, ya pas de méprise possible.
Bien qu'en fait, avec des echanges par cvs et tout plein d'interaction
unix/windows il peut finir par arriver des choses étranges (des
centaines d'occurences de 'CR CR LF' d'origine incertaine dans le
repository cvs de boost par exemple)
Autant que les couches de transport ne se mêlent pas de ça, ça a
plutot tendance à compliquer les choses je trouve.
Tu veux dire comme u0085, Unicode NEXT LINE ? D'après le code,
j'imagine qu'il fait partie des ISO 8859-n aussi.
ah voilà, je me doutais que ça devait exister.
C'est sans doute la vraie solution quand il s'agit de texte. Les
fins de lignes (CRLF, etc.) dans la texte ne servent que pour
faciliter l'affichage du texte source, dans l'éditeur, etc. Mais on
n'en est pas là, et si une ligne dans ton programme C++ commence
#define, la fin de la ligne a une signification sémantique plus que
de simples éspaces.
oui et pour les commentaire // aussi, c'est le seul vrai rôle des fins
de lignes dans du code source. (outre le fait qu'en pratique le
compilateur donne le num de ligne à laquelle il a diagnostiqué
l'erreur, et que __LINE est une macro bien pratique)
ça n'empecherait pas de laisser l'editeur gerer les fins de ligne..
Il y a « indent-region » en Emacs (que j'ai lié à la touche ^C-N
chez moi), mais il ne changerait que l'indentation -- il ne change
rien au delà du premier non-blanc dans la ligne, et il ne supprime
ni inserte jamais de 'n'.
oui j'utilise aussi, mais ça ne fait que regler l'indentation, pas le
formattage complet d'un fichier source.
Pour ça il faudrait avoir des algos qui pesent le pour et le contre
d'ajouter une nouvelle ligne au milieu d'un appel de fction à plusieurs
arguments selon la longueur de ligne résultante, le contexte, etc..
On Tue, 03 Feb 2004 12:40:23 +0100, Samuel Krempp
wrote:et les outils habituels de traitement de
texte (je pense à grep, par exemple) sont inutilisables.
ah bon ? ah oui, tout ce qui se base sur une ligne, c vrai..
Ce n'est pas le problème. Le problème que j'évoque, c'est que si
l'éditeur affiche le code d'une façon très différente du contenu du
fichier, on ne pourra pas ouvrir ledit fichier avec un autre éditeur
-- ou tout autre logiciel qui travaille sur du texte. C'est à peu près
ce qui se passe aujourd'hui avec les fichiers .doc de MS-Word.
On Tue, 03 Feb 2004 12:40:23 +0100, Samuel Krempp
<krempp@crans.truc.en.trop.ens-cachan.fr> wrote:
et les outils habituels de traitement de
texte (je pense à grep, par exemple) sont inutilisables.
ah bon ? ah oui, tout ce qui se base sur une ligne, c vrai..
Ce n'est pas le problème. Le problème que j'évoque, c'est que si
l'éditeur affiche le code d'une façon très différente du contenu du
fichier, on ne pourra pas ouvrir ledit fichier avec un autre éditeur
-- ou tout autre logiciel qui travaille sur du texte. C'est à peu près
ce qui se passe aujourd'hui avec les fichiers .doc de MS-Word.
On Tue, 03 Feb 2004 12:40:23 +0100, Samuel Krempp
wrote:et les outils habituels de traitement de
texte (je pense à grep, par exemple) sont inutilisables.
ah bon ? ah oui, tout ce qui se base sur une ligne, c vrai..
Ce n'est pas le problème. Le problème que j'évoque, c'est que si
l'éditeur affiche le code d'une façon très différente du contenu du
fichier, on ne pourra pas ouvrir ledit fichier avec un autre éditeur
-- ou tout autre logiciel qui travaille sur du texte. C'est à peu près
ce qui se passe aujourd'hui avec les fichiers .doc de MS-Word.
Il me semble que pour aboutir à l'inconvénient que tu signales,
il faut que l'éditeur mette à jour le fichier sous un autre format
que l'originel.
Il me semble que pour aboutir à l'inconvénient que tu signales,
il faut que l'éditeur mette à jour le fichier sous un autre format
que l'originel.
Il me semble que pour aboutir à l'inconvénient que tu signales,
il faut que l'éditeur mette à jour le fichier sous un autre format
que l'originel.