From unknown Tue Aug 19 11:03:58 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12795: 24.2.50; ibuffers mark commands are quirky Resent-From: Andreas Politz Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 04 Nov 2012 00:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12795 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 12795@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.13519902287508 (code B ref -1); Sun, 04 Nov 2012 00:51:01 +0000 Received: (at submit) by debbugs.gnu.org; 4 Nov 2012 00:50:28 +0000 Received: from localhost ([127.0.0.1]:47774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUoPy-0001x2-MQ for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:50:27 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42994) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUoPv-0001ws-AG for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:50:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TUoN3-0003kt-7h for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:47:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:58882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TUoN3-0003kl-49 for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:47:25 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49930) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TUoN2-00009s-0F for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2012 20:47:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TUoN0-0003kM-Mc for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2012 20:47:23 -0400 Received: from gateway-0.fh-trier.de ([143.93.54.122]:52378) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TUoN0-0003k9-9h for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2012 20:47:22 -0400 Received: from gateway-b.fh-trier.de (gateway-b.fh-trier.de [143.93.54.182]) by gateway-0.fh-trier.de (Postfix) with ESMTP id B3BDF1C80F for ; Sun, 4 Nov 2012 01:47:19 +0100 (CET) X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum FH-Trier (r/ft)] Received: from luca (dslb-088-068-057-243.pools.arcor-ip.net [88.68.57.243]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-b.fh-trier.de (Postfix) with ESMTPSA id 520EC17B427 for ; Sun, 4 Nov 2012 01:47:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=fh-trier.de; s=default; t=1351990027; bh=MLWt3pGEKgSviPCkIm4zuVzR6IM=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=XwAKk0KgXPUahy+/HMuOVEvEho5zhFdSqId4Mi4s/fkIoj0WDAiNWkH/l1MMciUMU g7AW8cnEKDFRc2p35niqbcfdmatwuw8BkYxf83RACKmCFDUxQ1Ipw7FeGeeW1UWxYT HzmNb2f84KshHbUxLcvx/WunbrN7bIRXFHffOTwQ= Received: from localhost ([127.0.0.1] helo=luca) by luca with esmtp (Exim 4.72) (envelope-from ) id 1TUoMk-00023p-FK for bug-gnu-emacs@gnu.org; Sun, 04 Nov 2012 01:47:06 +0100 From: Andreas Politz Date: Sun, 04 Nov 2012 01:47:06 +0100 Message-ID: <87a9uy9otx.fsf@fh-trier.de> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.5 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.5 (---) Hey Emacs guys ! I found some problems with ibuffers movement commands: The mark commands in ibuffer use a "P" interactive spec and error on C-u prefix args. They don't support negative arguments and the backwards unmarking behaviour is non-standard (= dired). The attached patch addresses these points. -ap diff -c -L /usr/share/emacs/24.2.50/lisp/ibuffer.el.gz -L \#\ /tmp/jka-com2962CdI /tmp/buffer-content-2962cxU *** /usr/share/emacs/24.2.50/lisp/ibuffer.el.gz --- # *************** *** 1359,1382 **** (defun ibuffer-mark-forward (arg) "Mark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "P") ! (ibuffer-mark-interactive arg ibuffer-marked-char 1)) (defun ibuffer-unmark-forward (arg) "Unmark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "P") ! (ibuffer-mark-interactive arg ?\s 1)) (defun ibuffer-unmark-backward (arg) "Unmark the buffer on this line, and move backward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "P") ! (ibuffer-mark-interactive arg ?\s -1)) ! (defun ibuffer-mark-interactive (arg mark movement) (ibuffer-assert-ibuffer-mode) (or arg (setq arg 1)) (ibuffer-forward-line 0) (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) (progn --- 1359,1385 ---- (defun ibuffer-mark-forward (arg) "Mark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "p") ! (ibuffer-mark-interactive arg ibuffer-marked-char)) (defun ibuffer-unmark-forward (arg) "Unmark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "p") ! (ibuffer-mark-interactive arg ?\s)) (defun ibuffer-unmark-backward (arg) "Unmark the buffer on this line, and move backward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "p") ! (ibuffer-unmark-forward (- arg))) ! (defun ibuffer-mark-interactive (arg mark &optional movement) (ibuffer-assert-ibuffer-mode) (or arg (setq arg 1)) + ;; deprecated movement argument + (when (and movement (< movement 0)) + (setq arg (- arg))) (ibuffer-forward-line 0) (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) (progn *************** *** 1386,1393 **** (let ((inhibit-read-only t)) (while (> arg 0) (ibuffer-set-mark mark) ! (ibuffer-forward-line movement t) ! (setq arg (1- arg)))))) (defun ibuffer-set-mark (mark) (ibuffer-assert-ibuffer-mode) --- 1389,1400 ---- (let ((inhibit-read-only t)) (while (> arg 0) (ibuffer-set-mark mark) ! (ibuffer-forward-line 1 t) ! (setq arg (1- arg))) ! (while (< arg 0) ! (ibuffer-forward-line -1 t) ! (ibuffer-set-mark mark) ! (setq arg (1+ arg)))))) (defun ibuffer-set-mark (mark) (ibuffer-assert-ibuffer-mode) Diff finished. Sun Nov 4 01:32:54 2012 From unknown Tue Aug 19 11:03:58 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Andreas Politz Subject: bug#12795: closed (Re: bug#12795: 24.2.50; ibuffers mark commands are quirky) Message-ID: References: <877gpkn1ii.fsf@gnu.org> <87a9uy9otx.fsf@fh-trier.de> X-Gnu-PR-Message: they-closed 12795 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 12795@debbugs.gnu.org Date: Sat, 17 Nov 2012 07:17:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1353136622-20189-1" This is a multi-part message in MIME format... ------------=_1353136622-20189-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #12795: 24.2.50; ibuffers mark commands are quirky which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 12795@debbugs.gnu.org. --=20 12795: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12795 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1353136622-20189-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 12795-done) by debbugs.gnu.org; 17 Nov 2012 07:16:32 +0000 Received: from localhost ([127.0.0.1]:50140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TZcdj-0005Ej-M6 for submit@debbugs.gnu.org; Sat, 17 Nov 2012 02:16:32 -0500 Received: from mail-da0-f42.google.com ([209.85.210.42]:37830) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TZcdh-0005Ec-Jh for 12795-done@debbugs.gnu.org; Sat, 17 Nov 2012 02:16:30 -0500 Received: by mail-da0-f42.google.com with SMTP id z17so1444073dal.29 for <12795-done@debbugs.gnu.org>; Fri, 16 Nov 2012 23:15:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=bGQoEr6jGkyNXipWTPp71UNd+lZfIGn02HvJl5fPcXE=; b=RT53m/NtJ0YH3CIrXhvtSozqv5AfVs53BETlVEU0KgPtCKEjbOBVD2YkG/2cafNFHG dn2gZ4Nm3z3HNDHek+h8DfpGnHLjUDLit09GKtkY5OcBLp9tj71ulS1ApSOPTAsIjQ29 RGT5xGwhaMG8k9IgP4CbQxtWOXLDjPbjbRQmWKFrEJPrtG3G3l+FzMGb7P3MLoQtLnEz YwCMg/Q9A+JZcgyZmA6j/sgBM6kTBwZ50lVLcaqOPppDOBGZQB0+WzqVkccPON0+W0oM qJkZClbAhv4L1oR9Hip8W0GUtpsxyX1yAzcUp5opDZDDyGRnxBv16dHtJFN38nPa4bw/ YTng== Received: by 10.66.80.68 with SMTP id p4mr19493628pax.35.1353136538121; Fri, 16 Nov 2012 23:15:38 -0800 (PST) Received: from ulysses (cm198.gamma83.maxonline.com.sg. [202.156.83.198]) by mx.google.com with ESMTPS id t1sm2397361paw.11.2012.11.16.23.15.35 (version=SSLv3 cipher=OTHER); Fri, 16 Nov 2012 23:15:37 -0800 (PST) From: Chong Yidong To: Andreas Politz Subject: Re: bug#12795: 24.2.50; ibuffers mark commands are quirky References: <87a9uy9otx.fsf@fh-trier.de> Date: Sat, 17 Nov 2012 15:15:33 +0800 In-Reply-To: <87a9uy9otx.fsf@fh-trier.de> (Andreas Politz's message of "Sun, 04 Nov 2012 01:47:06 +0100") Message-ID: <877gpkn1ii.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 12795-done Cc: 12795-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) Andreas Politz writes: > I found some problems with ibuffers movement commands: The mark commands > in ibuffer use a "P" interactive spec and error on C-u prefix args. They > don't support negative arguments and the backwards unmarking behaviour > is non-standard (= dired). The attached patch addresses these points. Thanks, committed to trunk. ------------=_1353136622-20189-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 4 Nov 2012 00:50:28 +0000 Received: from localhost ([127.0.0.1]:47774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUoPy-0001x2-MQ for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:50:27 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42994) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUoPv-0001ws-AG for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:50:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TUoN3-0003kt-7h for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:47:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:58882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TUoN3-0003kl-49 for submit@debbugs.gnu.org; Sat, 03 Nov 2012 20:47:25 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49930) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TUoN2-00009s-0F for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2012 20:47:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TUoN0-0003kM-Mc for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2012 20:47:23 -0400 Received: from gateway-0.fh-trier.de ([143.93.54.122]:52378) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TUoN0-0003k9-9h for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2012 20:47:22 -0400 Received: from gateway-b.fh-trier.de (gateway-b.fh-trier.de [143.93.54.182]) by gateway-0.fh-trier.de (Postfix) with ESMTP id B3BDF1C80F for ; Sun, 4 Nov 2012 01:47:19 +0100 (CET) X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum FH-Trier (r/ft)] Received: from luca (dslb-088-068-057-243.pools.arcor-ip.net [88.68.57.243]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-b.fh-trier.de (Postfix) with ESMTPSA id 520EC17B427 for ; Sun, 4 Nov 2012 01:47:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=fh-trier.de; s=default; t=1351990027; bh=MLWt3pGEKgSviPCkIm4zuVzR6IM=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=XwAKk0KgXPUahy+/HMuOVEvEho5zhFdSqId4Mi4s/fkIoj0WDAiNWkH/l1MMciUMU g7AW8cnEKDFRc2p35niqbcfdmatwuw8BkYxf83RACKmCFDUxQ1Ipw7FeGeeW1UWxYT HzmNb2f84KshHbUxLcvx/WunbrN7bIRXFHffOTwQ= Received: from localhost ([127.0.0.1] helo=luca) by luca with esmtp (Exim 4.72) (envelope-from ) id 1TUoMk-00023p-FK for bug-gnu-emacs@gnu.org; Sun, 04 Nov 2012 01:47:06 +0100 From: Andreas Politz To: bug-gnu-emacs@gnu.org Subject: 24.2.50; ibuffers mark commands are quirky Date: Sun, 04 Nov 2012 01:47:06 +0100 Message-ID: <87a9uy9otx.fsf@fh-trier.de> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.5 (---) Hey Emacs guys ! I found some problems with ibuffers movement commands: The mark commands in ibuffer use a "P" interactive spec and error on C-u prefix args. They don't support negative arguments and the backwards unmarking behaviour is non-standard (= dired). The attached patch addresses these points. -ap diff -c -L /usr/share/emacs/24.2.50/lisp/ibuffer.el.gz -L \#\ /tmp/jka-com2962CdI /tmp/buffer-content-2962cxU *** /usr/share/emacs/24.2.50/lisp/ibuffer.el.gz --- # *************** *** 1359,1382 **** (defun ibuffer-mark-forward (arg) "Mark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "P") ! (ibuffer-mark-interactive arg ibuffer-marked-char 1)) (defun ibuffer-unmark-forward (arg) "Unmark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "P") ! (ibuffer-mark-interactive arg ?\s 1)) (defun ibuffer-unmark-backward (arg) "Unmark the buffer on this line, and move backward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "P") ! (ibuffer-mark-interactive arg ?\s -1)) ! (defun ibuffer-mark-interactive (arg mark movement) (ibuffer-assert-ibuffer-mode) (or arg (setq arg 1)) (ibuffer-forward-line 0) (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) (progn --- 1359,1385 ---- (defun ibuffer-mark-forward (arg) "Mark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "p") ! (ibuffer-mark-interactive arg ibuffer-marked-char)) (defun ibuffer-unmark-forward (arg) "Unmark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "p") ! (ibuffer-mark-interactive arg ?\s)) (defun ibuffer-unmark-backward (arg) "Unmark the buffer on this line, and move backward ARG lines. If point is on a group name, this function operates on that group." ! (interactive "p") ! (ibuffer-unmark-forward (- arg))) ! (defun ibuffer-mark-interactive (arg mark &optional movement) (ibuffer-assert-ibuffer-mode) (or arg (setq arg 1)) + ;; deprecated movement argument + (when (and movement (< movement 0)) + (setq arg (- arg))) (ibuffer-forward-line 0) (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) (progn *************** *** 1386,1393 **** (let ((inhibit-read-only t)) (while (> arg 0) (ibuffer-set-mark mark) ! (ibuffer-forward-line movement t) ! (setq arg (1- arg)))))) (defun ibuffer-set-mark (mark) (ibuffer-assert-ibuffer-mode) --- 1389,1400 ---- (let ((inhibit-read-only t)) (while (> arg 0) (ibuffer-set-mark mark) ! (ibuffer-forward-line 1 t) ! (setq arg (1- arg))) ! (while (< arg 0) ! (ibuffer-forward-line -1 t) ! (ibuffer-set-mark mark) ! (setq arg (1+ arg)))))) (defun ibuffer-set-mark (mark) (ibuffer-assert-ibuffer-mode) Diff finished. Sun Nov 4 01:32:54 2012 ------------=_1353136622-20189-1--