From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: Re: Add function eshell/clear to clear current eshell buffer Date: Sat, 18 Apr 2015 09:31:35 -0400 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <87d231o954.fsf@lifelogs.com> 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> Reply-To: emacs-devel@gnu.org NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1429363926 22567 80.91.229.3 (18 Apr 2015 13:32:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 18 Apr 2015 13:32:06 +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:32:00 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 1YjSql-0002eU-Lp for ged-emacs-devel@m.gmane.org; Sat, 18 Apr 2015 15:31:59 +0200 Original-Received: from localhost ([::1]:45725 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjSqk-0007rK-NG for ged-emacs-devel@m.gmane.org; Sat, 18 Apr 2015 09:31:58 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41617) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjSqZ-0007oV-43 for emacs-devel@gnu.org; Sat, 18 Apr 2015 09:31:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YjSqV-0001ac-2V for emacs-devel@gnu.org; Sat, 18 Apr 2015 09:31:47 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:34927) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjSqU-0001aX-Sh for emacs-devel@gnu.org; Sat, 18 Apr 2015 09:31:43 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1YjSqR-0002PH-Sv for emacs-devel@gnu.org; Sat, 18 Apr 2015 15:31:39 +0200 Original-Received: from c-98-229-61-72.hsd1.ma.comcast.net ([98.229.61.72]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 18 Apr 2015 15:31:39 +0200 Original-Received: from tzz by c-98-229-61-72.hsd1.ma.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 18 Apr 2015 15:31:39 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 53 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: c-98-229-61-72.hsd1.ma.comcast.net X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" Mail-Copies-To: never User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) Cancel-Lock: sha1:47wQCy6ei25CzUtUYrrYmTVRnYU= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:185581 Archived-At: On Sat, 18 Apr 2015 15:39:19 +0300 Eli Zaretskii wrote: >> From: Ted Zlatanov >> Date: Sat, 18 Apr 2015 07:12:22 -0400 >> >> >> > +(defun eshell/clear () >> >> > + "Clear the eshell-buffer" >> >> >> >> Now this command does not clear the eshell buffer any more, but the >> >> eshell window. I think the doc string should say so because this has >> >> security implications: The user may think some info is gone but actually >> >> it’s only no longer visible. >> EZ> The same happens with a few terminal emulators, so users should EZ> already be expecting that possibility >> >> 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. Since Emacs typically doesn't clear just the window in normal usage, it's strange to do it here (especially by inserting blank lines). >> 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. 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. Ted