Use find-file-hook instead of find-file-hooks.
[bpt/emacs.git] / lisp / longlines.el
index f043a48..77176a5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; longlines.el --- automatically wrap long lines
 
-;; Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Authors:    Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 ;;             Alex Schroeder <alex@gnu.org>
@@ -136,7 +136,8 @@ are indicated with a symbol."
         (let ((buffer-undo-list t)
               (inhibit-read-only t)
              (after-change-functions nil)
-              (mod (buffer-modified-p)))
+              (mod (buffer-modified-p))
+             buffer-file-name buffer-file-truename)
           ;; Turning off undo is OK since (spaces + newlines) is
           ;; conserved, except for a corner case in
           ;; longlines-wrap-lines that we'll never encounter from here
@@ -176,7 +177,8 @@ are indicated with a symbol."
         (longlines-unshow-hard-newlines))
     (let ((buffer-undo-list t)
          (after-change-functions nil)
-          (inhibit-read-only t))
+          (inhibit-read-only t)
+         buffer-file-name buffer-file-truename)
       (if longlines-decoded
          (save-restriction
            (widen)
@@ -207,33 +209,41 @@ major mode changes."
   "Make hard newlines visible by adding a face.
 With optional argument ARG, make the hard newlines invisible again."
   (interactive "P")
-  (let ((buffer-undo-list t)
-        (mod (buffer-modified-p)))
     (if arg
         (longlines-unshow-hard-newlines)
       (setq longlines-showing t)
-      (longlines-show-region (point-min) (point-max)))
-    (set-buffer-modified-p mod)))
+      (longlines-show-region (point-min) (point-max))))
 
 (defun longlines-show-region (beg end)
   "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))
-         (inhibit-read-only t))
+        (mod (buffer-modified-p))
+        (buffer-undo-list t)
+        (inhibit-read-only t)
+        (inhibit-modification-hooks t)
+        buffer-file-name buffer-file-truename)
     (while pos
       (put-text-property pos (1+ pos) 'display
-                         (copy-sequence longlines-show-effect))
-      (setq pos (text-property-not-all (1+ pos) pmax 'hard nil)))))
+                        (copy-sequence longlines-show-effect))
+      (setq pos (text-property-not-all (1+ pos) pmax 'hard nil)))
+    (restore-buffer-modified-p mod)))
 
 (defun longlines-unshow-hard-newlines ()
   "Make hard newlines invisible again."
   (interactive)
   (setq longlines-showing nil)
-  (let ((pos (text-property-not-all (point-min) (point-max) 'hard nil)))
+  (let ((pos (text-property-not-all (point-min) (point-max) 'hard nil))
+       (mod (buffer-modified-p))
+       (buffer-undo-list t)
+       (inhibit-read-only t)
+       (inhibit-modification-hooks t)
+       buffer-file-name buffer-file-truename)
     (while pos
       (remove-text-properties pos (1+ pos) '(display))
-      (setq pos (text-property-not-all (1+ pos) (point-max) 'hard nil)))))
+      (setq pos (text-property-not-all (1+ pos) (point-max) 'hard nil)))
+    (restore-buffer-modified-p mod)))
 
 ;; Wrapping the paragraphs.