From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Newsgroups: gmane.emacs.bugs Subject: bug#58376: [PATCH] Set the PARENTS argument for language environments Date: Tue, 11 Oct 2022 00:08:11 +0530 Message-ID: References: <83wn9ajrud.fsf@gnu.org> <83tu4eji4l.fsf@gnu.org> <83edvhjt76.fsf@gnu.org> <838rlpjfmr.fsf@gnu.org> <87wn99oxtv.fsf@gmail.com> <87sfjxox3r.fsf@gmail.com> <87o7ulovzj.fsf@gmail.com> <87ilkrwxyd.fsf@gmail.com> <87bkqjwtyw.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000da58af05eab27606" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5579"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , 58376@debbugs.gnu.org To: Visuwesh Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 10 21:25:43 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ohyPH-0001K9-8o for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 10 Oct 2022 21:25:43 +0200 Original-Received: from localhost ([::1]:38916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ohyPG-0004ir-39 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 10 Oct 2022 15:25:42 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohxg6-00024l-UY for bug-gnu-emacs@gnu.org; Mon, 10 Oct 2022 14:39:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:50891) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ohxg6-0003vS-MX for bug-gnu-emacs@gnu.org; Mon, 10 Oct 2022 14:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ohxg6-0002ti-Hx for bug-gnu-emacs@gnu.org; Mon, 10 Oct 2022 14:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 10 Oct 2022 18:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58376 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 58376-submit@debbugs.gnu.org id=B58376.166542711111098 (code B ref 58376); Mon, 10 Oct 2022 18:39:02 +0000 Original-Received: (at 58376) by debbugs.gnu.org; 10 Oct 2022 18:38:31 +0000 Original-Received: from localhost ([127.0.0.1]:49969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohxfa-0002su-6V for submit@debbugs.gnu.org; Mon, 10 Oct 2022 14:38:31 -0400 Original-Received: from mail-yw1-f174.google.com ([209.85.128.174]:42606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohxfY-0002sh-6p for 58376@debbugs.gnu.org; Mon, 10 Oct 2022 14:38:29 -0400 Original-Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-358bf076f1fso107932977b3.9 for <58376@debbugs.gnu.org>; Mon, 10 Oct 2022 11:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=teYwMy8TOYF0Xn6G188o5pT/WuQOiwCjaudXrye0G2g=; b=XPInIiSs4dLt1sRYQspIluXT7K1gygPb5Urrh/1bIEusaHfTeSUzCmMHMGmUpht6JW VUKyJZsHc5XmhcjreRRhs5yjS+oT5tST9oyBfm1SrxQAZ+ktDu8HQQ0LDmbb/2h7MPXQ +PI5yjfXM3NcZWXQa5sRABpi1kAse+BhXAtThqLrOtyW8vHPyZBnRHvQK8yX/N+aq/c2 q0DLAeslUN6Bh3/Rn2kDAWgz0tj8OgliuOKN1kcpxGhTErbjY7vmn5EyU6O+vwuxqObF Y6mbX14Gx/WwpzmG1fgbrF9zCedH0vcxusOjbWb0UYYEdlSFfRGUmP4YwAcISBdy+kIl v/Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=teYwMy8TOYF0Xn6G188o5pT/WuQOiwCjaudXrye0G2g=; b=YQ5Uod3kQOmnbLhhfiK+mUyrKEYVZV4MwAqxgVYEbRjn2oQIugvhuGOQ4cQFO6S8fj Xzl8hhhcDch4/Y02Ddmm0FdK86wyP9zUo3VkMlXMUtbdNrdJ0brWSebA8atX4C6k1gLR N4L/W+d01vxWXPHLMX+oAuhkfVfqk9pGkMWPo0+3owHM4Xrf+9dWkGvHJQmRGG0npKaw AQ7b5+Dv8TsxGD4hJRiBPOjsoLwKz/QeqKISnkBrGjKebljXmxjBuPJrGJ78MU0pGnQ3 Nkr8CfJgPY+LH7PpMC3n0K4rkpRXiFQxDr6PTSz6m8ofac0qhmJUA2ovQfdMEj05YWPQ Vglw== X-Gm-Message-State: ACrzQf3s6XRtILspq78wlHL9WuY93WKHNqm0MfZmmPjyW99/LJ5XjVOw FyWgxvBGpidkGA7S91Y7Vj8ewPUCHfsKpwf8Zh0= X-Google-Smtp-Source: AMsMyM74IG9Z5dHxr5v1OTsenAfOwaRQIdp8yQGpqNl3C+u4kLpKf0WOhLYFXKqm4llhsl3tF9Ga5i7IFGwmVmF+cA4= X-Received: by 2002:a81:49ca:0:b0:35b:b844:b401 with SMTP id w193-20020a8149ca000000b0035bb844b401mr18787177ywa.126.1665427102632; Mon, 10 Oct 2022 11:38:22 -0700 (PDT) In-Reply-To: <87bkqjwtyw.fsf@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:245042 Archived-At: --000000000000da58af05eab27606 Content-Type: multipart/alternative; boundary="000000000000da58ac05eab27604" --000000000000da58ac05eab27604 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks, it works this way. I have created a patch for you, if the ones provided by you do not apply. I have also created a separate patch adding multiple PARENTs to Kharoshthi and Gothic. On Mon, Oct 10, 2022 at 9:29 PM Visuwesh wrote: > [=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE= =85=E0=AE=95=E0=AF=8D=E0=AE=9F=E0=AF=8B=E0=AE=AA=E0=AE=B0=E0=AF=8D 10, 2022= ] =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9= Sameer Singh wrote: > > > This one says: "error: corrupt patch at line 8" > > > > The previous one said: > > error: patch failed: lisp/international/mule-cmds.el:1208 > > error: lisp/international/mule-cmds.el: patch does not apply > > > > I have no idea why that is the case, and my network connection is too > slow to freshly clone the Emacs repo again. Can you replace the old > definition of `set-language-info-alist' with the following two forms > instead? > > (defun set-language-info-setup-keymap (lang-env alist describe-map > setup-map) > "Setup menu items for LANG-ENV. > See `set-language-info-alist' for details of other arguments." > (let ((doc (assq 'documentation alist))) > (when doc > (define-key-after describe-map (vector (intern lang-env)) > (cons lang-env 'describe-specified-language-support)))) > (define-key-after setup-map (vector (intern lang-env)) > (cons lang-env 'setup-specified-language-environment))) > > (defun set-language-info-alist (lang-env alist &optional parents) > "Store ALIST as the definition of language environment LANG-ENV. > ALIST is an alist of KEY and INFO values. See the documentation of > `language-info-alist' for the meanings of KEY and INFO. > > Optional arg PARENTS is a list of parent menu names; it specifies > where to put this language environment in the > Describe Language Environment and Set Language Environment menus. > For example, (\"European\") means to put this language environment > in the European submenu in each of those two menus." > (cond ((symbolp lang-env) > (setq lang-env (symbol-name lang-env))) > ((stringp lang-env) > (setq lang-env (purecopy lang-env)))) > (if parents > (while parents > (let (describe-map setup-map parent-symbol parent prompt) > (if (symbolp (setq parent-symbol (car parents))) > (setq parent (symbol-name parent)) > (setq parent parent-symbol parent-symbol (intern parent))) > (setq describe-map (lookup-key describe-language-environment-ma= p > (vector parent-symbol))) > ;; This prompt string is for define-prefix-command, so > ;; that the map it creates will be suitable for a menu. > (or describe-map (setq prompt (format "%s Environment" parent))= ) > (unless describe-map > (setq describe-map (intern (format > "describe-%s-environment-map" > (downcase parent)))) > (define-prefix-command describe-map nil prompt) > (define-key-after describe-language-environment-map (vector > parent-symbol) > (cons parent describe-map))) > (setq setup-map (lookup-key setup-language-environment-map > (vector parent-symbol))) > (unless setup-map > (setq setup-map (intern (format "setup-%s-environment-map" > (downcase parent)))) > (define-prefix-command setup-map nil prompt) > (define-key-after setup-language-environment-map (vector > parent-symbol) > (cons parent setup-map))) > (setq parents (cdr parents)) > (set-language-info-setup-keymap lang-env alist (symbol-value > describe-map) (symbol-value setup-map)))) > (set-language-info-setup-keymap lang-env alist > describe-language-environment-map > setup-language-environment-map)) > (dolist (elt alist) > (set-language-info-internal lang-env (car elt) (cdr elt))) > (if (equal lang-env current-language-environment) > (set-language-environment lang-env))) > --000000000000da58ac05eab27604 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, it works this way.
I have created a= patch for you, if the ones provided by you do not apply.

