Merge from emacs-23; up to 2010-05-28T19:18:47Z!juri@jurta.org.
[bpt/emacs.git] / lisp / longlines.el
index d160b80..8843b16 100644 (file)
@@ -1,6 +1,6 @@
-;;; longlines.el --- automatically wrap long lines
+;;; longlines.el --- automatically wrap long lines   -*- coding:utf-8 -*-
 
-;; Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2001, 2004-2011 Free Software Foundation, Inc.
 
 ;; Authors:    Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 ;;             Alex Schroeder <alex@gnu.org>
@@ -69,7 +69,7 @@ You can also enable the display temporarily, using the command
   :group 'longlines
   :type 'boolean)
 
-(defcustom longlines-show-effect (propertize "|\n" 'face 'escape-glyph)
+(defcustom longlines-show-effect (propertize "ΒΆ\n" 'face 'escape-glyph)
   "A string to display when showing hard newlines.
 This is used when `longlines-show-hard-newlines' is on."
   :group 'longlines
@@ -119,6 +119,10 @@ are indicated with a symbol."
         (make-local-variable 'longlines-auto-wrap)
        (set (make-local-variable 'isearch-search-fun-function)
             'longlines-search-function)
+       (set (make-local-variable 'replace-search-function)
+            'longlines-search-forward)
+       (set (make-local-variable 'replace-re-search-function)
+            'longlines-re-search-forward)
         (add-to-list 'buffer-substring-filters 'longlines-encode-string)
         (when longlines-wrap-follows-window-size
          (let ((dw (if (and (integerp longlines-wrap-follows-window-size)
@@ -191,6 +195,8 @@ are indicated with a symbol."
     (when longlines-wrap-follows-window-size
       (kill-local-variable 'fill-column))
     (kill-local-variable 'isearch-search-fun-function)
+    (kill-local-variable 'replace-search-function)
+    (kill-local-variable 'replace-re-search-function)
     (kill-local-variable 'require-final-newline)
     (kill-local-variable 'buffer-substring-filters)
     (kill-local-variable 'use-hard-newlines)))
@@ -458,13 +464,17 @@ This is called by `window-configuration-change-hook'."
       'longlines-search-backward))))
 
 (defun longlines-search-forward (string &optional bound noerror count)
-  (let ((search-spaces-regexp "[ \n]+"))
+  (let ((search-spaces-regexp " *[ \n]"))
     (re-search-forward (regexp-quote string) bound noerror count)))
 
 (defun longlines-search-backward (string &optional bound noerror count)
-  (let ((search-spaces-regexp "[ \n]+"))
+  (let ((search-spaces-regexp " *[ \n]"))
     (re-search-backward (regexp-quote string) bound noerror count)))
 
+(defun longlines-re-search-forward (string &optional bound noerror count)
+  (let ((search-spaces-regexp " *[ \n]"))
+    (re-search-forward string bound noerror count)))
+
 ;; Loading and saving
 
 (defun longlines-before-revert-hook ()
@@ -493,5 +503,4 @@ This is called by `window-configuration-change-hook'."
 
 (provide 'longlines)
 
-;; arch-tag: 3489d225-5506-47b9-8659-d8807b77c624
 ;;; longlines.el ends here