3

在摘要模式下,当我按 R 表示 gnus-summary-reply-with-original 或按 F 表示 gnus-summary-followup-with-original 时,我的签名会插入到原始消息文本下方。

我如何告诉 gnus 将我的签名插入到消息的最顶部,在原始引用文本之前?

4

2 回答 2

3

看起来这不是 Gnus 内置的选项(从 v5.10.8 开始),因此您必须重新定义其中一个内置函数,如下所示:

(eval-after-load "gnus-msg"
  (defun gnus-inews-yank-articles (articles)
    (let (beg article yank-string)
      (goto-char (point-max))           ; put articles after signature
      (insert "\n")                     ; and one extra newline
                                        ; was this (message-goto-body)
      (while (setq article (pop articles))
        (when (listp article)
          (setq yank-string (nth 1 article)
                article (nth 0 article)))
        (save-window-excursion
          (set-buffer gnus-summary-buffer)
          (gnus-summary-select-article nil nil nil article)
          (gnus-summary-remove-process-mark article))
        (gnus-copy-article-buffer nil yank-string)
        (let ((message-reply-buffer gnus-article-copy)
              (message-reply-headers
               ;; The headers are decoded.
               (with-current-buffer gnus-article-copy
                 (save-restriction
                   (nnheader-narrow-to-headers)
                   (nnheader-parse-naked-head)))))
          (message-yank-original)
          (setq beg (or beg (mark t))))
        (when articles
          (insert "\n")))
      (push-mark)
      (goto-char beg))))

我将 的新定义包装'gnus-inews-yank-articles在一个eval-after-load表单中,以便在适当的时间对其进行定义。显然,如果您想允许自定义,请创建一个变量并编写适当的 if 语句。

于 2009-07-08T19:02:41.243 回答
2

Gnus(和 GNU Emacs)的开发版本中,您可以将变量设置message-cite-reply-position为 `above'。

我猜你已经知道关于TOFU的一切了,为什么不知道,所以我不会在这方面喋喋不休。

于 2011-07-30T18:30:04.133 回答