From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tim X Newsgroups: gmane.emacs.help Subject: Re: Inserting output from a program into a buffer Date: Mon, 22 Feb 2010 18:22:32 +1100 Organization: Rapt Technologies Message-ID: <87iq9p4tvr.fsf@lion.rapttech.com.au> References: <87zl324774.fsf@lion.rapttech.com.au> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1266828054 13876 80.91.229.12 (22 Feb 2010 08:40:54 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 22 Feb 2010 08:40:54 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Feb 22 09:40:51 2010 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.69) (envelope-from ) id 1NjSuR-0002fV-29 for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Feb 2010 08:40:51 +0100 Original-Received: from localhost ([127.0.0.1]:36348 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NjSuQ-0007oY-H7 for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Feb 2010 02:40:50 -0500 Original-Path: news.stanford.edu!usenet.stanford.edu!news.kjsl.com!news.alt.net!news.astraweb.com!border1.newsrouter.astraweb.com!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.92 (gnu/linux) Cancel-Lock: sha1:R2QncdFASmzVjeU9p19x8T+PuLo= Original-Lines: 58 Original-NNTP-Posting-Host: a5db8122.news.astraweb.com Original-X-Trace: DXC=F1]KfQ_k``No; ii5o?B_6AL?0kYOcDh@JN2; X=hn^b@OmLe^PZ873WHa64mFlnZ8hA:bTIme2 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:72004 Archived-At: Tim Johnson writes: > On 2010-02-21, Tim X wrote: >>> Thanks >> >> I'm just interested in what the external program you need to call is and >> what it does? >> >> I only mention this as I handle some timeclock/timecard requirements I >> have using existing emacs functionality. Maybe there is an alternative >> way to approach this issue that would give a better result. > Hi Tim: > The following data structure: > [[13:22 13:41][14:50 15:04][15:58 16:03][16:53 16:58]] > Is a nested block or list recognized by the rebol programming > language. Each value: 13:22, 15:04 etc is a value of datatype "time!" > and rebol has the ability of easily doing math on such datatypes. > Regardless of what programming language that I might be working in, > I use this approach to "pipe" such a data structure to a simple > application that I have written. That application then returns > the sum, which is inserted into the buffer. (See my initial post) > > The rebol binary is very easy to install. Small footprint, no > external libraries are necessary. I would be happy to provide > the application as well as the elisp code to manipulate it. > > As for the elisp code, I now have a function that grabs the data > structure and puts it in the kill-ring. > > I now have to ask another question myself, related to this subject. > I'd like to copy _only_ the text at the car of the kill ring to a > variable, for further processing use: > Example: > alt-: (car kill-ring) => > #("[0:58 1:42 0:43 1:41]" 0 20 (fontified t) 20 21 (rear-nonsticky t > fontified t)) > How I can copy the first item > "[0:58 1:42 0:43 1:41]" > from the car of kill-ring into a variable? OK, just in case you don't know, emacs already has all this functional,functionality. At its simplest, you have timeclock.el, which enables you to keep a data file to clock time and provide basic summaries etc. In addition to that, various packages, such as org-mode, provide support for tracking time done on projects, and tasks and can even be used to do basic billing etc. With respect to your other question, if you only need the first element from the list, I'd extract that before putting it on the kill ring. Tim -- tcross (at) rapttech dot com dot au