Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec la fonction insert

4 réponses
Avatar
Nicolas Matringe
Bonsoir

J'utilise la fonction (insert "acedfxxx") pour ajouter du texte dans un
fichier, or le texte effectivement inséré n'est pas celui que j'ai spécifié.
Mon code elisp est (insert "htFF9050070000")
et le résultat dans le fichier final : ht7FE44500130000

Comme si la chaîne était interprétée comme des nombres hexadécimaux et
que des 0 étaient insérés dedans.
C'est normal ? Comment faire pour insérer littéralement mes caractères ?

Merci d'avance
Nicolas

4 réponses

Avatar
Vincent Belaïche
Salut,

Elisp est un langage à portée dynamique, es-tu sûr que la fonction insert qui
est appelée est la fonction insert standard, ou bien est-ce qu'elle n'est pas
surchargée dans le contexte où tu l'appelles.

Sinon autre piste, est-ce que ton code Elisp est dans un fichier encodée en
UTF8 et l'insertion est faite dans un fichier en ASCII.

A+,
Vincent.

Nicolas Matringe a écrit :
Bonsoir

J'utilise la fonction (insert "acedfxxx") pour ajouter du texte dans un
fichier, or le texte effectivement inséré n'est pas celui que j'ai
spécifié.
Mon code elisp est (insert "htFF9050070000")
et le résultat dans le fichier final : ht7FE44500130000

Comme si la chaîne était interprétée comme des nombres hexadécimaux et
que des 0 étaient insérés dedans.
C'est normal ? Comment faire pour insérer littéralement mes caractères ?

Merci d'avance
Nicolas
Avatar
Nicolas Matringe
Bonsoir

Vincent Belaïche a écrit :
Salut,

Elisp est un langage à portée dynamique, es-tu sûr que la fonction
insert qui est appelée est la fonction insert standard, ou bien est-ce
qu'elle n'est pas surchargée dans le contexte où tu l'appelles.



Je ne pense pas mais comment en être sûr? Si c'est le cas ce n'est en
tout cas pas de mon fait.


Sinon autre piste, est-ce que ton code Elisp est dans un fichier encodée
en UTF8 et l'insertion est faite dans un fichier en ASCII.



C'est une possibilité... Mais il me semble tout de même très étrange que
les caractères FF se transforment en 7FE. Ce sont des caractères, des
lettres, pas des représentations numériques.

Juste pour me rafraîchir la mémoire et si ce n'est pas abuser, comment
fait-on déjà pour voir le codage utilisé ?

Merci
Nicolas
A+,
Vincent.

Nicolas Matringe a écrit :
Bonsoir

J'utilise la fonction (insert "acedfxxx") pour ajouter du texte dans
un fichier, or le texte effectivement inséré n'est pas celui que j'ai
spécifié.
Mon code elisp est (insert "htFF9050070000")
et le résultat dans le fichier final : ht7FE44500130000

Comme si la chaîne était interprétée comme des nombres hexadécimaux et
que des 0 étaient insérés dedans.
C'est normal ? Comment faire pour insérer littéralement mes caractères ?

Merci d'avance
Nicolas
Avatar
Nicolas Matringe
On Nov 27, 7:58 pm, Nicolas Matringe wrote:
Bonsoir

Vincent Belaïche a écrit :

> Salut,

> Elisp est un langage à portée dynamique, es-tu sûr que la fonctio n
> insert qui est appelée est la fonction insert standard, ou bien est-c e
> qu'elle n'est pas surchargée dans le contexte où tu l'appelles.

Je ne pense pas mais comment en être sûr? Si c'est le cas ce n'est en
tout cas pas de mon fait.

> Sinon autre piste, est-ce que ton code Elisp est dans un fichier encod ée
> en UTF8 et l'insertion est faite dans un fichier en ASCII.

C'est une possibilité... Mais il me semble tout de même très étra nge que
les caractères FF se transforment en 7FE. Ce sont des caractères, des
lettres, pas des représentations numériques.



Après vérification, les deux fichiers (le .el et le fichier cible)
sont en iso-latin-1-dos
Je cherche une éventuelle autre fonction insert dans les modes déjà
chargés par ailleurs...

Nicolas
Avatar
Xavier Maillard
Nicolas Matringe writes:

Je cherche une éventuelle autre fonction insert dans les modes déjà
chargés par ailleurs...



C-h f insert RET

Sinon, verifie que tu n'as pas ce comportement en lancant emacs
-Q.