From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: QNX subprocess bug Date: Sat, 25 Mar 2006 23:33:47 -0500 Message-ID: <87acbdn8k8.fsf-monnier+emacs@gnu.org> References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1143487735 20114 80.91.229.2 (27 Mar 2006 19:28:55 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 27 Mar 2006 19:28:55 +0000 (UTC) Cc: Bob Bramwell , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 27 21:28:48 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FNxOI-0006mL-U4 for ged-emacs-devel@m.gmane.org; Mon, 27 Mar 2006 21:28:39 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FNxOI-0000t6-3v for ged-emacs-devel@m.gmane.org; Mon, 27 Mar 2006 14:28:38 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FNMws-0006un-2F for emacs-devel@gnu.org; Sat, 25 Mar 2006 23:33:54 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FNMwq-0006uT-Ac for emacs-devel@gnu.org; Sat, 25 Mar 2006 23:33:53 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FNMwq-0006uP-0K for emacs-devel@gnu.org; Sat, 25 Mar 2006 23:33:52 -0500 Original-Received: from [209.226.175.184] (helo=tomts22-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FNMxz-0002BK-6T; Sat, 25 Mar 2006 23:35:03 -0500 Original-Received: from alfajor ([70.55.140.81]) by tomts22-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20060326043347.JRDH10262.tomts22-srv.bellnexxia.net@alfajor>; Sat, 25 Mar 2006 23:33:47 -0500 Original-Received: by alfajor (Postfix, from userid 1000) id C9717D734A; Sat, 25 Mar 2006 23:33:47 -0500 (EST) Original-To: rms@gnu.org In-Reply-To: (Richard Stallman's message of "Sat, 25 Mar 2006 19:22:02 -0500") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:52107 Archived-At: > The bug is showing up in emacs 21.2.1 on QNX 6.3.0. It appears > that process IDs on QNX really occupy 32-bits. Some of them are > quite large. This causes a problem in the subprocess package > which uses an elisp integer (28 bits + type info - I think) to > try to store the PID. > Obvious this problem could, in principle, arise on any system that > uses 32-bit process IDs, and it seems to me rather sloppy programming > to use such a shortcut, especially in such comparatively rarely > executed code. > It is not a short cut. The reason the pid is represented as a Lisp > integer is that > (1) all the slots in a process object have to be Lisp objects, Actually, this doesn't have to be true. Several other kinds of similar (vectorlike) objects have lifted this limitation, e.g. buffers. We could easily lift this limitation. That would also allow us to replace raw_status_(high|low) with just raw_status. > and (2) Emacs has no way to deal with integer values larger > than a Lisp integer. Actually, Emacs can store such values in floating point numbers, or encode them in cons-cells (as is done for time values as well as file sizes). Stefan