GNU bug report logs - #21054
25.0.50; Can't edit SES documents: Not at cell

Previous Next

Package: emacs;

Reported by: Óscar Fuentes <ofv <at> wanadoo.es>

Date: Tue, 14 Jul 2015 10:40:03 UTC

Severity: normal

Merged with 22082

Fixed in version 25.0.50

Done: Óscar Fuentes <ofv <at> wanadoo.es>

Bug is archived. No further changes may be made.

Full log


Message #41 received at 21054 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Leake <stephen_leake <at> stephe-leake.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Óscar Fuentes <ofv <at> wanadoo.es>, 21054 <at> debbugs.gnu.org
Subject: Re: bug#21054: Reopen
Date: Thu, 19 Nov 2015 11:17:29 -0600
Stephen Leake <stephen_leake <at> stephe-leake.org> writes:

> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>>> From: Óscar Fuentes <ofv <at> wanadoo.es>
>>> Date: Wed, 18 Nov 2015 05:00:15 +0100
>>> 
>>> After a proper build (full rebuild from a pristine checkout; something
>>> is wrong with the Emacs build system) the problem is still there.
>>
>> The changeset you identified as the one to blame is huge, even if we
>> look only at changes in ses.el.
>
> That change introduced the function `ses--curcell'. It appears that the
> variable `ses--curcell' is supposed to be the cached value of the
> function `ses--curcell', but that is failing in this case.
>
> `ses--curcell-overlay' is another variable that must be set for the
> current cell; it adds the underline of the current cell. I noticed that
> the underline is correct in this use case, so I looked for places where
> `ses--curcell-overlay' is set but `ses--curcell' is not. I only found
> one, in `ses-setup'. This patch fixes the problem for me:
>
> diff --git a/lisp/ses.el b/lisp/ses.el
> index ec1359b..03aca0a 100644
> --- a/lisp/ses.el
> +++ b/lisp/ses.el
> @@ -1905,6 +1905,8 @@ Narrows the buffer to show only the print area.  Gives it `read-only' and
>                            (forward-char)
>                            (point))))
>              (put-text-property pos end 'cursor-intangible sym))))))
> +  (goto-char (point-min))
> +  (ses-set-curcell)
>    ;; Create the underlining overlay.  It's impossible for (point) to be 2,
>    ;; because column A must be at least 1 column wide.
>    (setq ses--curcell-overlay (make-overlay (1+ (point-min)) (1+ (point-min))))

I spoke too soon; this allows hitting <return> on cell A1. But hitting
<return> on cell C8 shows the contents of A1. So I missed something.

-- 
-- Stephe




This bug report was last modified 9 years and 142 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.