From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vegard Vesterheim Subject: Re: orgtbl-mode and markdown Date: Tue, 18 Dec 2012 14:39:54 +0100 Message-ID: <1sbodrbhsl.fsf@voll.uninett.no> References: <1ssj73bvzr.fsf@voll.uninett.no> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:58634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkxOq-0000gy-9n for emacs-orgmode@gnu.org; Tue, 18 Dec 2012 08:40:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TkxOn-0007y2-Nk for emacs-orgmode@gnu.org; Tue, 18 Dec 2012 08:40:00 -0500 Received: from epost.uninett.no ([2001:700:0:526:158:38:180:100]:37658) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkxOn-0007xm-FJ for emacs-orgmode@gnu.org; Tue, 18 Dec 2012 08:39:57 -0500 In-Reply-To: (Carsten Dominik's message of "Tue, 18 Dec 2012 14:07:36 +0100") 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: Carsten Dominik Cc: emacs-orgmode@gnu.org On Tue, 18 Dec 2012 14:07:36 +0100 Carsten Dominik wrote: > On 18 dec. 2012, at 09:33, Vegard Vesterheim wrote: > >> I had problems editing tables (using the minor mode orgtbl-mode) in >> markdown files. >> >> To reproduce: >> - visit an empty buffer in markdown mode >> - M-x orgtbl-mode >> - create a new table (C-c |) >> - try to edit a cell >> - observe that the edited text is misplaced at the end of the line >> >> The following patch against 709bf92950fb3e9dd7425e01eb53eedad43c7262 >> seems to fix the problem >> >> diff --git a/lisp/org-table.el b/lisp/org-table.el >> index acad0bb..188a825 100644 >> --- a/lisp/org-table.el >> +++ b/lisp/org-table.el >> @@ -4233,10 +4233,10 @@ overwritten, and the table is not marked as requiring realignment." >> t) >> (eq N 1) >> (looking-at "[^|\n]* +|")) >> - (let (org-table-may-need-update) >> - (goto-char (1- (match-end 0))) >> - (backward-delete-char 1) >> - (goto-char (match-beginning 0)) >> + (let ((org-table-may-need-update) (mb (match-beginning 0)) (me (match-end 0))) >> + (goto-char (1- me)) >> + (delete-backward-char 1) >> + (goto-char mb) >> (self-insert-command N)) >> (setq org-table-may-need-update t) >> (let* (orgtbl-mode > > > This is really strange. Does markdown mode define hooks which kick in > on delete-backward-char and which to bad stuff with the match data? Dunno. I just observed that (match-end 0) returned different results immediately before and after (backward-delete-char 1). > Looks to me that this is a bug in markdown-mode, which should be > reported to its authors. Possibly, I am not proficient in elisp, hence the naive patch. But isn't it good practise to copy the match positions immediately after matching anyways? - Vegard V -