From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: Emacs as a translator's tool Date: Mon, 08 Jun 2020 22:44:02 +0200 Message-ID: <87ftb5qodp.fsf@ebih.ebihd> 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> <87blluxfcq.fsf@mbork.pl> <1rmqrrvn.fsf@ebih.ebihd> <87sgf5xry2.fsf@mbork.pl> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="60251"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:CFXlghEeqA0Thsi+GWzH8PqsQfA= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 08 22:44:46 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 1jiOdP-000FSy-2Y for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 08 Jun 2020 22:44:43 +0200 Original-Received: from localhost ([::1]:46102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiOdO-0004se-2F for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 08 Jun 2020 16:44:42 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiOcv-0004sL-Rw for help-gnu-emacs@gnu.org; Mon, 08 Jun 2020 16:44:13 -0400 Original-Received: from ciao.gmane.io ([159.69.161.202]:43508) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiOcu-0005Qt-7h for help-gnu-emacs@gnu.org; Mon, 08 Jun 2020 16:44:13 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1jiOcq-000Egr-OE for help-gnu-emacs@gnu.org; Mon, 08 Jun 2020 22:44:08 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=159.69.161.202; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/08 16:44:10 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, 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:123283 Archived-At: Marcin Borkowski wrote: > What I want is this: I have the source in, say, > buffer A, and I perform the translation in, say, > buffer B. The overlay is in buffer A, and I want to > move it to the next sentence (in buffer A) _without > moving the point away from buffer B_. Well, technically, there is a point in every buffer (and window, so there can be several for one buffer even), but I understand what you mean: ;;; -*- 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) (defvar source-buffer nil) (defun set-source-buffer () (interactive) (setq source-buffer (current-buffer)) ) (defun remove-highlight () (interactive) (when (overlayp sentence-overlay) (delete-overlay sentence-overlay) )) (defun highlight-sentence () (let ((beg (progn (forward-sentence) (point))) (end (progn (forward-sentence -1) (point))) ) (if (overlayp sentence-overlay) (move-overlay sentence-overlay beg end) (let ((overlay (make-overlay beg end))) (overlay-put overlay 'face 'font-lock-comment-face) (setq sentence-overlay overlay) )))) (defun highlight-sentence-move (next) (if (bufferp source-buffer) (with-current-buffer source-buffer (forward-sentence (if next 1 -1)) (highlight-sentence) ) (error "source-buffer not set") )) (defun highlight-sentence-next () (interactive) (highlight-sentence-move t) ) (defun highlight-sentence-prev () (interactive) (highlight-sentence-move nil) ) -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal