--- /dev/null
+### vim:ft=zsh:foldmethod=marker
+## lists.debian.org message-id search backend for lookup
+## Copyright: 2009, Frank Terbeck <ft@bewatermyfriend.org>
+
+LOOKUP_guard || return 1
+[[ -n ${lookup_describe} ]] &&
+ printf '%s' 'search lists.debian.org by message-ids' &&
+ return 0
+
+local lookup_context
+local -a comp_args
+
+lookup_context="$(LOOKUP_context)"
+
+LOOKUP_guard -fd LOOKUP_help_${backend} ||
+function LOOKUP_help_${backend}() {
+ LOOKUP_guard || return 1
+ printf 'usage: %s [-1] <query>\n' ${backend}
+ printf ' -1 use the search'\''s first-hit option\n'
+ printf '\n Search Debian[1]'\''s Mailinglist Archive[2] my Message-ID: header.\n'
+ printf ' If you always want to use the -1 option, you may set the use-first-hit\n'
+ printf ' style in this context: %s\n' ${lookup_context}
+ printf '\nExamples:\n'
+ printf ' %% lookup %s 20090215095848.GA21661@schmehl.info\n' ${backend}
+ printf ' %% lookup %s -1 20090215095848.GA21661@schmehl.info\n' ${backend}
+ printf ' %% zstyle '\'':lookup:*:%s:*'\'' use-first-hit true\n' ${backend}
+ printf '\n[1] <http://www.debian.org>\n'
+ printf '[2] <http://lists.debian.org>\n'
+}
+LOOKUP_help && return 0
+
+if [[ -n ${lookup_complete} ]] ; then
+ comp_args=(
+ '-1[use /firsthit option]'
+ '*:message-id for l.d.o:true'
+ )
+
+ _arguments -s -w -A '-*' ${comp_args} && return 0
+ _message 'message-id for l.d.o'
+ return 0
+fi
+
+local end
+local -A opts
+local -x QUERY
+
+lu_parseopts_args=( 1 bool )
+LOOKUP_parseopts "$@" || return 1
+[[ ${opts[-1]} == 'yes' ]] && end='/firsthit' || end='/links'
+zstyle -t "${lookup_context}" use-first-hit && end='/firsthit'
+
+QUERY="${args[*]}"
+LOOKUP_query_handler || return 1
+if [[ -z ${QUERY} ]] ; then
+ LOOKUP_help -f
+ return 1
+fi
+
+LOOKUP_encode -q
+LOOKUP_browser "http://lists.debian.org/msgid-search/${QUERY}${end}"
+return $?