Böylece buffer-stringmevcut arabellek içeriği elde edilir. Ancak diğer arabelleklerin belirtilmesine izin vermez.
Bunu nasıl başarabilirim? save-window-excursionÇalışması için bir şeye ihtiyacım var mı?
process-send-stringve takıldım.
Böylece buffer-stringmevcut arabellek içeriği elde edilir. Ancak diğer arabelleklerin belirtilmesine izin vermez.
Bunu nasıl başarabilirim? save-window-excursionÇalışması için bir şeye ihtiyacım var mı?
process-send-stringve takıldım.
Yanıtlar:
Emacs'ta bir çok şey mevcut arabellekte çalışıyor. Mevcut arabelleği değiştirmeniz ve işiniz bittiğinde geri yüklemeniz gerekir. Kullanım with-current-buffersadece başka tampon içerisinde bir şeyler yapmak gerekiyor ve basit durumlar için save-current-buffersize değişik tamponlar arasında gezinmek için gereken daha karmaşık durumlar için.
(defun buffer-string* (buffer)
(with-current-buffer buffer
(buffer-string)))
Arabellek metin içeriğini özelliksiz istiyorsanız, arayın buffer-substring-no-properties.
buffer-stringtamponun sadece daraltılmış kısmını döndürür . Tüm içeriğe ihtiyacınız varsa, daralmayı kaydettikten sonra genişletin.
(defun buffer-whole-string (buffer)
(with-current-buffer buffer
(save-restriction
(widen)
(buffer-substring-no-properties (point-min) (point-max)))))
Noktayı da kaydetmeniz gerekiyorsa, arayın save-excursion. Not o save-excursionbaşka tampona anahtara ihtiyaç ve orada çağrı hareket eğer öyleyse geri yükler yalnızca geçerli tamponu içinde nokta, save-excursioniçini save-current-bufferya with-current-buffer.