From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alex Branham Newsgroups: gmane.emacs.bugs Subject: bug#32378: [PATCH] bibtex-next/previous-entry Date: Mon, 20 Aug 2018 14:23:58 -0500 Message-ID: <87efesyh81.fsf@gmail.com> References: <87lg9jcin1.fsf@gmail.com> <87d0uuylah.fsf@gmail.com> <87mutytjks.fsf@gmail.com> <87a7prwki1.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: blaine.gmane.org 1534792993 16824 195.159.176.226 (20 Aug 2018 19:23:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 20 Aug 2018 19:23:13 +0000 (UTC) User-Agent: mu4e 1.0; emacs 26.1 Cc: 32378@debbugs.gnu.org To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Aug 20 21:23:08 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 1frplc-0004H9-CH for geb-bug-gnu-emacs@m.gmane.org; Mon, 20 Aug 2018 21:23:08 +0200 Original-Received: from localhost ([::1]:48931 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1frpni-0006pg-Q3 for geb-bug-gnu-emacs@m.gmane.org; Mon, 20 Aug 2018 15:25:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1frpna-0006mm-Rd for bug-gnu-emacs@gnu.org; Mon, 20 Aug 2018 15:25:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1frpnW-00079u-SF for bug-gnu-emacs@gnu.org; Mon, 20 Aug 2018 15:25:10 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:50867) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1frpnS-00078I-7B for bug-gnu-emacs@gnu.org; Mon, 20 Aug 2018 15:25:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1frpnR-000123-RE for bug-gnu-emacs@gnu.org; Mon, 20 Aug 2018 15:25:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alex Branham Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Aug 2018 19:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32378 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 32378-submit@debbugs.gnu.org id=B32378.15347930513899 (code B ref 32378); Mon, 20 Aug 2018 19:25:01 +0000 Original-Received: (at 32378) by debbugs.gnu.org; 20 Aug 2018 19:24:11 +0000 Original-Received: from localhost ([127.0.0.1]:55885 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frpmb-00010n-28 for submit@debbugs.gnu.org; Mon, 20 Aug 2018 15:24:09 -0400 Original-Received: from mail-oi0-f41.google.com ([209.85.218.41]:42918) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frpmZ-00010b-7V for 32378@debbugs.gnu.org; Mon, 20 Aug 2018 15:24:07 -0400 Original-Received: by mail-oi0-f41.google.com with SMTP id b16-v6so27847161oic.9 for <32378@debbugs.gnu.org>; Mon, 20 Aug 2018 12:24:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=MKHy0bRA0v2ab9uu9C0tiQG/7tr2R5IiuhlotS/i6NU=; b=ciJFSEsYpfptpXxuIS1uJuYQFZBGJf3YcA/vBJcJGldHINsBbzmA/CGyeoPkAxMoEM LsKvrfjghHNTiiaUaaNxgLGtIy6jqr0ZdZN4ooBTnn/E2tuKmZGVcQ1QqJY/eS1Io24M UakUiKGmEXlMvLJwMB/k/JiWXx8aQzhAIT/Npqto9ZULFpGJ82/eALNqOIDZDQU4xSVT Fld6TpbaOouKrUqYaJxN/gbW72j2KOCeRvT6jxdlzNnA+GmQFi8euzkcJ2sWFe5chc08 jLgKgYP4KubfF+rSepeALQo471pYJ/YOqlhly9HV32gIH+llZDQr+Th3js83hiUQnLVo 2X+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=MKHy0bRA0v2ab9uu9C0tiQG/7tr2R5IiuhlotS/i6NU=; b=Qx5OXLFHJufLpO68JABe9yphOF2cycUu7fsbj2hP2+O0hTjOKje8hAvyASQng4+Khe 4tKJF+/yNk1EdxoP61F5Y/rvNIPw76S3080IZVgiKIaBZvKXRPCbpj3IGU/8moJ993lH gU3yY9zshSFgEXLlIPW9rbR4ZPxT92m6OZNnhhTXP86EECHGpdw5QwhCu4dwQxCRu+8O 7lrSX0fYidOgKs9ZvzDRYkT2nOwfxsJvvcJbQuKl8WPryfq8l0EqrZhvWejZ7b3tGVhp gj9rvzsT3RHt0wNuR+VwTjK89C8GB3UzADZueYk51/6fiCGmUj1ihrF0iRAOTbwVrAbV zq2A== X-Gm-Message-State: AOUpUlFx4WRvjjnTx2PjWBka38WICBYApls9cRvynYQMO0TY1yb9J6XR 8zk3DoAlboYLFHrdB65f5znqnMsKAVw= X-Google-Smtp-Source: AA+uWPysdfV5j3S4Pq2pt1goddsUfwH94oXoX0CA3ywYgwlsKzuIPE+xEQbB5H4rfkzJh4eiKHSsew== X-Received: by 2002:aca:c1d6:: with SMTP id r205-v6mr15475501oif.20.1534793041276; Mon, 20 Aug 2018 12:24:01 -0700 (PDT) Original-Received: from earth (cpe-70-114-192-208.austin.res.rr.com. [70.114.192.208]) by smtp.gmail.com with ESMTPSA id 16-v6sm7007286oin.5.2018.08.20.12.24.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 20 Aug 2018 12:24:00 -0700 (PDT) In-reply-to: <87a7prwki1.fsf@gmail.com> 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:149622 Archived-At: --=-=-= Content-Type: text/plain On Sun 12 Aug 2018 at 12:41, Noam Postavsky wrote: > Would it make sense to use [remap forward-paragraph] and [remap > backward-paragraph] instead of "\M-\}" and "\M-\{"? (I guess the > question is how "paragraph-like" are these movement commands) Yes, that probably makes sense. Revised patch attached. Thanks! Alex --- >From d329f0c7465e7c8d66b918eb984be6863a895544 Mon Sep 17 00:00:00 2001 From: Alex Branham Date: Mon, 6 Aug 2018 15:47:12 -0500 Subject: [PATCH] * lisp/textmodes/bibtex.el: New functions bibtex-next/previous-entry (bibtex-next-entry, bibtex-previous-entry): new functions. (bibtex-mode-map): Bind to M-{/}, overriding forward/backward paragraph, which only move single lines in bibtex-mode --- etc/NEWS | 5 +++++ lisp/textmodes/bibtex.el | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index a9f8ed2ef8..2145983afa 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -255,6 +255,11 @@ navigation and editing of large files. * Changes in Specialized Modes and Packages in Emacs 27.1 ++++ +** bibtex +*** New commands bibtex-next-entry and bibtex-previous-entry +They are bound to M-{ and M-} in bibtex-mode-map. + +++ ** Dired diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index 50a30cf6c3..fccaed7cac 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -1356,6 +1356,8 @@ bibtex-mode-map ;; The Key `C-c&' is reserved for reftex.el (define-key km "\t" 'bibtex-find-text) (define-key km "\n" 'bibtex-next-field) + (define-key km [remap forward-paragraph] 'bibtex-next-entry) + (define-key km [remap backward-paragraph] 'bibtex-previous-entry) (define-key km "\M-\t" 'completion-at-point) (define-key km "\C-c\"" 'bibtex-remove-delimiters) (define-key km "\C-c{" 'bibtex-remove-delimiters) @@ -1415,6 +1417,8 @@ bibtex-mode-map ("Moving inside an Entry" ["End of Field" bibtex-find-text t] ["Next Field" bibtex-next-field t] + ["Next entry" bibtex-next-entry t] + ["Previous entry" bibtex-previous-entry t] ["Beginning of Entry" bibtex-beginning-of-entry t] ["End of Entry" bibtex-end-of-entry t] "--" @@ -4452,6 +4456,20 @@ bibtex-next-field (goto-char (match-beginning 0))) (bibtex-find-text begin nil bibtex-help-message))) +(defun bibtex-next-entry (&optional arg) + "Move point ARG entries forward." + (interactive "p") + (bibtex-end-of-entry) + (when (re-search-forward bibtex-entry-maybe-empty-head nil t (or arg 1)) + (goto-char (match-beginning 0)))) + +(defun bibtex-previous-entry (&optional arg) + "Move point ARG entries backward." + (interactive "p") + (bibtex-beginning-of-entry) + (when (re-search-backward bibtex-entry-maybe-empty-head nil t (or arg 1)) + (goto-char (match-beginning 0)))) + (defun bibtex-find-text (&optional begin noerror help comma) "Move point to end of text of current BibTeX field or entry head. With optional prefix BEGIN non-nil, move point to its beginning. -- 2.18.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-lisp-textmodes-bibtex.el-New-functions-bibtex-next-p.patch >From d329f0c7465e7c8d66b918eb984be6863a895544 Mon Sep 17 00:00:00 2001 From: Alex Branham Date: Mon, 6 Aug 2018 15:47:12 -0500 Subject: [PATCH] * lisp/textmodes/bibtex.el: New functions bibtex-next/previous-entry (bibtex-next-entry, bibtex-previous-entry): new functions. (bibtex-mode-map): Bind to M-{/}, overriding forward/backward paragraph, which only move single lines in bibtex-mode --- etc/NEWS | 5 +++++ lisp/textmodes/bibtex.el | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index a9f8ed2ef8..2145983afa 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -255,6 +255,11 @@ navigation and editing of large files. * Changes in Specialized Modes and Packages in Emacs 27.1 ++++ +** bibtex +*** New commands bibtex-next-entry and bibtex-previous-entry +They are bound to M-{ and M-} in bibtex-mode-map. + +++ ** Dired diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index 50a30cf6c3..fccaed7cac 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -1356,6 +1356,8 @@ bibtex-mode-map ;; The Key `C-c&' is reserved for reftex.el (define-key km "\t" 'bibtex-find-text) (define-key km "\n" 'bibtex-next-field) + (define-key km [remap forward-paragraph] 'bibtex-next-entry) + (define-key km [remap backward-paragraph] 'bibtex-previous-entry) (define-key km "\M-\t" 'completion-at-point) (define-key km "\C-c\"" 'bibtex-remove-delimiters) (define-key km "\C-c{" 'bibtex-remove-delimiters) @@ -1415,6 +1417,8 @@ bibtex-mode-map ("Moving inside an Entry" ["End of Field" bibtex-find-text t] ["Next Field" bibtex-next-field t] + ["Next entry" bibtex-next-entry t] + ["Previous entry" bibtex-previous-entry t] ["Beginning of Entry" bibtex-beginning-of-entry t] ["End of Entry" bibtex-end-of-entry t] "--" @@ -4452,6 +4456,20 @@ bibtex-next-field (goto-char (match-beginning 0))) (bibtex-find-text begin nil bibtex-help-message))) +(defun bibtex-next-entry (&optional arg) + "Move point ARG entries forward." + (interactive "p") + (bibtex-end-of-entry) + (when (re-search-forward bibtex-entry-maybe-empty-head nil t (or arg 1)) + (goto-char (match-beginning 0)))) + +(defun bibtex-previous-entry (&optional arg) + "Move point ARG entries backward." + (interactive "p") + (bibtex-beginning-of-entry) + (when (re-search-backward bibtex-entry-maybe-empty-head nil t (or arg 1)) + (goto-char (match-beginning 0)))) + (defun bibtex-find-text (&optional begin noerror help comma) "Move point to end of text of current BibTeX field or entry head. With optional prefix BEGIN non-nil, move point to its beginning. -- 2.18.0 --=-=-=--