From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Marcin Borkowski Newsgroups: gmane.emacs.help Subject: Re: Emacs as a translator's tool Date: Mon, 08 Jun 2020 08:04:53 +0200 Message-ID: <87blluxfcq.fsf@mbork.pl> References: <871rn35lqc.fsf@mbork.pl> <87zh9r45ad.fsf@mbork.pl> <87h7vz2m5g.fsf@ebih.ebihd> <87d06k4rmg.fsf@mbork.pl> <87eeqzmanl.fsf@ebih.ebihd> <877dwmoboq.fsf@mbork.pl> <87bllypckg.fsf@ebih.ebihd> <87tuzpmnuo.fsf@mbork.pl> <87bllu4lx0.fsf@ebih.ebihd> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="129795"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.1.0; emacs 27.0.50 Cc: help-gnu-emacs@gnu.org To: Emanuel Berg Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 08 08:05:44 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jiAum-000Xdd-Fo for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 08 Jun 2020 08:05:44 +0200 Original-Received: from localhost ([::1]:59972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiAul-0004PM-Hl for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 08 Jun 2020 02:05:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiAuD-0004OA-8L for help-gnu-emacs@gnu.org; Mon, 08 Jun 2020 02:05:09 -0400 Original-Received: from mail.mojserwer.eu ([195.110.48.8]:48756) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiAu9-0002nC-J1 for help-gnu-emacs@gnu.org; Mon, 08 Jun 2020 02:05:08 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by mail.mojserwer.eu (Postfix) with ESMTP id D1862E6DEC; Mon, 8 Jun 2020 08:05:00 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail.mojserwer.eu Original-Received: from mail.mojserwer.eu ([127.0.0.1]) by localhost (mail.mojserwer.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2DsNMEK3rJNK; Mon, 8 Jun 2020 08:04:57 +0200 (CEST) Original-Received: from localhost (jeden09-dwa27.echostar.pl [213.156.109.227]) by mail.mojserwer.eu (Postfix) with ESMTPSA id CE7CDE62CE; Mon, 8 Jun 2020 08:04:56 +0200 (CEST) In-reply-to: <87bllu4lx0.fsf@ebih.ebihd> Received-SPF: pass client-ip=195.110.48.8; envelope-from=mbork@mbork.pl; helo=mail.mojserwer.eu X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/08 02:05:02 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:123274 Archived-At: Thanks, but this won't work in this form, as you don't move the point to the overlay before. But the idea LGTM. As I said, I wrote my code in a hurry and spent more time thinking how to wrap it in a minor mode than how to make the commands themselves better. Best, On 2020-06-07, at 23:15, Emanuel Berg via Users list for the GNU Emacs text editor wrote: > Marcin Borkowski wrote: > >> If you find a good way to refactor it so that it is >> more DRY, I'd love to see it. > > ;;; -*- lexical-binding: t -*- > ;;; > ;;; this file: > ;;; http://user.it.uu.se/~embe8573/emacs-init/incal-ecat.el > ;;; https://dataswamp.org/~incal/emacs-init/incal-ecat.el > > (defvar sentence-overlay nil) > > (defun remove-highlight () > (interactive) > (when (overlayp sentence-overlay) > (delete-overlay sentence-overlay) )) > > (defun highlight-sentence () > (interactive) > (remove-highlight) > (let ((overlay (make-overlay (progn (forward-sentence) (point)) > (progn (backward-sentence) (point)) ))) > (overlay-put overlay 'face 'font-lock-function-name-face) > (setq sentence-overlay overlay) )) > > (defun highlight-sentence-next () > (interactive) > (forward-sentence) > (highlight-sentence) ) > > (defun highlight-sentence-prev () > (interactive) > (backward-sentence) > (highlight-sentence) ) -- Marcin Borkowski http://mbork.pl