2015-03-30 1 views
0

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

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

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

ответ

0

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

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

(ring-remove comint-input-ring) 

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

(ring-remove comint-input-ring (ring-size comint-input-ring))