From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#32463: 27.0.50; (logior -1) => 4611686018427387903 Date: Fri, 17 Aug 2018 05:59:14 +0000 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000009c8fad05739b442c" X-Trace: blaine.gmane.org 1534485506 19571 195.159.176.226 (17 Aug 2018 05:58:26 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 17 Aug 2018 05:58:26 +0000 (UTC) Cc: 32463@debbugs.gnu.org To: yamaoka@jpl.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Aug 17 07:58:21 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fqXm7-0004vE-Cn for geb-bug-gnu-emacs@m.gmane.org; Fri, 17 Aug 2018 07:58:19 +0200 Original-Received: from localhost ([::1]:60136 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fqXoD-0006j1-VD for geb-bug-gnu-emacs@m.gmane.org; Fri, 17 Aug 2018 02:00:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43587) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fqXnr-0005S2-Bd for bug-gnu-emacs@gnu.org; Fri, 17 Aug 2018 02:00:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fqXnn-00023Y-BG for bug-gnu-emacs@gnu.org; Fri, 17 Aug 2018 02:00:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48168) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fqXnn-00023S-65 for bug-gnu-emacs@gnu.org; Fri, 17 Aug 2018 02:00:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fqXnn-0001JL-3G for bug-gnu-emacs@gnu.org; Fri, 17 Aug 2018 02:00:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 17 Aug 2018 06:00:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32463 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 32463-submit@debbugs.gnu.org id=B32463.15344856004994 (code B ref 32463); Fri, 17 Aug 2018 06:00:03 +0000 Original-Received: (at 32463) by debbugs.gnu.org; 17 Aug 2018 06:00:00 +0000 Original-Received: from localhost ([127.0.0.1]:53185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fqXnj-0001IT-NJ for submit@debbugs.gnu.org; Fri, 17 Aug 2018 02:00:00 -0400 Original-Received: from mail-lj1-f181.google.com ([209.85.208.181]:40958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fqXnh-0001I5-TL for 32463@debbugs.gnu.org; Fri, 17 Aug 2018 01:59:58 -0400 Original-Received: by mail-lj1-f181.google.com with SMTP id j19-v6so5481596ljc.7 for <32463@debbugs.gnu.org>; Thu, 16 Aug 2018 22:59:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=bbmwjM3RTMqNKQ/nHy331A6QvGRjtYpm/2XEj49r7mw=; b=begLn9Ph3mdf5VVJy+fC/Z7mNmuwu+XuomBRiqeH4OAy0HpgBZ3ENdFjRJByr7NdJo iaYNN1EOBkmFZs2Jdy/K6U+Szf37rv2xjr9FwZF+Fqt6ijStrU6olk/jQzCElpcb50AK KMsRN1P1iTxzpUbZ4J5iRujnjsAuB1vtqBvKvU8ZEfXNKpuyKXtbRD9huMdtUj2Z7rk0 jo6AldTnuT9x7V+zRS61ODgeJXNnqf1MJtrKOcq+e/9YHNK4S4AWq46/qcNesQmBQ/Yh BP9GB9Xd8zJAEG1sIYlcnD3hg6fjvsGZOW3vk7r7LvzODq4Mt1rUYEJ4eUwBJvKH/+aj Hb+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bbmwjM3RTMqNKQ/nHy331A6QvGRjtYpm/2XEj49r7mw=; b=aB0gqpt7DGi7X7KGUak4ahODXsTDky8CnRISkw6nlzsNXjTeUyIzzPUp07hmC5h3wX /UkKHN2Zmr2N9A2qpdfTtzwAziynbdLJIOfBLEgEtCA1SDHn9p97KaGyfX1jCf1AyblG hgTMnF/OHQGicARQKFsoaVXJDGZysa1BbPUiBvQ21UnXQAROeXjd5a52rHJ8NfaXdPyK 5oTGnkkLDzx3XsCaDZ8mm2BcQ/AUl9yRUJkTqkWrUP3vzrk+FtJ4c4mq+tJsu9hvt4+R og/sFrO75kXCsINMVqxyGOsE/4IbmVCE2uuc/FsRp8bZdC3pNqDrgjlPxaKOmjqKvNNq ZJSQ== X-Gm-Message-State: AOUpUlFlGJXZa5aOmfL6RcOlbbb2Sak03JOxWlyXVQ4Ts5lY2BUtR5ip WScOoPKpYZm9sLCMhoKnY+ejlVS6S6N2XLKta0o= X-Google-Smtp-Source: AA+uWPyvX8eBokO941l7Wltn5H6EIKm0dRpFw+vXRyKo5ZwWUb+/dpWbPHuG2dOuzyd97ZX+ZlZL3HvRpzP0JTnE5sA= X-Received: by 2002:a2e:2114:: with SMTP id h20-v6mr24835066ljh.135.1534485591757; Thu, 16 Aug 2018 22:59:51 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:149547 Archived-At: --0000000000009c8fad05739b442c Content-Type: text/plain; charset="UTF-8" Can you try the attached patch? It fixes a few things that I reported to Tom yesterday: --- None of these are necessarily bugs, but: * I find the behavior of `lsh', `logand', `logior', and `logxor', when given negative arguments, surprising. I think it would make most sense to treat negative numbers as the infinite bitstream consisting of all ones to the left of the specified value: (logand -1 -1) would be interpreted as ...1111111 & ...1111111 = ...1111111, so it would be -1 (rather than 2 * most-positive-fixnum + 1). (lsh (- (lsh -1 64) 1) -1) would be ...1110111...1111 shifted to the right by one digit, an odd number, rather than the even number currently produced. (I believe lsh and ash should behave identically.) * the documentation of `random' still refers to representable integers * I think we should rename `random' to `random-fixnum' and add a Lisp function `random' which accepts positive fixnum, bignum, and float arguments, doing the right thing for each. `cl-random' similarly needs updating, or documentation of its current 32-bit nature. * there appears to be a most-positive-bignum; on x86-64, it consists of 0x7fffffff 8-byte words of one bits, 16 GiB. Operating on integers larger than that will currently abort emacs with an error message: "gmp: overflow in mpz type". * long-running bignum operations appear not to be interruptible. Please consider something like the attached patch? Thanks! On Fri, Aug 17, 2018 at 3:31 AM Katsumi Yamaoka wrote: > > Hi, > > What do I have to do to get -1 by `(logior -1)' ? Otherwise, > is it just a bug? Setting `binary-as-unsigned' has no effect. > > I'm using an old input method sj3-egg[1] but it got not to work. > The following Lisp snippet shows what it does first when opening > the connection to the sj3 server: > > (with-temp-buffer > (set-buffer-multibyte nil) > (let ((pt (point-min))) > (insert "\377\377\377\376") > (logior > (lsh (- (logxor (char-after pt) 128) 128) 24) > (lsh (char-after (+ pt 1)) 16) > (lsh (char-after (+ pt 2)) 8) > (lsh (char-after (+ pt 3)) 0)))) > > It should return -2, but 4611686018427387902 now. > (Oh, it's doubled most-positive-fixnum!) > > Thanks. > > [1] http://www.jpl.org/ftp/pub/elisp/sj3-egg-0.8.5.tar.gz > > In GNU Emacs 27.0.50 (build 1, x86_64-unknown-cygwin, GTK+ Version 3.22.28) > of 2018-08-17 built on localhost > Windowing system distributor 'The Cygwin/X Project', version 11.0.12000000 > > > --0000000000009c8fad05739b442c Content-Type: text/x-patch; charset="US-ASCII"; name="Minor-bignum-tweaks.patch" Content-Disposition: attachment; filename="Minor-bignum-tweaks.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jkxl2b9a0 ZGlmZiAtLWdpdCBhL3NyYy9kYXRhLmMgYi9zcmMvZGF0YS5jCmluZGV4IGExMjE1YjlkNmJmLi5l YjE1YmM1YmRkYSAxMDA2NDQKLS0tIGEvc3JjL2RhdGEuYworKysgYi9zcmMvZGF0YS5jCkBAIC0z MDA2LDcgKzMwMDYsNyBAQCBhcml0aF9kcml2ZXIgKGVudW0gYXJpdGhvcCBjb2RlLCBwdHJkaWZm X3QgbmFyZ3MsIExpc3BfT2JqZWN0ICphcmdzKQogCSAgICB7CiAJICAgICAgbXB6X3QgdGVtOwog CSAgICAgIG1wel9pbml0ICh0ZW0pOwotCSAgICAgIG1wel9zZXRfdWludG1heCAodGVtLCBYVUZJ WE5VTSAodmFsKSk7CisJICAgICAgbXB6X3NldF9pbnRtYXggKHRlbSwgWEZJWE5VTSAodmFsKSk7 CiAJICAgICAgbXB6X2FuZCAoYWNjdW0sIGFjY3VtLCB0ZW0pOwogCSAgICAgIG1wel9jbGVhciAo dGVtKTsKIAkgICAgfQpAQCAtMzAxOCw3ICszMDE4LDcgQEAgYXJpdGhfZHJpdmVyIChlbnVtIGFy aXRob3AgY29kZSwgcHRyZGlmZl90IG5hcmdzLCBMaXNwX09iamVjdCAqYXJncykKIAkgICAgewog CSAgICAgIG1wel90IHRlbTsKIAkgICAgICBtcHpfaW5pdCAodGVtKTsKLQkgICAgICBtcHpfc2V0 X3VpbnRtYXggKHRlbSwgWFVGSVhOVU0gKHZhbCkpOworCSAgICAgIG1wel9zZXRfaW50bWF4ICh0 ZW0sIFhGSVhOVU0gKHZhbCkpOwogCSAgICAgIG1wel9pb3IgKGFjY3VtLCBhY2N1bSwgdGVtKTsK IAkgICAgICBtcHpfY2xlYXIgKHRlbSk7CiAJICAgIH0KQEAgLTMwMzAsNyArMzAzMCw3IEBAIGFy aXRoX2RyaXZlciAoZW51bSBhcml0aG9wIGNvZGUsIHB0cmRpZmZfdCBuYXJncywgTGlzcF9PYmpl Y3QgKmFyZ3MpCiAJICAgIHsKIAkgICAgICBtcHpfdCB0ZW07CiAJICAgICAgbXB6X2luaXQgKHRl bSk7Ci0JICAgICAgbXB6X3NldF91aW50bWF4ICh0ZW0sIFhVRklYTlVNICh2YWwpKTsKKwkgICAg ICBtcHpfc2V0X2ludG1heCAodGVtLCBYRklYTlVNICh2YWwpKTsKIAkgICAgICBtcHpfeG9yIChh Y2N1bSwgYWNjdW0sIHRlbSk7CiAJICAgICAgbXB6X2NsZWFyICh0ZW0pOwogCSAgICB9CkBAIC0z MzgzLDggKzMzODMsNiBAQCBhc2hfbHNoX2ltcGwgKExpc3BfT2JqZWN0IHZhbHVlLCBMaXNwX09i amVjdCBjb3VudCwgYm9vbCBsc2gpCiAgICAgICBtcHpfaW5pdCAocmVzdWx0KTsKICAgICAgIGlm IChYRklYTlVNIChjb3VudCkgPj0gMCkKIAltcHpfbXVsXzJleHAgKHJlc3VsdCwgWEJJR05VTSAo dmFsdWUpLT52YWx1ZSwgWEZJWE5VTSAoY291bnQpKTsKLSAgICAgIGVsc2UgaWYgKGxzaCkKLQlt cHpfdGRpdl9xXzJleHAgKHJlc3VsdCwgWEJJR05VTSAodmFsdWUpLT52YWx1ZSwgLSBYRklYTlVN IChjb3VudCkpOwogICAgICAgZWxzZQogCW1wel9mZGl2X3FfMmV4cCAocmVzdWx0LCBYQklHTlVN ICh2YWx1ZSktPnZhbHVlLCAtIFhGSVhOVU0gKGNvdW50KSk7CiAgICAgICB2YWwgPSBtYWtlX251 bWJlciAocmVzdWx0KTsKQEAgLTM0MDEsMTQgKzMzOTksNyBAQCBhc2hfbHNoX2ltcGwgKExpc3Bf T2JqZWN0IHZhbHVlLCBMaXNwX09iamVjdCBjb3VudCwgYm9vbCBsc2gpCiAKICAgICAgIGlmIChY RklYTlVNIChjb3VudCkgPj0gMCkKIAltcHpfbXVsXzJleHAgKHJlc3VsdCwgcmVzdWx0LCBYRklY TlVNIChjb3VudCkpOwotICAgICAgZWxzZSBpZiAobHNoKQotCXsKLQkgIGlmIChtcHpfc2duIChy ZXN1bHQpID4gMCkKLQkgICAgbXB6X2ZkaXZfcV8yZXhwIChyZXN1bHQsIHJlc3VsdCwgLSBYRklY TlVNIChjb3VudCkpOwotCSAgZWxzZQotCSAgICBtcHpfZmRpdl9xXzJleHAgKHJlc3VsdCwgcmVz dWx0LCAtIFhGSVhOVU0gKGNvdW50KSk7Ci0JfQotICAgICAgZWxzZSAvKiBhc2ggKi8KKyAgICAg IGVsc2UKIAltcHpfZmRpdl9xXzJleHAgKHJlc3VsdCwgcmVzdWx0LCAtIFhGSVhOVU0gKGNvdW50 KSk7CiAKICAgICAgIHZhbCA9IG1ha2VfbnVtYmVyIChyZXN1bHQpOwpkaWZmIC0tZ2l0IGEvc3Jj L2Zucy5jIGIvc3JjL2Zucy5jCmluZGV4IGY2ZTY4MDM2NDEzLi41ZjRiNDU1YjUwMyAxMDA2NDQK LS0tIGEvc3JjL2Zucy5jCisrKyBiL3NyYy9mbnMuYwpAQCAtNTYsMTUgKzU2LDE1IEBAIERFRlVO ICgiaWRlbnRpdHkiLCBGaWRlbnRpdHksIFNpZGVudGl0eSwgMSwgMSwgMCwKIH0KIAogREVGVU4g KCJyYW5kb20iLCBGcmFuZG9tLCBTcmFuZG9tLCAwLCAxLCAwLAotICAgICAgIGRvYzogLyogUmV0 dXJuIGEgcHNldWRvLXJhbmRvbSBudW1iZXIuCi1BbGwgaW50ZWdlcnMgcmVwcmVzZW50YWJsZSBp biBMaXNwLCBpLmUuIGJldHdlZW4gYG1vc3QtbmVnYXRpdmUtZml4bnVtJworICAgICAgIGRvYzog LyogUmV0dXJuIGEgcHNldWRvLXJhbmRvbSBmaXhudW0uCitBbGwgaW50ZWdlcnMgcmVwcmVzZW50 YWJsZSBhcyBmaXhudW1zLCBpLmUuIGJldHdlZW4gYG1vc3QtbmVnYXRpdmUtZml4bnVtJwogYW5k IGBtb3N0LXBvc2l0aXZlLWZpeG51bScsIGluY2x1c2l2ZSwgYXJlIGVxdWFsbHkgbGlrZWx5Lgog Ci1XaXRoIHBvc2l0aXZlIGludGVnZXIgTElNSVQsIHJldHVybiByYW5kb20gbnVtYmVyIGluIGlu dGVydmFsIFswLExJTUlUKS4KLVdpdGggYXJndW1lbnQgdCwgc2V0IHRoZSByYW5kb20gbnVtYmVy IHNlZWQgZnJvbSB0aGUgc3lzdGVtJ3MgZW50cm9weQotcG9vbCBpZiBhdmFpbGFibGUsIG90aGVy d2lzZSBmcm9tIGxlc3MtcmFuZG9tIHZvbGF0aWxlIGRhdGEgc3VjaCBhcyB0aGUgdGltZS4KLVdp dGggYSBzdHJpbmcgYXJndW1lbnQsIHNldCB0aGUgc2VlZCBiYXNlZCBvbiB0aGUgc3RyaW5nJ3Mg Y29udGVudHMuCi1PdGhlciB2YWx1ZXMgb2YgTElNSVQgYXJlIGlnbm9yZWQuCitXaXRoIHBvc2l0 aXZlIGZpeG51bSBpbnRlZ2VyIExJTUlULCByZXR1cm4gcmFuZG9tIG51bWJlciBpbiBpbnRlcnZh bAorWzAsTElNSVQpLiAgV2l0aCBhcmd1bWVudCB0LCBzZXQgdGhlIHJhbmRvbSBudW1iZXIgc2Vl ZCBmcm9tIHRoZQorc3lzdGVtJ3MgZW50cm9weSBwb29sIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNl IGZyb20gbGVzcy1yYW5kb20KK3ZvbGF0aWxlIGRhdGEgc3VjaCBhcyB0aGUgdGltZS4gIFdpdGgg YSBzdHJpbmcgYXJndW1lbnQsIHNldCB0aGUgc2VlZAorYmFzZWQgb24gdGhlIHN0cmluZydzIGNv bnRlbnRzLiAgT3RoZXIgdmFsdWVzIG9mIExJTUlUIGFyZSBpZ25vcmVkLgogCiBTZWUgSW5mbyBu b2RlIGAoZWxpc3ApUmFuZG9tIE51bWJlcnMnIGZvciBtb3JlIGRldGFpbHMuICAqLykKICAgKExp c3BfT2JqZWN0IGxpbWl0KQo= --0000000000009c8fad05739b442c--