请问如何不让Mark set 的提示在echo area显示?

昨天在学习使用progress的用法,写了一段函数做测试,发现progress的效果不理想,总是会被出现在echo area的别的消息打断,比如下面的例子(在Emacs 24.5.1) 中progress总会被时常出现的mark set信息打断,请问大家有好的办法屏蔽掉mark set提示吗?谢谢

(defun oo ()
  (interactive)
  (let (
	(inhibit-message t)
	(progress-reporter
            (make-progress-reporter "Collecting mana for Emacs..."
                                    0  500))
	)
       (dotimes (k 500)
         (sit-for 0.01)
         (progress-reporter-update progress-reporter k)
	 (with-temp-message
	     (with-current-buffer " *Minibuf-0*" (buffer-string))
	   (dotimes (k 10)
	     (beginning-of-buffer)
	     (end-of-buffer)
	     (goto-char 10)
	     )
	   )
	 )

       (progress-reporter-done progress-reporter)

       )
  
  )

没有太好的办法,可能mode-line提示是个更好的方案

1 个赞

它们会设置 Mark,一般 Lisp 中不会用到,一般用 (goto-char (point-min)),参见其 docstring。

对的。最大的问题是不能阻止其他echo message