Não é possível definir HISTSIZE menor que 1

1

Por algum motivo, não consigo definir HISTSIZE menor que 1

$ export HISTSIZE="2"; echo $HISTSIZE
2
$ export HISTSIZE="1"; echo $HISTSIZE
1
$ export HISTSIZE="0"; echo $HISTSIZE 
1
$ export HISTSIZE="-1"; echo $HISTSIZE 
1

Curiosamente, definir isso como um valor não numérico também resulta em 1:

$ export HISTSIZE="test"; echo $HISTSIZE
1

Parece que algum tipo de validação está sendo realizada silenciosamente. Alguma ideia de onde eu deveria estar procurando?

Eu quero definir HISTSIZE para -1 para que eu possa ter uma história infinita.

Atualmente estou usando o zsh 5.1.1 com oh-my-zsh

Vale lembrar que HISTFILESIZE não tem esse problema:

$ export HISTFILESIZE="-1"; echo $HISTFILESIZE
-1
    
por Michael Aquilina 01.06.2016 / 16:52

1 resposta

3

Isso é controlado por histsizesetfn() em zsh > Src/params.c :

void
histsizesetfn(UNUSED(Param pm), zlong v)
{
    if ((histsiz = v) < 1)
        histsiz = 1;
    resizehistents();
}

para que o valor de HISTSIZE nunca possa ser definido para um valor menor que 1.

    
por Stephen Kitt 01.06.2016 / 17:04