From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: Diff could also show the changes within lines Date: Wed, 19 Feb 2014 18:54:38 +0100 Message-ID: <8761ob3s4h.fsf@web.de> References: <86y51mx3x2.fsf@somewhere.org> <867g930xoz.fsf@somewhere.org> <86vbwcloke.fsf@somewhere.org> <86ioscheh0.fsf@somewhere.org> <86eh30heek.fsf@somewhere.org> <86r470s0sy.fsf@somewhere.org> <86lhx7fjgj.fsf@somewhere.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1392832509 14315 80.91.229.3 (19 Feb 2014 17:55:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Feb 2014 17:55:09 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Feb 19 18:55:17 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WGBMa-0000mm-Le for geh-help-gnu-emacs@m.gmane.org; Wed, 19 Feb 2014 18:55:16 +0100 Original-Received: from localhost ([::1]:32801 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WGBMa-0005ho-BV for geh-help-gnu-emacs@m.gmane.org; Wed, 19 Feb 2014 12:55:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41779) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WGBMK-0005eM-K2 for help-gnu-emacs@gnu.org; Wed, 19 Feb 2014 12:55:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WGBME-0002CN-G3 for help-gnu-emacs@gnu.org; Wed, 19 Feb 2014 12:55:00 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:38375) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WGBME-0002C8-9G for help-gnu-emacs@gnu.org; Wed, 19 Feb 2014 12:54:54 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WGBMB-0000DO-Lh for help-gnu-emacs@gnu.org; Wed, 19 Feb 2014 18:54:51 +0100 Original-Received: from ip-90-186-56-226.web.vodafone.de ([90.186.56.226]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Feb 2014 18:54:51 +0100 Original-Received: from michael_heerdegen by ip-90-186-56-226.web.vodafone.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Feb 2014 18:54:51 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 36 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: ip-90-186-56-226.web.vodafone.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:IZ2QzJVjOQkh/pkTDEn/PzX1fOw= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:96128 Archived-At: "Sebastien Vauban" writes: > > In any case, the ugly solution of using an idle timer should always > > work. Not very cool, but also not worse than doing it manually. > > If you're talking of things such as: > > (add-hook 'gnus-article-prepare-hook > (lambda () > (run-at-time 0.0 nil 'my--diff-make-fine-diffs-if-necessary))) > > (add-hook 'gnus-article-mode-hook > (lambda () > (run-at-time 0.0 nil 'my--diff-make-fine-diffs-if-necessary))) > > I've tried them both with no success either... > > One question I've for the last 2 cases is "where is point?" when those > functions are run? If they're in the summary buffer, no luck for me, or > will it be moved to the buffer where the hook is supposed to be applied? You mean "which buffer is current?" (every buffer has a `point'). It's easy: when the timer fires, there's no change of current buffer - there is no environment restored or so. The given function is called with the given args - that's all. Whatever buffer may be current then. I would wrap your call in `gnus-with-article-buffer', and also use an idle timer (`run-with-idle-timer'). If `my--diff-make-fine-diffs-if-necessary' really works when called explicitly, it should also work when called by the timer with the right buffer current after Gnus has finished preparing the buffer. Regards, Michael.