diff --git a/.emacs b/.emacs
index 5d650382bb7758e12df66041e3a0837e8ffa1c6f..5760bca25ab5b735389a0a8d7f26e64056b71cbd 100644
--- a/.emacs
+++ b/.emacs
@@ -1063,8 +1063,11 @@
   (interactive)
   (end-of-line)
   (kill-line)
-  (delete-char 1)
-  (just-one-space)
+  (save-excursion
+    (goto-char (point))
+    (when (re-search-forward ">\\( *>\\)* *" nil t)
+      (replace-match "" nil t)
+      (just-one-space)))
   (end-of-line)
   (gin-do-auto-fill))
 ;; Au niveau du mapping, c'est un peu tricky. Je n'ai pas trouvé le
diff --git a/.lisp/gin-mode.el b/.lisp/gin-mode.el
index ef40854563637699a154a481896393576e62fb48..f07dc659631c2be7b3723a9551afb4b41a7c68db 100644
--- a/.lisp/gin-mode.el
+++ b/.lisp/gin-mode.el
@@ -58,7 +58,7 @@ white space beyond the hanging indent.  Setting this variable makes
 it buffer-local.")
 
 (defvar gin-retain-indent-re
-  "[ \t]*[a-zA-Z-]*>+[ \t]*\\|[ \t]+"
+  "[ \t]*[a-zA-Z-]*>\\( *>\\)*[ \t]*\\|[ \t]+"
   "*Regexp that defines how a fill-prefix can look like.
 If such a string is seen by gin-guess-prefix in the current line,
 the next line will be indented with it, too.  Setting this variable