Emacseries pour typo française
Ci-joint le boulot de Patrice, remis en forme dans un fichier Lisp. Y
compris la gestion du point-virgule.....
Objectif : aider à mieux entrer la bonne typo française quand on tape
du texte.
Le fichier joint met cela en service pour le mode texte simple et pour
le mode "post".
--
Christian Perrier
Debian geneweb and lifelines packages maintainer
;;========================================================================
;; redéfinition des touches
;;From: Patrice Karatchentzeff <p.karatchentzeff@free.fr>
;;Date: Wed, 30 Apr 2003 16:28:55 +0200
;;To: debian-l10n-french@lists.debian.org
(defun my-french-guill ()
"Insère une paire de guillemets"
(interactive)
(insert "« »");<-- deux espaces insécables
(backward-char 2))
(defun my-point-virgule ()
(interactive)
(if (eq (char-before) ?\ ) ; si espace classique
(progn
(backward-delete-char 1)
(insert " ;"));<-- 1 espace insécable
(insert " ;")));<-- itou
(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-point-virgule)
(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))
(add-hook 'text-mode-hook 'my-double-keys)
(add-hook 'post-mode-hook 'my-double-keys)
;;========================================================================
Reply to: