OVH Cloud OVH Cloud

easymenu

9 réponses
Avatar
Jean Pierre Lemue
J'ai qq problèmes pour définir des sous menus à l'aide de easymenu.

J'ai réussi à rajouter des items dans la barre de menu principale qui
fonctionnent, c'est à dire que les fonctions des nouveaux boutons
s'exécutent.
Je voudrais maintenant définir des sous menus dans ces nouveaux items.

Comment faire?
merci

9 réponses

Avatar
Olve
Bonjour,

(defvar jp-menu nil
"menu pour jp-mode")



(setq jp-menu
'("jp"
["jp1" end-of-line t]))





J'ai effectivement un peu de mal avec les définitions du genre:
"declarer telle variable <<nil>>" et "si elle est <<nil>> faire celà
Il y a qq chose de tautologique là dedans



Oui tout a fait.
En fait, c'est parce que c'est du code extirpe :
je mets le defvar au debut pour pacifier le compilateur,
et la definition pres de la partie du code qui s'occupe
du menu et qui est typiquement a la fin du code.
Il se trouve que je ne considere pas vraiment ces
variables comme des variables ce pourquoi je les
entoure souvent d'une fonction : pour creer des
menus de facons dynamiques par exemple (choisir
les couleurs parmis les couleurs deja choisies par
l'utilisateur + petit cool de base, ou selon le
type de parametrages demandes, inclure un menu
plus ou moins detaille, ou mettre des bulles d'aide
seulement si demande, ce genre de truc). Cette variable
ne sera jamais reutilisee et la nommer est inutile sauf
pour rendre le code plus lisible.
Voila. Donc j'accepte effectivement la remarque mais
demande des circonstances attenuantes !
Amities,
Olivier

PS. Et oui, ce genre de code il faut le rendre public,
entoure d'une jolie licence gpl. Sourceforge permet
d'heberger facilement ce genre de code. Ensuite on
ameliore.
Avatar
Jean Pierre Lemue
Bonjour Olivier
Il n'y avait pas la moindre critique quant à l'aspect tautologique, on
retrouve celà dans tous les codes lisp.

Pour la diffusion du mode Eukleides.
Certes, ce mode m'est fort utile, il peut donc être utile à d'autres, mais
je ne suis guère au courant de la question des licences, alors, un petit
lien là dessus m'intéresse.
Merci
Jp
Avatar
Olve
Bonjour,

