(mime-preview-scroll-down-entity, mime-preview-scroll-up-entity):
authorhayashi <hayashi>
Tue, 5 Oct 1999 04:07:35 +0000 (04:07 +0000)
committerhayashi <hayashi>
Tue, 5 Oct 1999 04:07:35 +0000 (04:07 +0000)
Recenter when moving to a next entity.
(mime-preview-move-scroll): New variable.
(mime-preview-move-to-previous, mime-preview-move-to-next):
Recenter according to the variable mime-preview-move-scroll.

ChangeLog
mime-view.el

index 6d8d642..a7a57be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+1999-10-05  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
+
+       * mime-view.el (mime-preview-scroll-down-entity,
+       mime-preview-scroll-up-entity): Recenter when moving to
+       a next entity.
+       (mime-preview-move-scroll): New variable.
+       (mime-preview-move-to-previous, mime-preview-move-to-next):
+       Recenter according to the variable mime-preview-move-scroll.
+
 1999-10-04  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * mime-view.el (mime-preview-move-to-next): Attempt to go to the
@@ -68,7 +77,7 @@
 \f
 1999-08-18  MORIOKA Tomohiko  <tomo@m17n.org>
 
-       * REMI: Version 1.13.2 (\e-DÒike-Ikoinomori)\e-A released.
+       * REMI: Version 1.13.2 (\e-D\ eR\ fike-Ikoinomori) released.
 
 1999-08-17  Katsumi Yamaoka   <yamaoka@jpl.org>
 
 \f
 1999-07-27  MORIOKA Tomohiko  <tomo@m17n.org>
 
-       * SEMI: Version 1.13.5 (Meih\e-Dò)\e-A released.
+       * SEMI: Version 1.13.5 (Meih\e-D\ er\ f) released.
 
 1999-07-27  MORIOKA Tomohiko  <tomo@m17n.org>
 
 \f
 1999-01-21  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.13.0 (Matt\e-Dò)\e-A released.
+       * SEMI: Version 1.13.0 (Matt\e-D\ er\ f) released.
 
 1999-01-21  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-07-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * REMI: Version 1.8.3 (Ecch\e-Dþ-Nakagawa)\e-A released.
+       * REMI: Version 1.8.3 (Ecch\e-D\ e~\ f-Nakagawa) released.
 
        * mime-play.el (mime-delq-null-situation): Add new optional
        argument `ignored-value'.
 \f
 1998-07-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * REMI: Version 1.8.2 (N\e-Dòmachi)\e-A released.
+       * REMI: Version 1.8.2 (N\e-D\ er\ fmachi) released.
 
 1998-07-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-06-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * REMI: Version 1.8.0 (Ecch\e-Dþ-Kokubu)\e-A released.
+       * REMI: Version 1.8.0 (Ecch\e-D\ e~\ f-Kokubu) released.
 
 1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-06-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.5.0 (Nishi-Ny\e-Dþzen)\e-A released.
+       * SEMI: Version 1.5.0 (Nishi-Ny\e-D\ e~\ fzen) released.
 
        * README.en (Required environment): Modify for FLIM 1.3.0.
 
 \f
 1998-06-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.4.6 (Ny\e-Dþzen)\e-A released.
+       * SEMI: Version 1.4.6 (Ny\e-D\ e~\ fzen) released.
 
 1998-05-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-05-15  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.4.4 (Ecch\e-Dþ-Miyazaki)\e-A released.
+       * SEMI: Version 1.4.4 (Ecch\e-D\ e~\ f-Miyazaki) released.
 
        * mime-play.el (mime-mailcap-method-filename-alist): New variable.
        (mime-mailcap-method-sentinel): New function.
 \f
 1998-05-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.4.1 (\e-DÒmi)\e-A released.
+       * SEMI: Version 1.4.1 (\e-D\ eR\ fmi) released.
 
        * README.en (Required environment): Modify for FLIM 1.2.0.
 
 \f
 1998-04-25  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.3.2 (N\e-Dò)\e-A was released.
+       * SEMI: Version 1.3.2 (N\e-D\ er\ f) was released.
 
        * mime-edit.el (mime-edit-mode-entity-prefix): New variable.
        (mime-edit-mode-entity-map): New variable.
 \f
 1998-03-13  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.0.2 (Nonoichi-K\e-Dòdaimae)\e-A was released.
+       * SEMI: Version 1.0.2 (Nonoichi-K\e-D\ er\ fdaimae) was released.
 
 1998-03-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * mime-file.el: Rename `mime-article/extract-file' ->
        `mime-extract-current-entity'.
 
-1998-03-03  François Pinard   <pinard@iro.umontreal.ca>
+1998-03-03  Fran\e-A\ eg\ fois Pinard   <pinard@iro.umontreal.ca>
 
        * mime-edit.el (mime-edit-insert-signature): Function
        `mime-edit-insert-tag' is sometimes called with more arguments
 \f
 1998-02-25  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 1.0.0 (Nukaj\e-Dþtaku-mae)\e-A was released.
