emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/simple.el,v


From: Chong Yidong
Subject: [Emacs-diffs] Changes to emacs/lisp/simple.el,v
Date: Tue, 12 Aug 2008 19:39:51 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Chong Yidong <cyd>      08/08/12 19:39:50

Index: simple.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/simple.el,v
retrieving revision 1.941
retrieving revision 1.942
diff -u -b -r1.941 -r1.942
--- simple.el   31 Jul 2008 16:51:21 -0000      1.941
+++ simple.el   12 Aug 2008 19:39:50 -0000      1.942
@@ -4508,6 +4508,8 @@
                            (copy-tree fringe-indicator-alist)))))))
         (set-default symbol value)))
 
+(defvar visual-line--saved-state nil)
+
 (define-minor-mode visual-line-mode
   "Redefine simple editing commands to act on visual lines, not logical lines.
 This also turns on `word-wrap' in the buffer."
@@ -4516,6 +4518,15 @@
   :lighter " wrap"
   (if visual-line-mode
       (progn
+       (set (make-local-variable 'visual-line--saved-state) nil)
+       ;; Save the local values of some variables, to be restored if
+       ;; visual-line-mode is turned off.
+       (dolist (var '(line-move-visual truncate-lines
+                      truncate-partial-width-windows
+                      word-wrap fringe-indicator-alist))
+         (if (local-variable-p var)
+             (push (cons var (symbol-value var)) 
+                   visual-line--saved-state)))
        (set (make-local-variable 'line-move-visual) t)
        (set (make-local-variable 'truncate-partial-width-windows) nil)
        (setq truncate-lines nil
@@ -4527,7 +4538,10 @@
     (kill-local-variable 'word-wrap)
     (kill-local-variable 'truncate-lines)
     (kill-local-variable 'truncate-partial-width-windows)
-    (kill-local-variable 'fringe-indicator-alist)))
+    (kill-local-variable 'fringe-indicator-alist)
+    (dolist (saved visual-line--saved-state)
+      (set (make-local-variable (car saved)) (cdr saved)))
+    (kill-local-variable 'visual-line--saved-state)))
 
 (defun turn-on-visual-line-mode ()
   (visual-line-mode 1))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]