emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Internationalize Emacs's messages (swahili)


From: Tomas Hlavaty
Subject: Re: Internationalize Emacs's messages (swahili)
Date: Mon, 28 Dec 2020 01:33:47 +0100

On Sun 27 Dec 2020 at 19:16, "Alfred M. Szmidt" <ams@gnu.org> wrote:
>    It is fascinating how many people with strong opinions do not
>    understand the problem with
>
>       (> (length x) 2)
>
> You are assuming that X is always a list,

I am not.

> there are far more types than that in Emacs Lisp.  Replacing every
> instance of (PREDIATE (length ...)) with (lengthPREDICATE ...) doesn't
> really do anything at all for the cases where we are not working with
> a list -- which you cannot possibly know just from a grep of the code.

I do not need to know.

I know that after the change, the good cases will stay good and the bad
cases will be improved.

>    And if they fail at that, someone can once in a while fix that
>    easily by search, replace and visual review without introducing
>    bugs.
>
> But nothing is fixed by such a change, thats the whole point, if you
> are working with strings you are not fixing anything!  You are
> introducing a gratious change that does absolutely nothing.

It is the first step towards improvement.

>    > The two functions are advertised as equal as well, so there is no
>    > possible way for the user to know which one to use when, and it
>    > might be suprising that the behaviour (in run time) is different.
>
>    Which two functions are advertised as equal?
>
> Should have written forms, length> and (> (length ...), and the other
> variants.

They compute the same thing differently.

Like these two forms compute the same thing differently:

(progn 1)

vs

(progn (sleep 10) 1)

>    > And is it just me, but I'd expect that length>, etc takes two or
>    > more sequences and returns a boolean if one of sequence is
>    > larger/smaller/equal/...
>
>    Would not that be better called sequence>?
>
>    What does "sequence is larger/smaller/equal" mean exactly?
>
> (> 6 5 4 3 2 1) --> t
> (length> '(1 2 3 4) '(1 2 3) '(1 2) '(1)) --> t

or even (I already mentioned that earlier):

(length> 5 '(1 2 3 4) '(1 2 3) 2.33 '(1 2) '(1) -42) --> t

But this is not so important. A simple two arg function would help to
fix most or all of the bad cases.

Ultimately, the person who implements this will decide.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]