Вставить последнюю команду из comint-input-history

Как программно вывести последнюю команду из comint-input-history?

Я пробовал что-то вроде (pop (cdr (cdr comint-input-ring))), но это не работает.

Вроде бы массив, но я тоже застрял с (aref (cdr (cdr comint-input-ring)) 0)

1 ответ

comint-input-ring является кольцом, и как таковой следует манипулировать с функциями кольца. И я не уверен, что вы имеете в виду "последний", как в самой последней ("последняя" вещь, которую я набрал) или "последний", как в самой старой.

Если вы хотите удалить самый старый ( FIFO), вы можете сделать:

(ring-remove comint-input-ring)

Если вы хотите удалить самый последний ( LIFO), вы можете сделать:

(ring-remove comint-input-ring (ring-size comint-input-ring))
Другие вопросы по тегам