Je voudrais blinder les \defcustom pour que ne soient acceptées que des
valeurs précises, par exemple "tabular" "tabularx" "tabulary" pour le
type de tableau reconnu.
Pour l'instant, j'ai mis
Il n'y a aucun contrôle de la valeur de la variable, ce qui peut être
ennuyeux, les différents types de tableaux devant faire l'objet d'un
traitement différent.
J'avoue ne pas tout comprendre les options, j'ai bêtement pompé dans
ses.el, et pour mon usage personnel, ça marche, je sais ce que le code
peut traiter.
Si quelqu'un pouvait m'éviter de RTFM que je ne comprends pas, un
exemple serait bienvenu.
Attention, elisp 20 avait un petit bug à mon sens : il fallait absolument indiquer :initialize 'custom-initialize-default dès que :set est utilisé.
Je peux commenter plus, mais je pense que cet exemple est assez clair. Je vais continuer à lire ce groupe quelques jours. Amitiés, Olivier
Merci pour ces exemples, mais ce n'est pas forcément très simple à comprendre. Je vais essayer de m'en inspirer.
-- JJR
Olve
Ils ne sont peut être pas adaptés. En voici un autre :
(defcustom ses-export-latex-tabtype 'tabular "Best to re-start your emacs session if you change this value." :type '(choice (const tabularx) (const tabulary) (const tabular)) :group 'ses-export)
La valeur sera alors un symbole.
Plus compliqué :
(defcustom ses-export-latex-tabtype 'tabular "Type de tableau (tabular, tabularx, tabulary)" :type '(choice (const tabularx) (const tabulary) (const tabular)) :set (lambda (sym val) (ses-export-select-latex-tabtype val)) :initialize 'custom-initialize-set ;;if you use :set, you should specify:initialize! :group 'ses-export)
(defun ses-export-select-latex-tabtype (val) (cond ((eq val 'tabular) blablabla) ((eq val 'tabulary) bloblo) ((eq val 'tabularx) ouin) (t (error "Untreated value of ses-export-latex-tabtype"))))
Je n'ai pas vérifié ce code. En ce moment, je suis plutôt en perl / php et css qu'en lisp, il peut y avoir des couacs non-négligeables ! Amitiés, Olivier
Ils ne sont peut être pas adaptés.
En voici un autre :
(defcustom ses-export-latex-tabtype 'tabular
"Best to re-start your emacs session if you change this value."
:type '(choice (const tabularx) (const tabulary) (const tabular))
:group 'ses-export)
La valeur sera alors un symbole.
Plus compliqué :
(defcustom ses-export-latex-tabtype 'tabular
"Type de tableau (tabular, tabularx, tabulary)"
:type '(choice (const tabularx) (const tabulary) (const tabular))
:set (lambda (sym val) (ses-export-select-latex-tabtype val))
:initialize 'custom-initialize-set
;;if you use :set, you should specify:initialize!
:group 'ses-export)
(defun ses-export-select-latex-tabtype (val)
(cond
((eq val 'tabular) blablabla)
((eq val 'tabulary) bloblo)
((eq val 'tabularx) ouin)
(t (error "Untreated value of ses-export-latex-tabtype"))))
Je n'ai pas vérifié ce code. En ce moment, je suis plutôt en
perl / php et css qu'en lisp, il peut y avoir des couacs
non-négligeables !
Amitiés,
Olivier
Ils ne sont peut être pas adaptés. En voici un autre :
(defcustom ses-export-latex-tabtype 'tabular "Best to re-start your emacs session if you change this value." :type '(choice (const tabularx) (const tabulary) (const tabular)) :group 'ses-export)
La valeur sera alors un symbole.
Plus compliqué :
(defcustom ses-export-latex-tabtype 'tabular "Type de tableau (tabular, tabularx, tabulary)" :type '(choice (const tabularx) (const tabulary) (const tabular)) :set (lambda (sym val) (ses-export-select-latex-tabtype val)) :initialize 'custom-initialize-set ;;if you use :set, you should specify:initialize! :group 'ses-export)
(defun ses-export-select-latex-tabtype (val) (cond ((eq val 'tabular) blablabla) ((eq val 'tabulary) bloblo) ((eq val 'tabularx) ouin) (t (error "Untreated value of ses-export-latex-tabtype"))))
Je n'ai pas vérifié ce code. En ce moment, je suis plutôt en perl / php et css qu'en lisp, il peut y avoir des couacs non-négligeables ! Amitiés, Olivier