From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10880 invoked from network); 24 Oct 2022 03:42:41 -0000 Received: from lists.gnu.org (209.51.188.17) by inbox.vuxu.org with ESMTPUTF8; 24 Oct 2022 03:42:41 -0000 Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1omnbI-0002fJ-OH; Sun, 23 Oct 2022 22:54:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1omkeu-0006dO-88 for info-gnus-english@gnu.org; Sun, 23 Oct 2022 19:45:45 -0400 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1omkes-0000uR-JY for info-gnus-english@gnu.org; Sun, 23 Oct 2022 19:45:36 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1omkem-0004OU-D1 for info-gnus-english@gnu.org; Mon, 24 Oct 2022 01:45:28 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: info-gnus-english@gnu.org To: info-gnus-english@gnu.org From: Emanuel Berg Subject: Re: Strip signature on reply without standard separator Date: Mon, 24 Oct 2022 01:45:20 +0200 Message-ID: <87k04qkstr.fsf@dataswamp.org> References: <87y1vykpl2.fsf@icloud.com> <87a67ul62m.fsf@dataswamp.org> <87mtbufg7e.fsf@icloud.com> <875yii2oru.fsf@dataswamp.org> <875yih6n25.fsf_-_@icloud.com> <878rnaw3tw.fsf_-_@icloud.com> <87mtbgarre.fsf@icloud.com> <87czcb6gjp.fsf@dataswamp.org> <87r10onki5.fsf@icloud.com> <8735d47zos.fsf@dataswamp.org> <87fsgsgpsv.fsf@icloud.com> <87illkyybp.fsf@dataswamp.org> <8735cl6qce.fsf@icloud.com> <87zgesx3zt.fsf@dataswamp.org> <87leq9lqmn.fsf@icloud.com> <87edw0pz7x.fsf@dataswamp.org> <87illcp1s2.fsf@icloud.com> <87sfkgnmsf.fsf@dataswamp.org> <87v8pak1ef.fsf@icloud.com> <87k05qmi9m.fsf@dataswamp.org> <87wn8sqt64.fsf@icloud.com> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:azQTh0dQCvc2WmoBZqTjsxWaL1I= Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=gegu-info-gnus-english@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: info-gnus-english@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Announcements and discussions for GNUS, the GNU Emacs Usenet newsreader \(in English\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "info-gnus-english" Errors-To: info-gnus-english-bounces+ml=inbox.vuxu.org@gnu.org Satoshi Yoshida wrote: >> I'm sure you can polish that code every day for the rest of >> 2022 but if it works it looks good enough to me. > > Fixed some problems. > > (setq mu-cite-prefix-format '("> ")) > (setq mu-cite-cited-prefix-regexp "^[^[:blank:]\n<>]+>+[[:blank:]]*") > (setq mu-cite-top-format '(from " writes:\n\n")) > > (defun strip-signature (regexp &optional replacement) > (or replacement (setq replacement "")) > (goto-char (point-min)) > (while (re-search-forward regexp nil t) > (replace-match replacement))) > > (defun my-mu-cite-hook-function () > (save-excursion > (goto-char (point-min)) > (re-search-forward "^\\(\n-- \n\\(.*\n\\)*\\)" nil t) > (let ((my-signature (match-string 1))) > (dolist (e '(("^\n-- \n\\(.*\n\\)*") > ("^\\([^[:blank:]\n<>]+>.*\\)" "> \\1") > ("^\\([^\n>].+\n\n\\)\\(>[>[:blank:]]+\n\\)+" "\\1") > ("^> >" ">>") > ("^> -- \n\\(>.*\n\\)*") > ("^\\(>[[:blank:]]+\n\\)+> \\(best\\( regards\ > \\| wishes\\)?\\|cheers\\|\\(good\\)?bye\\|good luck\\|\\(kind \\|warm\ > \\(est\\)? \\)?regards\\|respectfully\\|\\(yours \\)?sincerely\\( yours\ > \\)?\\|thank you\\( very much\\)?\\|\\(many \\)?thanks\\( in advance\ > \\| very much\\)?\\),[[:blank:]]*\n\\(>.*\n\\)*"))) > (strip-signature (car e) (cadr e))) > (goto-char (point-min)) > (when (re-search-forward "^\"?\\([^[:blank:]\n<>\"]+\\)\ > \\([^\n<>\"]+\\)?\"? <\\([^\n<>\"]+\\)> writes:" nil t) > (let ((first-name (match-string 1)) > (middle-last-name (or (match-string 2) "")) > (mail-address (match-string 3))) > (strip-signature (apply #'format "^>\ > [[:blank:]]*\\(-+[[:blank:]]*\\)?%s\\(%s\\)?\\([[:blank:]]*\\(\n>\ > [[:blank:]]+\\)*?\\)?[[:blank:]]*\n\\(>[>[:blank:]]+\n\\)*\\'\ > " (mapcar #'regexp-quote (list first-name middle-last-name mail-address)))))) > (strip-signature "^\\(>[>[:blank:]]+\n\\)+\\'") > (goto-char (point-max)) > (ignore-errors (insert my-signature))))) > > (add-hook 'mu-cite-post-cite-hook #'my-mu-cite-hook-function) Looks good to me :) -- underground experts united https://dataswamp.org/~incal