Quando usar filas de transações?


7

Existe uma razão para que poucos pacotes pareçam usar filas de transações ( tq-enqueueetc.) para comunicação com processos externos? A maioria dos pacotes que eu analisei parece preferir o mecanismo de filtro regular.


Suspeito que uma combinação de pessoas apenas pule essa parte do manual ou apenas leia sobre filtros e filas de transações com aparência estranha e não sendo suficientemente poderosa / flexível.
wasamasa

11
Para não ser exigente, mas o corpo e o título são perguntas um pouco diferentes aqui. :-)
Malabarba 04/02

Para mantê-lo alinhado com o meu sentimento e responder à pergunta titular: Nunca. A menos que você esteja mantendo o código legado usando-o.
Wasamasa

4
Porque nunca? (Isso é tudo que tenho a dizer.)
politza

Respostas:


3

Uma coisa a saber sobre o Emacs é que existem muitas bibliotecas obscuras que o acompanham. E, longe de ser uma esquisitice histórica, mais pessoas entram na árvore o tempo todo. Muitas vezes, estes foram escritos para um único uso.

Não há uma única razão para que essas coisas não sejam reutilizadas. Talvez não se encaixasse em alguns usos, talvez alguns autores não soubessem, etc. No seu caso, tq.ela resposta é a mesma - use-a se for um bom ajuste para o seu problema. Para mim, parece um pouco sub-geral; por exemplo, não há como enfileirar uma regexp sem também enviar uma string. Também é um pouco antiquado com os argumentos de "fechamento"; estes são desnecessários agora que o Emacs tem ligação lexical.

Há também alguma duplicação de biblioteca no Emacs. Assim, por exemplo, existem ambos ewoc.ele tabulated-list.el, duas maneiras diferentes de realizar uma espécie de tarefa MVC-ish.


Na verdade, eu não tinha ideia de que essa biblioteca existia! O Emacs realmente tem muita coisa embutida - o plano atual de extrair coisas para o ELPA é definitivamente uma boa idéia.
Tianxiang Xiong
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.