Subject: Re: bug#66470: 29.1; Provide Urdu input method

From: Eli Zaretskii <[email-masked]>
Date: Sat, 04 Nov 2023 11:27:13 +0200

> From: Rahguzar <[email-masked]>
> Cc: [email-masked]
> Date: Sat, 04 Nov 2023 09:50:04 +0100
> 
> >> ; (pakistan--define-quail-rules): helper function
> >> ; (pakistan--make-setter): helper function
> >> ; (pakistan--regenerate-translations): helper function
> >> ; (pakistan--set-prefixes): helper function
> >> ; (pakistan--set-numeral-translations):
> >
> > Why are there semi-colons here?
> >
> 
> I thought these internal helper functions should be omitted from the
> generated changelog. If not I will correct this too.

We only omit entire commit log messages, not selected portions of
them.  So in this case, these semi-colons should be removed.

> > While compiling this, I get byte-compiler warnings:
> >
> >   In pakistan--define-quail-rules:
> >   leim/quail/pakistan.el:199:41: Warning: reference to free variable `pakistan-urdu-prefixes'
> >
> >   In pakistan--regenerate-translations:
> >   leim/quail/pakistan.el:215:33: Warning: reference to free variable `pakistan-urdu-translations'
> >   leim/quail/pakistan.el:217:4: Warning: reference to free variable `pakistan-urdu-diacritics-and-other-symbols'
> >   leim/quail/pakistan.el:218:33: Warning: reference to free variable `pakistan-urdu-poetic-symbols'
> >   leim/quail/pakistan.el:219:33: Warning: reference to free variable `pakistan-urdu-religious-symbols'
> >   leim/quail/pakistan.el:220:33: Warning: reference to free variable `pakistan-extra-balochi-translations'
> >   leim/quail/pakistan.el:221:33: Warning: reference to free variable `pakistan-extra-pashto-translations'
> >   leim/quail/pakistan.el:222:33: Warning: reference to free variable `pakistan-extra-saraiki-translations'
> >   leim/quail/pakistan.el:223:33: Warning: reference to free variable `pakistan-extra-sindhi-translations'
> 
> The byte compiler warnings are harmless in that the code referencing
> those variables is run only after the variable is defined. The
> `urdu-custom` input method is generated based on these customs
> variables. However what the setter of one custom variable should do
> depends on the value of the others which makes initializing them a
> little complicated.
> 
> The only way I see of silencing the warnings is to use `defvar` to
> define the variables, then define the setters which references these
> variables. Is this preferable to the current state?

Yes, definitely.  We don't want warnings while building Emacs, even if
they are harmless.