I have also created a separate patch adding multiple PARENTs to Kha= roshthi and Gothic.

On Mon, Oct 10, 2022 at 9:29 PM Visuwesh <= visuweshm@gmail.com> wrote:
[=E0=AE=A4=E0=AE= =BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=85=E0=AE=95=E0=AF= =8D=E0=AE=9F=E0=AF=8B=E0=AE=AA=E0=AE=B0=E0=AF=8D 10, 2022] =E0=A4=B8=E0=A4= =AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh wro= te:

> This one says: "error: corrupt patch at line 8"
>
> The previous one said:
> error: patch failed: lisp/international/mule-cmds.el:1208
> error: lisp/international/mule-cmds.el: patch does not apply
>

I have no idea why that is the case, and my network connection is too
slow to freshly clone the Emacs repo again.=C2=A0 Can you replace the old definition of `set-language-info-alist' with the following two forms instead?

(defun set-language-info-setup-keymap (lang-env alist describe-map setup-ma= p)
=C2=A0 "Setup menu items for LANG-ENV.
See `set-language-info-alist' for details of other arguments."
=C2=A0 (let ((doc (assq 'documentation alist)))
=C2=A0 =C2=A0 (when doc
=C2=A0 =C2=A0 =C2=A0 (define-key-after describe-map (vector (intern lang-en= v))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (cons lang-env 'describe-specified-language= -support))))
=C2=A0 (define-key-after setup-map (vector (intern lang-env))
=C2=A0 =C2=A0 (cons lang-env 'setup-specified-language-environment)))
(defun set-language-info-alist (lang-env alist &optional parents)
=C2=A0 "Store ALIST as the definition of language environment LANG-ENV= .
ALIST is an alist of KEY and INFO values.=C2=A0 See the documentation of `language-info-alist' for the meanings of KEY and INFO.

Optional arg PARENTS is a list of parent menu names; it specifies
where to put this language environment in the
Describe Language Environment and Set Language Environment menus.
For example, (\"European\") means to put this language environmen= t
in the European submenu in each of those two menus."
=C2=A0 (cond ((symbolp lang-env)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq lang-env (symbol-name lang-env))) =C2=A0 =C2=A0 =C2=A0 =C2=A0 ((stringp lang-env)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq lang-env (purecopy lang-env))))
=C2=A0 (if parents
=C2=A0 =C2=A0 =C2=A0 (while parents
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (let (describe-map setup-map parent-symbol pare= nt prompt)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (symbolp (setq parent-symbol (car pa= rents)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq parent (symbol-name = parent))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq parent parent-symbol parent= -symbol (intern parent)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq describe-map (lookup-key describe-= language-environment-map (vector parent-symbol)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; This prompt string is for define-pref= ix-command, so
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; that the map it creates will be suita= ble for a menu.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (or describe-map (setq prompt (format &q= uot;%s Environment" parent)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (unless describe-map
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq describe-map (intern (forma= t "describe-%s-environment-map"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0(downcase parent))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (define-prefix-command describe-m= ap nil prompt)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (define-key-after describe-langua= ge-environment-map (vector parent-symbol)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (cons parent describe-map)= ))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq setup-map (lookup-key setup-langua= ge-environment-map (vector parent-symbol)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (unless setup-map
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq setup-map (intern (format &= quot;setup-%s-environment-map"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 (downcase parent))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (define-prefix-command setup-map = nil prompt)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (define-key-after setup-language-= environment-map (vector parent-symbol)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (cons parent setup-map)))<= br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq parents (cdr parents))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (set-language-info-setup-keymap lang-env= alist (symbol-value describe-map) (symbol-value setup-map))))
=C2=A0 =C2=A0 (set-language-info-setup-keymap lang-env alist
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 describe-language-envi= ronment-map setup-language-environment-map))
=C2=A0 (dolist (elt alist)
=C2=A0 =C2=A0 (set-language-info-internal lang-env (car elt) (cdr elt))) =C2=A0 (if (equal lang-env current-language-environment)
=C2=A0 =C2=A0 =C2=A0 (set-language-environment lang-env)))
--000000000000da58ac05eab27604-- --000000000000da58af05eab27606 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-set-language-info-alist-when-multiple-PARENTS-ar.patch" Content-Disposition: attachment; filename="0001-Fix-set-language-info-alist-when-multiple-PARENTS-ar.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l93435bg0 RnJvbSBlYmI5MjhjYTAzYzVmZmQzNGE4MTVmMDk4MjVmM2Q4YjQwMjY5ODY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaXN1d2VzaCA8dmlzdXdlc2htQGdtYWlsLmNvbT4KRGF0ZTog TW9uLCAxMCBPY3QgMjAyMiAyMzo0OTowNiArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCBzZXQt bGFuZ3VhZ2UtaW5mby1hbGlzdCB3aGVuIG11bHRpcGxlIFBBUkVOVFMgYXJlIGdpdmVuCiAoYnVn IzU4Mzc2KQoKKiBsaXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsIChzZXQtbGFuZ3VhZ2Ut aW5mby1zZXR1cC1rZXltYXApOgpGdW5jdGlvbiBmYWN0b3JlZCBvdXQgZnJvbS4uLgooc2V0LWxh bmd1YWdlLWluZm8tYWxpc3QpOiAuLi5oZXJlLiAgRG8gbm90IG1lc3MgdXAgdGhlIGtleW1hcHMg d2hlbgptdWx0aXBsZSBwYXJlbnRzIGFyZSBnaXZlbiBpbiBQQVJFTlRTLgotLS0KIGxpc3AvaW50 ZXJuYXRpb25hbC9tdWxlLWNtZHMuZWwgfCA4NiArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsIGIvbGlzcC9pbnRl cm5hdGlvbmFsL211bGUtY21kcy5lbAppbmRleCA0OGU1YzlhYTFmLi5kZmQyZTE0MzhlIDEwMDY0 NAotLS0gYS9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1jbWRzLmVsCisrKyBiL2xpc3AvaW50ZXJu YXRpb25hbC9tdWxlLWNtZHMuZWwKQEAgLTEyMDgsNiArMTIwOCwxNiBAQCBzZXQtbGFuZ3VhZ2Ut aW5mby1pbnRlcm5hbAogCQkJICAobGlzdCAnY29uc3QgbGFuZykpCiAJCQkoc29ydCAobWFwY2Fy ICdjYXIgbGFuZ3VhZ2UtaW5mby1hbGlzdCkgJ3N0cmluZzwpKSkpKSkKIAorKGRlZnVuIHNldC1s YW5ndWFnZS1pbmZvLXNldHVwLWtleW1hcCAobGFuZy1lbnYgYWxpc3QgZGVzY3JpYmUtbWFwIHNl dHVwLW1hcCkKKyAgIlNldHVwIG1lbnUgaXRlbXMgZm9yIExBTkctRU5WLgorU2VlIGBzZXQtbGFu Z3VhZ2UtaW5mby1hbGlzdCcgZm9yIGRldGFpbHMgb2Ygb3RoZXIgYXJndW1lbnRzLiIKKyAgKGxl dCAoKGRvYyAoYXNzcSAnZG9jdW1lbnRhdGlvbiBhbGlzdCkpKQorICAgICh3aGVuIGRvYworICAg ICAgKGRlZmluZS1rZXktYWZ0ZXIgZGVzY3JpYmUtbWFwICh2ZWN0b3IgKGludGVybiBsYW5nLWVu dikpCisJKGNvbnMgbGFuZy1lbnYgJ2Rlc2NyaWJlLXNwZWNpZmllZC1sYW5ndWFnZS1zdXBwb3J0 KSkpKQorICAoZGVmaW5lLWtleS1hZnRlciBzZXR1cC1tYXAgKHZlY3RvciAoaW50ZXJuIGxhbmct ZW52KSkKKyAgICAoY29ucyBsYW5nLWVudiAnc2V0dXAtc3BlY2lmaWVkLWxhbmd1YWdlLWVudmly b25tZW50KSkpCisKIChkZWZ1biBzZXQtbGFuZ3VhZ2UtaW5mby1hbGlzdCAobGFuZy1lbnYgYWxp c3QgJm9wdGlvbmFsIHBhcmVudHMpCiAgICJTdG9yZSBBTElTVCBhcyB0aGUgZGVmaW5pdGlvbiBv ZiBsYW5ndWFnZSBlbnZpcm9ubWVudCBMQU5HLUVOVi4KIEFMSVNUIGlzIGFuIGFsaXN0IG9mIEtF WSBhbmQgSU5GTyB2YWx1ZXMuICBTZWUgdGhlIGRvY3VtZW50YXRpb24gb2YKQEAgLTEyMjIsNTEg KzEyMzIsMzcgQEAgc2V0LWxhbmd1YWdlLWluZm8tYWxpc3QKIAkgKHNldHEgbGFuZy1lbnYgKHN5 bWJvbC1uYW1lIGxhbmctZW52KSkpCiAJKChzdHJpbmdwIGxhbmctZW52KQogCSAoc2V0cSBsYW5n LWVudiAocHVyZWNvcHkgbGFuZy1lbnYpKSkpCi0gIChsZXQgKChkZXNjcmliZS1tYXAgZGVzY3Jp YmUtbGFuZ3VhZ2UtZW52aXJvbm1lbnQtbWFwKQotCShzZXR1cC1tYXAgc2V0dXAtbGFuZ3VhZ2Ut ZW52aXJvbm1lbnQtbWFwKSkKLSAgICAoaWYgcGFyZW50cwotCShsZXQgKChsIHBhcmVudHMpCi0J ICAgICAgbWFwIHBhcmVudC1zeW1ib2wgcGFyZW50IHByb21wdCkKLQkgICh3aGlsZSBsCi0JICAg IChpZiAoc3ltYm9scCAoc2V0cSBwYXJlbnQtc3ltYm9sIChjYXIgbCkpKQotCQkoc2V0cSBwYXJl bnQgKHN5bWJvbC1uYW1lIHBhcmVudCkpCi0JICAgICAgKHNldHEgcGFyZW50IHBhcmVudC1zeW1i b2wgcGFyZW50LXN5bWJvbCAoaW50ZXJuIHBhcmVudCkpKQotCSAgICAoc2V0cSBtYXAgKGxvb2t1 cC1rZXkgZGVzY3JpYmUtbWFwICh2ZWN0b3IgcGFyZW50LXN5bWJvbCkpKQotCSAgICA7OyBUaGlz IHByb21wdCBzdHJpbmcgaXMgZm9yIGRlZmluZS1wcmVmaXgtY29tbWFuZCwgc28KLQkgICAgOzsg dGhhdCB0aGUgbWFwIGl0IGNyZWF0ZXMgd2lsbCBiZSBzdWl0YWJsZSBmb3IgYSBtZW51LgotCSAg ICAob3IgbWFwIChzZXRxIHByb21wdCAoZm9ybWF0ICIlcyBFbnZpcm9ubWVudCIgcGFyZW50KSkp Ci0JICAgIChpZiAobm90IG1hcCkKLQkJKHByb2duCi0JCSAgKHNldHEgbWFwIChpbnRlcm4gKGZv cm1hdCAiZGVzY3JpYmUtJXMtZW52aXJvbm1lbnQtbWFwIgotCQkJCQkgICAgKGRvd25jYXNlIHBh cmVudCkpKSkKLQkJICAoZGVmaW5lLXByZWZpeC1jb21tYW5kIG1hcCBuaWwgcHJvbXB0KQotCQkg IChkZWZpbmUta2V5LWFmdGVyIGRlc2NyaWJlLW1hcCAodmVjdG9yIHBhcmVudC1zeW1ib2wpCi0J CSAgICAoY29ucyBwYXJlbnQgbWFwKSkpKQotCSAgICAoc2V0cSBkZXNjcmliZS1tYXAgKHN5bWJv bC12YWx1ZSBtYXApKQotCSAgICAoc2V0cSBtYXAgKGxvb2t1cC1rZXkgc2V0dXAtbWFwICh2ZWN0 b3IgcGFyZW50LXN5bWJvbCkpKQotCSAgICAoaWYgKG5vdCBtYXApCi0JCShwcm9nbgotCQkgIChz ZXRxIG1hcCAoaW50ZXJuIChmb3JtYXQgInNldHVwLSVzLWVudmlyb25tZW50LW1hcCIKLQkJCQkJ ICAgIChkb3duY2FzZSBwYXJlbnQpKSkpCi0JCSAgKGRlZmluZS1wcmVmaXgtY29tbWFuZCBtYXAg bmlsIHByb21wdCkKLQkJICAoZGVmaW5lLWtleS1hZnRlciBzZXR1cC1tYXAgKHZlY3RvciBwYXJl bnQtc3ltYm9sKQotCQkgICAgKGNvbnMgcGFyZW50IG1hcCkpKSkKLQkgICAgKHNldHEgc2V0dXAt bWFwIChzeW1ib2wtdmFsdWUgbWFwKSkKLQkgICAgKHNldHEgbCAoY2RyIGwpKSkpKQotCi0gICAg OzsgU2V0IHVwIG1lbnUgaXRlbXMgZm9yIHRoaXMgbGFuZ3VhZ2UgZW52LgotICAgIChsZXQgKChk b2MgKGFzc3EgJ2RvY3VtZW50YXRpb24gYWxpc3QpKSkKLSAgICAgICh3aGVuIGRvYwotCShkZWZp bmUta2V5LWFmdGVyIGRlc2NyaWJlLW1hcCAodmVjdG9yIChpbnRlcm4gbGFuZy1lbnYpKQotCSAg KGNvbnMgbGFuZy1lbnYgJ2Rlc2NyaWJlLXNwZWNpZmllZC1sYW5ndWFnZS1zdXBwb3J0KSkpKQot ICAgIChkZWZpbmUta2V5LWFmdGVyIHNldHVwLW1hcCAodmVjdG9yIChpbnRlcm4gbGFuZy1lbnYp KQotICAgICAgKGNvbnMgbGFuZy1lbnYgJ3NldHVwLXNwZWNpZmllZC1sYW5ndWFnZS1lbnZpcm9u bWVudCkpCi0KLSAgICAoZG9saXN0IChlbHQgYWxpc3QpCi0gICAgICAoc2V0LWxhbmd1YWdlLWlu Zm8taW50ZXJuYWwgbGFuZy1lbnYgKGNhciBlbHQpIChjZHIgZWx0KSkpCi0KLSAgICAoaWYgKGVx dWFsIGxhbmctZW52IGN1cnJlbnQtbGFuZ3VhZ2UtZW52aXJvbm1lbnQpCi0JKHNldC1sYW5ndWFn ZS1lbnZpcm9ubWVudCBsYW5nLWVudikpKSkKKyAgKGlmIHBhcmVudHMKKyAgICAgICh3aGlsZSBw YXJlbnRzCisJKGxldCAoZGVzY3JpYmUtbWFwIHNldHVwLW1hcCBwYXJlbnQtc3ltYm9sIHBhcmVu dCBwcm9tcHQpCisJICAoaWYgKHN5bWJvbHAgKHNldHEgcGFyZW50LXN5bWJvbCAoY2FyIHBhcmVu dHMpKSkKKwkgICAgICAoc2V0cSBwYXJlbnQgKHN5bWJvbC1uYW1lIHBhcmVudCkpCisJICAgIChz ZXRxIHBhcmVudCBwYXJlbnQtc3ltYm9sIHBhcmVudC1zeW1ib2wgKGludGVybiBwYXJlbnQpKSkK KwkgIChzZXRxIGRlc2NyaWJlLW1hcCAobG9va3VwLWtleSBkZXNjcmliZS1sYW5ndWFnZS1lbnZp cm9ubWVudC1tYXAgKHZlY3RvciBwYXJlbnQtc3ltYm9sKSkpCisJICA7OyBUaGlzIHByb21wdCBz dHJpbmcgaXMgZm9yIGRlZmluZS1wcmVmaXgtY29tbWFuZCwgc28KKwkgIDs7IHRoYXQgdGhlIG1h cCBpdCBjcmVhdGVzIHdpbGwgYmUgc3VpdGFibGUgZm9yIGEgbWVudS4KKwkgIChvciBkZXNjcmli ZS1tYXAgKHNldHEgcHJvbXB0IChmb3JtYXQgIiVzIEVudmlyb25tZW50IiBwYXJlbnQpKSkKKwkg ICh1bmxlc3MgZGVzY3JpYmUtbWFwCisJICAgIChzZXRxIGRlc2NyaWJlLW1hcCAoaW50ZXJuIChm b3JtYXQgImRlc2NyaWJlLSVzLWVudmlyb25tZW50LW1hcCIKKwkJCQkJICAgICAgIChkb3duY2Fz ZSBwYXJlbnQpKSkpCisJICAgIChkZWZpbmUtcHJlZml4LWNvbW1hbmQgZGVzY3JpYmUtbWFwIG5p bCBwcm9tcHQpCisJICAgIChkZWZpbmUta2V5LWFmdGVyIGRlc2NyaWJlLWxhbmd1YWdlLWVudmly b25tZW50LW1hcCAodmVjdG9yIHBhcmVudC1zeW1ib2wpCisJICAgICAgKGNvbnMgcGFyZW50IGRl c2NyaWJlLW1hcCkpKQorCSAgKHNldHEgc2V0dXAtbWFwIChsb29rdXAta2V5IHNldHVwLWxhbmd1 YWdlLWVudmlyb25tZW50LW1hcCAodmVjdG9yIHBhcmVudC1zeW1ib2wpKSkKKwkgICh1bmxlc3Mg c2V0dXAtbWFwCisJICAgIChzZXRxIHNldHVwLW1hcCAoaW50ZXJuIChmb3JtYXQgInNldHVwLSVz LWVudmlyb25tZW50LW1hcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGRvd25jYXNlIHBhcmVudCkpKSkKKwkgICAgKGRlZmluZS1wcmVmaXgtY29tbWFuZCBz ZXR1cC1tYXAgbmlsIHByb21wdCkKKwkgICAgKGRlZmluZS1rZXktYWZ0ZXIgc2V0dXAtbGFuZ3Vh Z2UtZW52aXJvbm1lbnQtbWFwICh2ZWN0b3IgcGFyZW50LXN5bWJvbCkKKwkgICAgICAoY29ucyBw YXJlbnQgc2V0dXAtbWFwKSkpCisJICAoc2V0cSBwYXJlbnRzIChjZHIgcGFyZW50cykpCisgICAg ICAgICAgKHNldC1sYW5ndWFnZS1pbmZvLXNldHVwLWtleW1hcCBsYW5nLWVudiBhbGlzdCAoc3lt Ym9sLXZhbHVlIGRlc2NyaWJlLW1hcCkgKHN5bWJvbC12YWx1ZSBzZXR1cC1tYXApKSkpCisgICAg KHNldC1sYW5ndWFnZS1pbmZvLXNldHVwLWtleW1hcCBsYW5nLWVudiBhbGlzdAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpYmUtbGFuZ3VhZ2UtZW52aXJvbm1lbnQt bWFwIHNldHVwLWxhbmd1YWdlLWVudmlyb25tZW50LW1hcCkpCisgIChkb2xpc3QgKGVsdCBhbGlz dCkKKyAgICAoc2V0LWxhbmd1YWdlLWluZm8taW50ZXJuYWwgbGFuZy1lbnYgKGNhciBlbHQpIChj ZHIgZWx0KSkpCisgIChpZiAoZXF1YWwgbGFuZy1lbnYgY3VycmVudC1sYW5ndWFnZS1lbnZpcm9u bWVudCkKKyAgICAgIChzZXQtbGFuZ3VhZ2UtZW52aXJvbm1lbnQgbGFuZy1lbnYpKSkKIAogKGRl ZnVuIHJlYWQtbGFuZ3VhZ2UtbmFtZSAoa2V5IHByb21wdCAmb3B0aW9uYWwgZGVmYXVsdCkKICAg IlJlYWQgYSBsYW5ndWFnZSBlbnZpcm9ubWVudCBuYW1lIHdoaWNoIGhhcyBpbmZvcm1hdGlvbiBm b3IgS0VZLgotLSAKMi4zNy4zCgo= --000000000000da58af05eab27606 Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-multiple-PARENTs-to-Kharoshthi-and-Gothic-bug-58.patch" Content-Disposition: attachment; filename="0001-Add-multiple-PARENTs-to-Kharoshthi-and-Gothic-bug-58.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l9343b101 RnJvbSBiNmEyNjMyNmVhZjQ1YmQzMDBhMmUxZWE1ODg2YmRmN2UwOWU1MjI0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUUwPUE0PUI4PUUwPUE0PUFFPUUwPUE1PTgw PUUwPUE0PUIwPTIwPUUwPUE0PUI4PUUwPUE0PUJGPz0KID0/VVRGLTg/cT89RTA9QTQ9ODI9RTA9 QTQ9Qjk9MjBTYW1lZXI9MjBTaW5naD89IDxsdW1hcnplbGkzMEBnbWFpbC5jb20+CkRhdGU6IE1v biwgMTAgT2N0IDIwMjIgMjM6NTI6MjQgKzA1MzAKU3ViamVjdDogW1BBVENIXSBBZGQgbXVsdGlw bGUgUEFSRU5UcyB0byBLaGFyb3NodGhpIGFuZCBHb3RoaWMgKGJ1ZyM1ODM3NikKCiogbGlzcC9s YW5ndWFnZS9taXNjLWxhbmcuZWwgKCJLaGFyb3NodGhpIik6CkFkZCAiSW5kaWFuIi4KKiBsaXNw L2xhbmd1YWdlL21pc2MtbGFuZy5lbCAoIkdvdGhpYyIpOgpBZGQgIkV1cm9wZWFuIi4KCiogbGlz cC9sZWltL3F1YWlsL21pc2MtbGFuZy5lbCAoImdvdGhpYyIpOiBGaXggdHlwby4KLS0tCiBsaXNw L2xhbmd1YWdlL21pc2MtbGFuZy5lbCAgIHwgNiArKysrLS0KIGxpc3AvbGVpbS9xdWFpbC9taXNj LWxhbmcuZWwgfCAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2xhbmd1YWdlL21pc2MtbGFuZy5lbCBiL2xpc3Av bGFuZ3VhZ2UvbWlzYy1sYW5nLmVsCmluZGV4IGMzNDAxN2Q5YjMuLmQ1MmY0MDJhY2EgMTAwNjQ0 Ci0tLSBhL2xpc3AvbGFuZ3VhZ2UvbWlzYy1sYW5nLmVsCisrKyBiL2xpc3AvbGFuZ3VhZ2UvbWlz Yy1sYW5nLmVsCkBAIC0yNTMsNyArMjUzLDggQEAgZWd5cHRpYW4tc2hhcGUtZ3JvdXBpbmcKIAkg ICAgICAgIChkb2N1bWVudGF0aW9uIC4gIlwKIExhbmd1YWdlIGVudmlyb25tZW50IGZvciBHxIFu ZGjEgXLEqywgU2Fuc2tyaXQsIGFuZCBvdGhlciBsYW5ndWFnZXMKIHVzaW5nIHRoZSBLaGFyb+G5 o+G5rWjEqyBzY3JpcHQuIikpCi0gJygiTWlzYyIpKQorICcoIk1pc2MiCisgICAiSW5kaWFuIikp CiAKIChsZXQgKChjb25zb25hbnQgICAgICJbXFUwMDAxMEEwMFxVMDAwMTBBMTAtXFUwMDAxMEEz NV0iKQogICAgICAgKHZvd2VsICAgICAgICAgIltcVTAwMDEwQTAxLVxVMDAwMTBBMDZdIikKQEAg LTMyMiw3ICszMjMsOCBAQCBlZ3lwdGlhbi1zaGFwZS1ncm91cGluZwogICAgICAgICAgICAgKGRv Y3VtZW50YXRpb24gLiAiXAogQW5jaWVudCBHb3RoaWMgbGFuZ3VhZ2UgdXNpbmcgdGhlIEdvdGhp YyBzY3JpcHQgaXMgc3VwcG9ydGVkIGluIHRoaXMKIGxhbmd1YWdlIGVudmlyb25tZW50LiIpKQot ICcoIk1pc2MiKSkKKyAnKCJNaXNjIgorICAgIkV1cm9wZWFuIikpCiAKIDs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKIDs7IENvcHRpYwpkaWZmIC0tZ2l0IGEvbGlzcC9s ZWltL3F1YWlsL21pc2MtbGFuZy5lbCBiL2xpc3AvbGVpbS9xdWFpbC9taXNjLWxhbmcuZWwKaW5k ZXggNzMyODdlZTc4NC4uZTllMTFhYzY3OSAxMDA2NDQKLS0tIGEvbGlzcC9sZWltL3F1YWlsL21p c2MtbGFuZy5lbAorKysgYi9saXNwL2xlaW0vcXVhaWwvbWlzYy1sYW5nLmVsCkBAIC0xNTI2LDcg KzE1MjYsNyBAQAogCiAocXVhaWwtZGVmaW5lLXBhY2thZ2UKICAiZ290aGljIiAiR290aGljIiAi 8JCMsCIgbmlsCi0gIklucHV0IG1ldGhpZCBmb3IgdGhlIGFuY2llbnQgR290aGljIHNjcmlwdC4i CisgIklucHV0IG1ldGhvZCBmb3IgdGhlIGFuY2llbnQgR290aGljIHNjcmlwdC4iCiAgbmlsIHQg dCB0IHQgbmlsIG5pbCBuaWwgbmlsIG5pbCB0KQogCiAocXVhaWwtZGVmaW5lLXJ1bGVzCi0tIAoy LjM3LjMKCg== --000000000000da58af05eab27606--