-;;; 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-2012 Free Software Foundation, Inc.
;; Authors: Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
;; Alex Schroeder <alex@gnu.org>
: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
;;;###autoload
(define-minor-mode longlines-mode
- "Toggle Long Lines mode.
-In Long Lines mode, long lines are wrapped if they extend beyond
-`fill-column'. The soft newlines used for line wrapping will not
-show up when the text is yanked or saved to disk.
-
-If the variable `longlines-auto-wrap' is non-nil, lines are automatically
-wrapped whenever the buffer is changed. You can always call
-`fill-paragraph' to fill individual paragraphs.
-
-If the variable `longlines-show-hard-newlines' is non-nil, hard newlines
-are indicated with a symbol."
+ "Toggle Long Lines mode in this buffer.
+With a prefix argument ARG, enable Long Lines mode if ARG is
+positive, and disable it otherwise. If called from Lisp, enable
+the mode if ARG is omitted or nil.
+
+When Long Lines mode is enabled, long lines are wrapped if they
+extend beyond `fill-column'. The soft newlines used for line
+wrapping will not show up when the text is yanked or saved to
+disk.
+
+If the variable `longlines-auto-wrap' is non-nil, lines are
+automatically wrapped whenever the buffer is changed. You can
+always call `fill-paragraph' to fill individual paragraphs.
+
+If the variable `longlines-show-hard-newlines' is non-nil, hard
+newlines are indicated with a symbol."
:group 'longlines :lighter " ll"
(if longlines-mode
;; Turn on longlines mode
(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)
(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)))
"Turn all newlines in the buffer into hard newlines."
(longlines-decode-region (point-min) (point-max)))
-(defun longlines-encode-region (beg end &optional buffer)
+(defun longlines-encode-region (beg end &optional _buffer)
"Replace each soft newline between BEG and END with exactly one space.
Hard newlines are left intact. The optional argument BUFFER exists for
compatibility with `format-alist', and is ignored."
(setq longlines-auto-wrap nil)
(message "Auto wrap disabled.")))
-(defun longlines-after-change-function (beg end len)
+(defun longlines-after-change-function (beg end _len)
"Update `longlines-wrap-beg' and `longlines-wrap-end'.
This is called by `after-change-functions' to keep track of the region
that has changed."
'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 ()
(provide 'longlines)
-;; arch-tag: 3489d225-5506-47b9-8659-d8807b77c624
;;; longlines.el ends here