[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
hscroll with Emacs-21.3
- From: Hideyuki SHIRAI (
白井秀行
) <shirai@xxxxxxxxxxxxxxxxxxx>
- Date: Tue, 04 Feb 2003 17:48:42 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 04627
## ふみゃー、なんでこう忙しいときに限って不具合を見つけるんだろう。。。
久しぶりに Emacs-21.3 + 朝日新聞のページで hscroll 系のコマンド
使ったら、ぼくが前につくりこんだ w3m-auto-show と挙動が変わって
Emacs の auto-show が有効な *がちがちした* 動作になっていました。;_;
調べたところ、frame.el に
(defcustom auto-hscroll-mode t
"*Allow or disallow automatic scrolling windows horizontally.
If non-nil, windows are automatically scrolled horizontally to make
point visible."
:version "21.1"
:type 'boolean
:group 'scrolling)
(defvaralias 'automatic-hscrolling 'auto-hscroll-mode)
などと書いてあって defvaralias ってはじめてみたのでいろいろと試
したところ、
(let (t1 t2 t3 t4)
(defvar t1-orig nil)
(defvaralias 't1-alias 't1-orig)
(setq t1 t1-orig t2 t1-alias)
(with-temp-buffer
(set (make-local-variable 't1-orig) t)
(setq t3 t1-orig t4 t1-alias))
(insert (format "initial: %s, %s\nlocal: %s, %s\nglobal: %s, %s\n"
t1 t2 t3 t4 t1-orig t1-alias)))
=>
initial: nil, nil
local: t, t
global: nil, nil <= 問題なし
↑こんな感じでオリジナルな変数を local にセットしたら問題ないけど、
(let (t1 t2 t3 t4)
(defvar t2-orig nil)
(defvaralias 't2-alias 't2-orig)
(setq t1 t2-orig t2 t2-alias)
(with-temp-buffer
(set (make-local-variable 't2-alias) t)
(setq t3 t2-orig t4 t2-alias))
(insert (format "initial: %s, %s\nlocal: %s, %s\nglobal: %s, %s\n"
t1 t2 t3 t4 t2-orig t2-alias)))
=>
initial: nil, nil
local: t, t
global: t, t <= がーん
と、エイリアスしてある方の変数は local にしても効かないことがわ
かりました。
# で、Mew が automatic-hscrolling を local に t にしているので、
# w3m-mode か mew-summary-mode かあとから動いた方の値に Emacs 全
# 体がなっていました。
という対処をやっておきました。
--
白井秀行@次は Mew
P.S.
さすがにこれは大丈夫だった。
(insert (format "t1-orig: %s, t1-alias: %s" t1-orig t1-alias))
=> t1-orig: nil, t1-alias: nil
(let ((t1-orig t1-orig)
(t1-alias t1-alias))
(setq t1-alias t)
(insert (format "t1-orig: %s, t1-alias: %s" t1-orig t1-alias)))
=> t1-orig: t, t1-alias: t
(insert (format "t1-orig: %s, t1-alias: %s" t1-orig t1-alias))
=> t1-orig: nil, t1-alias: nil