From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: next-error-last-buffer Date: Tue, 25 May 2004 23:22:11 +0300 Organization: JURTA Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <87d64sgsw9.fsf@mail.jurta.org> References: <871xluig40.fsf@mail.jurta.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1085526091 9186 80.91.224.253 (25 May 2004 23:01:31 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 25 May 2004 23:01:31 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed May 26 01:01:18 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BSkv8-0000K8-00 for ; Wed, 26 May 2004 01:01:18 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BSkv8-0000j0-00 for ; Wed, 26 May 2004 01:01:18 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BSj04-0007Hd-I6 for emacs-devel@quimby.gnus.org; Tue, 25 May 2004 16:58:16 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.34) id 1BSikp-0003lh-OS for emacs-devel@gnu.org; Tue, 25 May 2004 16:42:31 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.34) id 1BSiSc-0007ci-HL for emacs-devel@gnu.org; Tue, 25 May 2004 16:24:13 -0400 Original-Received: from [66.33.219.6] (helo=knife.dreamhost.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BSiSb-0007cT-UN for emacs-devel@gnu.org; Tue, 25 May 2004 16:23:42 -0400 Original-Received: from mail.jurta.org (80-235-37-28-dsl.mus.estpak.ee [80.235.37.28]) by knife.dreamhost.com (Postfix) with ESMTP id 29699E40EE for ; Tue, 25 May 2004 13:23:40 -0700 (PDT) Original-To: emacs-devel@gnu.org In-Reply-To: <871xluig40.fsf@mail.jurta.org> (Juri Linkov's message of "Sun, 09 May 2004 03:44:31 +0300") User-Agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:23939 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:23939 It seems more work is needed to generalize the next-error framework for different modes. The functions next-error-*, previous-error-* is a good start, but there are still similar functions with different names in compile/grep/occur/diff. And what is worse is that all these modes have different keybindings for similar functions. Below is a proposal for unification of command names and keybindings. On the first indentation level there is a new command name with unified keybindings. On the second level - mode map name. On the third level - the current keybinding and command name. goto-error: C-m, C-c C-c, M-o compilation-mode-map C-c C-c compile-goto-error C-m compile-goto-error grep-mode-map \r compile-goto-error diff-mode-shared-map C-M-m diff-goto-source M-o diff-goto-source C-c C-c diff-goto-source occur-mode-map C-c C-c occur-mode-goto-occurrence C-m occur-mode-goto-occurrence goto-error-no-select: C-o occur-mode-map o occur-mode-goto-occurrence-other-window C-o occur-mode-display-occurrence next-error-no-visit: M-n compilation-mode-map M-n compilation-next-error diff-mode-shared-map M-n diff-hunk-next occur-mode-map M-n occur-next previous-error-no-visit: M-p compilation-mode-map M-p compilation-previous-error diff-mode-shared-map M-p diff-hunk-prev occur-mode-map M-p occur-prev next-error-no-select: C-M-n grep-mode-map n next-error-no-select previous-error-no-select: C-M-p grep-mode-map p previous-error-no-select next-error-file-no-select: M-}, M-N compilation-mode-map M-} compilation-next-file grep-mode-map } compilation-next-file \t compilation-next-file diff-mode-shared-map M-N diff-file-next M-} diff-file-next previous-error-file-no-select: M-{, M-P compilation-mode-map M-{ compilation-previous-file grep-mode-map { compilation-previous-file diff-mode-shared-map M-P diff-file-prev M-{ diff-file-prev next-error-file: new global command without keybindings previous-error-file: new global command without keybindings Other current keybindings which could be unified somehow as well: compilation-mode-map SPC scroll-up DEL scroll-down grep-mode-map SPC scroll-up DEL scroll-down diff-mode-shared-map M-SPC scroll-up M-DEL scroll-down M-q quit-window occur-mode-map r occur-rename-buffer c clone-buffer g revert-buffer q quit-window z kill-this-buffer -- Juri Linkov http://www.jurta.org/emacs/