Subject: 23.0.60; x-gtk-map-stock destroys match data

From: Nick Roberts <[email-masked]>
Date: Fri, 20 Jun 2008 14:38:25 +1200 (NZST)

In the event loop (?), update_frame_tool_bar calls x-gtk-map-stock (in
x-win.el) which uses string-match.  This changes the match data that I need for
my application.  I don't know what the rules are about using string-match from
C code but as a minimum x-gtk-map-stock should wrap save-match-data around
the call to it.

In GNU Emacs 23.0.60.19 (i686-pc-linux-gnu, GTK+ Version 2.10.11)
 of 2008-06-20 on kahikatea.snap.net.nz
Windowing system distributor `The X.Org Foundation', version 11.0.70200000
configured using `configure  'CFLAGS=-g3' '--enable-font-backend''

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: en_NZ.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Change Log

Minor modes in effect:
  isearch-buffers-minor-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-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: (only . t)

Recent input:
<backspace> <backspace> <backspace> <tab> C-x C-s <down-mouse-1> 
<mouse-1> C-x C-b <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<down-mouse-2> <mouse-2> <help-echo> C-x C-f <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> s r c / s t <tab> 
<backspace> <backspace> <return> <help-echo> <next> 
<next> C-h f g t x - s t <tab> C-g C-h C-h C-g <down-mouse-1> 
<mouse-movement> <mouse-1> <help-echo> <down-mouse-1> 
<mouse-1> C-x <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<menu-bar> <help-menu> <search-documentation> <find-any-object-by-name> 
C-g <down-mouse-1> <mouse-1> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<menu-bar> <help-menu> <search-documentation> <find-any-object-by-name> 
s t o c k <return> <help-echo> <down-mouse-2> <mouse-2> 
<help-echo> <help-echo> <down-mouse-2> <mouse-2> <down-mouse-1> 
<mouse-1> <help-echo> <down-mouse-1> <mouse-1> C-s 
g t k <down-mouse-1> <mouse-1> f <help-echo> <down-mouse-1> 
<mouse-1> C-s c a l l 1 C-s C-s <down-mouse-1> <mouse-1> 
C-M-S-a C-S-s C-S-s <down-mouse-1> <mouse-1> <prior> 
<prior> <prior> <next> <prior> <help-echo> <down-mouse-2> 
<mouse-2> <help-echo> <prior> <switch-frame> <down-mouse-1> 
<mouse-1> <switch-frame> <down-mouse-1> <mouse-movement> 
<mouse-1> <down-mouse-1> <mouse-1> C-S-x V G <help-echo> 
<down-mouse-1> <mouse-1> <help-echo> <down-mouse-1> 
<mouse-1> C-s c a l l 1 C-a C-r C-r <down-mouse-1> 
<mouse-1> <help-echo> <down-mouse-1> <mouse-1> <down-mouse-1> 
<mouse-1> C-s C-s <help-echo> <down-mouse-1> <mouse-1> 
<down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> C-s 
C-s C-s <help-echo> <switch-frame> <down-mouse-1> <mouse-movement> 
<mouse-1> M-x r e p o r t SPC C-g <switch-frame> <down-mouse-1> 
<mouse-1> <down-mouse-1> <mouse-movement> <mouse-1> 
<prior> <prior> <prior> <prior> <prior> <next> <prior> 
<prior> <down-mouse-1> <mouse-1> C-s C-w C-w C-w C-w 
C-s C-r C-r C-r <down-mouse-1> <mouse-1> C-M-a C-s 
C-s C-s C-s <next> <next> <next> <prior> <prior> <down-mouse-1> 
<mouse-1> C-s c a l l 1 <down-mouse-1> <mouse-1> C-s 
C-w C-r C-r C-r C-s C-s <switch-frame> <down-mouse-1> 
<mouse-1> M-x r e p o r t SPC e m SPC SPC <return>

Recent messages:
Type C-x 4 C-o RET to restore the other window.
Mark saved where search started [3 times]
Annotating...
Mark saved where search started
Redisplaying annotation...done (Spanned from 1979.6 to 5.6 days old)
Mark set
Annotating... done
Mark saved where search started [2 times]
Quit
Mark saved where search started [4 times]

-- 
Nick                                           http://www.inet.net.nz/~nickrob