Carsten Dominik <[EMAIL PROTECTED]> writes: > On Aug 20, 2007, at 4:46, Bake Timmons wrote: >> (concat "[" (mapconcat >> (lambda (x) >> @@ -9131,8 +9132,11 @@ >> ((match-end 3) >> ;; format match, just advance >> (setq start (match-end 0))) >> - ((and (> (match-beginning 0) 0) >> - (equal ?. (aref s (max (1- (match-beginning 0)) 0)))) >> + ((let ((pos (match-beginning 0))) >> + (and (> pos 0) >> + (equal ?. (aref s (1- pos))) >> + ;; not using .. for a range reference >> + (or (< pos 2) (not (equal ?. (aref s (1- pos))))))) >> ;; 3.e5 or something like this. FIXME: is this ok???? >> (setq start (match-end 0))) >> (t > > Could you please explain this part of the patch to me? > Thanks.
After fixing the mapconcat bug, I reloaded the code and observed an erroneous conversion of a range in an elisp formula. E.g., during formula debugging A1..B1 becomes @1$1..B1 instead of @[EMAIL PROTECTED] More debugging showed that A1 match correctly takes the final branch of the cond within the org-table-convert-refs-to-rc function and is converted, but that the match for B1 erroneously matched the second condition of the cond form, i.e., it is treated as something in scientific notation and is incorrectly skipped over. Thus, I changed the test to ensure that no additional "." is adjacent to the already recognized ".". Moreover, I eliminated the max function call, since a positive number minus one is already nonnegative. Thanks. _______________________________________________ Emacs-orgmode mailing list Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode