[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 0d8297c: Documentation enhancement for debbugs
From: |
Michael Albinus |
Subject: |
[elpa] master 0d8297c: Documentation enhancement for debbugs |
Date: |
Thu, 28 Jul 2016 15:18:18 +0000 (UTC) |
branch: master
commit 0d8297cf1b0ec4bd909bba273c5e21c8c1e87852
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>
Documentation enhancement for debbugs
* packages/debbugs/debbugs-gnu.el (debbugs-gnu-patches): Do not show closed
bugs.
(debbugs-gnu-send-control-message): Add "easy".
* packages/debbugs/debbugs-ug.texi (Control Messages): Add "easy".
Describe, how to remove tags.
* packages/debbugs/debbugs.el (debbugs-get-status)
(debbugs-search-est): Fix docstring.
* packages/debbugs/debbugs.texi (Requesting bug numbers):
Add missing tags.
(Requesting bugs statuses): Describe `cache_time' attribute.
(Searching bugs): New chapter.
---
packages/debbugs/debbugs-gnu.el | 3 +-
packages/debbugs/debbugs-ug.info | 20 ++--
packages/debbugs/debbugs-ug.texi | 8 +-
packages/debbugs/debbugs.el | 24 +++--
packages/debbugs/debbugs.info | 222 +++++++++++++++++++++++++++++++++-----
packages/debbugs/debbugs.texi | 212 ++++++++++++++++++++++++++++++++----
6 files changed, 428 insertions(+), 61 deletions(-)
diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el
index 98e7360..0dd79ed 100644
--- a/packages/debbugs/debbugs-gnu.el
+++ b/packages/debbugs/debbugs-gnu.el
@@ -534,6 +534,7 @@ marked as \"client-side filter\"."
(defun debbugs-gnu-patches ()
"List the bug reports that have been marked as containing a patch."
(interactive)
+ (setq debbugs-gnu-current-suppress t)
(debbugs-gnu nil debbugs-gnu-default-packages nil nil "patch"))
;;;###autoload
@@ -1382,7 +1383,7 @@ removed instead."
"reassign"
"retitle"
"patch" "wontfix" "moreinfo" "unreproducible" "fixed" "notabug"
- "pending" "help" "security" "confirmed"
+ "pending" "help" "security" "confirmed" "easy"
"usertag")
nil t)
current-prefix-arg))
diff --git a/packages/debbugs/debbugs-ug.info b/packages/debbugs/debbugs-ug.info
index b4a768c..1204e4f 100644
--- a/packages/debbugs/debbugs-ug.info
+++ b/packages/debbugs/debbugs-ug.info
@@ -441,6 +441,7 @@ The strings show the exact format of the control messages.
the bugs belongs to the '"emacs"' package.
'confirmed'
+'easy'
'fixed'
'help'
'moreinfo'
@@ -450,10 +451,15 @@ The strings show the exact format of the control messages.
'security'
'unreproducible'
'wontfix'
- "tags 12345 confirmed|fixed|help|moreinfo|notabug"
+ "tags 12345 confirmed|easy|fixed|help|moreinfo|notabug"
"tags 12345 patch|pending|security|unreproducible|wontfix"
+ If the command invoking the control message has been prefixed
+ with 'C-u', the respective tag is removed from the bug, like
+
+ "tags 12345 -confirmed"
+
'done'
'donenotabug'
'doneunreproducible'
@@ -609,7 +615,7 @@ Variable Index
* debbugs-gnu-default-severities: Retrieving Bugs. (line 63)
* debbugs-gnu-default-suppress-bugs: Retrieving Bugs. (line 44)
* debbugs-gnu-mail-backend: Tabulated Lists. (line 79)
-* debbugs-gnu-send-mail-function: Control Messages. (line 108)
+* debbugs-gnu-send-mail-function: Control Messages. (line 114)
* debbugs-gnu-suppress-closed: Tabulated Lists. (line 76)
* debbugs-gnu-trunk-directory: Applying Patches. (line 18)
* debbugs-org-severity-priority: TODO Items. (line 10)
@@ -656,10 +662,10 @@ Node: Presenting Bugs10806
Node: Tabulated Lists11382
Node: TODO Items15057
Node: Control Messages16113
-Node: Applying Patches18979
-Node: Minor Mode20342
-Node: Command Index21290
-Node: Variable Index22079
-Node: Key Index23082
+Node: Applying Patches19155
+Node: Minor Mode20518
+Node: Command Index21466
+Node: Variable Index22255
+Node: Key Index23258
End Tag Table
diff --git a/packages/debbugs/debbugs-ug.texi b/packages/debbugs/debbugs-ug.texi
index 6d06ae7..26704ef 100644
--- a/packages/debbugs/debbugs-ug.texi
+++ b/packages/debbugs/debbugs-ug.texi
@@ -505,6 +505,7 @@ The second argument, the Emacs version, is read
interactively if the
bugs belongs to the @code{"emacs"} package.
@item confirmed
address@hidden easy
@itemx fixed
@itemx help
@itemx moreinfo
@@ -514,10 +515,15 @@ bugs belongs to the @code{"emacs"} package.
@itemx security
@itemx unreproducible
@itemx wontfix
-"tags 12345 confirmed|fixed|help|moreinfo|notabug"
+"tags 12345 confirmed|easy|fixed|help|moreinfo|notabug"
"tags 12345 patch|pending|security|unreproducible|wontfix"
+If the command invoking the control message has been prefixed with
address@hidden, the respective tag is removed from the bug, like
+
+"tags 12345 -confirmed"
+
@item done
@itemx donenotabug
@itemx doneunreproducible
diff --git a/packages/debbugs/debbugs.el b/packages/debbugs/debbugs.el
index d31f355..fbca0af 100644
--- a/packages/debbugs/debbugs.el
+++ b/packages/debbugs/debbugs.el
@@ -317,8 +317,9 @@ Every returned entry is an association list with the
following attributes:
\"normal\", \"minor\" or \"wishlist\".
`tags': The status of the bug report, a list of strings. This
- can be \"fixed\", \"notabug\", \"wontfix\", \"unreproducible\",
- \"moreinfo\" or \"patch\".
+ can be \"confirmed\", \"fixed\", \"pending\", \"notabug\",
+ \"wontfix\", \"unreproducible\", \"moreinfo\", \"security\" or
+ \"patch\".
`pending': The string \"pending\", \"forwarded\", \"fixed\" or \"done\".
@@ -363,12 +364,16 @@ Every returned entry is an association list with the
following attributes:
`summary': Arbitrary text.
+ `cache_time': This is not an attribute located at the debbugs
+ server, but an internal value of the debbugs.el package itself.
+
Example:
\(debbugs-get-status 10)
=> ;; Attributes with empty values are not shown
- \(\(\(bug_num . 10)
+ \(\(\(cache_time . 1469716026.4981334)
+ \(bug_num . 10)
\(source . \"unknown\")
\(date . 1203606305.0)
\(msgid . \"<address@hidden>\")
@@ -575,7 +580,7 @@ Every message is an association list with the following
attributes:
"Return the result of a full text search according to QUERY.
QUERY is a sequence of lists of keyword-value pairs where the
-values are strings or numbers, i.e. :KEYWORD \"VALUE\" [:KEYWORD
+values are strings or numbers, i.e. :KEYWORD VALUE [:KEYWORD
VALUE]*
Every sublist of the QUERY forms a hyperestraier condition. A
@@ -595,11 +600,14 @@ The following conditions are possible:
:skip and :max are optional. They specify, how many hits are
skipped, and how many maximal hits are returned. This can be
used for paged results. Per default, :skip is 0 and all
- possible hits are returned.
+ possible hits are returned according to the default maximum of
+ the debbugs server. There is also an absolute maximum how many
+ hits are returned by the debbugs server, which cannot be
+ overwritten my any larger :max number.
There must be exactly one such condition.
-\[ATTRIBUTE VALUE+ :operation OPERATION :order ORDER\]
+\[ATTRIBUTE VALUE+ :operator OPERATOR :order ORDER\]
ATTRIBUTE is one of the following keywords:
@@ -643,8 +651,8 @@ The following conditions are possible:
\"NUMBT\" \(is between the two numbers). In the last case,
there must be two values for ATTRIBUTE.
- If an operator is leaded by \"!\", the meaning is inverted. If
- a string operator is leaded by \"I\", the case of the value is
+ If an operator is led by \"!\", the meaning is inverted. If a
+ string operator is led by \"I\", the case of the value is
ignored.
The optional :order can be specified only in one condition. It
diff --git a/packages/debbugs/debbugs.info b/packages/debbugs/debbugs.info
index 7763609..18c5ada 100644
--- a/packages/debbugs/debbugs.info
+++ b/packages/debbugs/debbugs.info
@@ -64,6 +64,7 @@ projects is described in *note Debbugs User Guide:
(debbugs-ug)Top.
* Configuration:: Configuring 'debbugs'.
* Requesting bug numbers:: How to request bug report numbers.
* Requesting bugs statuses:: How to request the status of bug reports.
+* Searching bugs:: How to search for bugs.
* Requesting messages:: How to get messages from bug reports.
* Requesting user tags:: How to request tags set by users.
@@ -215,13 +216,15 @@ Debbugs server the list of bug numbers that match a
user's query.
'"confirmed"', '"ipv6"', '"lfs"', '"fixed-in-experimental"',
'"fixed-upstream"', '"l10n"', '"etch"', '"etch-ignore"',
'"lenny"', '"lenny-ignore"', '"squeeze"',
- '"squeeze-ignore"', '"wheezy"', '"wheezy-ignore"'. The
+ '"squeeze-ignore"', '"wheezy"', '"wheezy-ignore"',
+ '"jessie"', '"jessie-ignore"', '"stretch"',
+ '"stretch-ignore"', '"buster"', '"buster-ignore"'. The
actual list of tags can be found on
<http://www.debian.org/Bugs/Developer#tags>.
GNU port: '"fixed"', '"notabug"', '"wontfix"',
'"unreproducible"', '"moreinfo"', '"patch"', '"pending"',
- '"help"', '"security"', '"confirmed"'. See
+ '"help"', '"security"', '"confirmed"', '"easy"'. See
<http://debbugs.gnu.org/Developer.html#tags> for the actual
list of tags.
@@ -285,10 +288,11 @@ Debbugs server the list of bug numbers that match a
user's query.
(let ((debbugs-port "debian.org"))
(debbugs-newest-bugs 6))
+
=> (633152 633153 633154 633155 633156 633157)
-File: debbugs.info, Node: Requesting bugs statuses, Next: Requesting
messages, Prev: Requesting bug numbers, Up: Top
+File: debbugs.info, Node: Requesting bugs statuses, Next: Searching bugs,
Prev: Requesting bug numbers, Up: Top
4 Requesting bugs statuses
**************************
@@ -386,23 +390,28 @@ and various aspects of relationship with other bug
reports.
'summary'
Arbitrary text.
+ 'cache_time'
+ This is not an attribute located at the debbugs server, but
+ an internal value of the debbugs.el package itself.
+
Example. Get the status of bug number #10 from GNU BTS:
(let ((debbugs-port "gnu.org"))
(debbugs-get-status 10))
- =>
- (((source . "unknown") (found_versions) (done) (blocks)
- (date . 1203606305.0) (fixed) (fixed_versions) (mergedwith)
- (found) (unarchived) (blockedby) (keywords) (summary)
- (msgid . "<address@hidden>") (id . 10)
- (forwarded) (severity . "wishlist")
- (owner . "Magnus Henoch <address@hidden>")
- (log_modified . 1310061242.0) (location . "db-h")
- (subject . "url-gw should support HTTP CONNECT proxies")
- (originator . "Magnus Henoch <address@hidden>")
- (last_modified . 1310061242.0) (pending . "pending") (affects)
- (archived) (tags) (fixed_date) (package "emacs") (found_date)
- (bug_num . 10)))
+
+ => (((cache_time . 1469716026.4981334)
+ (source . "unknown") (found_versions) (done) (blocks)
+ (date . 1203606305.0) (fixed) (fixed_versions) (mergedwith)
+ (found) (unarchived) (blockedby) (keywords) (summary)
+ (msgid . "<address@hidden>") (id . 10)
+ (forwarded) (severity . "wishlist")
+ (owner . "Magnus Henoch <address@hidden>")
+ (log_modified . 1310061242.0) (location . "db-h")
+ (subject . "url-gw should support HTTP CONNECT proxies")
+ (originator . "Magnus Henoch <address@hidden>")
+ (last_modified . 1310061242.0) (pending . "pending") (affects)
+ (archived) (tags) (fixed_date) (package "emacs") (found_date)
+ (bug_num . 10)))
-- Function: debbugs-get-attribute bug-or-message attribute
General accessor that returns the value of key ATTRIBUTE.
@@ -416,12 +425,171 @@ and various aspects of relationship with other bug
reports.
(debbugs-get-attribute
(car (apply 'debbugs-get-status (debbugs-newest-bugs 1)))
'originator))
+
=> "Jack Daniels <address@hidden>"
-File: debbugs.info, Node: Requesting messages, Next: Requesting user tags,
Prev: Requesting bugs statuses, Up: Top
+File: debbugs.info, Node: Searching bugs, Next: Requesting messages, Prev:
Requesting bugs statuses, Up: Top
+
+5 Searching bugs
+****************
+
+The Debbugs servers include an hyperestraier search engine, which
+allows to search inside the bug database. This is enabled only for
+the GNU port of the BTS, and aslo only the GNU port offers a
+Debbugs/SOAP interface for access.
+
+ -- Function: debbugs-search-est &rest query
+ Return the result of a full text search according to QUERY.
+
+ QUERY is a sequence of lists of keyword-value pairs where the
+ values are strings or numbers, i.e. :KEYWORD VALUE [:KEYWORD
+ VALUE]*
+
+ Every sublist of the QUERY forms a hyperestraier condition. A
+ detailed description of hyperestraier conditions can be found at
+ <http://fallabs.com/hyperestraier/uguide-en.html#searchcond>.
+
+ The following conditions are possible:
+
+ (:phrase SEARCH-PHRASE :skip NUMBER :max NUMBER)
+
+ The string SEARCH-PHRASE forms the search on the database.
+ It contains words to be searched for, combined by operators
+ like AND, ANDNOT and OR. If there is no operator between the
+ words, AND is used by default. The phrase keyword and value
+ can also be omitted, this is useful in combination with
+ other conditions.
+
+ ':skip' and ':max' are optional. They specify, how many
+ hits are skipped, and how many maximal hits are returned.
+ This can be used for paged results. Per default, :skip is 0
+ and all possible hits are returned according to the default
+ maximum of the debbugs server. There is also an absolute
+ maximum how many hits are returned by the debbugs server,
+ which cannot be overwritten my any larger ':max' number.
+
+ There must be exactly one such condition.
+
+ (ATTRIBUTE VALUE+ :operator OPERATOR :order ORDER)
+
+ ATTRIBUTE is one of the following keywords:
+
+ ':subject'
+ ':@title'
+ The subject of a message or the title of the bug, a
+ string.
+
+ ':date'
+ ':@cdate'
+ The submission date of the bug or the modification date
+ of a message, a number.
+
+ ':@author'
+ The email address of the author of a message belonging
+ to this bug, a string. It may be different than the
+ email of the person submitting the bug. The special
+ email address '"me"' is used as pattern, replaced with
+ 'user-mail-address'.
+
+ ':package'
+ The value is the name of the package a bug belongs to,
+ like '"emacs"', '"coreutils"', '"gnus"', or '"tramp"'.
+
+ ':tags'
+ An arbitrary string the bug is annotated with.
+
+ ':severity'
+ This is the severity of the bug. The exact set of
+ allowed values depends on the Debbugs port. Examples
+ are '"normal"', '"minor"', '"wishlist"' etc.
+
+ ':operator' defines the comparison operator to be applied to
+ ATTRIBUTE. For string attributes this could be '"STREQ"'
+ (is equal to the string), '"STRNE"' (is not equal to the
+ string), '"STRINC"' (includes the string), '"STRBW"' (begins
+ with the string), '"STREW"' (ends with the string),
+ '"STRAND"' (includes all tokens in the string), '"STROR"'
+ (includes at least one token in the string), '"STROREQ"' (is
+ equal to at least one token in the string) or '"STRRX"'
+ (matches regular expressions of the string). For operators
+ with tokens, several values for ATTRIBUTE shall be used.
+
+ Numbers can be compared by the operators '"NUMEQ"' (is equal
+ to the number), '"NUMNE"' (is not equal to the number),
+ '"NUMGT"' (is greater than the number), '"NUMGE"' (is
+ greater than or equal to the number), '"NUMLT"' (is less
+ than the number), '"NUMLE"' (is less than or equal to the
+ number) or '"NUMBT"' (is between the two numbers). In the
+ last case, there must be two values for ATTRIBUTE.
+
+ If an operator is led by '"!"', the meaning is inverted. If
+ a string operator is led by '"I"', the case of the value is
+ ignored.
+
+ The optional ':order' can be specified only in one
+ condition. It means, that ATTRIBUTE is used for sorting the
+ results. The following order operators exist: '"STRA"'
+ (ascending by string), '"STRD"' (descending by string),
+ '"NUMA"' (ascending by number) or '"NUMD"' (descending by
+ number).
+
+ A special case is an ':order', where there is no
+ corresponding attribute value and no operator. In this
+ case, ATTRIBUTE is not used for the search.
+
+ The result of the QUERY is a list of association lists with
+ the same attributes as in the conditions. Additional
+ attributes are
+
+ 'id'
+ The bug number.
+
+ 'msg_num'
+ The number of the message inside the bug log.
+
+ 'snippet'
+ The surrounding text found by the search. For the
+ syntax of the snippet, consult the hyperestraier user
+ guide.
+
+ Example. Get two messages containing words "armstrong" and
+ "debbugs" from GNU BTS. Skip the first 10 hits:
-5 Requesting messages
+ (let ((debbugs-port "gnu.org"))
+ (debbugs-search-est
+ '(:phrase "armstrong AND debbugs" :skip 10 :max 2)
+ '(:severity "normal" :operator "STRINC")
+ '(:date :order "NUMA")))
+
+ => ((("msg_num" . 21)
+ ("date" . 1229208302)
+ ("@author" . "Glenn Morris <address@hidden>")
+ ("@title" . "Re: bug#1567: Mailing an archived bug")
+ ("id" . 1567)
+ ("severity" . "normal")
+ ("@cdate" . "Wed, 17 Dec 2008 14:34:50 -0500")
+ ("snippet" . "...")
+ ("subject" . "Mailing an archived bug")
+ ("package" . "debbugs.gnu.org"))
+ ...)
+
+ Example. Show all messages for package "emacs" on GNU BTS
+ between 2011-08-21 and 2011-08-31.
+
+ (let ((debbugs-port "gnu.org"))
+ (debbugs-search-est
+ '(:max 500)
+ '(:package "emacs" :operator "STREQ")
+ `(:@cdate
+ ,(floor (float-time (encode-time 0 0 0 21 8 2011)))
+ ,(floor (float-time (encode-time 0 0 0 31 8 2011)))
+ :operator "NUMBT")))
+
+
+File: debbugs.info, Node: Requesting messages, Next: Requesting user tags,
Prev: Searching bugs, Up: Top
+
+6 Requesting messages
*********************
-- Function: debbugs-get-bug-log bug-number
@@ -449,6 +617,7 @@ File: debbugs.info, Node: Requesting messages, Next:
Requesting user tags, Pr
(let ((debbugs-port "debian.org"))
(debbugs-get-message-numbers (debbugs-get-bug-log 456789)))
+
=> (5 10 12)
-- Function: debbugs-get-message messages message-number
@@ -500,7 +669,7 @@ File: debbugs.info, Node: Requesting messages, Next:
Requesting user tags, Pr
File: debbugs.info, Node: Requesting user tags, Prev: Requesting messages,
Up: Top
-6 Requesting user tags
+7 Requesting user tags
**********************
A user tag is a string, a user has assigned to one or several bugs.
@@ -535,6 +704,7 @@ also package names as user identification.
(let ((debbugs-port "gnu.org"))
(debbugs-get-usertag :user "emacs"))
+
=> ("www" "solaris" "ls-lisp" "cygwin")
Get all bugs tagged by package '"emacs"' with '"www"' or
@@ -542,17 +712,19 @@ also package names as user identification.
(let ((debbugs-port "gnu.org"))
(debbugs-get-usertag :user "emacs" :tag "www" :tag "cygwin"))
+
=> (807 1223 5637)
Tag Table:
Node: Top1094
-Node: Installation3179
-Node: Configuration4278
-Node: Requesting bug numbers6629
-Node: Requesting bugs statuses11883
-Node: Requesting messages15955
-Node: Requesting user tags18970
+Node: Installation3235
+Node: Configuration4334
+Node: Requesting bug numbers6685
+Node: Requesting bugs statuses12065
+Node: Searching bugs16357
+Node: Requesting messages23003
+Node: Requesting user tags26009
End Tag Table
diff --git a/packages/debbugs/debbugs.texi b/packages/debbugs/debbugs.texi
index d71d866..d09dd06 100644
--- a/packages/debbugs/debbugs.texi
+++ b/packages/debbugs/debbugs.texi
@@ -73,6 +73,7 @@ is described in @ref{Top, Debbugs User Guide, , debbugs-ug}.
* Configuration:: Configuring @code{debbugs}.
* Requesting bug numbers:: How to request bug report numbers.
* Requesting bugs statuses:: How to request the status of bug reports.
+* Searching bugs:: How to search for bugs.
* Requesting messages:: How to get messages from bug reports.
* Requesting user tags:: How to request tags set by users.
@end menu
@@ -223,16 +224,19 @@ Debian port: @code{"patch"}, @code{"wontfix"},
@code{"moreinfo"},
@code{"upstream"}, @code{"pending"}, @code{"sarge"},
@code{"sarge-ignore"}, @code{"experimental"}, @code{"d-i"},
@code{"confirmed"}, @code{"ipv6"}, @code{"lfs"},
address@hidden"fixed-in-experimental"}, @code{"fixed-upstream"}, @code{"l10n"},
address@hidden"etch"}, @code{"etch-ignore"}, @code{"lenny"},
address@hidden"fixed-in-experimental"}, @code{"fixed-upstream"},
address@hidden"l10n"}, @code{"etch"}, @code{"etch-ignore"}, @code{"lenny"},
@code{"lenny-ignore"}, @code{"squeeze"}, @code{"squeeze-ignore"},
address@hidden"wheezy"}, @code{"wheezy-ignore"}. The actual list of tags can be
-found on @uref{http://www.debian.org/Bugs/Developer#tags}.
address@hidden"wheezy"}, @code{"wheezy-ignore"}, @code{"jessie"},
address@hidden"jessie-ignore"}, @code{"stretch"}, @code{"stretch-ignore"},
address@hidden"buster"}, @code{"buster-ignore"}. The actual list of tags can
+be found on @uref{http://www.debian.org/Bugs/Developer#tags}.
GNU port: @code{"fixed"}, @code{"notabug"}, @code{"wontfix"},
@code{"unreproducible"}, @code{"moreinfo"}, @code{"patch"},
address@hidden"pending"}, @code{"help"}, @code{"security"}, @code{"confirmed"}.
-See @url{http://debbugs.gnu.org/Developer.html#tags} for the actual list
address@hidden"pending"}, @code{"help"}, @code{"security"},
address@hidden"confirmed"}, @code{"easy"}. See
address@hidden://debbugs.gnu.org/Developer.html#tags} for the actual list
of tags.
@item :owner
@@ -296,6 +300,7 @@ Example. Get the latest six bug report numbers from Debian
BTS:
@example
(let ((debbugs-port "debian.org"))
(debbugs-newest-bugs 6))
+
@result{} (633152 633153 633154 633155 633156 633157)
@end example
@end defun
@@ -393,6 +398,10 @@ A list of package names.
@item summary
Arbitrary text.
+
address@hidden cache_time
+This is not an attribute located at the debbugs server, but an
+internal value of the debbugs.el package itself.
@end table
Example. Get the status of bug number #10 from GNU BTS:
@@ -400,19 +409,20 @@ Example. Get the status of bug number #10 from GNU BTS:
@example
(let ((debbugs-port "gnu.org"))
(debbugs-get-status 10))
address@hidden
-(((source . "unknown") (found_versions) (done) (blocks)
- (date . 1203606305.0) (fixed) (fixed_versions) (mergedwith)
- (found) (unarchived) (blockedby) (keywords) (summary)
- (msgid . "<87zltuz7eh.fsf@@freemail.hu>") (id . 10)
- (forwarded) (severity . "wishlist")
- (owner . "Magnus Henoch <*****@@freemail.hu>")
- (log_modified . 1310061242.0) (location . "db-h")
- (subject . "url-gw should support HTTP CONNECT proxies")
- (originator . "Magnus Henoch <*****@@freemail.hu>")
- (last_modified . 1310061242.0) (pending . "pending") (affects)
- (archived) (tags) (fixed_date) (package "emacs") (found_date)
- (bug_num . 10)))
+
address@hidden (((cache_time . 1469716026.4981334)
+ (source . "unknown") (found_versions) (done) (blocks)
+ (date . 1203606305.0) (fixed) (fixed_versions) (mergedwith)
+ (found) (unarchived) (blockedby) (keywords) (summary)
+ (msgid . "<87zltuz7eh.fsf@@freemail.hu>") (id . 10)
+ (forwarded) (severity . "wishlist")
+ (owner . "Magnus Henoch <*****@@freemail.hu>")
+ (log_modified . 1310061242.0) (location . "db-h")
+ (subject . "url-gw should support HTTP CONNECT proxies")
+ (originator . "Magnus Henoch <*****@@freemail.hu>")
+ (last_modified . 1310061242.0) (pending . "pending") (affects)
+ (archived) (tags) (fixed_date) (package "emacs") (found_date)
+ (bug_num . 10)))
@end example
@end defun
@@ -429,10 +439,171 @@ Example. Return the originator of the last submitted
bug report:
(debbugs-get-attribute
(car (apply 'debbugs-get-status (debbugs-newest-bugs 1)))
'originator))
+
@result{} "Jack Daniels <jack@@daniels.com>"
@end example
@end defun
address@hidden Searching bugs
address@hidden Searching bugs
+
+The Debbugs servers include an hyperestraier search engine, which
+allows to search inside the bug database. This is enabled only for
+the GNU port of the BTS, and aslo only the GNU port offers a
+Debbugs/SOAP interface for access.
+
address@hidden debbugs-search-est &rest query
+Return the result of a full text search according to @var{query}.
+
address@hidden is a sequence of lists of keyword-value pairs where the
+values are strings or numbers, i.e.@: @var{:keyword} @var{value}
address@hidden:keyword} @var{value}]*
+
+Every sublist of the @var{query} forms a hyperestraier condition. A
+detailed description of hyperestraier conditions can be found at
address@hidden://fallabs.com/hyperestraier/uguide-en.html#searchcond}.
+
+The following conditions are possible:
+
address@hidden @w{}
address@hidden (:phrase @var{search-phrase} :skip @var{number} :max
@var{number})
+
+The string @var{search-phrase} forms the search on the database. It
+contains words to be searched for, combined by operators like AND,
+ANDNOT and OR. If there is no operator between the words, AND is used
+by default. The phrase keyword and value can also be omitted, this is
+useful in combination with other conditions.
+
address@hidden:skip} and @code{:max} are optional. They specify, how many
+hits are skipped, and how many maximal hits are returned. This can be
+used for paged results. Per default, :skip is 0 and all possible hits
+are returned according to the default maximum of the debbugs server.
+There is also an absolute maximum how many hits are returned by the
+debbugs server, which cannot be overwritten my any larger @code{:max}
+number.
+
+There must be exactly one such condition.
+
address@hidden (@var{attribute} @var{value}+ :operator @var{operator} :order
@var{order})
+
address@hidden is one of the following keywords:
+
address@hidden @code
address@hidden :subject
address@hidden :@@title
+The subject of a message or the title of the bug, a string.
+
address@hidden :date
address@hidden :@@cdate
+The submission date of the bug or the modification date of a message,
+a number.
+
address@hidden :@@author
+The email address of the author of a message belonging to this bug, a
+string. It may be different than the email of the person submitting
+the bug. The special email address @code{"me"} is used as pattern,
+replaced with @code{user-mail-address}.
+
address@hidden :package
+The value is the name of the package a bug belongs to, like
address@hidden"emacs"}, @code{"coreutils"}, @code{"gnus"}, or @code{"tramp"}.
+
address@hidden :tags
+An arbitrary string the bug is annotated with.
+
address@hidden :severity
+This is the severity of the bug. The exact set of allowed values
+depends on the Debbugs port. Examples are @code{"normal"},
address@hidden"minor"}, @code{"wishlist"} etc.
address@hidden table
+
address@hidden:operator} defines the comparison operator to be applied to
address@hidden For string attributes this could be @code{"STREQ"}
+(is equal to the string), @code{"STRNE"} (is not equal to the string),
address@hidden"STRINC"} (includes the string), @code{"STRBW"} (begins with the
+string), @code{"STREW"} (ends with the string), @code{"STRAND"}
+(includes all tokens in the string), @code{"STROR"} (includes at least
+one token in the string), @code{"STROREQ"} (is equal to at least one
+token in the string) or @code{"STRRX"} (matches regular expressions of
+the string). For operators with tokens, several values for
address@hidden shall be used.
+
+Numbers can be compared by the operators @code{"NUMEQ"} (is equal to
+the number), @code{"NUMNE"} (is not equal to the number),
address@hidden"NUMGT"} (is greater than the number), @code{"NUMGE"} (is
+greater than or equal to the number), @code{"NUMLT"} (is less than the
+number), @code{"NUMLE"} (is less than or equal to the number) or
address@hidden"NUMBT"} (is between the two numbers). In the last case, there
+must be two values for @var{attribute}.
+
+If an operator is led by @code{"!"}, the meaning is inverted. If a
+string operator is led by @code{"I"}, the case of the value is
+ignored.
+
+The optional @code{:order} can be specified only in one condition. It
+means, that @var{attribute} is used for sorting the results. The
+following order operators exist: @code{"STRA"} (ascending by string),
address@hidden"STRD"} (descending by string), @code{"NUMA"} (ascending by
+number) or @code{"NUMD"} (descending by number).
+
+A special case is an @code{:order}, where there is no corresponding
+attribute value and no operator. In this case, @var{attribute} is
+not used for the search.
+
+The result of the @var{query} is a list of association lists with the
+same attributes as in the conditions. Additional attributes are
+
address@hidden @code
address@hidden id
+The bug number.
+
address@hidden msg_num
+The number of the message inside the bug log.
+
address@hidden snippet
+The surrounding text found by the search. For the syntax of the
+snippet, consult the hyperestraier user guide.
address@hidden table
address@hidden itemize
+
+Example. Get two messages containing words "armstrong" and "debbugs"
+from GNU BTS. Skip the first 10 hits:
+
address@hidden
+(let ((debbugs-port "gnu.org"))
+ (debbugs-search-est
+ '(:phrase "armstrong AND debbugs" :skip 10 :max 2)
+ '(:severity "normal" :operator "STRINC")
+ '(:date :order "NUMA")))
+
address@hidden ((("msg_num" . 21)
+ ("date" . 1229208302)
+ ("@@author" . "Glenn Morris <*****@@gnu.org>")
+ ("@@title" . "Re: bug#1567: Mailing an archived bug")
+ ("id" . 1567)
+ ("severity" . "normal")
+ ("@@cdate" . "Wed, 17 Dec 2008 14:34:50 -0500")
+ ("snippet" . "@dots{}")
+ ("subject" . "Mailing an archived bug")
+ ("package" . "debbugs.gnu.org"))
+ @dots{})
address@hidden example
+
+Example. Show all messages for package "emacs" on GNU BTS between
+2011-08-21 and 2011-08-31.
+
address@hidden
+(let ((debbugs-port "gnu.org"))
+ (debbugs-search-est
+ '(:max 500)
+ '(:package "emacs" :operator "STREQ")
+ `(:@@cdate
+ ,(floor (float-time (encode-time 0 0 0 21 8 2011)))
+ ,(floor (float-time (encode-time 0 0 0 31 8 2011)))
+ :operator "NUMBT")))
address@hidden example
address@hidden defun
+
@node Requesting messages
@chapter Requesting messages
@@ -465,6 +636,7 @@ BTS:
@example
(let ((debbugs-port "debian.org"))
(debbugs-get-message-numbers (debbugs-get-bug-log 456789)))
+
@result{} (5 10 12)
@end example
@end defun
@@ -559,6 +731,7 @@ Example. Get all user tags for the package @code{"emacs"}:
@example
(let ((debbugs-port "gnu.org"))
(debbugs-get-usertag :user "emacs"))
+
@result{} ("www" "solaris" "ls-lisp" "cygwin")
@end example
@@ -568,6 +741,7 @@ Get all bugs tagged by package @code{"emacs"} with
@code{"www"} or
@example
(let ((debbugs-port "gnu.org"))
(debbugs-get-usertag :user "emacs" :tag "www" :tag "cygwin"))
+
@result{} (807 1223 5637)
@end example
@end defun
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 0d8297c: Documentation enhancement for debbugs,
Michael Albinus <=