X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/38e3f12e18ca0f5d64f03ade783099cd0e7a4387..b83813ec2214046e9a2448058d4ede8e0062c0c4:/lisp/longlines.el diff --git a/lisp/longlines.el b/lisp/longlines.el index dadd8a5d58..e8ab4fbdd8 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -1,6 +1,6 @@ ;;; longlines.el --- automatically wrap long lines -;; Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. ;; Authors: Kai Grossjohann ;; Alex Schroeder @@ -44,7 +44,7 @@ :group 'fill) (defcustom longlines-auto-wrap t - "*Non-nil means long lines are automatically wrapped after each command. + "Non-nil means long lines are automatically wrapped after each command. Otherwise, you can perform filling using `fill-paragraph' or `auto-fill-mode'. In any case, the soft newlines will be removed when the file is saved to disk." @@ -52,7 +52,7 @@ when the file is saved to disk." :type 'boolean) (defcustom longlines-wrap-follows-window-size nil - "*Non-nil means wrapping and filling happen at the edge of the window. + "Non-nil means wrapping and filling happen at the edge of the window. Otherwise, `fill-column' is used, regardless of the window size. This does not work well when the buffer is displayed in multiple windows with differing widths." @@ -60,15 +60,15 @@ with differing widths." :type 'boolean) (defcustom longlines-show-hard-newlines nil - "*Non-nil means each hard newline is marked on the screen. + "Non-nil means each hard newline is marked on the screen. \(The variable `longlines-show-effect' controls what they look like.) You can also enable the display temporarily, using the command -`longlines-show-hard-newlines'" +`longlines-show-hard-newlines'." :group 'longlines :type 'boolean) (defcustom longlines-show-effect (propertize "|\n" 'face 'escape-glyph) - "*A string to display when showing hard newlines. + "A string to display when showing hard newlines. This is used when `longlines-show-hard-newlines' is on." :group 'longlines :type 'string) @@ -202,7 +202,8 @@ With optional argument ARG, make the hard newlines invisible again." "Make hard newlines between BEG and END visible." (let* ((pmin (min beg end)) (pmax (max beg end)) - (pos (text-property-not-all pmin pmax 'hard nil))) + (pos (text-property-not-all pmin pmax 'hard nil)) + (inhibit-read-only t)) (while pos (put-text-property pos (1+ pos) 'display (copy-sequence longlines-show-effect)) @@ -257,7 +258,7 @@ not need to be wrapped, move point to the next line and return t." (if (> longlines-wrap-point (point)) (setq longlines-wrap-point (1- longlines-wrap-point)))) - (insert-before-markers-and-inherit ?\ ) + (insert-before-markers-and-inherit ?\s) (backward-char 1) (delete-char -1) (forward-char 1)) @@ -396,16 +397,11 @@ that has changed." "Perform line wrapping on the parts of the buffer that have changed. This is called by `post-command-hook' after each command." (when longlines-wrap-beg - (cond ((or (eq this-command 'yank) - (eq this-command 'yank-pop)) - (longlines-decode-region (point) (mark t)) - (if longlines-showing - (longlines-show-region (point) (mark t)))) - ((and (eq this-command 'newline) longlines-showing) - (save-excursion - (if (search-backward "\n" nil t) - (longlines-show-region - (match-beginning 0) (match-end 0)))))) + (if (or (eq this-command 'yank) + (eq this-command 'yank-pop)) + (longlines-decode-region (point) (mark t))) + (if longlines-showing + (longlines-show-region longlines-wrap-beg longlines-wrap-end)) (unless (or (eq this-command 'fill-paragraph) (eq this-command 'fill-region)) (longlines-wrap-region longlines-wrap-beg longlines-wrap-end)) @@ -414,7 +410,7 @@ This is called by `post-command-hook' after each command." (defun longlines-window-change-function () "Re-wrap the buffer if the window width has changed. -This is called by `window-size-change-functions'." +This is called by `window-configuration-change-hook'." (when (/= fill-column (- (window-width) window-min-width)) (setq fill-column (- (window-width) window-min-width)) (let ((mod (buffer-modified-p)))