From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.user/18803 Path: news.gmane.org!.POSTED!not-for-mail From: Bob Newell Newsgroups: gmane.emacs.gnus.user Subject: Changing language input method by addressee Date: Thu, 08 Mar 2018 19:13:09 -1000 Organization: Avi Gobbler Publishing Message-ID: <87lgf1vnkq.fsf@bobnewell.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1520572279 28503 195.159.176.226 (9 Mar 2018 05:11:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 9 Mar 2018 05:11:19 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) To: info-gnus-english Original-X-From: info-gnus-english-bounces+gegu-info-gnus-english=m.gmane.org@gnu.org Fri Mar 09 06:11:15 2018 Return-path: Envelope-to: gegu-info-gnus-english@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euAJH-0007Ki-0i for gegu-info-gnus-english@m.gmane.org; Fri, 09 Mar 2018 06:11:15 +0100 Original-Received: from localhost ([::1]:43290 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1euALJ-0002qM-Kp for gegu-info-gnus-english@m.gmane.org; Fri, 09 Mar 2018 00:13:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36949) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1euALH-0002pb-DD for info-gnus-english@gnu.org; Fri, 09 Mar 2018 00:13:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1euALC-00031O-9N for info-gnus-english@gnu.org; Fri, 09 Mar 2018 00:13:19 -0500 Original-Received: from mail-pg0-x22d.google.com ([2607:f8b0:400e:c05::22d]:35919) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1euALB-00031C-W6 for info-gnus-english@gnu.org; Fri, 09 Mar 2018 00:13:14 -0500 Original-Received: by mail-pg0-x22d.google.com with SMTP id i14so3177965pgv.3 for ; Thu, 08 Mar 2018 21:13:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bobnewell-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:organization:date:message-id:user-agent :mime-version; bh=EgcUnzN/jwEM5tJg0dfTMUNKZCXIJTRju2FhYSt/wBg=; b=cO335ZTY2wwRXmzy7uFzL5Y0yYtJlts92tuYSpYs4C8fTqUB4a8k2XJXFLipqYTe0Y 6ZFMO5qbS1MnY8dun64vEXJP7/ITAbc0T9v1lUHF9HFc25h5ygyUiAD4zcV2u38gfrUg evKC74ycuGJvPv5h6xiel/mYAw8qf+o5g+MiNFkrfo+4jMgAkeNglTauPJlJaGNVPth8 UodUv8T06P4ymFysFLTaX6hyklE41e6DzQipLoE1xwRLwwjT8D2+utgVI9BRgZsVhhLH OBxO3r3Tr8omFcPFsdD72XFVnIeUEUEX0YKNtVxbr2qmQ6N85QePUY9Vyu+gm/G6Ctw2 JUiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:organization:date:message-id :user-agent:mime-version; bh=EgcUnzN/jwEM5tJg0dfTMUNKZCXIJTRju2FhYSt/wBg=; b=Z2F/CisNRBebAtM5H13fVcsN3qqhNPW8K8Cc+aKXH9AZljLYWsCi1R3XtSAsCZTkfQ aHB56Uml6F2GO+V+NezwrMs3AcvIXyG78YOCIIZj8I76abifBrIp8v3VCEuotcPoNr+8 kJf6sExIVDrMe2drULRdkuaOvKL7jqfHgb1kx6zBgGrCNMeyrXk31rmNQ/tnMaslYdrV cpbT0ediX1Z9/KM6FdogM19q2RlMQXehqn0BHDL3e2xkMsvNpTpKBxow+5a1oesVpEqI M6zn+qnTXk5QDJNAU597H9ta4rbJ4482q7UiFTmpgPuslwhvZU/18/gdTAaHBQmOQ4Bv +CJA== X-Gm-Message-State: APf1xPBY0yhB/KAKZ+JgcjB6RtttUVvL6IakPAYU08vqJsBAACoLNkWh NWngpCo/XlEapTlCtQIZ34AcLLXW X-Google-Smtp-Source: AG47ELsO450ln4lkARKj08WnTRyyiO921C5F+CVJae4uh78zFhJ1ZC2RlZe/RBocypztlJ8QBQi7gw== X-Received: by 10.99.164.81 with SMTP id c17mr23323977pgp.114.1520572392464; Thu, 08 Mar 2018 21:13:12 -0800 (PST) Original-Received: from localhost (udp073869uds.hawaiiantel.net. [141.239.248.62]) by smtp.gmail.com with ESMTPSA id 75sm622183pfl.169.2018.03.08.21.13.11 for (version=TLS1_2 cipher=AES128-SHA bits=128/128); Thu, 08 Mar 2018 21:13:11 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c05::22d X-BeenThere: info-gnus-english@gnu.org X-Mailman-Version: 2.1.21 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: , Errors-To: info-gnus-english-bounces+gegu-info-gnus-english=m.gmane.org@gnu.org Original-Sender: "info-gnus-english" Xref: news.gmane.org gmane.emacs.gnus.user:18803 Archived-At: Aloha everyone, I mostly correspond in English, but I have a few French correspondents and a couple of German ones. So I wanted to automatically enter French input mode or German input mode respectively when writing to one of those folks. After an embarrassing amount of time I came up with something that works. (I'm on Emacs 25.3 and corresponding Gnus, and I use message mode, gnus-alias, and BBDB completion. Obviously, I've anonymized the addressees.) -- (defun rjn-change-lang-by-addressee (&rest args) (let* ((addressee (message-fetch-field "To"))) (if addressee (if (or (string-match-p "french1" addressee) (string-match-p "french2" addressee) (string-match-p "french3" addressee) (string-match-p "french4" addressee) (string-match-p "french5" addressee) (string-match-p "french6" addressee) (string-match-p "french7" addressee) (string-match-p "french8" addressee)) (set-input-method "french-postfix") (if (or (string-match-p "german1" addressee) (string-match-p "german2" addressee) (string-match-p "german3" addressee)) (set-input-method "german-postfix")))))) (add-hook 'message-setup-hook 'rjn-change-lang-by-addressee t) (advice-add 'bbdb-complete-mail :after #'rjn-change-lang-by-addressee) -- But this seems excessively crude and clunky. Surely I'm not the first person ever to do this sort of thing, but I can't find any other examples. Any suggestions about doing this better, perhaps much better? Mahalo, -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *