Subject: bug#55493: [PATCH] Rename Oriya to Odia

From: Eli Zaretskii <[email-masked]>
Date: Wed, 18 May 2022 15:34:11 +0300

> From: समीर सिंह Sameer Singh
>  <[email-masked]>
> Date: Wed, 18 May 2022 05:26:39 +0530
> 
> Since Oriya was renamed to Odia in 2011. (https://legislative.gov.in/sites/default/files/A2011-15.pdf) Here is a
> patch to do the same in Emacs.
> 
> I have not changed it wherever unicode, is13194, iso639, cdac and akruti were involved, since they all use the
> old name. (I am not sure about cdac though, because I was not able to run their software)
> 
> There was also a typo in erc/erc-lang.el and lisp/ldefs-boot.el, iso639-1 was written as iso638, I fixed that.
> 
> Please review the patch.

Thanks.

In general, this patch is too radical, and unnecessarily so.

> * etc/HELLO: Rename Oriya to Odia.

The changes to HELLO do more that the above says.  I don't think I
understand the reason for the change in the "South Asia" line.

Also, please include the bug number in the commit log message.

> -;; FIXME: It's ISO 639-1, not ISO 638.  ISO 638 is for paper, board and pulps.
> -;; The Lisp variable should be renamed.
> -
> -(defvar iso-638-languages
> +(defvar iso-639-1-languages

This is unrelated, and I see no reason to rename the variable in a
backward-incompatible way.  It's just a variable, so it doesn't have
to be named rigorously correct.  If we were discussing new code, the
correction would have had its place, but not now, 16 years after it
was introduced.

> diff --git a/lisp/language/ind-util.el b/lisp/language/ind-util.el
> index 60ada03fa2..dede705a30 100644
> --- a/lisp/language/ind-util.el
> +++ b/lisp/language/ind-util.el
> @@ -113,7 +113,7 @@ indian-gjr-base-table
>      (;; Inscript-extra (4)  (#, $, ^, *, ])
>       "્ર" "ર્" "ત્ર" "શ્ર" "઼")))
>  
> -(defvar indian-ori-base-table
> +(defvar indian-odi-base-table

I don't think we should rename variables and functions.  It's just a
lot of hassle for us (defalias etc.) and potentially for others, and
the gain is very small.  This variable doesn't even say "oriya", just
"ori".  Let's not be too radical here.

> @@ -549,8 +549,8 @@ indian-gjr-itrans-v5-hash
>    (indian-make-hash indian-gjr-base-table
>  			  indian-itrans-v5-table))
>  
> -(defvar indian-ori-itrans-v5-hash
> -  (indian-make-hash indian-ori-base-table
> +(defvar indian-odi-itrans-v5-hash
> +  (indian-make-hash indian-odi-base-table
>  			  indian-itrans-v5-table))

Likewise here (and elsewhere in similar changes).

>  (set-language-info-alist
> - "Oriya" '((charset unicode)
> -	      (coding-system utf-8)
> -	      (coding-priority utf-8)
> -	      (input-method . "oriya-itrans")
> -              (sample-text . "Oriya (ଓଡ଼ିଆ)	ନମସ୍କାର")
> -	      (documentation . "\
> -Such languages using Oriya script as Oriya, Khonti, and Santali
> + "Odia" '((charset unicode) ;; formerly Oriya
> +	  (coding-system utf-8)
> +	  (coding-priority utf-8)
> +	  (input-method . "odia-itrans")
> +          (sample-text . "Odia (ଓଡ଼ିଆ)	ନମସ୍କାର")
> +	  (documentation . "\
> +Such languages using Odia script as Odia, Khonti, and Santali
>  are supported in this language environment."))
>   '("Indian"))

The doc string should say that this language environment was
previously named "Oriya".

> diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
> index 95ad2f78cf..ade3e9c69c 100644
> --- a/lisp/ldefs-boot.el
> +++ b/lisp/ldefs-boot.el

This file is regenerated automatically, so this part should be
omitted.

> diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el
> index 95798a4477..e06464dc24 100644
> --- a/lisp/leim/quail/indian.el
> +++ b/lisp/leim/quail/indian.el
> @@ -91,10 +91,10 @@ "\\''"
>   "Gujarati transliteration by ITRANS method.")
>  
>  (if nil
> -    (quail-define-package "oriya-itrans" "Oriya" "OriIT" t "Oriya ITRANS"))
> +    (quail-define-package "odia-itrans" "Odia" "OdiIT" t "Odia ITRANS"))

We cannot rename an input method we had for almost 20 years.  If there
is some way of having an alias for an input method (I don't think so,
but maybe I'm missing something), let's use that; otherwise we will
have either to leave the old name alone or define a new input method
that is an exact copy of the old one, except for the name and the
mode-line indicator.

> -	  /* Workaround for crash when displaying Oriya characters
> +	  /* Workaround for crash when displaying Odia characters

This is incorrect: characters are named by Unicode, and Unicode still
calls that block Oriya (and will not change the name, AFAIU).