From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-fill-paragraph leaves point at end of table Date: Mon, 25 Feb 2013 10:10:41 +0100 Message-ID: <87hal0u5bi.fsf@gmail.com> References: <87vc9hxfen.fsf@ericabrahamsen.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:52242) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U9u5L-0000CI-2C for emacs-orgmode@gnu.org; Mon, 25 Feb 2013 04:11:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U9u5J-0000FS-1v for emacs-orgmode@gnu.org; Mon, 25 Feb 2013 04:10:58 -0500 Received: from mail-we0-x22f.google.com ([2a00:1450:400c:c03::22f]:64937) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U9u5I-0000FJ-Pw for emacs-orgmode@gnu.org; Mon, 25 Feb 2013 04:10:56 -0500 Received: by mail-we0-f175.google.com with SMTP id x8so2297233wey.34 for ; Mon, 25 Feb 2013 01:10:56 -0800 (PST) In-Reply-To: <87vc9hxfen.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Mon, 25 Feb 2013 11:04:32 +0800") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Abrahamsen Cc: emacs-orgmode@gnu.org Hello, Eric Abrahamsen writes: > Calling `org-fill-paragraph' inside a table leaves point at the end of > the table, for reasons that are totally unclear to me. > > I've tested this with up-to-date org and emacs -Q, so I'm hoping it's > reproducible. I edebugged org-fill-paragraph, and it appears to do the > right thing, going from the save-excursion to the cond to the org-table > cond statement, and there calling `org-table-align'. That works > correctly, but stepping forward you come to the end of the enclosing > `save-excursion', and emerging from `save-excursion' puts point at the > end of the table -- precisely what it's not supposed to do! > > I made a minimum sexp to reproduce the relevant bits of > org-fill-paragraph: > > #+BEGIN_SRC emacs-lisp > (save-excursion > (let ((element (org-element-at-point))) > (case (org-element-type element) > (table-row (org-table-align) t)))) > #+END_SRC > > Putting point in a table and eval'ing that also leaves point at the end > of the table. I tried using (call-interactively 'org-table-align) and it > did the same thing. > > I'm baffled, particularly as it doesn't do this for any other element > type. Any clever ideas? M-q after a bit of typing is already stuck in my > fingers, and this bit of strangeness doesn't set the mark, so editing > long tables is a pain... `org-table-align' inserts a whole new table and removes completely the previous one. This confuses `save-excursion' which doesn't recognize any familiar location anymore. I've pushed a fix for it. All filling tests pass, but if you notice anything suspicious, please signal it. Thank you for the report. Regards, -- Nicolas Goaziou