Вставить последнюю команду из 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))