emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/textmodes/enriched.el


From: Luc Teirlinck
Subject: [Emacs-diffs] Changes to emacs/lisp/textmodes/enriched.el
Date: Sat, 18 Sep 2004 20:19:04 -0400

Index: emacs/lisp/textmodes/enriched.el
diff -c emacs/lisp/textmodes/enriched.el:1.4 
emacs/lisp/textmodes/enriched.el:1.5
*** emacs/lisp/textmodes/enriched.el:1.4        Fri Jul  2 23:47:44 2004
--- emacs/lisp/textmodes/enriched.el    Sun Sep 19 00:12:43 2004
***************
*** 1,6 ****
  ;;; enriched.el --- read and save files in text/enriched format
  
! ;; Copyright (c) 1994, 1995, 1996, 2002 Free Software Foundation, Inc.
  
  ;; Author: Boris Goldowsky <address@hidden>
  ;; Keywords: wp, faces
--- 1,6 ----
  ;;; enriched.el --- read and save files in text/enriched format
  
! ;; Copyright (c) 1994, 1995, 1996, 2002, 2004 Free Software Foundation, Inc.
  
  ;; Author: Boris Goldowsky <address@hidden>
  ;; Keywords: wp, faces
***************
*** 141,147 ****
  
  ;;; Internal variables
  
- 
  (defcustom enriched-mode-hook nil
    "Hook run after entering/leaving Enriched mode.
  If you set variables in this hook, you should arrange for them to be restored
--- 141,146 ----
***************
*** 155,160 ****
--- 154,164 ----
  The value is a list of \(VAR VALUE VAR VALUE...).")
  (make-variable-buffer-local 'enriched-old-bindings)
  
+ ;; Technical internal variable.  Bound to t if `enriched-mode' is
+ ;; being rerun by a major mode to allow it to restore buffer-local
+ ;; variables and to correctly update `enriched-old-bindings'.
+ (defvar enriched-rerun-flag nil)
+ 
  ;;;
  ;;; Define the mode
  ;;;
***************
*** 181,203 ****
         (while enriched-old-bindings
           (set (pop enriched-old-bindings) (pop enriched-old-bindings))))
  
!       ((memq 'text/enriched buffer-file-format)
         ;; Mode already on; do nothing.
         nil)
  
        (t                              ; Turn mode on
!        (push 'text/enriched buffer-file-format)
         ;; Save old variable values before we change them.
         ;; These will be restored if we exit Enriched mode.
         (setq enriched-old-bindings
               (list 'buffer-display-table buffer-display-table
-                    'indent-line-function indent-line-function
                     'default-text-properties default-text-properties))
-        (make-local-variable 'indent-line-function)
         (make-local-variable 'default-text-properties)
!        (setq indent-line-function 'indent-to-left-margin ;WHY??  -sm
!              buffer-display-table  enriched-display-table)
!        (use-hard-newlines 1 nil)
         (let ((sticky (plist-get default-text-properties 'front-sticky))
               (p enriched-par-props))
           (dolist (x p)
--- 185,205 ----
         (while enriched-old-bindings
           (set (pop enriched-old-bindings) (pop enriched-old-bindings))))
  
!       ((and (memq 'text/enriched buffer-file-format)
!             (not enriched-rerun-flag))
         ;; Mode already on; do nothing.
         nil)
  
        (t                              ; Turn mode on
!        (add-to-list 'buffer-file-format 'text/enriched)
         ;; Save old variable values before we change them.
         ;; These will be restored if we exit Enriched mode.
         (setq enriched-old-bindings
               (list 'buffer-display-table buffer-display-table
                     'default-text-properties default-text-properties))
         (make-local-variable 'default-text-properties)
!        (setq buffer-display-table  enriched-display-table)
!        (use-hard-newlines 1 (if enriched-rerun-flag 'never nil))
         (let ((sticky (plist-get default-text-properties 'front-sticky))
               (p enriched-par-props))
           (dolist (x p)
***************
*** 207,212 ****
--- 209,228 ----
                     (plist-put default-text-properties
                                'front-sticky sticky)))))))
  
+ (defun enriched-before-change-major-mode ()
+   (when enriched-mode
+     (while enriched-old-bindings
+       (set (pop enriched-old-bindings) (pop enriched-old-bindings)))))
+ 
+ (add-hook 'change-major-mode-hook 'enriched-before-change-major-mode)
+ 
+ (defun enriched-after-change-major-mode ()
+   (when enriched-mode
+     (let ((enriched-rerun-flag t))
+       (enriched-mode 1))))
+ 
+ (add-hook 'after-change-major-mode-hook 'enriched-after-change-major-mode)
+ 
  ;;;
  ;;; Keybindings
  ;;;




reply via email to

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