Article View: fj.editor.xemacs
Article #253Re: sane-scroll.el 最終版 (was: スクロールの挙動)
From: Seiichi Namba
Date: Fri, 15 Jun 2001 05:03
Date: Fri, 15 Jun 2001 05:03
62 lines
4081 bytes
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-mailReferences:
<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