OVH Cloud OVH Cloud

Débutant: elisp

3 réponses
Avatar
Dave Null
Bonjour,

comment puis-je déclarer une fonction locale à un mode ? (par exemple,
une fonction que j'ai le droit d'appeler dans un buffer pascal-mode,
mais pas dans un buffer quelconque)

Merci par avance.

3 réponses

Avatar
lhabert
Dave Null :

comment puis-je déclarer une fonction locale à un mode ? (par exemple,
une fonction que j'ai le droit d'appeler dans un buffer pascal-mode,
mais pas dans un buffer quelconque)



Le truc qui s'en rapproche le plus serait une fonction stockée dans une
variable locale de tous les buffers qui sont dans ce mode. En pratique, on
ne fait pas ça, on définit le nom de la fonction avec un préfixe spécifique
au mode en question, et on fait confiance à l'utilisateur pour ne pas se
tirer une balle dans le pied.
Avatar
Pascal Bourguignon
Dave Null writes:
comment puis-je déclarer une fonction locale à un mode ? (par exemple,
une fonction que j'ai le droit d'appeler dans un buffer pascal-mode,
mais pas dans un buffer quelconque)



(defun fonction ()
(unless (eq major-mode 'pascal-mode)
(error "fonction ne fonctionne pas dans le mode %s" major-mode))
...)

--
__Pascal Bourguignon__ http://www.informatimago.com/

HEALTH WARNING: Care should be taken when lifting this product,
since its mass, and thus its weight, is dependent on its velocity
relative to the user.
Avatar
Dave Null
Luc Habert a écrit :
Le truc qui s'en rapproche le plus serait une fonction stockée dans une
variable locale de tous les buffers qui sont dans ce mode. En pratique, on
ne fait pas ça, on définit le nom de la fonction avec un préfixe spécifique
au mode en question, et on fait confiance à l'utilisateur pour ne pas se
tirer une balle dans le pied.



Très bien, merci.