unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [jpw@pobox.com: crash setting frame parameter icon-name to non-nil non-string value]
@ 2006-05-29 18:02 Richard Stallman
  2006-06-02 16:35 ` Chong Yidong
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Stallman @ 2006-05-29 18:02 UTC (permalink / raw)


Can someone please look at this, and ack?

------- Start of forwarded message -------
Date: Mon, 29 May 2006 02:47:37 +0100
From: jpw@pobox.com (John Paul Wallington)
To: emacs-pretest-bug@gnu.org
Subject: crash setting frame parameter icon-name to non-nil non-string value
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=failed 
	version=3.0.4

M-: (set-frame-parameter nil 'icon-name 'crashme)
C-x 5 2

crash (backtrace below)

FWIW, Emacs 21.3 seems to crash as soon as the `icon-name' frame
parameter is set to a non-nil nor a string value.

Perhaps we should check `icon-name' is a sane value when setting the
parameter as we do for the parameter `name'.

I'm not sure whether the following is a good fix so I didn't install it:

2006-05-29  John Paul Wallington  <jpw@pobox.com>

	* xfns.c (x_set_name_internal): Use `text' when `icon-name' isn't
	a string rather than only when it is nil.

- --- xfns.c	27 May 2006 22:23:05 +0100	1.665
+++ xfns.c	29 May 2006 02:17:05 +0100	
@@ -1626,7 +1626,7 @@
 	text.format = 8;
 	text.nitems = bytes;
 
- -	if (NILP (f->icon_name))
+	if (!STRINGP (f->icon_name))
 	  {
 	    icon = text;
 	  }


backtrace:

#0  0x080d2e06 in encode_coding_iso2022 (coding=0xbfffe380, 
    source=0x835c8e1 "", destination=0x40b5d008 "", src_bytes=143861491, 
    dst_bytes=431584729) at coding.c:2784
#1  0x080d6454 in encode_coding (coding=0xbfffe380, source=0x835c8e1 "", 
    destination=0x40b5d008 "", src_bytes=143861491, dst_bytes=-1073749120)
    at coding.c:5026
#2  0x08100e13 in x_encode_text (string=431584729, coding_system=137933969, 
    selectionp=0, text_bytes=0xbfffe664, stringp=0xbfffe668, freep=0xbfffe660)
    at xfns.c:1578
#3  0x08100f9b in x_set_name_internal (f=0x8694688, name=145500795)
    at xfns.c:1636
#4  0x080a051d in x_consider_frame_title (frame=141117068) at xdisp.c:8883
#5  0x080a079c in prepare_menu_bars () at xdisp.c:8927
#6  0x080a3a48 in redisplay_internal (preserve_echo_area=0) at xdisp.c:10766
#7  0x080a2172 in redisplay () at xdisp.c:10355
#8  0x081273a5 in read_char (commandflag=1, nmaps=2, maps=0xbffff1bc, 
    prev_event=137742537, used_mouse_menu=0xbffff1f8) at keyboard.c:2925
#9  0x0812e274 in read_key_sequence (keybuf=0xbffff320, bufsize=30, 
    prompt=137742537, dont_downcase_last=0, can_return_switch_frame=1, 
    fix_current_buffer=1) at keyboard.c:8864
#10 0x081249d9 in command_loop_1 () at keyboard.c:1536
#11 0x081867fb in internal_condition_case (bfun=0x8124830 <command_loop_1>, 
    handlers=137787177, hfun=0x8124320 <cmd_error>) at eval.c:1474
#12 0x0812467e in command_loop_2 () at keyboard.c:1328
#13 0x081862eb in internal_catch (tag=145567744, 
    func=0x8124650 <command_loop_2>, arg=137742537) at eval.c:1212
#14 0x08124623 in command_loop () at keyboard.c:1307
#15 0x08124084 in recursive_edit_1 () at keyboard.c:1000
#16 0x081241c1 in Frecursive_edit () at keyboard.c:1061
#17 0x0812272d in main (argc=1, argv=0xbffff9d4) at emacs.c:1794




In GNU Emacs 22.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.6.4)
 of 2006-05-28 on zaphod
X server distributor `The XFree86 Project, Inc', version 11.0.40300001
configured using `configure '--with-gtk=yes''

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_GB
  locale-coding-system: iso-8859-1
  default-enable-multibyte-characters: t


