Package: dpkg-dev-el
Version: 24.11-1
Severity: wishlist
Tags: patch
While editing debian/changelog (or any other file) which contains lines like:
Bug#NNNNNN or simply #NNNNNN
The natural action is to use number at current point. Attached patch adds
the support.
2005-08-26 Jari Aalto <jari aalto A T cante net>
* debian-bts-control.el:
- It is now possible to put point at "Bug#NNNN" e.g. in
debian/changelog and program pick up it as default number.
(top level): Added '(require 'cl)
(debian-bts-bug-number-at-point): New function.
(debian-bts-control-prompt): Code structure slightly redesigned.
Removed extra `cond' and used `if'. New OPTIONAL ARG: the
bug number can be passed from calling function.
(debian-bts-control): Use `debian-bts-bug-number-at-point' to
set `number-default'.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-686
Locale: LANG=C, LC_CTYPE=C (charmap=ISO-8859-1) (ignored: LC_ALL set to en_US)
Versions of packages dpkg-dev-el depends on:
ii debian-el 24.11-1 Emacs helpers specific to Debian u
ii emacs21 [emacsen] 21.4a-1 The GNU Emacs editor
ii xemacs21-mule [emacsen] 21.4.17-2 highly customizable text editor --
Versions of packages dpkg-dev-el recommends:
ii wget 1.10.1-1 retrieves files from the web
-- no debconf information
--- debian-bts-control.el 2005/08/26 04:49:15 1.1
+++ debian-bts-control.el 2005/08/26 05:18:34 1.2
@@ -50,7 +50,9 @@
;;; Code:
+(eval-when-compile '(require 'cl))
(require 'debian-bug)
+(autoload 'word-at-point "thingatpt")
(defgroup debian-bts-control nil
"Create messages for Debian BTS control interface"
@@ -236,18 +238,26 @@
("tags") ("close") ("package") ("owner") ("noowner"))
"List of available commands at [EMAIL PROTECTED]")
-(defun debian-bts-control-prompt (prompt)
+(defun debian-bts-bug-number-at-point ()
+ "Read #NNNNNN from current point."
+ (let ((item (word-at-point)))
+ (if (and item
+ (string-match "^[0-9]+[0-9]$" item))
+ item)))
+
+(defun debian-bts-control-prompt (prompt &optional number)
"Prompt for bug number using sensible default if found."
+ (let ((default-number number))
+ (unless default-number
(save-excursion
(goto-char (point-min))
- (let ((default-number
- (cond ((re-search-forward "\\([0-9]+\\)@bugs.debian.org"
+ (if (re-search-forward "\\([0-9]+\\)@bugs.debian.org"
(mail-header-end) t)
- (match-string-no-properties 1)))))
+ (setq default-number (match-string-no-properties 1)))))
(if default-number
(read-string (format "%s [%s]: " prompt default-number)
nil nil default-number)
- (read-string (format "%s: " prompt))))))
+ (read-string (format "%s: " prompt)))))
;;;###autoload
(defun debian-bts-control (action &optional arg)
@@ -262,7 +272,7 @@
(interactive (list (completing-read "Command: "
debian-bts-control-alist nil nil)
current-prefix-arg))
- (let ((number-default))
+ (let ((number-default (debian-bts-bug-number-at-point)))
(cond
((or arg
(and (car (memq t (mapcar '(lambda (item) (eq item major-mode))
@@ -333,7 +343,8 @@
"
"Package to reassign to: "))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(package (completing-read
(concat verbose "Package to reassign to: ")
(debian-bug-fill-packages-obarray) nil nil)))
@@ -359,7 +370,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(originator (read-string
(concat verbose "Originator-address (optional): "))))
(insert (format "reopen %s %s\n" bug-number originator))))
@@ -378,7 +390,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(originator (read-string
(concat verbose "Originator-address (optional): "))))
(insert (format "submitter %s %s\n" bug-number originator))))
@@ -397,7 +410,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(address (read-string
(concat verbose "address (optional): "))))
(insert (format "owner %s %s\n" bug-number address))))
@@ -412,7 +426,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number"))))
+ (concat verbose "Bug number")
+ number-default)))
(insert (format "noowner %s\n" bug-number))))
((string-equal "forwarded" action)
(let* ((verbose (if debian-bts-control-verbose-prompts-flag
@@ -426,7 +441,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(address (read-string
(concat verbose "Forwarded-address: "))))
(insert (format "forwarded %s %s\n" bug-number address))))
@@ -441,7 +457,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number"))))
+ (concat verbose "Bug number")
+ number-default)))
(insert (format "notforwarded %s\n" bug-number))))
((string-equal "retitle" action)
(let* ((verbose (if debian-bts-control-verbose-prompts-flag
@@ -457,7 +474,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(title (read-string
(concat verbose "New title: "))))
(insert (format "retitle %s %s\n" bug-number title))))
@@ -476,7 +494,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(severity (completing-read "Severity: " debian-bug-severity-alist
nil t)))
(insert (format "severity %s %s\n" bug-number severity))))
@@ -498,7 +517,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(ids (read-string (concat verbose "New IDs (e.g. -1 -2): "))))
(insert (format "clone %s %s\n" bug-number ids))))
((string-equal "merge" action)
@@ -527,7 +547,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number"))))
+ (concat verbose "Bug number")
+ number-default)))
(insert (format "unmerge %s\n" bug-number))))
((string-equal "tags" action)
(let* ((verbose (if debian-bts-control-verbose-prompts-flag
@@ -547,7 +568,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number")))
+ (concat verbose "Bug number")
+ number-default))
(add (completing-read "+, -, = (default +): "
'(("+") ("-") ("=")) nil t nil nil "+"))
(tag (completing-read "Tag: " debian-bug-alltags-alist nil t)))
@@ -570,7 +592,8 @@
"
""))
(bug-number (debian-bts-control-prompt
- (concat verbose "Bug number"))))
+ (concat verbose "Bug number")
+ number-default)))
(insert (format "close %s\n" bug-number)))))
)))