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

zsh m'em@&de (zsh: correct)

17 réponses
Avatar
unbewusst.sein
j'ai un script dans mon dossier ~/bin qui se nomme "itunes", ça permet
de lister les # playlists et d'en jouer une.

ça roule excepté que zsh veut tjs corriger 'itunes' en 'tunefs' (je ne
sais pas ce que c'est) pourtant j'ai lancé la commande 'itunes'
plusieurs fois, il n'y a pas un mécanisme, à travers l'history, qui
change ce genre d'ennoying suggestion ?

aussi il n'aime pas l'argument playlist? (qui liste les playlists) je
doit le mettre entre "" pour que zsh se taise...

--
« Je suis sûr que la gaîté ambiguë du drôle de garçon qui a bu du
whisky et fait le zèbre sur un vieux caïman à Noël dans le cañon, a été
bénéfique à l'âme du poète blême, ainsi qu'à son c½ur & cætera ! »
(© Jean-Paul Blanc)

7 réponses

1 2
Avatar
unbewusst.sein
JiPaul wrote:

> C'est un bug du couper/coller de MacSOUP écrit avec du charbon. Mais
> tant que les utilisateurs payent ce soft, pourquoi l'auteur
> corrigerait-il ce bug connu depuis des années ?

Ah. Je comprends mieux. :-)
Donc en fait, une fois enlevé les guillemets parasites :
zsh-% itunes "playlist?"



zsh-% itunes playlist?
1 Bibliothèque

c'est bon avec escape...
je ne comprends pas d'ailleurs pourquoi l'auteur de ce script à mis un
"?", en ruby on met ça généralement pour les méthodes qui donnent un
booléen...

en fait je peux changer ça, quand je comprendrais cette regex :
/^pl(?:aylist)? *(.*)/
c'est dans le "parser" de commande de son script itunes...
je ne pige pas ce que signifie le ":" ici :
-------V---------------
/^pl(?:aylist)? *(.*)/

quand il y a playlist? en entrée le $1 de cette regex vaut ? donc c'est
le ? qui est sélectionné par (?:aylist)

il y a d'autres commandes commençant par p :
play joue la piste courante
pause arrête le jeu
p switch pause/play
pr previous

et malheureusement la commande :
playlist (sans ?) qui liste toutes les tracks...
j'en ai + de 3500, ça ne m'intéresse donc pas cette commande.

je constate qu'en fait Une Bévue avait trouvé de lui-même l'une (et même
deux) des trois solutions de neutralisation. Sans savoir que ce n'était
pas un bug mais une caractéristique normale des shells.



j'aurais du y penser moi-même ]:O

Par contre chez moi, je n'ai pas ce bug de MacSoup. Dans quelles
circonstances l'obtient-on ? Est-ce parce que mon Terminal est en "iso
Latin 9" ? Pourtant j'ai essayé avec UTF-8 et c'est pareil...



perso je suis en UTF-8

c'est assez "joyeux" surtout avec ruby 1.9 quand par ex tu as un path
comme ça :

--
« Je suis sûr que la gaîté ambiguë du drôle de garçon qui a bu du
whisky et fait le zèbre sur un vieux caïman à Noël dans le cañon, a été
bénéfique à l'âme du poète blême, ainsi qu'à son c½ur & cætera ! »
(© Jean-Paul Blanc)
Avatar
unbewusst.sein
Une Bévue wrote:

c'est assez "joyeux" surtout avec ruby 1.9 quand par ex tu as un path
comme ça :



oups :

"/Users/yt/Menu/Desk/Aperçu"

bon MacSOUP retraduit...

quand la cédille du ç se trouve après un c sans cédille...

Ruby 1.9 prétend, fallacieusement, que c'est de l'ASCII-8BIT

quand je "mélange" de l'UTF-8 avec ça qqfois (pas tjs ?) ruby me dit :
Encoding::CompatibilityError: incompatible character encodings:
ASCII-8BIT and UTF-8

et si j'essaie de passer ça en UTF-8 par :
hfs_path = Iconv.new('UTF-8', 'ASCII-8BIT', a.hfs_path.to_s)
il me dit :
NoMethodError: undefined method 'each' for
"HD:Users:yt:Menu:Desk:ApercxCCxA7u":String

