From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Add function eshell/clear to clear current eshell buffer Date: Sat, 18 Apr 2015 16:43:16 +0300 Message-ID: <83r3rh7dsb.fsf@gnu.org> References: <874mpwhxml.fsf@gmail.com> <83lhj7lcgn.fsf@gnu.org> <87y4n7e1bn.fsf@gmail.com> <831tkz6yh1.fsf@gnu.org> <87oao23dbb.fsf@gmail.com> <20150309101126.GA11863@boo.workgroup> <83twxu5fh5.fsf@gnu.org> <87y4lpofl5.fsf@lifelogs.com> <83vbgt7gqw.fsf@gnu.org> <87d231o954.fsf@lifelogs.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1429364636 32445 80.91.229.3 (18 Apr 2015 13:43:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 18 Apr 2015 13:43:56 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 18 15:43:47 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YjT2B-0002M8-G6 for ged-emacs-devel@m.gmane.org; Sat, 18 Apr 2015 15:43:47 +0200 Original-Received: from localhost ([::1]:45759 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjT2A-0002df-FM for ged-emacs-devel@m.gmane.org; Sat, 18 Apr 2015 09:43:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43719) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjT1x-0002dR-8H for emacs-devel@gnu.org; Sat, 18 Apr 2015 09:43:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YjT1u-0005bQ-06 for emacs-devel@gnu.org; Sat, 18 Apr 2015 09:43:33 -0400 Original-Received: from mtaout24.012.net.il ([80.179.55.180]:47436) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjT1t-0005bI-Ja for emacs-devel@gnu.org; Sat, 18 Apr 2015 09:43:29 -0400 Original-Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NN000L0086MA300@mtaout24.012.net.il> for emacs-devel@gnu.org; Sat, 18 Apr 2015 16:34:45 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NN000HDB8DX5R30@mtaout24.012.net.il> for emacs-devel@gnu.org; Sat, 18 Apr 2015 16:34:45 +0300 (IDT) In-reply-to: <87d231o954.fsf@lifelogs.com> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.180 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:185584 Archived-At: > From: Ted Zlatanov > Date: Sat, 18 Apr 2015 09:31:35 -0400 > > >> But eshell is not a terminal emulator. It's a shell. Emacs provides > >> the text UI around it. > > EZ> I don't see the significance of this observation for the issue at > EZ> hand. Eshell is an implementation of a shell in Emacs Lisp, and as > EZ> such, Emacs is part of it. Therefore, we should compare what Eshell's > EZ> command do with what shells+emulators do. > > I think Emacs' concepts of windows and buffers should override the > typical terminal emulators' concepts of window and scrollback buffer. Not when we are talking about a shell. > Since Emacs typically doesn't clear just the window in normal usage, > it's strange to do it here (especially by inserting blank lines). It's a command; if you don't like it, don't use it. But people who do want to start with a "clean slate" should be able to. > >> I would rename `eshell/clear' to `eshell/clear-view' and also provide > >> `eshell/clear-buffer', if that's OK with Vibhav and everyone else? > > EZ> Eshell should have commands named like corresponding shell commands. > EZ> Having commands with no namesakes in popular shells makes very little > EZ> sense to me. > > >From the man page: > > clear clears your screen if this is possible, including its > scrollback buffer (if the extended "E3" capability is defined). > clear looks in the environment for the terminal type and then in > the terminfo database to determine how to clear the screen. > > So, unless we come up with some E3 equivalent, I think it should be two > commands or in some other way apparent that there's two operation modes > to the `clear' eshell command. The idea was that cleaning the scrollback buffer make little sense in Emacs, because you gain nothing, but lose a chance to change your mind later. So I think inventing the equivalent of E3 would be wasted effort. > For simplicity, how about `eshell/clear' for the window and > `eshell/clear-scrollback' for the whole buffer (also invoked with > universal-prefix on `eshell/clear')? The scrollback clear should IMO > also make sure undo is enabled, but the text is not in any registers. I'm not necessarily object, but again: what would be the purpose of removing the scrollback? what will that give you?