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))))) )))