_______________________________________________
emacs-pretest-bug mailing list
emacs-pretest-bug@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
------- End of forwarded message -------

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [jpw@pobox.com: crash setting frame parameter icon-name to non-nil non-string value]
  2006-05-29 18:02 [jpw@pobox.com: crash setting frame parameter icon-name to non-nil non-string value] Richard Stallman
@ 2006-06-02 16:35 ` Chong Yidong
  2006-06-02 21:23   ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Chong Yidong @ 2006-06-02 16:35 UTC (permalink / raw)
  Cc: emacs-devel

> From: jpw@pobox.com (John Paul Wallington)
> Subject: crash setting frame parameter icon-name to non-nil non-string value
>
> M-: (set-frame-parameter nil 'icon-name 'crashme)
> C-x 5 2
>
> crash
>
> I'm not sure whether the following is a good fix so I didn't install it:
>
> 2006-05-29  John Paul Wallington  <jpw@pobox.com>
>
> 	* xfns.c (x_set_name_internal): Use `text' when `icon-name' isn't
> 	a string rather than only when it is nil.
>
> - --- xfns.c	27 May 2006 22:23:05 +0100	1.665
> +++ xfns.c	29 May 2006 02:17:05 +0100	
> @@ -1626,7 +1626,7 @@
>  	text.format = 8;
>  	text.nitems = bytes;
>  
> - -	if (NILP (f->icon_name))
> +	if (!STRINGP (f->icon_name))
>  	  {
>  	    icon = text;
>  	  }

I checked in another fix (patch below).  Probably macfns.c and
w32fns.c need to be fixed too.

*** emacs/src/xfns.c.~1.665.~	2006-04-17 18:12:24.000000000 -0400
--- emacs/src/xfns.c	2006-06-02 12:30:51.000000000 -0400
***************
*** 1249,1255 ****
        if (STRINGP (oldval) && EQ (Fstring_equal (oldval, arg), Qt))
  	return;
      }
!   else if (!STRINGP (oldval) && EQ (oldval, Qnil) == EQ (arg, Qnil))
      return;
  
    f->icon_name = arg;
--- 1249,1255 ----
        if (STRINGP (oldval) && EQ (Fstring_equal (oldval, arg), Qt))
  	return;
      }
!   else if (!NILP (arg) || NILP (oldval))
      return;
  
    f->icon_name = arg;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [jpw@pobox.com: crash setting frame parameter icon-name to non-nil non-string value]
  2006-06-02 16:35 ` Chong Yidong
@ 2006-06-02 21:23   ` Eli Zaretskii
  2006-06-03  2:44     ` YAMAMOTO Mitsuharu
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2006-06-02 21:23 UTC (permalink / raw)
  Cc: emacs-devel

> From: Chong Yidong <cyd@stupidchicken.com>
> Date: Fri, 02 Jun 2006 12:35:32 -0400
> Cc: emacs-devel@gnu.org
> 
> I checked in another fix (patch below).  Probably macfns.c and
> w32fns.c need to be fixed too.

The w32 port doesn't crash with such invalid values of the icon,
because the code that uses f->icon_name is ifdef'ed away.  But I
installed the change in w32fns.c nonetheless, thanks for the heads up.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [jpw@pobox.com: crash setting frame parameter icon-name to non-nil non-string value]
  2006-06-02 21:23   ` Eli Zaretskii
@ 2006-06-03  2:44     ` YAMAMOTO Mitsuharu
  0 siblings, 0 replies; 4+ messages in thread
From: YAMAMOTO Mitsuharu @ 2006-06-03  2:44 UTC (permalink / raw)
  Cc: Chong Yidong, emacs-devel

>>>>> On Sat, 03 Jun 2006 00:23:24 +0300, Eli Zaretskii <eliz@gnu.org> said:

>> I checked in another fix (patch below).  Probably macfns.c and
>> w32fns.c need to be fixed too.

> The w32 port doesn't crash with such invalid values of the icon,
> because the code that uses f->icon_name is ifdef'ed away.  But I
> installed the change in w32fns.c nonetheless, thanks for the heads
> up.

Ditto for macfns.c.

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-06-03  2:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-29 18:02 [jpw@pobox.com: crash setting frame parameter icon-name to non-nil non-string value] Richard Stallman
2006-06-02 16:35 ` Chong Yidong
2006-06-02 21:23   ` Eli Zaretskii
2006-06-03  2:44     ` YAMAMOTO Mitsuharu

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).