Subject: bug#18606: 25.0.50; SES: Copy&Paste row doesn't keep attributes

From: [email-masked] (Óscar Fuentes)
Date: Thu, 30 Oct 2014 20:15:35 +0100

Stefan Monnier <[email-masked]> writes:

>> Until recently, alignment was copied too.
>
> Actually, the alignment has simply changed in the new code (it was
> never copied/preserved).  You can see it if you create a new .ses file
> and insert "test" in the first field: in 24.4 it is right aligned, and
> in 25.0.50 it's left aligned.
>
> More specifically, you can now control whether the text is left-aligned
> or right-aligned by choosing between using a string (left-aligned) or
> a symbol (right aligned).

Ok, now I understand what happens a bit better. The printer for the A
colunm on the attached file is `nil', the default one. So you changed
what that means for strings from right-aligned to left-aligned. Now, ses
files show the previously existing string cells right-aligned, but the
new ones left-aligned. That is, if visited with future emacs versions,
but not if visited with existing versions.

And I do not see an easy way of setting a column/cell/default printer
that right-aligns strings: ("%s") left-aligns, as advertised, and "%s"
does the default for strings, which is to left-align too.

So we have two issues here: a change on default behavior that alters
apparience depending on the Emacs version used to visit the ses file,
and missing an easy method for achieving what the user originally
intended (right-aligned strings.)

I understand that, most often, the user will like to see strings
left-aligned, so your change makes sense. You force existing users to
adapt their ses files, if they used right-aligned strings. That's ok
with me personally, and you are the one entitled to decide when it is
worth to take that type of decissions. So I'll not argue here. But we
absolutely need a way to implement the previous behavior, providing a
printer that right-aligns strings. And one that does not break backwards
compatibility, preferably.