[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/debbugs e303918 015/311: (debbugs-toggle-sort): New com
From: |
Stefan Monnier |
Subject: |
[elpa] externals/debbugs e303918 015/311: (debbugs-toggle-sort): New command and keystroke. |
Date: |
Sun, 29 Nov 2020 18:41:31 -0500 (EST) |
branch: externals/debbugs
commit e3039188838d015b78aa6554b1e1a4dbb3a0de67
Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
Commit: Lars Magne Ingebrigtsen <larsi@gnus.org>
(debbugs-toggle-sort): New command and keystroke.
---
ChangeLog | 1 +
debbugs-gnu.el | 43 ++++++++++++++++++++++++++++++++++++++-----
2 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ae76a3c..4666551 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
* debbugs-gnu.el (debbugs-summary-mode): Make sure we don't Cc
both bug-gnu-emacs (etc) and debbugs.
(debbugs-emacs): Default to list the done bugs.
+ (debbugs-toggle-sort): New command and keystroke.
2011-07-02 Michael Albinus <michael.albinus@gmx.de>
diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 287041c..980e3a6 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -134,11 +134,14 @@
(forward-line 1)))))
(goto-char (point-min)))
-(defvar debbugs-mode-map nil)
-(unless debbugs-mode-map
- (setq debbugs-mode-map (make-sparse-keymap))
- (define-key debbugs-mode-map "\r" 'debbugs-select-report)
- (define-key debbugs-mode-map "q" 'kill-buffer))
+(defvar debbugs-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\r" 'debbugs-select-report)
+ (define-key map "q" 'kill-buffer)
+ (define-key map "s" 'debbugs-toggle-sort)
+ map))
+
+(defvar debbugs-sort-state 'number)
(defun debbugs-mode ()
"Major mode for listing bug reports.
@@ -154,10 +157,40 @@ The following commands are available:
(setq major-mode 'debbugs-mode)
(setq mode-name "Debbugs")
(use-local-map debbugs-mode-map)
+ (set (make-local-variable 'debbugs-sort-state)
+ 'number)
(buffer-disable-undo)
(setq truncate-lines t)
(setq buffer-read-only t))
+(defvar debbugs-state-preference
+ '((debbugs-new . 1)
+ (debbugs-stale . 2)
+ (debbugs-handled . 3)
+ (debbugs-done . 4)))
+
+(defun debbugs-toggle-sort ()
+ "Toggle sorting by age and by state."
+ (interactive)
+ (beginning-of-line)
+ (let ((buffer-read-only nil)
+ (current-bug (buffer-substring (point) (+ (point) 5))))
+ (goto-char (point-min))
+ (setq debbugs-sort-state
+ (if (eq debbugs-sort-state 'number)
+ 'state
+ 'number))
+ (sort-subr
+ nil (lambda () (forward-line 1)) 'end-of-line
+ (lambda ()
+ (if (eq debbugs-sort-state 'number)
+ (string-to-number (buffer-substring (point) (+ (point) 5)))
+ (or (cdr (assq (get-text-property (+ (point) 7) 'face)
+ debbugs-state-preference))
+ 10))))
+ (goto-char (point-min))
+ (re-search-forward (concat "^" current-bug) nil t)))
+
(defun debbugs-select-report ()
"Select the report on the current line."
(interactive)
- [elpa] externals/debbugs 4e4e3d0 005/311: (debbugs-emacs): Allow listing archived bugs., (continued)
- [elpa] externals/debbugs 4e4e3d0 005/311: (debbugs-emacs): Allow listing archived bugs., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs d548cd0 001/311: Remove version numbers in packages/ directory, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs a0ed26b 009/311: * debbugs.el (debbugs-new, debbugs-handled, debbugs-stale), Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs ab61b0e 010/311: * debbugs-gnu.el (debbugs-emacs): Propertize with 'help-echo., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs aeed946 011/311: * debbugs-gnu.el (debbugs-send-control-message): Prompt for version number for, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs caf94fe 012/311: * debbugs-gnu.el (debbugs-emacs): Change default hits to 500., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 5240eaf 013/311: * debbugs-gnu.el (debbugs-summary-mode): Make sure we don't Cc both bug-gnu-emacs (etc) and debbugs., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 07154a0 006/311: * debbugs.el (debbugs-emacs): Let-bind `debbugs-port' to "gnu.org"., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 94b437c 007/311: * debbugs.el (debbugs-send-control-message): Add more control messages., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 4d6bacf 008/311: (debbugs-done): Add a face for done bugs., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs e303918 015/311: (debbugs-toggle-sort): New command and keystroke.,
Stefan Monnier <=
- [elpa] externals/debbugs b0ceaf7 016/311: (debbugs-send-control-message): Record the bug number on group, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs b5a6432 019/311: (debbugs-toggle-sort): Allow sorting from the final line., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 736fb8c 020/311: * debbugs-gnu.el (debbugs-emacs, debbugs-show-reports): Rewrite in, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 656ec3d 018/311: * debbugs-gnu.el (debbugs-emacs): Move reporting lines to, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 1231617 021/311: * debbugs-gnu.el (debbugs-emacs): Don't use widgets to provide, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 194921d 014/311: (debbugs-emacs): Default to list the done bugs., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 6777b9f 022/311: (debbugs-show-reports): Store the status in the buffer., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 55886e2 024/311: (debbugs-toggle-sort): Make sorting work again., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 1fdcac3 029/311: * debbugs-gnu.el (debbugs-widget-map): Add [mouse-1] and [mouse-2]., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs e1c8723 030/311: * debbugs-gnu.el (debbugs-owner): New face., Stefan Monnier, 2020/11/29