Frédéric Bothamy écrivait : [...]
> Ensuite, il faudrait mettre ça proprement en fonctions Lisp dans le > fichier d'initialisation. Bon, j'ai fini par faire cela proprement, à l'aide de gars sur fcae. Voilà le résultat : insertion automatique d'espace insécable (et plus, fort, remplacement à la volée d'espace classique si il est tapé avant un signe de ponctuation réclamant une espace insécable). Je l'ai fait pour le mode texte. C'est facile d'ajouter pour les modes que l'on veut, notamment le bricolage est trivial pour remplacer l'espace insécable par en mode psgml par exemple. ;; redéfinition des touches (defun my-french-guill () "Insère une paire de guillemets" (interactive) (insert "« »");<-- deux espaces insécables (backward-char 2)) (defun my-point-interrogation () "Insère un point d'interrogation précédé d'une espace insécable" (interactive) (if (eq (char-before) ?\ ) ; si espace classique (progn (backward-delete-char 1) (insert " ?"));<-- 1 espace insécable (insert " ?")));<-- itou (defun my-point-exclamation () (interactive) (if (eq (char-before) ?\ ) ; si espace classique (progn (backward-delete-char 1) (insert " !"));<-- 1 espace insécable (insert " !")));<-- itou (defun my-double-point () (interactive) (if (eq (char-before) ?\ ) ; si espace classique (progn (backward-delete-char 1) (insert " :"));<-- 1 espace insécable (insert " :")));<-- itou (defun my-double-parenthese () (interactive) (insert "()") (backward-char 1)) (defun my-double-crochet () (interactive) (insert "[]") (backward-char 1)) (defun my-double-accolade () (interactive) (insert "{}") (backward-char 1)) (defun my-double-keys () "Touches spécifiques" (interactive) ;; [...] (setq skeleton-pair t) (define-key text-mode-map "$" 'skeleton-pair-insert-maybe) (define-key text-mode-map "{" 'my-double-accolade) (define-key text-mode-map "(" 'my-double-parenthese) (define-key text-mode-map "[" 'my-double-crochet) (define-key text-mode-map "?" 'my-point-interrogation) (define-key text-mode-map "!" 'my-point-exclamation) (define-key text-mode-map ":" 'my-double-point) (define-key text-mode-map 'guillemotleft 'my-french-guill)) ; pour EMacs ; (define-key text-mode-map "\253" 'my-french-guill)) (add-hook 'text-mode-hook 'my-double-keys) PK -- |\ _,,,---,,_ Patrice KARATCHENTZEFF ZZZzz /,`.-'`' -. ;-;;,_ mailto:[EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' http://p.karatchentzeff.free.fr '---''(_/--' `-'\_)