Subject: 23.1; Incorrect references in ses-mode

From: Göran Uddeborg <[email-masked]>
Date: Wed, 7 Apr 2010 18:15:14 +0200

I discovered this when emacs sometimes complains that I have circular
references in ses-mode files where there shouldn't be any.  When
investigating the ses file I've noticed some cells contain references
that are incorrect.  When I remove these incorrect references, the
complaints about circular references go away, so I strongly suspect
the problems are related.  And even if I'm wrong, the incorrect
references is a bug.

While I haven't been able to create a simple test case where I get a
circular reference complaint, I can easily get to a state where there
are incorrect references.  Create a ses file with these keystrokes:

    C-x C-f s . s e s <return> <tab> 1 <return> C-o 2 <return>
    <tab> <left> ( + SPC B 1 SPC A 2 <return>
    C-n C-o 3 <return> ( + SPC B 2 SPC A 3 <return> C-a
    C-o 4 <return> C-p C-SPC C-f M-w C-n C-b C-y C-n C-y
    C-x C-s

In the resulting file, cell B2 has cell B4 incorrectly listed among
its references:

    (ses-cell B2 3 (+ B1 A2) nil (B3 B4))

Only B3 does actually reference B2.

In GNU Emacs 23.1.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.18.3)
 of 2009-12-02 on x86-3.fedora.phx.redhat.com
Windowing system distributor `Fedora Project', version 11.0.10705000
configured using `configure  '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: sv_SE.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: SES

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<tab> 1 <tab> <backspace> <return> C-o 2 <return> <tab> 
<left> ( + SPC B 1 SPC A 2 <return> <return> <return> 
C-n C-o 3 <return> ( + SPC B 2 SPC A 3 <return> C-n 
C-o C-p C-o 4 <return> C-p C-SPC C-f M-w C-n C-b C-y 
C-n C-y C-x C-s <help-echo> M-x r e p o r t - e m a 
c s - b u g <return>

Recent messages:
  [2 times]
Yanking...done
Mark set
Yanking...done
  [2 times]
Yanking...done
  [2 times]
Yanking...done
Saving file /home/g=f6ran/x.ses...
Wrote /home/g=f6ran/x.ses