all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: Process filters — line at a time?
Date: Thu, 29 Aug 2024 08:00:34 +0300	[thread overview]
Message-ID: <864j73hqj1.fsf@gnu.org> (raw)
In-Reply-To: <87frqomf8s.fsf@librehacker.com> (message from Christopher Howard on Wed, 28 Aug 2024 14:53:07 -0800)

> From: Christopher Howard <christopher@librehacker.com>
> Date: Wed, 28 Aug 2024 14:53:07 -0800
> 
> Hi, I maintain a legacy system that communicates over a 9600 7E1 RS-232 connection. I want to use Emacs to automate some things that normally involving hours of sitting in front of the terminal and a lot of keystrokes. Currently 29.4 is installed on the computer attached to the serial port.
> 
> I've made a good start using serial-term and serial-process-configure to setup my terminal, with the idea of using process-send-string to send commands, and a process filter to analyze the output. However, I need to analyze the output a line a time, to know what commands to send, and my understanding is that process filters do not necessarily give you a whole line at a time. I was wondering if there was some Emacs abstraction or approach that might be helpful here, so that I could focusing on matching lines of data, without getting all caught up in the intricacies of buffering and character processing. Or maybe some way to configure the process so that the process filter always delivers a line at a time.

One idea is to use string-lines to split the process output into
individual lines.  You will need to write custom code to identify
incomplete lines, though.  You will find examples of the usage in
shell.el and in compile.el.



  reply	other threads:[~2024-08-29  5:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-28 22:53 Process filters — line at a time? Christopher Howard
2024-08-29  5:00 ` Eli Zaretskii [this message]
2024-08-29 15:38   ` Christopher Howard
2024-08-29 15:47     ` Eli Zaretskii
2024-08-29 19:20     ` Stefan Monnier via Users list for the GNU Emacs text editor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=864j73hqj1.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.