je pensais que ruby 1.9 était basé sur ICU...
--
« Je suis sûr que la gaîté ambiguë du drôle de garçon qui a bu du
whisky et fait le zèbre sur un vieux caïman à Noël dans le cañon, a été
bénéfique à l'âme du poète blême, ainsi qu'à son c½ur & cætera ! »
(© Jean-Paul Blanc)
Avatar
Éric Lévénez
Le 16/05/10 19:09, David Remacle a écrit :

Et tu préconise quel lecteur de news pour Mac alors ?



Rien. Aucun lecteur de news n'est exempt de bug. J'utilise Thunderbird
qui a des bugs énormes d'affichage et qui ne sont pas corrigés, eux
aussi, depuis des lustres. Mais au moins ils ne font pas payer leurs
bugs, eux... Je préconise que ceux qui utilisent MacSOUP écrivent à son
auteur pour qu'il corrige les bugs Unicode et passe enfin à Cocoa. Et
une fois en Cocoa, une version iPhone serait sympa.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Avatar
blanc
Une Bévue wrote:

en fait je peux changer ça, quand je comprendrais cette regex :
/^pl(?:aylist)? *(.*)/
c'est dans le "parser" de commande de son script itunes...
je ne pige pas ce que signifie le ":" ici :
-------V---------------
/^pl(?:aylist)? *(.*)/

quand il y a playlist? en entrée le $1 de cette regex vaut ? donc c'est
le ? qui est sélectionné par (?:aylist)



Non.
Je ne connais pas ruby, mais je connais les regexp et ce que tu dis ne
va pas. Par contre j'ai trouvé ça :
<http://strugglingwithruby.blogspot.com/2009/05/regular-expressions-in-r
uby.html>

cherche le mot "question-mark-colon" et tu trouveras explication à ton
?:



--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
unbewusst.sein
JiPaul wrote:

Non.
Je ne connais pas ruby, mais je connais les regexp et ce que tu dis ne
va pas. Par contre j'ai trouvé ça :
<http://strugglingwithruby.blogspot.com/2009/05/regular-expressions-in-r
uby.html>

cherche le mot "question-mark-colon" et tu trouveras explication à ton
?:



merci, j'ai bien compris le ?: ça dit juste que ce n'est pas utilisé en
backref du coup je pige - encore moins - comment ça marche :
when /^pl(?:aylist)? *(.*)/
name = $1
if name == '?' # list all playlist names

et là, c'est sûr, quand $1 est capturé, je ne vois pas comment, c'est
quand j'entre playlist?
et à cause des ?: le $1 corresond au (.*) final, qui est vide, dans mon
cas...
--
« Je suis sûr que la gaîté ambiguë du drôle de garçon qui a bu du
whisky et fait le zèbre sur un vieux caïman à Noël dans le cañon, a été
bénéfique à l'âme du poète blême, ainsi qu'à son c½ur & cætera ! »
(© Jean-Paul Blanc)
Avatar
blanc
Une Bévue wrote:

when /^pl(?:aylist)? *(.*)/
name = $1
if name == '?' # list all playlist names

et là, c'est sûr, quand $1 est capturé, je ne vois pas comment, c'est
quand j'entre playlist?
et à cause des ?: le $1 corresond au (.*) final, qui est vide, dans mon
cas...



Si je ne me trompe, le deuxième ? du motif signifie juste que le groupe
(aylist) peut être présent ou absent (ce qui doit permettre une
abbréviation de 'playlist' en 'pl').
Quant au ? de ta commande, il faut que tu mettes une espace avant :
playlist ?
De cette manière il ira dans la variable name, et le test qui suit
permettras d'obtenir la liste des playlists.

Voilà :-)
--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
unbewusst.sein
JiPaul wrote:

Si je ne me trompe, le deuxième ? du motif signifie juste que le groupe
(aylist) peut être présent ou absent (ce qui doit permettre une
abbréviation de 'playlist' en 'pl').
Quant au ? de ta commande, il faut que tu mettes une espace avant :
playlist ?
De cette manière il ira dans la variable name, et le test qui suit
permettras d'obtenir la liste des playlists.



c'est juste il ya une typo, pas d'espace, dans le redme...
entre temps j'avais défini un alias pour éviter d'avoir à entrer ? ...
alias itpl="itunes playlist ?"

merci, j'ai appris qqc en matière de regex...
--
« Je suis sûr que la gaîté ambiguë du drôle de garçon qui a bu du
whisky et fait le zèbre sur un vieux caïman à Noël dans le cañon, a été
bénéfique à l'âme du poète blême, ainsi qu'à son c½ur & cætera ! »
(© Jean-Paul Blanc)
1 2