Je tripatouille la drkm-lib d'un des membres de ce forum.
J'aime bien le système de configuration mais il me manque
certaines choses ou plutôt je voudrais voir autre chose.
J'ai dans l'idée de me fabriquer une petite macro qui:
1. reprendrait plus ou moins l'existant de drkm-conf:configure
2. qui permettrait de passer à loisir une chaine ou un symbole ou
une liste de symboles voir une alist de symboles . un
keybinding
3. qui pourrait éventuellement prendre un keymap en argument
Bref une fonction du style:
load-ng (lib &key <les clés de drkm-config> keymap keybinding)
Pour le chargement de la feature, un moyen simple de savoir
comment charger est de le faire conditionnelement en fonction du
type de lib:
[...]
Pour la keymap, c'est tout aussi facile:
;;; lisp code
(defvar keymap (make-sparse-keymap))
(global-set-key binding keymap)
;; suivant la alist, ce qui suit pourrait faire l'affaire
(mapc (lambda (cellule)
(define-key keymap (cdr cellule) (car cellule)))
alist)
;;; end of lisp
L'usage que je souhaite faire de ce genre de chose ?
Charger tout ou parti d'un module en lui spécifiant en une seule
passe la configuration *complète*.
J'ai un semblant de truc qui fonctionne que j'utilise pour le
paquet boxquote. Actuellement, tout ce que je sais faire c'est
charger le module, créer la keymap, assigner les keybindings
suivant la alist).
Ca donne un truc du genre:
;;; lisp code
(xm-use-library "boxquote"
:keymap xm-boxquote-prefix-map
:binding (kbd "C-c z B")
:xlist '((boxquote-region . "r")
[...]
Je sais que ça va paraître farfelu à certains, mais c'est
typiquement le genre de chose que je voudrais faire: configurer
un paquet entier en un seul appel de fonction (enfin là en
l'occurence c'est une macro).
Là où je coince, c'est dans le fait de pouvoir charger par
require, load-library ou même par autoload. Je n'arrive pas à
gérer tout ça très proprement.
Ce que je veux dire, c'est que si
je fais un require de "boxquote" entièrement alors que je défini
des bindings pour une partie seulement des fonctions, ça me
dérange. Je voudrais plutôt être capable de ne charger que les
features que je passe dans ma alist et assigner les bindings en
conséquence.
Je ne suis pas sûr d'avoir été clair, mais si le challenge vous
motive et que vous voyez à peu près où je en venir, ce serait
sympa de partager ça ici :)
Je tripatouille la drkm-lib d'un des membres de ce forum.
J'aime bien le système de configuration mais il me manque
certaines choses ou plutôt je voudrais voir autre chose.
J'ai dans l'idée de me fabriquer une petite macro qui:
1. reprendrait plus ou moins l'existant de drkm-conf:configure
2. qui permettrait de passer à loisir une chaine ou un symbole ou
une liste de symboles voir une alist de symboles . un
keybinding
3. qui pourrait éventuellement prendre un keymap en argument
Bref une fonction du style:
load-ng (lib &key <les clés de drkm-config> keymap keybinding)
Pour le chargement de la feature, un moyen simple de savoir
comment charger est de le faire conditionnelement en fonction du
type de lib:
[...]
Pour la keymap, c'est tout aussi facile:
;;; lisp code
(defvar keymap (make-sparse-keymap))
(global-set-key binding keymap)
;; suivant la alist, ce qui suit pourrait faire l'affaire
(mapc (lambda (cellule)
(define-key keymap (cdr cellule) (car cellule)))
alist)
;;; end of lisp
L'usage que je souhaite faire de ce genre de chose ?
Charger tout ou parti d'un module en lui spécifiant en une seule
passe la configuration *complète*.
J'ai un semblant de truc qui fonctionne que j'utilise pour le
paquet boxquote. Actuellement, tout ce que je sais faire c'est
charger le module, créer la keymap, assigner les keybindings
suivant la alist).
Ca donne un truc du genre:
;;; lisp code
(xm-use-library "boxquote"
:keymap xm-boxquote-prefix-map
:binding (kbd "C-c z B")
:xlist '((boxquote-region . "r")
[...]
Je sais que ça va paraître farfelu à certains, mais c'est
typiquement le genre de chose que je voudrais faire: configurer
un paquet entier en un seul appel de fonction (enfin là en
l'occurence c'est une macro).
Là où je coince, c'est dans le fait de pouvoir charger par
require, load-library ou même par autoload. Je n'arrive pas à
gérer tout ça très proprement.
Ce que je veux dire, c'est que si
je fais un require de "boxquote" entièrement alors que je défini
des bindings pour une partie seulement des fonctions, ça me
dérange. Je voudrais plutôt être capable de ne charger que les
features que je passe dans ma alist et assigner les bindings en
conséquence.
Je ne suis pas sûr d'avoir été clair, mais si le challenge vous
motive et que vous voyez à peu près où je en venir, ce serait
sympa de partager ça ici :)
Je tripatouille la drkm-lib d'un des membres de ce forum.
J'aime bien le système de configuration mais il me manque
certaines choses ou plutôt je voudrais voir autre chose.
J'ai dans l'idée de me fabriquer une petite macro qui:
1. reprendrait plus ou moins l'existant de drkm-conf:configure
2. qui permettrait de passer à loisir une chaine ou un symbole ou
une liste de symboles voir une alist de symboles . un
keybinding
3. qui pourrait éventuellement prendre un keymap en argument
Bref une fonction du style:
load-ng (lib &key <les clés de drkm-config> keymap keybinding)
Pour le chargement de la feature, un moyen simple de savoir
comment charger est de le faire conditionnelement en fonction du
type de lib:
[...]
Pour la keymap, c'est tout aussi facile:
;;; lisp code
(defvar keymap (make-sparse-keymap))
(global-set-key binding keymap)
;; suivant la alist, ce qui suit pourrait faire l'affaire
(mapc (lambda (cellule)
(define-key keymap (cdr cellule) (car cellule)))
alist)
;;; end of lisp
L'usage que je souhaite faire de ce genre de chose ?
Charger tout ou parti d'un module en lui spécifiant en une seule
passe la configuration *complète*.
J'ai un semblant de truc qui fonctionne que j'utilise pour le
paquet boxquote. Actuellement, tout ce que je sais faire c'est
charger le module, créer la keymap, assigner les keybindings
suivant la alist).
Ca donne un truc du genre:
;;; lisp code
(xm-use-library "boxquote"
:keymap xm-boxquote-prefix-map
:binding (kbd "C-c z B")
:xlist '((boxquote-region . "r")
[...]
Je sais que ça va paraître farfelu à certains, mais c'est
typiquement le genre de chose que je voudrais faire: configurer
un paquet entier en un seul appel de fonction (enfin là en
l'occurence c'est une macro).
Là où je coince, c'est dans le fait de pouvoir charger par
require, load-library ou même par autoload. Je n'arrive pas à
gérer tout ça très proprement.
Ce que je veux dire, c'est que si
je fais un require de "boxquote" entièrement alors que je défini
des bindings pour une partie seulement des fonctions, ça me
dérange. Je voudrais plutôt être capable de ne charger que les
features que je passe dans ma alist et assigner les bindings en
conséquence.
Je ne suis pas sûr d'avoir été clair, mais si le challenge vous
motive et que vous voyez à peu près où je en venir, ce serait
sympa de partager ça ici :)
Oui. Comme je te l'ai dit, le fait de passer un symbole de
fonction me semble restrictif. Bien que jusqu'à présent je m'en
accomode. Je pense éventuellement à avoir un appel de la
forme :
> 3. qui pourrait éventuellement prendre un keymap en argument
Je verrais bien avoir un argument '&rest' pour les keywords, la
macro se chargeant d'analyser les keywords présents et de
dispatcher vers des fonctions, renseignées dans une alist.
Quelque chose comme :
> Charger tout ou parti d'un module en lui spécifiant en une
> seule passe la configuration *complète*.
C'est marrant. C'est exactement la diretcion opposée de
'drkm-conf:configure'. Le but est de retaredr au plus possible
le chargement de code, tant des bibliothèques que de leur
configuration.
Ha, ok, je comprends maintenant (et le defvar plus haut
également). Tu te crées tes propres bindings globaux pour le
package, rassemblés dans la même keymap (accessible globalement
par 'C-c z B').
BTW, l'intérêt de 'kbd', c'est de ne plus devoir jouer avec des
séquences d'échapement (par '') mais je noter les combinaisons
comme on le fait dans du texte (à la Emacs, bien sûr). "C-c z
B" suffit.
> Je sais que ça va paraître farfelu à certains, mais c'est
> typiquement le genre de chose que je voudrais faire:
> configurer un paquet entier en un seul appel de fonction
> (enfin là en l'occurence c'est une macro).
Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
'drkm-conf:configure' c'est qu'il prend les infos nécessaire à
la gestion du chargement, les utilise, et permet de placer
toute la config du package dans un fichier externe, qui ne sera
chargé qu'au dernier moment.
> Là où je coince, c'est dans le fait de pouvoir charger par
> require, load-library ou même par autoload. Je n'arrive pas à
> gérer tout ça très proprement.
Je ne comprend pas.
Je ne comprend toujours pas. Tu veux créer des bindings pour
chaque fonction de boxquote ?!? Ou ne charger qu'une partie des
> Je ne suis pas sûr d'avoir été clair, mais si le challenge
> vous motive et que vous voyez à peu près où je en venir, ce
> serait sympa de partager ça ici :)
Ben franchement, je ne vois pas trop où tu veux en venir. Mais
si tu développes (tes idées, je veux dire), pourquoi pas ?
Oui. Comme je te l'ai dit, le fait de passer un symbole de
fonction me semble restrictif. Bien que jusqu'à présent je m'en
accomode. Je pense éventuellement à avoir un appel de la
forme :
> 3. qui pourrait éventuellement prendre un keymap en argument
Je verrais bien avoir un argument '&rest' pour les keywords, la
macro se chargeant d'analyser les keywords présents et de
dispatcher vers des fonctions, renseignées dans une alist.
Quelque chose comme :
> Charger tout ou parti d'un module en lui spécifiant en une
> seule passe la configuration *complète*.
C'est marrant. C'est exactement la diretcion opposée de
'drkm-conf:configure'. Le but est de retaredr au plus possible
le chargement de code, tant des bibliothèques que de leur
configuration.
Ha, ok, je comprends maintenant (et le defvar plus haut
également). Tu te crées tes propres bindings globaux pour le
package, rassemblés dans la même keymap (accessible globalement
par 'C-c z B').
BTW, l'intérêt de 'kbd', c'est de ne plus devoir jouer avec des
séquences d'échapement (par '') mais je noter les combinaisons
comme on le fait dans du texte (à la Emacs, bien sûr). "C-c z
B" suffit.
> Je sais que ça va paraître farfelu à certains, mais c'est
> typiquement le genre de chose que je voudrais faire:
> configurer un paquet entier en un seul appel de fonction
> (enfin là en l'occurence c'est une macro).
Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
'drkm-conf:configure' c'est qu'il prend les infos nécessaire à
la gestion du chargement, les utilise, et permet de placer
toute la config du package dans un fichier externe, qui ne sera
chargé qu'au dernier moment.
> Là où je coince, c'est dans le fait de pouvoir charger par
> require, load-library ou même par autoload. Je n'arrive pas à
> gérer tout ça très proprement.
Je ne comprend pas.
Je ne comprend toujours pas. Tu veux créer des bindings pour
chaque fonction de boxquote ?!? Ou ne charger qu'une partie des
> Je ne suis pas sûr d'avoir été clair, mais si le challenge
> vous motive et que vous voyez à peu près où je en venir, ce
> serait sympa de partager ça ici :)
Ben franchement, je ne vois pas trop où tu veux en venir. Mais
si tu développes (tes idées, je veux dire), pourquoi pas ?
Oui. Comme je te l'ai dit, le fait de passer un symbole de
fonction me semble restrictif. Bien que jusqu'à présent je m'en
accomode. Je pense éventuellement à avoir un appel de la
forme :
> 3. qui pourrait éventuellement prendre un keymap en argument
Je verrais bien avoir un argument '&rest' pour les keywords, la
macro se chargeant d'analyser les keywords présents et de
dispatcher vers des fonctions, renseignées dans une alist.
Quelque chose comme :
> Charger tout ou parti d'un module en lui spécifiant en une
> seule passe la configuration *complète*.
C'est marrant. C'est exactement la diretcion opposée de
'drkm-conf:configure'. Le but est de retaredr au plus possible
le chargement de code, tant des bibliothèques que de leur
configuration.
Ha, ok, je comprends maintenant (et le defvar plus haut
également). Tu te crées tes propres bindings globaux pour le
package, rassemblés dans la même keymap (accessible globalement
par 'C-c z B').
BTW, l'intérêt de 'kbd', c'est de ne plus devoir jouer avec des
séquences d'échapement (par '') mais je noter les combinaisons
comme on le fait dans du texte (à la Emacs, bien sûr). "C-c z
B" suffit.
> Je sais que ça va paraître farfelu à certains, mais c'est
> typiquement le genre de chose que je voudrais faire:
> configurer un paquet entier en un seul appel de fonction
> (enfin là en l'occurence c'est une macro).
Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
'drkm-conf:configure' c'est qu'il prend les infos nécessaire à
la gestion du chargement, les utilise, et permet de placer
toute la config du package dans un fichier externe, qui ne sera
chargé qu'au dernier moment.
> Là où je coince, c'est dans le fait de pouvoir charger par
> require, load-library ou même par autoload. Je n'arrive pas à
> gérer tout ça très proprement.
Je ne comprend pas.
Je ne comprend toujours pas. Tu veux créer des bindings pour
chaque fonction de boxquote ?!? Ou ne charger qu'une partie des
> Je ne suis pas sûr d'avoir été clair, mais si le challenge
> vous motive et que vous voyez à peu près où je en venir, ce
> serait sympa de partager ça ici :)
Ben franchement, je ne vois pas trop où tu veux en venir. Mais
si tu développes (tes idées, je veux dire), pourquoi pas ?
On 7 Jul 2005, drkm wrote:> Charger tout ou parti d'un module en lui spécifiant en une
> seule passe la configuration *complète*.
C'est marrant. C'est exactement la diretcion opposée de
'drkm-conf:configure'. Le but est de retaredr au plus possible
le chargement de code, tant des bibliothèques que de leur
configuration.
Non, ce n'est pas si opposé. L'objectif poursuivi est exactement
le même: ne pas charger (ni configurer) un module tant qu'il n'y
en a pas l'utilité.
> Je sais que ça va paraître farfelu à certains, mais c'est
> typiquement le genre de chose que je voudrais faire:
> configurer un paquet entier en un seul appel de fonction
> (enfin là en l'occurence c'est une macro).
Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
'drkm-conf:configure' c'est qu'il prend les infos nécessaire à
la gestion du chargement, les utilise, et permet de placer
toute la config du package dans un fichier externe, qui ne sera
chargé qu'au dernier moment.
Euh, là je demande des explications.
> Là où je coince, c'est dans le fait de pouvoir charger par
> require, load-library ou même par autoload. Je n'arrive pas à
> gérer tout ça très proprement.
Je ne comprend pas.
C'est pas compliqué mais je m'exprime mal. Suivant les arguments
passés à la macro, je peux à loisir choisir "intelligemment"
quelle fonction utiliser pour charger un module.
Quelques exemples:
1. stringp et pas de alist: load-library
2. symbolp et pas de alist: require
3. symbolp et une alist: là soit un autoload soit un require sur
chaque car
...
Je ne comprend toujours pas. Tu veux créer des bindings pour
chaque fonction de boxquote ?!? Ou ne charger qu'une partie des
Non, je veux ne pouvoir mettre des bindings que pour certaines
fonctions et éviter de tout charger comme un goret.
Par exemple si j'ai la feature X et que je veux charger les
"fonctions" Y et Z, un appel comme:
(load-ng 'X :alist '((Y . un bind)(Z . un bind)))
doit me conduire à faire un require/autoload sur Y et Z + un
define-key sur chacun. Ni plus ni moins.
J'ai pas l'habitude de faire des explications par écrit. Je
préferre l'échange en direct. Sur USENET, ça parait compliqué :)
On 7 Jul 2005, drkm wrote:
> Charger tout ou parti d'un module en lui spécifiant en une
> seule passe la configuration *complète*.
C'est marrant. C'est exactement la diretcion opposée de
'drkm-conf:configure'. Le but est de retaredr au plus possible
le chargement de code, tant des bibliothèques que de leur
configuration.
Non, ce n'est pas si opposé. L'objectif poursuivi est exactement
le même: ne pas charger (ni configurer) un module tant qu'il n'y
en a pas l'utilité.
> Je sais que ça va paraître farfelu à certains, mais c'est
> typiquement le genre de chose que je voudrais faire:
> configurer un paquet entier en un seul appel de fonction
> (enfin là en l'occurence c'est une macro).
Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
'drkm-conf:configure' c'est qu'il prend les infos nécessaire à
la gestion du chargement, les utilise, et permet de placer
toute la config du package dans un fichier externe, qui ne sera
chargé qu'au dernier moment.
Euh, là je demande des explications.
> Là où je coince, c'est dans le fait de pouvoir charger par
> require, load-library ou même par autoload. Je n'arrive pas à
> gérer tout ça très proprement.
Je ne comprend pas.
C'est pas compliqué mais je m'exprime mal. Suivant les arguments
passés à la macro, je peux à loisir choisir "intelligemment"
quelle fonction utiliser pour charger un module.
Quelques exemples:
1. stringp et pas de alist: load-library
2. symbolp et pas de alist: require
3. symbolp et une alist: là soit un autoload soit un require sur
chaque car
...
Je ne comprend toujours pas. Tu veux créer des bindings pour
chaque fonction de boxquote ?!? Ou ne charger qu'une partie des
Non, je veux ne pouvoir mettre des bindings que pour certaines
fonctions et éviter de tout charger comme un goret.
Par exemple si j'ai la feature X et que je veux charger les
"fonctions" Y et Z, un appel comme:
(load-ng 'X :alist '((Y . un bind)(Z . un bind)))
doit me conduire à faire un require/autoload sur Y et Z + un
define-key sur chacun. Ni plus ni moins.
J'ai pas l'habitude de faire des explications par écrit. Je
préferre l'échange en direct. Sur USENET, ça parait compliqué :)
On 7 Jul 2005, drkm wrote:> Charger tout ou parti d'un module en lui spécifiant en une
> seule passe la configuration *complète*.
C'est marrant. C'est exactement la diretcion opposée de
'drkm-conf:configure'. Le but est de retaredr au plus possible
le chargement de code, tant des bibliothèques que de leur
configuration.
Non, ce n'est pas si opposé. L'objectif poursuivi est exactement
le même: ne pas charger (ni configurer) un module tant qu'il n'y
en a pas l'utilité.
> Je sais que ça va paraître farfelu à certains, mais c'est
> typiquement le genre de chose que je voudrais faire:
> configurer un paquet entier en un seul appel de fonction
> (enfin là en l'occurence c'est une macro).
Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
'drkm-conf:configure' c'est qu'il prend les infos nécessaire à
la gestion du chargement, les utilise, et permet de placer
toute la config du package dans un fichier externe, qui ne sera
chargé qu'au dernier moment.
Euh, là je demande des explications.
> Là où je coince, c'est dans le fait de pouvoir charger par
> require, load-library ou même par autoload. Je n'arrive pas à
> gérer tout ça très proprement.
Je ne comprend pas.
C'est pas compliqué mais je m'exprime mal. Suivant les arguments
passés à la macro, je peux à loisir choisir "intelligemment"
quelle fonction utiliser pour charger un module.
Quelques exemples:
1. stringp et pas de alist: load-library
2. symbolp et pas de alist: require
3. symbolp et une alist: là soit un autoload soit un require sur
chaque car
...
Je ne comprend toujours pas. Tu veux créer des bindings pour
chaque fonction de boxquote ?!? Ou ne charger qu'une partie des
Non, je veux ne pouvoir mettre des bindings que pour certaines
fonctions et éviter de tout charger comme un goret.
Par exemple si j'ai la feature X et que je veux charger les
"fonctions" Y et Z, un appel comme:
(load-ng 'X :alist '((Y . un bind)(Z . un bind)))
doit me conduire à faire un require/autoload sur Y et Z + un
define-key sur chacun. Ni plus ni moins.
J'ai pas l'habitude de faire des explications par écrit. Je
préferre l'échange en direct. Sur USENET, ça parait compliqué :)
Non, je veux ne pouvoir mettre des bindings que pour certaines
fonctions et éviter de tout charger comme un goret.
Non, je veux ne pouvoir mettre des bindings que pour certaines
fonctions et éviter de tout charger comme un goret.
Non, je veux ne pouvoir mettre des bindings que pour certaines
fonctions et éviter de tout charger comme un goret.
Si le mode est bien foutu, il doit déclarer ses ;;;###autoloads comme
il faut. Si le mode est mal foutu, en général, j'ajoute
les ;;;###autoloads et j'envoie un patch.
Si le mode est bien foutu, il doit déclarer ses ;;;###autoloads comme
il faut. Si le mode est mal foutu, en général, j'ajoute
les ;;;###autoloads et j'envoie un patch.
Si le mode est bien foutu, il doit déclarer ses ;;;###autoloads comme
il faut. Si le mode est mal foutu, en général, j'ajoute
les ;;;###autoloads et j'envoie un patch.
Xavier Maillard writes:
> Non, je veux ne pouvoir mettre des bindings que pour
> certaines fonctions et éviter de tout charger comme un goret.
Si le mode est bien foutu, il doit déclarer ses ;;;###autoloads
comme il faut. Si le mode est mal foutu, en général, j'ajoute
les ;;;###autoloads et j'envoie un patch.
Xavier Maillard <zedek@gnu-rox.org> writes:
> Non, je veux ne pouvoir mettre des bindings que pour
> certaines fonctions et éviter de tout charger comme un goret.
Si le mode est bien foutu, il doit déclarer ses ;;;###autoloads
comme il faut. Si le mode est mal foutu, en général, j'ajoute
les ;;;###autoloads et j'envoie un patch.
Xavier Maillard writes:
> Non, je veux ne pouvoir mettre des bindings que pour
> certaines fonctions et éviter de tout charger comme un goret.
Si le mode est bien foutu, il doit déclarer ses ;;;###autoloads
comme il faut. Si le mode est mal foutu, en général, j'ajoute
les ;;;###autoloads et j'envoie un patch.
> > Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
> > 'drkm-conf:configure' c'est qu'il prend les infos
> > nécessaire à la gestion du chargement, les utilise, et
> > permet de placer toute la config du package dans un fichier
> > externe, qui ne sera chargé qu'au dernier moment.
> Euh, là je demande des explications.
Prenons par exemple Gnus (c'est un exemple extrême, oui).
Lorsque tu dis : « configurer un paquet entier en un seul appel
de fonction », ça veut dire que tu veux inclure tout ton .gnus
dans un unique appel.
'drkm-conf:configure' ne prend que les infos de configuration
du *chargement* du module. En l'occurence, ce serait où se
situe Gnus, le fichier de config, etc. (évidemment, avec Gnus,
c'est géré différemment).
> Quelques exemples:
> 1. stringp et pas de alist: load-library
> 2. symbolp et pas de alist: require
> 3. symbolp et une alist: là soit un autoload soit un require
> sur
> chaque car
> ...
Ok. Je ne vois pas trop où tu coince. Tu utilise COND, les
tests qui vont bien, et les fonctions de chargement ad-hoc.
Qu'est-ce qui ne va pas, exactement ?
On est d'accord que les requires ne sont pas applicables sur
les fonctions ? Alors je ne vois pas le problème. Tu génère un
autoload pour chaque fonction, c'est tout. Tu ne t'occupes pas
de require.
> J'ai pas l'habitude de faire des explications par écrit. Je
> préferre l'échange en direct. Sur USENET, ça parait
> compliqué :)
C'est quand même moins compliqué que de faire le
déplacement ;-)
> > Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
> > 'drkm-conf:configure' c'est qu'il prend les infos
> > nécessaire à la gestion du chargement, les utilise, et
> > permet de placer toute la config du package dans un fichier
> > externe, qui ne sera chargé qu'au dernier moment.
> Euh, là je demande des explications.
Prenons par exemple Gnus (c'est un exemple extrême, oui).
Lorsque tu dis : « configurer un paquet entier en un seul appel
de fonction », ça veut dire que tu veux inclure tout ton .gnus
dans un unique appel.
'drkm-conf:configure' ne prend que les infos de configuration
du *chargement* du module. En l'occurence, ce serait où se
situe Gnus, le fichier de config, etc. (évidemment, avec Gnus,
c'est géré différemment).
> Quelques exemples:
> 1. stringp et pas de alist: load-library
> 2. symbolp et pas de alist: require
> 3. symbolp et une alist: là soit un autoload soit un require
> sur
> chaque car
> ...
Ok. Je ne vois pas trop où tu coince. Tu utilise COND, les
tests qui vont bien, et les fonctions de chargement ad-hoc.
Qu'est-ce qui ne va pas, exactement ?
On est d'accord que les requires ne sont pas applicables sur
les fonctions ? Alors je ne vois pas le problème. Tu génère un
autoload pour chaque fonction, c'est tout. Tu ne t'occupes pas
de require.
> J'ai pas l'habitude de faire des explications par écrit. Je
> préferre l'échange en direct. Sur USENET, ça parait
> compliqué :)
C'est quand même moins compliqué que de faire le
déplacement ;-)
> > Ça, c'est illusoire. Et sans doute inutile. L'intérêt de
> > 'drkm-conf:configure' c'est qu'il prend les infos
> > nécessaire à la gestion du chargement, les utilise, et
> > permet de placer toute la config du package dans un fichier
> > externe, qui ne sera chargé qu'au dernier moment.
> Euh, là je demande des explications.
Prenons par exemple Gnus (c'est un exemple extrême, oui).
Lorsque tu dis : « configurer un paquet entier en un seul appel
de fonction », ça veut dire que tu veux inclure tout ton .gnus
dans un unique appel.
'drkm-conf:configure' ne prend que les infos de configuration
du *chargement* du module. En l'occurence, ce serait où se
situe Gnus, le fichier de config, etc. (évidemment, avec Gnus,
c'est géré différemment).
> Quelques exemples:
> 1. stringp et pas de alist: load-library
> 2. symbolp et pas de alist: require
> 3. symbolp et une alist: là soit un autoload soit un require
> sur
> chaque car
> ...
Ok. Je ne vois pas trop où tu coince. Tu utilise COND, les
tests qui vont bien, et les fonctions de chargement ad-hoc.
Qu'est-ce qui ne va pas, exactement ?
On est d'accord que les requires ne sont pas applicables sur
les fonctions ? Alors je ne vois pas le problème. Tu génère un
autoload pour chaque fonction, c'est tout. Tu ne t'occupes pas
de require.
> J'ai pas l'habitude de faire des explications par écrit. Je
> préferre l'échange en direct. Sur USENET, ça parait
> compliqué :)
C'est quand même moins compliqué que de faire le
déplacement ;-)
On 8 Jul 2005, drkm wrote:
Je veux simplement lui ajouter
quelques fonctionnalités pour aller plus loin et permettre de
faire quelques trucs supplémentaires pour des paquets de moyenne
envergure.
Ok. Je ne vois pas trop où tu coince. Tu utilise COND, les
tests qui vont bien, et les fonctions de chargement ad-hoc.
Qu'est-ce qui ne va pas, exactement ?
Moi ;) Ou plutôt c'est pas joli je trouve et du coup ça me
bloque.
On est d'accord que les requires ne sont pas applicables sur
les fonctions ? Alors je ne vois pas le problème. Tu génère un
autoload pour chaque fonction, c'est tout. Tu ne t'occupes pas
de require.
Certes, c'est en fait la solution à mes problèmes de "conscience"
et j'attendais que quelqu'un d'autre l'évoque. Donc oui, la
solution serait de faire un load-library ou un autoload pour
chaque fonction.
A+ et merci pour le temps que tu passes à me répondre depuis
hier :)
On 8 Jul 2005, drkm wrote:
Je veux simplement lui ajouter
quelques fonctionnalités pour aller plus loin et permettre de
faire quelques trucs supplémentaires pour des paquets de moyenne
envergure.
Ok. Je ne vois pas trop où tu coince. Tu utilise COND, les
tests qui vont bien, et les fonctions de chargement ad-hoc.
Qu'est-ce qui ne va pas, exactement ?
Moi ;) Ou plutôt c'est pas joli je trouve et du coup ça me
bloque.
On est d'accord que les requires ne sont pas applicables sur
les fonctions ? Alors je ne vois pas le problème. Tu génère un
autoload pour chaque fonction, c'est tout. Tu ne t'occupes pas
de require.
Certes, c'est en fait la solution à mes problèmes de "conscience"
et j'attendais que quelqu'un d'autre l'évoque. Donc oui, la
solution serait de faire un load-library ou un autoload pour
chaque fonction.
A+ et merci pour le temps que tu passes à me répondre depuis
hier :)
On 8 Jul 2005, drkm wrote:
Je veux simplement lui ajouter
quelques fonctionnalités pour aller plus loin et permettre de
faire quelques trucs supplémentaires pour des paquets de moyenne
envergure.
Ok. Je ne vois pas trop où tu coince. Tu utilise COND, les
tests qui vont bien, et les fonctions de chargement ad-hoc.
Qu'est-ce qui ne va pas, exactement ?
Moi ;) Ou plutôt c'est pas joli je trouve et du coup ça me
bloque.
On est d'accord que les requires ne sont pas applicables sur
les fonctions ? Alors je ne vois pas le problème. Tu génère un
autoload pour chaque fonction, c'est tout. Tu ne t'occupes pas
de require.
Certes, c'est en fait la solution à mes problèmes de "conscience"
et j'attendais que quelqu'un d'autre l'évoque. Donc oui, la
solution serait de faire un load-library ou un autoload pour
chaque fonction.
A+ et merci pour le temps que tu passes à me répondre depuis
hier :)