From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Davison Newsgroups: gmane.emacs.help Subject: Re: stdin/stdout Date: Fri, 25 Jul 2008 11:53:37 +0100 Message-ID: <20080725105337.GB7389@stats.ox.ac.uk> References: <87iquw277o.fsf@lion.rapttech.com.au> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1216983263 14434 80.91.229.12 (25 Jul 2008 10:54:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 25 Jul 2008 10:54:23 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: Tim X Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Jul 25 12:55:11 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KMKx4-0002ru-Ud for geh-help-gnu-emacs@m.gmane.org; Fri, 25 Jul 2008 12:55:11 +0200 Original-Received: from localhost ([127.0.0.1]:51232 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KMKwB-0007ly-8S for geh-help-gnu-emacs@m.gmane.org; Fri, 25 Jul 2008 06:54:15 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KMKvg-0007kW-Ny for help-gnu-emacs@gnu.org; Fri, 25 Jul 2008 06:53:44 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KMKvf-0007ji-BO for help-gnu-emacs@gnu.org; Fri, 25 Jul 2008 06:53:43 -0400 Original-Received: from [199.232.76.173] (port=42378 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KMKvf-0007ja-68 for help-gnu-emacs@gnu.org; Fri, 25 Jul 2008 06:53:43 -0400 Original-Received: from markov.stats.ox.ac.uk ([163.1.210.1]:33987) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KMKve-00074U-Td for help-gnu-emacs@gnu.org; Fri, 25 Jul 2008 06:53:43 -0400 Original-Received: from blackcap.stats.ox.ac.uk (blackcap.stats [163.1.210.5]) by markov.stats.ox.ac.uk (8.13.6/8.13.6) with ESMTP id m6PArdng009094; Fri, 25 Jul 2008 11:53:39 +0100 (BST) Original-Received: by blackcap.stats.ox.ac.uk (Postfix, from userid 5158) id 4523218080; Fri, 25 Jul 2008 11:53:39 +0100 (BST) Content-Disposition: inline In-Reply-To: <87iquw277o.fsf@lion.rapttech.com.au> User-Agent: Mutt/1.5.18 (2008-05-17) X-detected-kernel: by monty-python.gnu.org: Solaris 8 (1) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:55930 Archived-At: On Wed, Jul 23, 2008 at 09:03:23PM +1000, Tim X wrote: > "Jack O'Connor" writes: > > > Is there any way in Emacs to read standard input into a buffer or to > > send the contents of a buffer to the standard output (particularly > > both with editing in between)? I'm interested in being able to do > > things like the following: > > > > decrypt file.crypt | emacs | encrypt > file2.crypt > > ---or perhaps--- > > curl some-website-with-code.com | emacs | python > > ---or even just--- > > emacs < file.txt > edited_file.txt > > > > Thanks very much for your help. > > > > - Jack O'Connor > > Not really answering your question, but .... > > For each of the examples you have, emacs has a solution. > > For encryption/decryption, there is crypt++ that will allow you to > encrypt files and decrypt them from within emacs. Note also that emacs > 23 comes with support for gnupg built-in. > > For your curl example, there is an interface for wget (wget.el) and I > think also curl. > > Your last example, I don't really get. Emacs does have a 'script' mode > that will allow you to process files and apply emacs functions to them > (assuming your example is about non-interactive editing/processing of > files. > > The point to note is that emacs is a pretty heavy duty piece of software > that can be a bit slow to start/stop. I don't think that's fair to emacs. On my laptop, emacs -nw -Q is instantaneous. Then you can use the -l flag to specify any elisp file you want to evaluate in addition to the core stuff. > While batch mode and script mode does mean you can do stuff > non0interactively, in most cases, there are far beter tools. Most > long-term emacs users learn to adjust to a I was looking forward to seeing the responses to this thread, as I have no experience of non-interactive use of emacs, but there must be situations where it'd be the right choice. For example writing a script to deal with emacs org-mode files. You don't want to do it all in $other_scripting_language when all that effort's been put into the existing elisp code. More generally, presumably people with genuine expertise in elisp find it an attractive approach to modifying some text file in a script, i.e. attractive compared to perl/sed/whatever? DAn > paradigm where emacs is left running for long periods of time. I usually > have my emacs running for weeks at a time - using things like the emacs > client and server mode, you can leave emacs running and configure your > system to just opo up a frame when an application needs input - for > example, when you run crontab -e etc. > > tim > > -- > tcross (at) rapttech dot com dot au