From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#37155: 26.2; `describe-register-1' should not say "Garbage" for (get-register...) -> nil Date: Thu, 22 Aug 2019 23:06:58 -0700 (PDT) Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="240171"; mail-complaints-to="usenet@blaine.gmane.org" To: 37155@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Aug 23 08:08:11 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i12k7-0010Kj-15 for geb-bug-gnu-emacs@m.gmane.org; Fri, 23 Aug 2019 08:08:11 +0200 Original-Received: from localhost ([::1]:51924 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i12k5-0005KA-TI for geb-bug-gnu-emacs@m.gmane.org; Fri, 23 Aug 2019 02:08:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51883) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i12jz-0005K2-S0 for bug-gnu-emacs@gnu.org; Fri, 23 Aug 2019 02:08:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i12jy-0007uO-QL for bug-gnu-emacs@gnu.org; Fri, 23 Aug 2019 02:08:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:58363) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i12jy-0007uI-N2 for bug-gnu-emacs@gnu.org; Fri, 23 Aug 2019 02:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i12jy-0000NC-Gl for bug-gnu-emacs@gnu.org; Fri, 23 Aug 2019 02:08:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Aug 2019 06:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37155 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.15665404281373 (code B ref -1); Fri, 23 Aug 2019 06:08:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 23 Aug 2019 06:07:08 +0000 Original-Received: from localhost ([127.0.0.1]:38951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i12j5-0000M4-NJ for submit@debbugs.gnu.org; Fri, 23 Aug 2019 02:07:08 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:34724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i12j4-0000Lx-8I for submit@debbugs.gnu.org; Fri, 23 Aug 2019 02:07:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51760) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i12j3-0004vi-0p for bug-gnu-emacs@gnu.org; Fri, 23 Aug 2019 02:07:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i12j1-0007KE-DH for bug-gnu-emacs@gnu.org; Fri, 23 Aug 2019 02:07:04 -0400 Original-Received: from userp2120.oracle.com ([156.151.31.85]:57848) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i12j1-0007Iw-3r for bug-gnu-emacs@gnu.org; Fri, 23 Aug 2019 02:07:03 -0400 Original-Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x7N64IJX068457 for ; Fri, 23 Aug 2019 06:07:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=QV2ixG0SW+B+XC3lw0QG6a0xmz3XLzWH4nQizPOBzpI=; b=AhpNf/kFSLpYoSkT+Muer+vFeSdfYJafM88Cn02khBYien+AFB+gQvDewqR1vbfpqYO9 E50O0PiQOZxoGMFbKS1pxPzb0Ame1UQNjRxNnXBICgks0+2ZE2Mw7qsQhRjMCmoaNkr+ CJ+20F8RUeNJ3XcXOIQOrsnv4PCUuj4YJN/pbXO4e/Nu/s+HgZFry72oRg4rFjK/DXXo 2W2AK0zR4NENYosHARL+MugQKw8lNESjahcC7dbE4ThkdK4sZUoOP1VlfbkGHdtBCRWJ hz6fQUFdYFj9A6jUL6uLREP3F4vAaM2J0Z9rui2daUGBtxtX1N4WHJJEJ9OoDQDNisTl /Q== Original-Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 2uea7raemx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 23 Aug 2019 06:07:00 +0000 Original-Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x7N640hA133313 for ; Fri, 23 Aug 2019 06:07:00 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 2uj1y04avq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 23 Aug 2019 06:07:00 +0000 Original-Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x7N66wB7004952 for ; Fri, 23 Aug 2019 06:06:59 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4873.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9357 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=849 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1906280000 definitions=main-1908230066 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9357 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=919 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1906280000 definitions=main-1908230066 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] 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: 209.51.188.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:165650 Archived-At: `register-alist' is an alist. It behaves like one and it should behave like one. It should be usable as one. `(get-register ?a)' returns nil for an alist entry of `(?a)', as it should. And, per the doc, `get-register' returning nil means the=20 register has NO content - it's empty. `M-x list-registers' handles such empty-register elements of the alist correctly: it does not list them at all. Those registers have no content. That's all as it should be. However, register previewing, and in particular `register-describe-oneline', is faulty/misleading when it comes to registers with no content. Like `list-registers' previewing should not list them at all. Instead, it lists them as having "Garbage:" as their content. This is wrong (and it's doubly wrong to include the `:' char with nothing following it). `view-register' is OK. It correctly says a register is empty when it is. Functions that use `describe-register-1' without testing with `get-register' to handle the empty case do the wrong thing. Example: (set-register ?a "aaa") (set-register ?b "bbb") (setq register-alist (append '((?a)) register-alist)) correctly empties register ?a. It gives ((?a) (?b . "bbb") (?a . "aaa")), which correctly has ?a as an empty register: (get-register ?a) returns nil. But `register-preview' and similar, which use `register-preview-default', which uses `register-describe-oneline', do the wrong thing. They show empty registers as being full of "Garbage:" rather than having no content. And they show two occurrences for=20 register ?a, both with "Garbage:". Instead, they should show zero occurrences of register ?a. In short, previewing should use `get-register'. It should respect alist behavior, recognizing an empty register per `get-register'. In GNU Emacs 26.2 (build 1, x86_64-w64-mingw32) of 2019-04-13 Repository revision: fd1b34bfba8f3f6298df47c8e10b61530426f749 Windowing system distributor `Microsoft Corp.', version 10.0.17763 Configured using: `configure --without-dbus --host=3Dx86_64-w64-mingw32 --without-compress-install 'CFLAGS=3D-O2 -static -g3'