🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.xemacs
Article #253

Re: sane-scroll.el 最終版 (was: スクロールの挙動)

#253
From: Seiichi Namba
Date: Fri, 15 Jun 2001 05:03
62 lines
4081 bytes
難波です。

Seiichi Namba <sn@asahi-net.email.ne.jp> writes:

> 最後に sane-scroll.el の全文を貼り直しておきます。xemacs では
> (interactive "p") はいずれも (interactive "_p") に変えてください。上の
> (condition-case nil (pos-visible-in-window-p newpt) (args-out-of-range nil))
> はとりあえず採用していません。

まだ気に入らないので直しました。C-u -3 C-p などというマイナス方向の操
作(需要は稀だと思いますが)がうまく動いていませんでした。
after-window-p などを使わなくなったので要部を共有して対応しました。

昨日のものは sane-newline の条件判定が何故か逆になっていたのでこれも修
正しました。

$ cat sane-scroll.el
;; -*- emacs-lisp -*-

;; Fri Jun 15 01:55:46 2001
;; Fri Jun 15 13:52:22 2001

;; Authour: S.Namba <sn@asahi-net.email.ne.jp>

;; Conceived because (setq scroll-step 1) (or equiv.) handling is
;; wrong in all variants of emacs.

;; Change (interactive "p") to (interactive "_p") in xemacs

(defun sane-next-line (arg)
  "Goto next line by ARG steps with scrolling sanely if needed."
  (interactive "p")
  (let ((newpt (save-excursion (line-move arg) (point))))
    (while (null (pos-visible-in-window-p newpt))
      (if (< arg 0) (scroll-down 1) (scroll-up 1)))
    (goto-char newpt)
    (setq this-command 'next-line)
    ()))

(defun sane-previous-line (arg)
  "Goto previous line by ARG steps with scrolling back sanely if needed."
  (interactive "p")
  (sane-next-line (- arg))
  (setq this-command 'previous-line)
  ())

(defun sane-newline (arg)
  "Put newline\(s\) by ARG with scrolling sanely if needed."
  (interactive "p")
  (let ((newpt (save-excursion (newline arg) (point))))
    (while (null (pos-visible-in-window-p newpt)) (scroll-up 1))
    (goto-char newpt)
    (setq this-command 'newline)
    ()))

(global-set-key [up] 'sane-previous-line)
(global-set-key [down] 'sane-next-line)
(global-set-key "\C-m" 'sane-newline)

-- 
難波清一@東京西東京市 (http://www.asahi-net.or.jp/~pi9s-nnb/)
NAMBA Seiichi <sn@asahi-net.email.ne.jp>
Technical Details
Message-ID: <9gc4un$9ca$1@sn.asahi-net.email.ne.jp>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!komachi.sp.cs.cmu.edu!Q.T.Honey!nf.asahi-net.or.jp!not-for-mail
References: <xl9d78jgki9.wl@cal.infonets.hiroshima-u.ac.jp> <9fj2mh$8o1$1@sn.asahi-net.email.ne.jp> <xl94rtuomm1.wl@cal.infonets.hiroshima-u.ac.jp> <9fk0do$48j$1@sn.asahi-net.email.ne.jp> <xl9snhehw1z.wl@cal.infonets.hiroshima-u.ac.jp> <xl9puchj0a5.wl@cal.infonets.hiroshima-u.ac.jp> <9fler4$sia$1@sn.asahi-net.email.ne.jp> <9flg0i$sia$2@sn.asahi-net.email.ne.jp> <xl9k82ptqrw.wl@cal.infonets.hiroshima-u.ac.jp> <xl9vgm7sib2.wl@cal.infonets.hiroshima-u.ac.jp> <xl9u21rs9d8.wl@cal.infonets.hiroshima-u.ac.jp> <86zobjgds2.fsf@thelonious.smoke.or.jp> <xl98ziyg87z.wl@cal.infonets.hiroshima-u.ac.jp> <861yoqdk1t.fsf@thelonious.smoke.or.jp> <xl9wv6hit9t.wl@cal.infonets.hiroshima-u.ac.jp> <9g5qgq$co6$1@sn.asahi-net.email.ne.jp> <864rtl58lq.fsf@thelonious.smoke.or.jp> <xl9ofrsg2fr.wl@cal.infonets.hiroshima-u.ac.jp> <xl97kyghelk.wl@cal.infonets.hiroshima-u.ac.jp> <864rtk17w4.fsf@thelonious.smoke.or.jp> <xl93d93fjdc.wl@cal.infonets.hiroshima-u.ac.jp> <9gar99$b4m$1@sn.asahi-net.email.ne.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1107f7,bc01201f0ce88c8c
X-Google-Attributes: gid1107f7,public
X-Google-ArrivalTime: 2001-06-14 22:03:08 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!komachi.sp.cs.cmu.edu!Q.T.Honey!nf.asahi-net.or.jp!not-for-mail
From: Seiichi Namba <sn@asahi-net.email.ne.jp>
Newsgroups: fj.editor.xemacs
Subject: Re: sane-scroll.el 最終版 (was:
  スクロールの挙動)
Date: 15 Jun 2001 14:03:19 +0900
Organization: Smoke
Message-ID: <9gc4un$9ca$1@sn.asahi-net.email.ne.jp>
References: <xl9d78jgki9.wl@cal.infonets.hiroshima-u.ac.jp> <9fj2mh$8o1$1@sn.asahi-net.email.ne.jp> <xl94rtuomm1.wl@cal.infonets.hiroshima-u.ac.jp> <9fk0do$48j$1@sn.asahi-net.email.ne.jp> <xl9snhehw1z.wl@cal.infonets.hiroshima-u.ac.jp> <xl9puchj0a5.wl@cal.infonets.hiroshima-u.ac.jp> <9fler4$sia$1@sn.asahi-net.email.ne.jp> <9flg0i$sia$2@sn.asahi-net.email.ne.jp> <xl9k82ptqrw.wl@cal.infonets.hiroshima-u.ac.jp> <xl9vgm7sib2.wl@cal.infonets.hiroshima-u.ac.jp> <xl9u21rs9d8.wl@cal.infonets.hiroshima-u.ac.jp> <86zobjgds2.fsf@thelonious.smoke.or.jp> <xl98ziyg87z.wl@cal.infonets.hiroshima-u.ac.jp> <861yoqdk1t.fsf@thelonious.smoke.or.jp> <xl9wv6hit9t.wl@cal.infonets.hiroshima-u.ac.jp> <9g5qgq$co6$1@sn.asahi-net.email.ne.jp> <864rtl58lq.fsf@thelonious.smoke.or.jp> <xl9ofrsg2fr.wl@cal.infonets.hiroshima-u.ac.jp> <xl97kyghelk.wl@cal.infonets.hiroshima-u.ac.jp> <864rtk17w4.fsf@thelonious.smoke.or.jp> <xl93d93fjdc.wl@cal.infonets.hiroshima-u.ac.jp> <9gar99$b4m$1@sn.asahi-net.email.ne.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 8bit
Cc: IMAI Hidetoshi <hidepin@infonets.hiroshima-u.ac.jp>
Lines: 62
NNTP-Posting-Host: g035029.ppp.asahi-net.or.jp
X-Trace: 992581387 news3.asahi-net.or.jp 18687 211.132.35.29
X-Complaints-To: ap-net@asahi-net.or.jp