|
|

楼主 |
发表于 2006-1-6 12:42:06
|
显示全部楼层
唉!不知道怎么回事,我试验你那段代码都是可以的,可是我这样写:- (let ((oldframe (selected-frame)))
- (modify-frame-parameters nil
- '((top . 0)
- (left . 105)
- (height . 50)
- (width . 98)))
- (speedbar)
- (select-frame oldframe))
复制代码 speedbar出现之后焦点还是在speedbar那儿,是不是执行了什么异步操作之类的?比如说调用了(speedbar)然后调用(select-frame oldframe)之后由于(speedbar)暗中注册了个什么hook之类的,在(select-frame oldframe)之后又获取了焦点呀? 我看了一下(speedbar)是(speedbar-frame-mode)的别名,看了speedbar.el嘿嘿!其实也看不懂,最后注意到有个函数叫做(speedbar-get-focus),又想到emacs很多函数在两次重复调用会得到相反的结果(比如再调用一次speedbar应该是把speedbar关掉了),于是我把代码改成了:- (modify-frame-parameters nil
- '((top . 0)
- (left . 105)
- (height . 50)
- (width . 98)))
- (speedbar)
- (speedbar-get-focus)
- )
复制代码 这下就可以了!呵呵!太好了!以后要好好向herberteuler学习emacs呀! |
|