From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: florian@fsavigny.de (Florian v. Savigny) Newsgroups: gmane.emacs.help Subject: Customizing an existing input method -- loading and overwriting issues Date: Sun, 14 Aug 2016 15:14:03 +0200 Message-ID: <87popbwl0k.fsf@bertrandrussell.Speedport_W_723V_1_40_000> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1471183766 21575 195.159.176.226 (14 Aug 2016 14:09:26 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 14 Aug 2016 14:09:26 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Aug 14 16:09:22 2016 Return-path: Envelope-to: geh-help-gnu-emacs@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 1bYw6L-0005LB-WF for geh-help-gnu-emacs@m.gmane.org; Sun, 14 Aug 2016 16:09:22 +0200 Original-Received: from localhost ([::1]:60992 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bYw6I-00072W-UE for geh-help-gnu-emacs@m.gmane.org; Sun, 14 Aug 2016 10:09:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bYvF0-0007x1-0j for help-gnu-emacs@gnu.org; Sun, 14 Aug 2016 09:14:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bYvEt-0000os-VP for help-gnu-emacs@gnu.org; Sun, 14 Aug 2016 09:14:12 -0400 Original-Received: from srv4.ns-domain-hosting.de ([178.63.89.203]:43626) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bYvEt-0000on-LJ for help-gnu-emacs@gnu.org; Sun, 14 Aug 2016 09:14:07 -0400 X-No-Relay: not in my network Original-Received: from bertrandrussell.Speedport_W_723V_1_40_000 (p4FECC326.dip0.t-ipconnect.de [79.236.195.38]) by srv4.ns-domain-hosting.de (Postfix) with ESMTPSA id 2F541186415 for ; Sun, 14 Aug 2016 15:14:05 +0200 (CEST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 178.63.89.203 X-Mailman-Approved-At: Sun, 14 Aug 2016 10:08:53 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:111136 Archived-At: I have just started setting the TeX input method as my default for text modes, but would like to input a few characters which are not covered, and also input some things differently. I have tried the following, which I got from emacswiki.org/emacs/TeXInputMethod: (let ((quail-current-package (assoc "TeX" quail-package-alist))) (quail-define-rules ((append . t)) ;; non-breaking space: ("~" ?=C2=A0) ;; double quotes: (",," ?=E2=80=9E) ; German opening ("''" ?=E2=80=9C) ; German closing -- English opening ("``" ?=E2=80=9D) ; English closing ("<<" ?\=C2=AB) (">>" ?\=C2=BB) ; (French or Swiss; not needed, = but inuitive))) which seems to /basically/ work. However, I have not found out when and how exactly to invoke this code such that it only really (but always) modifies the TeX input method. Use `eval-after-load', perhaps? But after loading which file? The full path to the quail.elc file? If I do that, I get the startup warn= ing: Symbol's value as variable is void: quail-package-alist This is odd, because that variable IS defined in quail.el(.gz), in about = line 111. "quail.el.gz" or "quail"? In that case, I get the startup warning: error: Invalid Quail map `nil' The same error if I try "latin-ltx", where the TeX input method is defined. I seem to be making some rookie mistake here. Can anybody help me out? Second, while we are at it, the documentation of `quail-define-rules' simply says that it "Define[s] translation rules of the current Quail package." and lower down, it specifies that (append . t) means that "the following rules should be appended to the rules of the current Quail package". This is ambiguous, but sounds more as if when (append . t) is not specified, or is (append . nil), this means that the whole rules get overwritten (i.e. replaced by the few you specify). Or does it mean that INDIVIDUAL rules overwrite rules with the same car? (Could it then perhaps also be used to undefine individual rules?) (BTW, I am aware I could hack the whole package and create my own variant, but I think it's a more desirable practice to just customize the few things you want to work differently.) And third, also a very pressing need: I understand that mule means something like "MUltiLingual Environment (for Emacs)", and I have found that leim means "Library of Emacs Input Methods". But what does quail mean? It is surely also an acronym? Many thanks for help on any of this! Florian --=20 Florian von Savigny Melanchthonstr. 41 33615 Bielefeld