[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Inserting output from a program into a buffer
From: |
Pascal J. Bourguignon |
Subject: |
Re: Inserting output from a program into a buffer |
Date: |
Mon, 22 Feb 2010 02:57:46 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (darwin) |
Tim Johnson <tim@johnsons-web.com> writes:
> On 2010-02-21, Tim X <timx@nospam.dev.null> 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?
> Thanks again
This is the first item!
You can check that:
(string= #("[0:58 1:42 0:43 1:41]" 0 20 (fontified t) 20 21 (rear-nonsticky t
fontified t))
"[0:58 1:42 0:43 1:41]") --> t
What appears as #("[0:58 1:42 0:43 1:41]" 0 20 (fontified t) 20 21
(rear-nonsticky t fontified t)) is a string, with properties.
You could get a string without attribute using the function
buffer-substring-no-properties instead of buffer-substring.
or using gnus-string-remove-all-properties:
(defun gnus-string-remove-all-properties (string)
(condition-case ()
(let ((s string))
(set-text-properties 0 (length string) nil string)
s)
(error string)))
but there is no reason to lose time removing them in general.
--
__Pascal Bourguignon__
- Inserting output from a program into a buffer, Tim Johnson, 2010/02/20
- Re: Inserting output from a program into a buffer, Tim Landscheidt, 2010/02/20
- Re: Inserting output from a program into a buffer, Tim Johnson, 2010/02/21
- Re: Inserting output from a program into a buffer, Barry Margolin, 2010/02/21
- Re: Inserting output from a program into a buffer, Tim Johnson, 2010/02/21
- Re: Inserting output from a program into a buffer, Tim X, 2010/02/21
- Re: Inserting output from a program into a buffer, Tim Johnson, 2010/02/21
- Re: Inserting output from a program into a buffer,
Pascal J. Bourguignon <=
- Re: Inserting output from a program into a buffer, Tim Johnson, 2010/02/22
- Re: Inserting output from a program into a buffer, Pascal J. Bourguignon, 2010/02/22
- Re: Inserting output from a program into a buffer, Tim Johnson, 2010/02/22
- Re: Inserting output from a program into a buffer, Pascal J. Bourguignon, 2010/02/22
- Re: Inserting output from a program into a buffer, Tim Johnson, 2010/02/22
- Re: Inserting output from a program into a buffer, jpkotta, 2010/02/22
- Re: Inserting output from a program into a buffer, Tim X, 2010/02/22
- Re: Inserting output from a program into a buffer, tomas, 2010/02/21
- Re: Inserting output from a program into a buffer, Tim Landscheidt, 2010/02/21
Re: Inserting output from a program into a buffer, Pascal J. Bourguignon, 2010/02/21