Pour les licences, c'est facile : a priori chaque
programme. Pour faire des choses claires et generaliser
la pratique, la FSF (free software foundation) propose
que les programmes passent sous licence soit GPL
(General Public Licence : droit d'utiliser, de modifier,
d'etendre tant que l'auteur reste connu, les modifications
claires, que la license est reconduite et que l'utilisation
est non commerciale. Aussi interdiction de vendre ce produit
ou tout *derive*. Mais on a droit de vendre un cd qui contient
un installateur de ces logiciels), soit LGPL (Light GPL qui
autorise les produits commerciaux a utiliser ce logiciel :
typiquement un developpeur veut pouvoir vendre une jolie
interface graphique pour un logiciel libre. Inutile pour les
modes qui aident a utiliser des logiciels commerciaux, comme
le tien).
La tendance actuelle veut que l'on passe les gros trucs
en LGPL et les petits utilitaires en GPL. Il s'agit de
limiter les activites commerciales (1) a la distribution
ou elles sont bienvenues (2) aux logiciels terminaux dont
l'aspect proprietaire ne bloquera pas l'evolution globale
(3) aux activites industrielles [informatique proprietaire
interne a une grosse structure : si ils veulent gerer leur
evolution, c'est leur probleme].
Un Google sur FSF et GPL devrait suffir.
En dessous ce que contient le manuel.
Voir aussi ce merveilleux emacswiki:
http://www.emacswiki.org/cgi-bin/wiki.pl/SampleMode
Finalement, je recommande la section du manuel sur
"comment definir un nouveau mode" et "comment definir
des variables robustes".
Bon courage !
Amities,
Olivier


Le manuel eLisp (GNU Emacs Lisp Reference Manual) dit:
------------------------------------------------------------
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make
it free software which everyone can redistribute and change under these
terms.

To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

one line to give the program's name and an idea of what it does.
================================================================= Copyright (C) 19yy name of author

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
=================================================================
Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like
this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.

The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and
show c'; they could even be mouse-clicks or menu items--whatever
suits your program.
-------------------------------------------------------------------
Avatar
Matthieu Moy
Puisqu'on parle de licence, fu2 et X-post sur
fr.comp.applications.libres.

Olve writes:

Bonjour,

Pour les licences, c'est facile : a priori chaque
programme. Pour faire des choses claires et generaliser
la pratique, la FSF (free software foundation) propose
que les programmes passent sous licence soit GPL
(General Public Licence : droit d'utiliser, de modifier,
d'etendre tant que l'auteur reste connu, les modifications
claires, que la license est reconduite



OK

et que l'utilisation est non commerciale.



Surtout pas. Une licence qui interdit une utilisation commercial n'est
pas libre, et ce n'est surement pas le cas de la GPL !

Aussi interdiction de vendre ce produit ou tout *derive*.



Non plus. Le plus bel exemple de logiciel sous GPL qui puisse être
vendu est Emacs. Richard Stallman (le créateur de la GPL) lui-même l'a
vendu sur bande pour 150$ dans les débuts du projet GNU.

Par contre, ce qui est imposé, c'est d'autoriser la personne à qui tu
vends le logiciel à le redistribuer lui-même. Ça empêche dans beaucoup
de cas de tirer des bénéfices directs de la vente du logiciel, mais ça
ne l'interdit pas explicitement.

Mais on a droit de vendre un cd qui contient un installateur de ces
logiciels), soit LGPL (Light GPL



*Lesser* GPL. (http://www.gnu.org/copyleft/lesser.html)

qui autorise les produits commerciaux a utiliser ce logiciel :



Ne pas confondre commerciaux et propriétaires.
http://www.gnu.org/philosophy/words-to-avoid.fr.html#SellSoftware

typiquement un developpeur veut pouvoir vendre une jolie interface
graphique pour un logiciel libre. Inutile pour les modes qui aident
a utiliser des logiciels commerciaux, comme le tien). La tendance
actuelle veut que l'on passe les gros trucs en LGPL et les petits
utilitaires en GPL.



Ca dépends surtout de qui développe ce projet, et si c'est une
bibliothèque ou pas. La FSF n'est pas prête, même pour une grosse
application, à développer en LGPL.

Il s'agit de limiter les activites commerciales
(1) a la distribution ou elles sont bienvenues
(2) aux logiciels terminaux dont l'aspect proprietaire ne bloquera
pas l'evolution globale
(3) aux activites industrielles [informatique proprietaire interne a
une grosse structure : si ils veulent gerer leur evolution, c'est
leur probleme].
Un Google sur FSF et GPL devrait suffir.



Une visite sur fsf.org et gnu.org peut aider aussi.

Voilà pour les précisions.

--
Matthieu
Avatar
Remi Vanicat
Olve writes:

Bonjour,

Pour les licences, c'est facile : a priori chaque
programme. Pour faire des choses claires et generaliser
la pratique, la FSF (free software foundation) propose
que les programmes passent sous licence soit GPL
(General Public Licence : droit d'utiliser, de modifier,
d'etendre tant que l'auteur reste connu, les modifications
claires, que la license est reconduite et que l'utilisation
est non commerciale.



Il n'y a aucune contrainte sur l'utilisation. On peux utiliser un
produit sous GPL pour ce que l'on veux, y compris pour des
utilisations commerciales.


Aussi interdiction de vendre ce produit ou tout *derive*.



Non plus, c'est autorisation de vendre ce produit ou tout *dérivé*, à
condition que l'acheteur l'obtienne sous licence GPL, et si il le
désire, avec le code source.

Mais on a droit de vendre un cd qui contient
un installateur de ces logiciels), soit LGPL (Light GPL qui
autorise les produits commerciaux a utiliser ce logiciel :
typiquement un developpeur veut pouvoir vendre une jolie
interface graphique pour un logiciel libre. Inutile pour les
modes qui aident a utiliser des logiciels commerciaux, comme
le tien).



Plus précisément, c'est une histoire de linkage.

La tendance actuelle veut que l'on passe les gros trucs
en LGPL et les petits utilitaires en GPL. Il s'agit de
limiter les activites commerciales (1) a la distribution
ou elles sont bienvenues (2) aux logiciels terminaux dont
l'aspect proprietaire ne bloquera pas l'evolution globale
(3) aux activites industrielles [informatique proprietaire
interne a une grosse structure : si ils veulent gerer leur
evolution, c'est leur probleme].



Vous mélangez propriétaire et commerciales. la FSF ne s'oppose en aucun
cas au application commerciales. Ce que la FSF n'aime pas se sont les
codes propriétaire ie fermé.

Par contre, s'il s'agit d'un mode Emacs (c'est ça ? j'ai pas lu le
début du thread, mais vu où je suis...) je me demande si le fait que
Emacs soit sous GPL n'oblige pas toute personne faisant un mode pour
Emacs de le distribuer sous GPL. En effet d'une certaine façons le
mode Emacs est une modification de Emacs, et donc couvert par la GPL.

--
Rémi Vanicat
Avatar
Jean Pierre Lemue
Quand je lis les réponses à la question que j'ai posée, et bien, je ne
comprends plus ma question!
Ah!Ah!
JP Lemue
Avatar
Matthieu Moy
"Jean Pierre Lemue" writes:

Quand je lis les réponses à la question que j'ai posée, et bien, je ne
comprends plus ma question!



Mais la réponse que tu cherches, c'est ça :

http://www.fsf.org/licenses/gpl-howto.fr.html

Et le pourquoi de cette réponse, c'est ça :

http://www.fsf.org/licenses/licenses.fr.html

--
Matthieu
Avatar
Olve
Bonjour,

Il n'y a aucune contrainte sur l'utilisation. On peux utiliser un
produit sous GPL pour ce que l'on veux, y compris pour des
utilisations commerciales.



Sauf pour l'utiliser dans un code proprietaire.

La tendance actuelle veut que l'on passe les gros trucs
en LGPL et les petits utilitaires en GPL. Il s'agit de
limiter les activites commerciales (1) a la distribution
ou elles sont bienvenues (2) aux logiciels terminaux dont
l'aspect proprietaire ne bloquera pas l'evolution globale
(3) aux activites industrielles [informatique proprietaire
interne a une grosse structure : si ils veulent gerer leur
evolution, c'est leur probleme].



Vous mélangez propriétaire et commerciales.



Voir plus bas. Mais les discussions âpres auxquelles j'ai assistees
allaient dans ce sens-la : le changement de la position qui privilegie
l'evolution a long terme (qui demande l'ouverture) ou la survie a
court/long terme (qui peut demander protection) se situe a peu pres ou
je la mets si j'ai bonne memoire.

la FSF ne s'oppose en aucun
cas au application commerciales. Ce que la FSF n'aime pas se sont les
codes propriétaire ie fermé.


[...]
Par contre, s'il s'agit d'un mode Emacs (c'est ça ? j'ai pas lu le
début du thread, mais vu où je suis...) je me demande si le fait que
Emacs soit sous GPL n'oblige pas toute personne faisant un mode pour
Emacs de le distribuer sous GPL. En effet d'une certaine façons le
mode Emacs est une modification de Emacs, et donc couvert par la GPL.



Et a ce niveau, on comprend que j'avais essentiellement retranscrit
l'esprit de la loi sinon sa lettre :-), comme le droit francais m'y enjoint :
la plupart des codes commerciaux sont proprietaires. Linux excepte et Sun via
Java. Mais la reprimande est correcte et va dans le sens de la clarification.

Je ne pense pas qu'un mode emacs doive automatiquement etre en GPL, mais je
n'en suis plus sur. De toutes facons, c'est une bonne idee de l'inclure
en GPL.
Ouf, ces histoires de licences, c'est toujours le b...n.
Amities,
Olivier
Avatar
Jean Pierre Lemue
Olivier,
merci pour tous tes conseils, en particulier sur les menus, c'était la
question principale.
Quand mon code sera (provisoirement) fini, je me documenterai sur les
licences.
JP.