这让我疯了,我整天都在这.
我正在尝试编写一个用于与串行设备通信的过程过滤器.这工作正常,但是当我将文本插入缓冲区时,我希望缓冲区滚动,以便我可以看到文本,就像在缓冲区中键入文本时一样.我将文本插入到几个缓冲区中,显示串行线路上的不同信息.实际上,每次我发出一个串行命令时,我都必须向下拖动每个滚动条,这样我才能看到文本.
更改"点"只会更改插入点 - 窗口滚动不会跟随.尝试调用滚动功能和"重新定位"似乎什么都不做.如何让窗户滚动?
我还想更改缓冲区,以便您无法输入,或通过单击窗口更改"点"的位置.有没有我应该使用的模式或什么?
非常感谢有人可以提供帮助,
大卫.
我怀疑你的问题来自于点位置没有附加到缓冲区,而是附加到显示缓冲区的窗口(因为你可以让不同的窗口在不同的位置显示相同的缓冲区).
你可以尝试这样的事情:
(with-selected-window (get-buffer-window YOUR-BUFFER)
  (goto-char (point-max)))