+       * SEMI: Version 1.0.0 (Nukaj\e-D\ e~\ ftaku-mae) was released.
 
        * SEMI-ELS: Remove mime-tar.el.
 
 \f
 1997-11-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * SEMI: Version 0.116 (D\e-Dòhòji)\e-A was released.
+       * SEMI: Version 0.116 (D\e-D\ er\ fh\ er\ fji) was released.
 
 1997-11-15  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * mime-view.el, mime-pgp.el, mime-partial.el: Rename
        `mime::article/content-info' -> `mime-raw-content-info'.
 
-1997-11-11  François Pinard   <pinard@iro.umontreal.ca>
+1997-11-11  Fran\e-A\ eg\ fois Pinard   <pinard@iro.umontreal.ca>
 
        * mime-edit.el: Modify space in prompt and removespurious trailing
        spaces in the files. (cf. [tm-en:1507])
index a80a295..b93053a 100644 (file)
   :group 'mime-view
   :type 'file)
 
+(defcustom mime-preview-move-scroll nil
+  "*Decides whether to scroll when moving to next entity.
+When t, scroll the buffer. Non-nil but not t means scroll when
+the next entity is within next-screen-context-lines from top or
+buttom. Nil means don't scroll at all."
+  :group 'mime-view
+  :type '(choice (const :tag "Off" nil)
+                (const :tag "On" t)
+                (sexp :tag "Situation" 1)))
 
 ;;; @ in raw-buffer (representation space)
 ;;;
@@ -1298,7 +1307,17 @@ variable `mime-preview-over-to-previous-method-alist'."
     (if (and point
             (>= point (point-min)))
        (if (get-text-property (1- point) 'mime-view-entity)
-           (goto-char point)
+           (progn (goto-char point)
+                  (if
+                   (or (eq mime-preview-move-scroll t)
+                       (and mime-preview-move-scroll
+                            (<= point
+                               (save-excursion
+                                 (move-to-window-line 0)
+                                 (forward-line next-screen-context-lines)
+                                 (end-of-line)
+                                 (point)))))
+                       (recenter (* -1 next-screen-context-lines))))
          (goto-char (1- point))
          (mime-preview-move-to-previous)
          )
@@ -1325,6 +1344,17 @@ variable `mime-preview-over-to-next-method-alist'."
          (goto-char point)
          (if (null (get-text-property point 'mime-view-entity))
              (mime-preview-move-to-next)
+           (and
+            (or (eq mime-preview-move-scroll t)
+                (and mime-preview-move-scroll
+                     (>= point
+                        (save-excursion
+                          (move-to-window-line -1)
+                          (forward-line
+                           (* -1 next-screen-context-lines))
+                          (beginning-of-line)
+                          (point)))))
+                (recenter next-screen-context-lines))
            ))
       (let ((f (assq (mime-preview-original-major-mode)
                     mime-preview-over-to-next-method-alist)))
@@ -1350,7 +1380,8 @@ If reached to (point-max), it calls function registered in variable
          (bottom (window-end (selected-window))))
       (if (and (not h)
               (> bottom point))
-         (goto-char point)
+         (progn (goto-char point)
+                (recenter next-screen-context-lines))
        (condition-case nil
            (scroll-up h)
          (end-of-buffer
@@ -1374,7 +1405,8 @@ If reached to (point-min), it calls function registered in variable
          (top (window-start (selected-window))))
       (if (and (not h)
               (< top point))
-         (goto-char point)
+         (progn (goto-char point)
+                (recenter (* -1 next-screen-context-lines)))
        (condition-case nil
            (scroll-down h)
          (beginning-of-buffer