Bu yöntem, Cx Cc'ye bağlandığında, bir emacs çerçevesini aynı şekilde, açmış olduğunuz tek pencere veya bir "ebeveyn" çerçevesinin "alt" çerçevesi olup olmadığını kapatmanıza olanak tanır. Benim gibiyseniz ve pencereleme ortamında emacs kullanıyorsanız, muhtemelen herhangi bir zamanda açık çok sayıda kareniz vardır. Peki, bir çocuk çerçevesinden kurtulmak için Ctrl-x 5 0 yapmayı hatırlamak ve ana çerçeveyi kapatmak için Cx Cx yapmayı hatırlamak bir acıdır (ve eğer dikkatli değilseniz, bunu yapmak tüm çocuk çerçevelerini alır. onunla). Bu benim çözümüm: her durumda (bir emacs -nw oturumunda bile) çalışan akıllı bir yakın çerçeve operasyonu.
(defun intelligent-close ()
"quit a frame the same way no matter what kind of frame you are on"
(interactive)
(if (eq (car (visible-frame-list)) (selected-frame))
;;for parent/master frame...
(if (> (length (visible-frame-list)) 1)
;;close a parent with children present
(delete-frame (selected-frame))
;;close a parent with no children present
(save-buffers-kill-emacs))
;;close a child frame
(delete-frame (selected-frame))))
http://www.dotemacs.de/dotfiles/BenjaminRutt.emacs.html
(if (cdr (frame-list)) (delete-frame (selected-frame)) (save-buffers-kill-emacs))
(Emacs 19 zamanında yazdığımdan, daha sonra yapılan iyileştirmeleri kaçırabilir)?