(je suis conscient que ça va frôler le troll, alors on va tâcher de rester
calmes pour ne pas le réveiller :)
Voilà un moment que je m'investis de façon grandissante dans Unix (Linux,
OSX ou QNX) et je m'interroge sur le choix du shell sur un système.
J'ai l'habitude principalement de bash sous Linux, et dans une moindre
mesure [t]csh sur Mac/qnx. Parce que ce sont les shells par défaut
certainement.
À la lecture (périodique) de ce groupe il me semble que souvent zsh est
cité comme meilleure alternative au bash.
En dehors de (simples) considération de goût, est-ce que zsh est
préférable ?
Je crois me rappeler avoir vu ici-même des remarques sur le fait que
développement de bash était plutôt gelé ? Est-ce qu'alors zsh c'est
l'avenir ?
Comme je le disais, je me considère encore en phase d'apprentissage, aussi
vaut-il mieux pour moi investir du temps sur zsh ?
Existe-t-il de la littérature à conseiller sur zsh à la manière du guide
Advanced Bash Scripting ?
Merci de vos avis, dans la limite du raisonnable :)
Le Wed, 07 Jul 2004 13:20:51 +0000, Stephane Chazelas a écrit :
Les utilisateurs de bash sont en gros ceux qui n'ont pas essayé zsh ou qui n'utilisent pas de shells couremment
J'utilise le shell courrament, mais je suis habitué à la syntaxe de sh pour écrire les scripts autant que possible (question de portabilité), quant à la ligne de commande, que ce soit tcsh, bash, ksh ou zsh je ne vois pas bien quelle différence ça fait à l'usage. Et oui, en ligne de commande je préfère taper
for i in *; do mv $i `basename $i toto`tata; done
parce qu'au moins c'est clair et lisible.
-- Dix grammes d'abstraction valent des tonnes de bricolage. Loi de Booker.
Le Wed, 07 Jul 2004 13:20:51 +0000, Stephane Chazelas a écrit :
Les utilisateurs de bash sont en
gros ceux qui n'ont pas essayé zsh ou qui n'utilisent pas de shells
couremment
J'utilise le shell courrament, mais je suis habitué à la syntaxe de sh
pour écrire les scripts autant que possible (question de portabilité),
quant à la ligne de commande, que ce soit tcsh, bash, ksh ou zsh je ne
vois pas bien quelle différence ça fait à l'usage. Et oui, en ligne de
commande je préfère taper
for i in *; do mv $i `basename $i toto`tata; done
parce qu'au moins c'est clair et lisible.
--
Dix grammes d'abstraction valent des tonnes de bricolage.
Loi de Booker.
Le Wed, 07 Jul 2004 13:20:51 +0000, Stephane Chazelas a écrit :
Les utilisateurs de bash sont en gros ceux qui n'ont pas essayé zsh ou qui n'utilisent pas de shells couremment
J'utilise le shell courrament, mais je suis habitué à la syntaxe de sh pour écrire les scripts autant que possible (question de portabilité), quant à la ligne de commande, que ce soit tcsh, bash, ksh ou zsh je ne vois pas bien quelle différence ça fait à l'usage. Et oui, en ligne de commande je préfère taper
for i in *; do mv $i `basename $i toto`tata; done
parce qu'au moins c'est clair et lisible.
-- Dix grammes d'abstraction valent des tonnes de bricolage. Loi de Booker.
Emmanuel Florac
Le Wed, 07 Jul 2004 14:24:21 +0000, Stephane Chazelas a écrit :
www.zsh.org Sur le site de tcsh, on te dira aussi d'utiliser zsh.
Comme c'est un WIki, c'est peut-être bien toi qui l'a mis :)
-- on passe la moitié de son temps à refaire ce que l'on n'a pas eu le temps de faire correctement. Loi de Myers.
Le Wed, 07 Jul 2004 14:24:21 +0000, Stephane Chazelas a écrit :
www.zsh.org
Sur le site de tcsh, on te dira aussi d'utiliser zsh.
Comme c'est un WIki, c'est peut-être bien toi qui l'a mis :)
--
on passe la moitié de son temps à refaire ce que l'on n'a pas eu le
temps de faire correctement.
Loi de Myers.
Le Wed, 07 Jul 2004 14:24:21 +0000, Stephane Chazelas a écrit :
www.zsh.org Sur le site de tcsh, on te dira aussi d'utiliser zsh.
Comme c'est un WIki, c'est peut-être bien toi qui l'a mis :)
-- on passe la moitié de son temps à refaire ce que l'on n'a pas eu le temps de faire correctement. Loi de Myers.
Vincent Lefevre
Dans l'article , Sebastien Kirche écrit:
Donc (en gros) je peux basculer sur zsh tranquille, ce qui fonctionnait en bash fonctionne toujours, et il n'y a que des avantages à faire le changement ?
Quasiment.
Pas d'inconvénient connu ?
Seul gros inconvénient: zsh ne supporte pas encore UTF-8. Mais je crois que les développeurs y travaillent ou vont le faire.
-- Vincent Lefèvre - Web: <http://www.vinc17.org/> 100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17, Championnat International des Jeux Mathématiques et Logiques, etc. Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Dans l'article <m2658zzxf5.fsf@free.fr>,
Sebastien Kirche <sebastien.kirche.no@spam.free.fr.invalid> écrit:
Donc (en gros) je peux basculer sur zsh tranquille, ce qui
fonctionnait en bash fonctionne toujours, et il n'y a que des
avantages à faire le changement ?
Quasiment.
Pas d'inconvénient connu ?
Seul gros inconvénient: zsh ne supporte pas encore UTF-8. Mais je
crois que les développeurs y travaillent ou vont le faire.
--
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/>
100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17,
Championnat International des Jeux Mathématiques et Logiques, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Donc (en gros) je peux basculer sur zsh tranquille, ce qui fonctionnait en bash fonctionne toujours, et il n'y a que des avantages à faire le changement ?
Quasiment.
Pas d'inconvénient connu ?
Seul gros inconvénient: zsh ne supporte pas encore UTF-8. Mais je crois que les développeurs y travaillent ou vont le faire.
-- Vincent Lefèvre - Web: <http://www.vinc17.org/> 100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17, Championnat International des Jeux Mathématiques et Logiques, etc. Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Stephane Chazelas
2004-07-7, 20:11(+00), : [...]
Vouais, mais le fait de parcourir son domaine bien assis sur son bash comme un paysan dans sa vieille 4L a sans doute l'avantage d'entretenir les réflexes de survie en milieu hostile, ce qui peut faciliter la vie en cas de gros pépin.
C'est marginal, mais ça se plaide. [...]
Personnellement, je ne vois pas le rapport. En milieu hostile, il n'y a pas plus de bash que de zsh.
En cas de gros pepin, ce n'est pas vraiment l'aptitude a maitriser toutes les options de tel ou tel shell qui va faire la plus grosse difference.
(Par contre, note qu'en cas de gros pepin, un zsh compilé statiquement avec les bons modules permet de se sortir de la plupart des situations puisqu'il permet de se passer des outils de bases Unix (ftp, telnet, mv, vi, ls...), voir les modules "files", "mapfile", "zftp", "tcp").
-- Stephane
2004-07-7, 20:11(+00), fm@nowhere.invalid:
[...]
Vouais, mais le fait de parcourir son domaine bien
assis sur son bash comme un paysan dans sa vieille
4L a sans doute l'avantage d'entretenir les
réflexes de survie en milieu hostile, ce qui peut
faciliter la vie en cas de gros pépin.
C'est marginal, mais ça se plaide.
[...]
Personnellement, je ne vois pas le rapport.
En milieu hostile, il n'y a pas plus de bash que de zsh.
En cas de gros pepin, ce n'est pas vraiment l'aptitude a
maitriser toutes les options de tel ou tel shell qui va faire
la plus grosse difference.
(Par contre, note qu'en cas de gros pepin, un zsh compilé
statiquement avec les bons modules permet de se sortir de la
plupart des situations puisqu'il permet de se passer des outils
de bases Unix (ftp, telnet, mv, vi, ls...), voir les modules
"files", "mapfile", "zftp", "tcp").
Vouais, mais le fait de parcourir son domaine bien assis sur son bash comme un paysan dans sa vieille 4L a sans doute l'avantage d'entretenir les réflexes de survie en milieu hostile, ce qui peut faciliter la vie en cas de gros pépin.
C'est marginal, mais ça se plaide. [...]
Personnellement, je ne vois pas le rapport. En milieu hostile, il n'y a pas plus de bash que de zsh.
En cas de gros pepin, ce n'est pas vraiment l'aptitude a maitriser toutes les options de tel ou tel shell qui va faire la plus grosse difference.
(Par contre, note qu'en cas de gros pepin, un zsh compilé statiquement avec les bons modules permet de se sortir de la plupart des situations puisqu'il permet de se passer des outils de bases Unix (ftp, telnet, mv, vi, ls...), voir les modules "files", "mapfile", "zftp", "tcp").
-- Stephane
Nicolas Le Scouarnec
Donc (en gros) je peux basculer sur zsh tranquille, ce qui fonctionnait en bash fonctionne toujours, et il n'y a que des avantages à faire le changement ? Pas d'inconvénient connu ?
Non, les plus gros avantages a mon gout, enfin ceux que tu remarques en premier, ce sont la meilleure gestion de l'historique et la complétition largement plus poussée. Par exemple, ca peut completer pour des pages de manuel quand tu tapes: man zs[tab].
Le Zsh User Guide est très bien et très complet justement.
-- Nicolas Le Scouarnec
Donc (en gros) je peux basculer sur zsh tranquille, ce qui fonctionnait en
bash fonctionne toujours, et il n'y a que des avantages à faire le
changement ?
Pas d'inconvénient connu ?
Non, les plus gros avantages a mon gout, enfin ceux que tu remarques en
premier, ce sont la meilleure gestion de l'historique et la complétition
largement plus poussée. Par exemple, ca peut completer pour des pages
de manuel quand tu tapes: man zs[tab].
Le Zsh User Guide est très bien et très complet justement.
Donc (en gros) je peux basculer sur zsh tranquille, ce qui fonctionnait en bash fonctionne toujours, et il n'y a que des avantages à faire le changement ? Pas d'inconvénient connu ?
Non, les plus gros avantages a mon gout, enfin ceux que tu remarques en premier, ce sont la meilleure gestion de l'historique et la complétition largement plus poussée. Par exemple, ca peut completer pour des pages de manuel quand tu tapes: man zs[tab].
Le Zsh User Guide est très bien et très complet justement.
-- Nicolas Le Scouarnec
Emmanuel Florac
Le Thu, 08 Jul 2004 22:45:25 +0000, Nicolas Le Scouarnec a écrit :
Par exemple, ca peut completer pour des pages de manuel quand tu tapes: man zs[tab].
bash aussi. En fait avec bash on peut étendre facilement la complétion pour diverses applications. Ça complète aussi comme ça :
apt-get i<tab> -> apt-get install mo<tab> -> apt-get install mozilla
Par exemple. L'architecture qui permet ça est inélégante, mais efficace.
-- De longs désirs, une longue admiration sans espérance, voilà le moyen d'adorer les femmes, et de rendre l'amour une passion délicieuse! N. Rétif de la Bretonne.
Le Thu, 08 Jul 2004 22:45:25 +0000, Nicolas Le Scouarnec a écrit :
Par exemple, ca peut completer pour des pages
de manuel quand tu tapes: man zs[tab].
bash aussi. En fait avec bash on peut étendre facilement la complétion
pour diverses applications. Ça complète aussi comme ça :
apt-get i<tab> -> apt-get install mo<tab> -> apt-get install mozilla
Par exemple. L'architecture qui permet ça est inélégante, mais efficace.
--
De longs désirs, une longue admiration sans espérance, voilà le moyen
d'adorer les femmes, et de rendre l'amour une passion délicieuse!
N. Rétif de la Bretonne.
Le Thu, 08 Jul 2004 22:45:25 +0000, Nicolas Le Scouarnec a écrit :
Par exemple, ca peut completer pour des pages de manuel quand tu tapes: man zs[tab].
bash aussi. En fait avec bash on peut étendre facilement la complétion pour diverses applications. Ça complète aussi comme ça :
apt-get i<tab> -> apt-get install mo<tab> -> apt-get install mozilla
Par exemple. L'architecture qui permet ça est inélégante, mais efficace.
-- De longs désirs, une longue admiration sans espérance, voilà le moyen d'adorer les femmes, et de rendre l'amour une passion délicieuse! N. Rétif de la Bretonne.
Laurent
On 2004-07-09, Emmanuel Florac wrote:
Le Thu, 08 Jul 2004 22:45:25 +0000, Nicolas Le Scouarnec a écrit :
Par exemple, ca peut completer pour des pages de manuel quand tu tapes: man zs[tab].
bash aussi. En fait avec bash on peut étendre facilement la complétion pour diverses applications. Ça complète aussi comme ça :
apt-get i<tab> -> apt-get install mo<tab> -> apt-get install mozilla
Par exemple. L'architecture qui permet ça est inélégante, mais efficace.
Oui l'intérêt du zsh, entre autre, c'est que cette completion
est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent !
Laurent
On 2004-07-09, Emmanuel Florac <eflorac@imaginet.fr> wrote:
Le Thu, 08 Jul 2004 22:45:25 +0000, Nicolas Le Scouarnec a écrit :
Par exemple, ca peut completer pour des pages
de manuel quand tu tapes: man zs[tab].
bash aussi. En fait avec bash on peut étendre facilement la complétion
pour diverses applications. Ça complète aussi comme ça :
apt-get i<tab> -> apt-get install mo<tab> -> apt-get install mozilla
Par exemple. L'architecture qui permet ça est inélégante, mais efficace.
Oui l'intérêt du zsh, entre autre, c'est que cette completion
est déjà écrite pour toi. Autre gros avantage de la
completion: elle complete à distance (TCP) si tu fais cvs co
<TAB> ; tu as tous les répertoires distants qui apparaîssent !
Le Thu, 08 Jul 2004 22:45:25 +0000, Nicolas Le Scouarnec a écrit :
Par exemple, ca peut completer pour des pages de manuel quand tu tapes: man zs[tab].
bash aussi. En fait avec bash on peut étendre facilement la complétion pour diverses applications. Ça complète aussi comme ça :
apt-get i<tab> -> apt-get install mo<tab> -> apt-get install mozilla
Par exemple. L'architecture qui permet ça est inélégante, mais efficace.
Oui l'intérêt du zsh, entre autre, c'est que cette completion
est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent !
Laurent
Emmanuel Florac
Le Fri, 09 Jul 2004 08:24:00 +0000, Laurent a écrit :
Oui l'intérêt du zsh, entre autre, c'est que cette completion est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent !
Mais c'est pareil sous bash :
%mount -t nfs toto:/ho<tab> -> les partages nfs apparaissent. Pour cvs je n'ai pas essayé mai je suppose que c'est pareil. Sincèrement, je pense qu'en usage interactif l'utilisation de l'un ou l'autre est vraiment quasi identique.
-- A thing of beauty is a joy forever. J. Keats.
Ah! Singe débotté, hisse un jouet fort et vert! Marcel Bénabou.
Le Fri, 09 Jul 2004 08:24:00 +0000, Laurent a écrit :
Oui l'intérêt du zsh, entre autre, c'est que cette completion
est déjà écrite pour toi.
Autre gros avantage de la
completion: elle complete à distance (TCP) si tu fais cvs co
<TAB> ; tu as tous les répertoires distants qui apparaîssent !
Mais c'est pareil sous bash :
%mount -t nfs toto:/ho<tab> -> les partages nfs apparaissent. Pour cvs je
n'ai pas essayé mai je suppose que c'est pareil.
Sincèrement, je pense qu'en usage interactif l'utilisation de l'un ou
l'autre est vraiment quasi identique.
--
A thing of beauty is a joy forever.
J. Keats.
Ah! Singe débotté, hisse un jouet fort et vert!
Marcel Bénabou.
Le Fri, 09 Jul 2004 08:24:00 +0000, Laurent a écrit :
Oui l'intérêt du zsh, entre autre, c'est que cette completion est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent !
Mais c'est pareil sous bash :
%mount -t nfs toto:/ho<tab> -> les partages nfs apparaissent. Pour cvs je n'ai pas essayé mai je suppose que c'est pareil. Sincèrement, je pense qu'en usage interactif l'utilisation de l'un ou l'autre est vraiment quasi identique.
-- A thing of beauty is a joy forever. J. Keats.
Ah! Singe débotté, hisse un jouet fort et vert! Marcel Bénabou.
Stephane Chazelas
2004-07-09, 08:24(+00), Laurent: [...]
Oui l'intérêt du zsh, entre autre, c'est que cette completion est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent ! [...]
Faut voir aussi que le <Tab> de zsh, fait (peut faire, ca se configure) bien plus que de la completion, il permet aussi de faire des l'expansion, de l'approximation, d'afficher les completions de differentes manieres avec des descriptions, avec des en-tetes pour lister les differents types de completions... de faire de la completion sur l'historique sur la dirstack, voir aussi sa gestion de caches, comment il gere le quoting, les imbrications de commandes...
La completion de bash est inspiree de celle de plusieurs generations d'avant (d'il y a 10 ans) de zsh (2.6?) elle-meme inspiree de tcsh.
Il suffit de faire le compinstall dans zsh et de se balader dans les menus pour voir jusqu'ou ca peut aller.
Le probleme de la completion de zsh, c'est que meme si elle est configurable a tous les niveaux, au niveau les plus bas, c'est vraiment trop complexe pour que ce soit rentable d'y investir du temps pour comprendre (en gros, s'il n'y a pas de completion deja definie pour une commande, ben tant pis, ou alors il faut se contenter du "compctl" (l'ancien systeme de completion qui reste comprehensible a moindre frais)).
-- Stephane
2004-07-09, 08:24(+00), Laurent:
[...]
Oui l'intérêt du zsh, entre autre, c'est que cette completion
est déjà écrite pour toi. Autre gros avantage de la
completion: elle complete à distance (TCP) si tu fais cvs co
<TAB> ; tu as tous les répertoires distants qui apparaîssent !
[...]
Faut voir aussi que le <Tab> de zsh, fait (peut faire, ca se
configure) bien plus que de la completion, il permet aussi de
faire des l'expansion, de l'approximation, d'afficher les
completions de differentes manieres avec des descriptions, avec
des en-tetes pour lister les differents types de completions...
de faire de la completion sur l'historique sur la dirstack, voir
aussi sa gestion de caches, comment il gere le quoting, les
imbrications de commandes...
La completion de bash est inspiree de celle de plusieurs
generations d'avant (d'il y a 10 ans) de zsh (2.6?) elle-meme
inspiree de tcsh.
Il suffit de faire le compinstall dans zsh et de se balader dans
les menus pour voir jusqu'ou ca peut aller.
Le probleme de la completion de zsh, c'est que meme si elle est
configurable a tous les niveaux, au niveau les plus bas, c'est
vraiment trop complexe pour que ce soit rentable d'y investir du
temps pour comprendre (en gros, s'il n'y a pas de completion
deja definie pour une commande, ben tant pis, ou alors il faut
se contenter du "compctl" (l'ancien systeme de completion qui
reste comprehensible a moindre frais)).
Oui l'intérêt du zsh, entre autre, c'est que cette completion est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent ! [...]
Faut voir aussi que le <Tab> de zsh, fait (peut faire, ca se configure) bien plus que de la completion, il permet aussi de faire des l'expansion, de l'approximation, d'afficher les completions de differentes manieres avec des descriptions, avec des en-tetes pour lister les differents types de completions... de faire de la completion sur l'historique sur la dirstack, voir aussi sa gestion de caches, comment il gere le quoting, les imbrications de commandes...
La completion de bash est inspiree de celle de plusieurs generations d'avant (d'il y a 10 ans) de zsh (2.6?) elle-meme inspiree de tcsh.
Il suffit de faire le compinstall dans zsh et de se balader dans les menus pour voir jusqu'ou ca peut aller.
Le probleme de la completion de zsh, c'est que meme si elle est configurable a tous les niveaux, au niveau les plus bas, c'est vraiment trop complexe pour que ce soit rentable d'y investir du temps pour comprendre (en gros, s'il n'y a pas de completion deja definie pour une commande, ben tant pis, ou alors il faut se contenter du "compctl" (l'ancien systeme de completion qui reste comprehensible a moindre frais)).
-- Stephane
Stephane Chazelas
2004-07-09, 12:38(+02), Emmanuel Florac:
Le Fri, 09 Jul 2004 08:24:00 +0000, Laurent a écrit :
Oui l'intérêt du zsh, entre autre, c'est que cette completion est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent !
Mais c'est pareil sous bash :
%mount -t nfs toto:/ho<tab> -> les partages nfs apparaissent. Pour cvs je n'ai pas essayé mai je suppose que c'est pareil. Sincèrement, je pense qu'en usage interactif l'utilisation de l'un ou l'autre est vraiment quasi identique.
Tu dois vouloir parler de l'extension bash_completion http://www.caliban.org/bash/#completion
A lire dans le README ;) :
Q. Is bash the be-all-and-end-all of completion as far as shells go?
A. Absolutely not. zsh has an extremely sophisticated completion system that offers many features absent from the bash implementation. More information can be found at:
http://www.zsh.org/
-- Stephane
2004-07-09, 12:38(+02), Emmanuel Florac:
Le Fri, 09 Jul 2004 08:24:00 +0000, Laurent a écrit :
Oui l'intérêt du zsh, entre autre, c'est que cette completion
est déjà écrite pour toi.
Autre gros avantage de la
completion: elle complete à distance (TCP) si tu fais cvs co
<TAB> ; tu as tous les répertoires distants qui apparaîssent !
Mais c'est pareil sous bash :
%mount -t nfs toto:/ho<tab> -> les partages nfs apparaissent. Pour cvs je
n'ai pas essayé mai je suppose que c'est pareil.
Sincèrement, je pense qu'en usage interactif l'utilisation de l'un ou
l'autre est vraiment quasi identique.
Tu dois vouloir parler de l'extension bash_completion
http://www.caliban.org/bash/#completion
A lire dans le README ;) :
Q. Is bash the be-all-and-end-all of completion as far as shells go?
A. Absolutely not. zsh has an extremely sophisticated completion system
that offers many features absent from the bash implementation. More
information can be found at:
Le Fri, 09 Jul 2004 08:24:00 +0000, Laurent a écrit :
Oui l'intérêt du zsh, entre autre, c'est que cette completion est déjà écrite pour toi. Autre gros avantage de la completion: elle complete à distance (TCP) si tu fais cvs co <TAB> ; tu as tous les répertoires distants qui apparaîssent !
Mais c'est pareil sous bash :
%mount -t nfs toto:/ho<tab> -> les partages nfs apparaissent. Pour cvs je n'ai pas essayé mai je suppose que c'est pareil. Sincèrement, je pense qu'en usage interactif l'utilisation de l'un ou l'autre est vraiment quasi identique.
Tu dois vouloir parler de l'extension bash_completion http://www.caliban.org/bash/#completion
A lire dans le README ;) :
Q. Is bash the be-all-and-end-all of completion as far as shells go?
A. Absolutely not. zsh has an extremely sophisticated completion system that offers many features absent from the bash implementation. More information can be found at: