Gnus: Как заставить подпись размещаться внизу/под цитируемыми сообщениями в ответах?

Я использую Gnus 5.13 для электронной почты (в Mac OS X 10.7.2 с emacs 24). Я использую запись gnus-posting-styles (eval (set (make-local-variable 'message-cite-reply-position) 'above)), чтобы поместить точку (курсор) поверх сообщения в ответах. Это позволяет мне либо ответить сверху, либо ответить в строке (между сообщением, на которое я хотел бы ответить). К сожалению, приведенная выше запись также ставит мою подпись поверх сообщения, на которое я хотел бы ответить. Это нормально, если я хочу ответить в топе, но неправильно, если я хочу ответить в строке. Как заставить подпись размещаться под сообщением, на которое я отвечаю?


person Marius Hofert    schedule 09.12.2011    source источник


Ответы (1)


Отбросив модификацию «message-cite-reply-position», я добавил следующее в свой файл .gnus.el, и теперь при ответе на электронное письмо или сообщение в новостях сначала идет скопированное сообщение, затем моя подпись и точка ставится в начале сообщения.

(eval-after-load "gnus-msg"
  '(defun gnus-inews-yank-articles (articles)
    (let (beg article yank-string)
      (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)))        -- Original                              
     (message-goto-body)    ;  -- Modified, so point will be moved to beginning of article
     (insert "\n\n")        ;  -- and two empty lines will be added.
     (message-goto-body)))) ;  --    
person Angel de Vicente    schedule 09.12.2011
comment
Дорогой Ангел. Спасибо. Два комментария: 1) Предполагая, что вы отвечаете на сообщение, содержащее подпись, подпись в ответе затем удаляется... 2) Как можно вставить пустую строку перед qutoed сообщением? - person Marius Hofert; 10.12.2011
comment
1) Но это также происходит со встроенными функциями Gnus. 2) Я изменяю свой предыдущий код, добавляя пару новых строк перед цитируемым сообщением. - person Angel de Vicente; 10.12.2011