Onde o texto arrancado no commadline é armazenado?

4

Quando você apaga caracteres na linha de comando usando comandos readline (por exemplo, Ctrl-U , você pode colar usando Ctrl-y , mas onde ele é armazenado? parece não usar a área de transferência X11.

    
por Forethinker 13.03.2013 / 21:41

2 respostas

7

Ele entra em um kill-ring, assim como no Emacs. Da documentação do GNU Readline:

When you use a kill command, the text is saved in a kill-ring. Any number of consecutive kills save all of the killed text together, so that when you yank it back, you get it all. The kill ring is not line specific; the text that you killed on a previously typed line is available to be yanked back later, when you are typing another line.

Fonte: link

O kill ring é armazenado na memória alocada via malloc para um ponteiro de char. De kill.c da fonte readline:

/* Where to store killed text. */
static char **rl_kill_ring = (char **)NULL;
    
por 13.03.2013 / 22:00
0

readline é uma biblioteca para uso tty (pelo menos originalmente), é completamente alheio a qualquer ambiente gráfico (assim, X clipboard ou outros conteúdos).

    
por 14.03.2013 / 01:05