Your message dated Fri, 10 Aug 2007 23:45:46 +0200
with message-id <[EMAIL PROTECTED]>
and subject line Closing: markdown-mode is included in emacs-goodies-el 27.0-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: emacs-goodies-el
Version: 26.13-1
Severity: wishlist

Hi,

please find attached a diff for markdown-mode inclusion.

The debian/changelog diff is just there to give you the number of the
ITP to be closed. I don't know how you handle emacs-goodies-loaddefs.el
diff, but you might only commit the following part:

,---
| +(autoload (quote markdown-mode) "markdown-mode" "\
| +Major mode for editing Markdown files." t nil)
| +
`---

Please also note that you have a patch modifying debian/changelog, which
surprized me a bit when diffing the whole source tree:
,---
| $ grep -rl ^diff.*debian/changelog debian/patches/
| debian/patches/51_todoo_bug267637.dpatch
`---

It looks like this mode is fully functional with at least both emacs21
and emacs22.

Cheers,

-- 
Cyril Brulebois
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/debian/changelog emacs-goodies-el.cvs/emacs-goodies-el/debian/changelog
--- emacs-goodies-el.cvs~/emacs-goodies-el/debian/changelog	2007-07-26 03:53:50.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/debian/changelog	2007-08-02 09:23:26.000000000 +0200
@@ -1,3 +1,13 @@
+emacs-goodies-el (26.14-1) unstable; urgency=low
+  
+  [ Cyril Brulebois ]
+  * emacs-goodies-el:
+    New file:
+    - markdown-mode.el: major mode for editing Markdown files 
+      (Closes: #435485).   
+
+ -- Cyril Brulebois <[EMAIL PROTECTED]>  Thu, 02 Aug 2007 07:09:11 +0200
+
 emacs-goodies-el (26.13-1) unstable; urgency=low
 
   * Bug fix: "gnus-bonus-el does not know about emacs22", thanks to
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/debian/control emacs-goodies-el.cvs/emacs-goodies-el/debian/control
--- emacs-goodies-el.cvs~/emacs-goodies-el/debian/control	2007-07-25 19:43:41.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/debian/control	2007-08-02 09:10:39.000000000 +0200
@@ -59,6 +59,7 @@
   lcomp - list-completion hacks;
   maplev - major mode for Maple;
   map-lines - map a command over lines matching a regexp;
+  markdown-mode - major mode for editing Markdown files;
   marker-visit - navigate through a buffer's marks in order;
   matlab - major mode for MatLab dot-m files;
   minibuf-electric -  electric minibuffer behavior from XEmacs;
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/debian/emacs-goodies-el.copyright emacs-goodies-el.cvs/emacs-goodies-el/debian/emacs-goodies-el.copyright
--- emacs-goodies-el.cvs~/emacs-goodies-el/debian/emacs-goodies-el.copyright	2005-10-26 04:16:59.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/debian/emacs-goodies-el.copyright	2007-08-02 09:10:39.000000000 +0200
@@ -710,6 +710,22 @@
 `----
 
 
+Author/copyright info for markdown-mode.el:
+,----
+| ;; Author: Jason Blevins <[EMAIL PROTECTED]>
+| ;; Created: May 24, 2007
+| ;; $Id: markdown-mode.el,v 1.4 2007/06/29 19:00:40 jrblevin Exp $
+| ;; Keywords: Markdown major mode
+| ;;
+| ;; Copyright (C) 2007 Jason Blevins
+| ;;
+| ;; This program is free software; you can redistribute it and/or modify
+| ;; it under the terms of the GNU General Public License as published by
+| ;; the Free Software Foundation; either version 2, or (at your option)
+| ;; any later version.
+`----
+
+
 Author/copyright info for marker-visit.el:
 ,----
 | ;;; marker-visit.el --- navigate through a buffer's marks in order
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/debian/emacs-goodies-el.install emacs-goodies-el.cvs/emacs-goodies-el/debian/emacs-goodies-el.install
--- emacs-goodies-el.cvs~/emacs-goodies-el/debian/emacs-goodies-el.install	2005-10-26 04:16:59.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/debian/emacs-goodies-el.install	2007-08-02 09:10:39.000000000 +0200
@@ -46,8 +46,9 @@
 elisp/emacs-goodies-el/lcomp.el /usr/share/emacs/site-lisp/emacs-goodies-el/
 elisp/emacs-goodies-el/maplev.el /usr/share/emacs/site-lisp/emacs-goodies-el/
 elisp/emacs-goodies-el/map-lines.el /usr/share/emacs/site-lisp/emacs-goodies-el/
-elisp/emacs-goodies-el/matlab.el /usr/share/emacs/site-lisp/emacs-goodies-el/
+elisp/emacs-goodies-el/markdown-mode.el /usr/share/emacs/site-lisp/emacs-goodies-el/
 elisp/emacs-goodies-el/marker-visit.el /usr/share/emacs/site-lisp/emacs-goodies-el/
+elisp/emacs-goodies-el/matlab.el /usr/share/emacs/site-lisp/emacs-goodies-el/
 elisp/emacs-goodies-el/minibuf-electric.el /usr/share/emacs/site-lisp/emacs-goodies-el/
 elisp/emacs-goodies-el/minibuffer-complete-cycle.el /usr/share/emacs/site-lisp/emacs-goodies-el/
 elisp/emacs-goodies-el/mutt-alias.el /usr/share/emacs/site-lisp/emacs-goodies-el/
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/debian/patches/00list emacs-goodies-el.cvs/emacs-goodies-el/debian/patches/00list
--- emacs-goodies-el.cvs~/emacs-goodies-el/debian/patches/00list	2007-07-26 03:29:41.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/debian/patches/00list	2007-08-02 09:10:39.000000000 +0200
@@ -41,3 +41,4 @@
 52_todoo_bug414781
 50_setnu
 50_projects
+50_markdown_autoload
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/debian/patches/50_markdown_autoload.dpatch emacs-goodies-el.cvs/emacs-goodies-el/debian/patches/50_markdown_autoload.dpatch
--- emacs-goodies-el.cvs~/emacs-goodies-el/debian/patches/50_markdown_autoload.dpatch	1970-01-01 01:00:00.000000000 +0100
+++ emacs-goodies-el.cvs/emacs-goodies-el/debian/patches/50_markdown_autoload.dpatch	2007-08-02 09:20:55.000000000 +0200
@@ -0,0 +1,18 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 50_markdown_autoload.dpatch by Cyril Brulebois <[EMAIL PROTECTED]>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Add autoload.
+
[EMAIL PROTECTED]@
+
+--- emacs-goodies-el/elisp/emacs-goodies-el/markdown-mode.el~	2007-07-24 17:46:26.000000000 +0200
++++ emacs-goodies-el/elisp/emacs-goodies-el/markdown-mode.el	2007-08-02 09:19:37.000000000 +0200
+@@ -361,6 +361,7 @@
+ 
+ ;; Mode definition  ===========================================================
+ 
++;;;###autoload
+ (define-derived-mode markdown-mode fundamental-mode "Markdown"
+   "Major mode for editing Markdown files."
+   ;; Font lock.
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/debian/README.Debian emacs-goodies-el.cvs/emacs-goodies-el/debian/README.Debian
--- emacs-goodies-el.cvs~/emacs-goodies-el/debian/README.Debian	2005-10-26 04:16:59.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/debian/README.Debian	2007-08-02 09:10:39.000000000 +0200
@@ -185,6 +185,9 @@
 map-lines.el provides M-x map-lines, a command to iterate a given
 command over lines matching a regexp.
 
+markdown-mode.el provides support for editing Markdown files. It
+provides syntax highlighting and basic element insertion commands.
+
 marker-visit.el provides a simple way to navigate among marks in a buffer.
 All the marks you've left while editing a buffer serve as bread crumb
 trails of areas in the buffer you've edited.  It is convenient to navigate
@@ -323,4 +326,4 @@
 resource database files.  To use it, simple open a file named
 .Xdefaults, .Xenvironment, .Xresources or *.ad.
 
- -- Peter S Galbraith <[EMAIL PROTECTED]>, Tue Oct 25 21:22:07 2005
+ -- Cyril Brulebois <[EMAIL PROTECTED]>, Thu,  2 Aug 2007 06:56:40 +0200
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-custom.el emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-custom.el
--- emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-custom.el	2005-10-26 04:16:59.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-custom.el	2007-08-02 09:10:39.000000000 +0200
@@ -313,6 +313,15 @@
   :load 'matlab
   :group 'emacs-goodies-el)
 
+;; markdown
+(defgroup markdown nil
+  "Markdown mode."
+  :prefix "markdown-"
+  :group 'languages
+  :link '(custom-manual "(emacs-goodies-el)markdown")
+  :load 'markdown
+  :group 'emacs-goodies-el)
+
 ;; minibuffer-complete-cycle
 (defgroup minibuffer-complete-cycle nil
   "Cycle through the *Completions* buffer."
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-el.texi emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-el.texi
--- emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-el.texi	2007-07-26 03:24:00.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-el.texi	2007-08-02 09:11:33.000000000 +0200
@@ -107,6 +107,7 @@
 * lcomp::                       list-completion hacks
 * maplev::                      Maple major mode
 * map-lines::                   Map a command over many lines
+* markdown-mode::               Major mode for editing Markdown files
 * marker-visit::                Navigate through a buffer's marks in order
 * matlab::                      Major mode for MATLAB dot-m files
 * minibuf-electric::            Electric minibuffer behavior from XEmacs
@@ -2697,7 +2698,7 @@
 This mode has full documentation in it's own Info manual.
 See @inforef{top, MapleV mode info node, maplev}.
 
[EMAIL PROTECTED] map-lines, marker-visit, maplev, Top
[EMAIL PROTECTED] map-lines, markdown-mode, maplev, Top
 @chapter map-lines - Map a command over many lines
 
 @noindent Author: Andreas Fuchs <asf@@void.at>
@@ -2714,7 +2715,30 @@
 
 Invoke it with @command{M-x map-lines}.
 
[EMAIL PROTECTED] marker-visit, matlab, map-lines, Top
[EMAIL PROTECTED] markdown-mode, marker-visit, map-lines, Top
[EMAIL PROTECTED] markdown-mode - Major mode for editing Markdown files
+
[EMAIL PROTECTED] Author: Jason Blevins <jrblevin@@sdf.lonestar.org>
+
+This major mode provides syntax highlighting and basic element insertion
+commands for Markdown files.
+
+No extension gets associated with this mode by default since there is no
+official extension: .mdml, .text, .md, .mdt, etc.
+
+To use this mode, either invoke it each time with:
+
[EMAIL PROTECTED]
+ M-X markdown-mode
[EMAIL PROTECTED] example
+
+or insert the following snippet of code in your @file{.emacs} file.
+
[EMAIL PROTECTED]
+ (add-to-list 'auto-mode-alist '("\\.mdwn$" . markdown-mode))
[EMAIL PROTECTED] example
+
[EMAIL PROTECTED] marker-visit, matlab, markdown-mode, Top
 @chapter marker-visit - navigate through a buffer's marks in order
 
 @noindent Benjamin Rutt <brutt@@bloomington.in.us>
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-loaddefs.el emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-loaddefs.el
--- emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-loaddefs.el	2005-10-26 04:16:59.000000000 +0200
+++ emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/emacs-goodies-loaddefs.el	2007-08-02 09:22:21.000000000 +0200
@@ -2,7 +2,7 @@
 ;;
 ;;; Code:
 
-;;;### (autoloads (all) "all" "all.el" (16259 18879))
+;;;### (autoloads (all) "all" "all.el" (18097 33628))
 ;;; Generated autoloads from all.el
 
 (autoload (quote all) "all" "\
@@ -20,8 +20,8 @@
 
 ;;;***
 
-;;;### (autoloads (apache-mode) "apache-mode" "apache-mode.el" (17102
-;;;;;;  30750))
+;;;### (autoloads (apache-mode) "apache-mode" "apache-mode.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from apache-mode.el
 
 (autoload (quote apache-mode) "apache-mode" "\
@@ -35,7 +35,7 @@
 ;;;***
 
 ;;;### (autoloads (ascii-off ascii-on ascii-display ascii-customize)
-;;;;;;  "ascii" "ascii.el" (16313 9500))
+;;;;;;  "ascii" "ascii.el" (18097 33628))
 ;;; Generated autoloads from ascii.el
 
 (autoload (quote ascii-customize) "ascii" "\
@@ -58,7 +58,7 @@
 ;;;***
 
 ;;;### (autoloads (bar-cursor-change bar-cursor-mode) "bar-cursor"
-;;;;;;  "bar-cursor.el" (17246 57581))
+;;;;;;  "bar-cursor.el" (18097 34331))
 ;;; Generated autoloads from bar-cursor.el
 
 (autoload (quote bar-cursor-mode) "bar-cursor" "\
@@ -80,7 +80,7 @@
 ;;;;;;  boxquote-describe-variable boxquote-describe-function boxquote-boxquote
 ;;;;;;  boxquote-paragraph boxquote-defun boxquote-yank boxquote-kill-ring-save
 ;;;;;;  boxquote-insert-file boxquote-buffer boxquote-region boxquote-title)
-;;;;;;  "boxquote" "boxquote.el" (17245 26633))
+;;;;;;  "boxquote" "boxquote.el" (18097 33628))
 ;;; Generated autoloads from boxquote.el
 
 (autoload (quote boxquote-title) "boxquote" "\
@@ -166,7 +166,7 @@
 
 ;;;### (autoloads (browse-huge-tar-copy-file-at-point browse-huge-tar-view-file-at-point
 ;;;;;;  browse-huge-tar-file) "browse-huge-tar" "browse-huge-tar.el"
-;;;;;;  (16313 9500))
+;;;;;;  (18097 33628))
 ;;; Generated autoloads from browse-huge-tar.el
 
 (autoload (quote browse-huge-tar-file) "browse-huge-tar" "\
@@ -182,7 +182,7 @@
 ;;;***
 
 ;;;### (autoloads (browse-kill-ring browse-kill-ring-default-keybindings)
-;;;;;;  "browse-kill-ring" "browse-kill-ring.el" (17246 57581))
+;;;;;;  "browse-kill-ring" "browse-kill-ring.el" (18097 34332))
 ;;; Generated autoloads from browse-kill-ring.el
 
 (autoload (quote browse-kill-ring-default-keybindings) "browse-kill-ring" "\
@@ -196,8 +196,8 @@
 
 ;;;***
 
-;;;### (autoloads (cfengine-mode) "cfengine" "cfengine.el" (17213
-;;;;;;  19161))
+;;;### (autoloads (cfengine-mode) "cfengine" "cfengine.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from cfengine.el
 
 (autoload (quote cfengine-mode) "cfengine" "\
@@ -218,7 +218,7 @@
 ;;;***
 
 ;;;### (autoloads (color-theme-select) "color-theme" "color-theme.el"
-;;;;;;  (17246 57581))
+;;;;;;  (18097 34332))
 ;;; Generated autoloads from color-theme.el
 
 (autoload (quote color-theme-select) "color-theme" "\
@@ -232,7 +232,7 @@
 
 ;;;### (autoloads (ctypes-read-file ctypes-auto-parse-mode ctypes-file
 ;;;;;;  ctypes-dir ctypes-tags ctypes-all-buffers ctypes-buffer ctypes-define-type-in-mode
-;;;;;;  ctypes-define-type) "ctypes" "ctypes.el" (17246 57581))
+;;;;;;  ctypes-define-type) "ctypes" "ctypes.el" (18097 34332))
 ;;; Generated autoloads from ctypes.el
 
 (autoload (quote ctypes-define-type) "ctypes" "\
@@ -326,7 +326,7 @@
 
 ;;;### (autoloads (CUA-keypad-mode CUA-mode-on CUA-mode CUA-mode-bindings
 ;;;;;;  CUA-movement-key CUA-exchange-point-and-mark CUA-mode) "cua"
-;;;;;;  "cua.el" (17212 38105))
+;;;;;;  "cua.el" (18097 33628))
 ;;; Generated autoloads from cua.el
 
 (defvar CUA-mode nil "\
@@ -395,8 +395,8 @@
 
 ;;;***
 
-;;;### (autoloads (cwebm-mode webm-mode) "cwebm" "cwebm.el" (17221
-;;;;;;  28087))
+;;;### (autoloads (cwebm-mode webm-mode) "cwebm" "cwebm.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from cwebm.el
 
 (autoload (quote webm-mode) "cwebm" "\
@@ -411,8 +411,8 @@
 
 ;;;***
 
-;;;### (autoloads (dedicated-mode) "dedicated" "dedicated.el" (17246
-;;;;;;  57581))
+;;;### (autoloads (dedicated-mode) "dedicated" "dedicated.el" (18097
+;;;;;;  34332))
 ;;; Generated autoloads from dedicated.el
 
 (autoload (quote dedicated-mode) "dedicated" "\
@@ -421,7 +421,7 @@
 
 ;;;***
 
-;;;### (autoloads (df) "df" "df.el" (16259 18879))
+;;;### (autoloads (df) "df" "df.el" (18097 34332))
 ;;; Generated autoloads from df.el
 
 (autoload (quote df) "df" "\
@@ -431,7 +431,7 @@
 ;;;***
 
 ;;;### (autoloads (diminished-modes diminish-undo diminish) "diminish"
-;;;;;;  "diminish.el" (17246 57581))
+;;;;;;  "diminish.el" (18097 34331))
 ;;; Generated autoloads from diminish.el
 
 (autoload (quote diminish) "diminish" "\
@@ -476,7 +476,7 @@
 
 ;;;***
 
-;;;### (autoloads (edit-env) "edit-env" "edit-env.el" (17246 57581))
+;;;### (autoloads (edit-env) "edit-env" "edit-env.el" (18097 34333))
 ;;; Generated autoloads from edit-env.el
 
 (autoload (quote edit-env) "edit-env" "\
@@ -486,7 +486,7 @@
 
 ;;;### (autoloads (egocentric-update-regexp-list egocentric-mode-off
 ;;;;;;  egocentric-mode-on egocentric-mode) "egocentric" "egocentric.el"
-;;;;;;  (16259 18879))
+;;;;;;  (18097 33628))
 ;;; Generated autoloads from egocentric.el
 
 (autoload (quote egocentric-mode) "egocentric" "\
@@ -504,8 +504,8 @@
 
 ;;;***
 
-;;;### (autoloads (ff-paths-install) "ff-paths" "ff-paths.el" (17194
-;;;;;;  6223))
+;;;### (autoloads (ff-paths-install) "ff-paths" "ff-paths.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from ff-paths.el
 
 (autoload (quote ff-paths-install) "ff-paths" "\
@@ -513,7 +513,7 @@
 
 ;;;***
 
-;;;### (autoloads (floatbg-mode) "floatbg" "floatbg.el" (16259 18880))
+;;;### (autoloads (floatbg-mode) "floatbg" "floatbg.el" (18097 33628))
 ;;; Generated autoloads from floatbg.el
 
 (autoload (quote floatbg-mode) "floatbg" "\
@@ -525,8 +525,8 @@
 ;;;;;;  folding-mode-add-find-file-hook folding-keep-hooked folding-install-hooks
 ;;;;;;  folding-uninstall-hooks folding-mode-hook-no-regexp folding-mode-string
 ;;;;;;  folding-inside-mode-name folding-default-mouse-keys-function
-;;;;;;  folding-default-keys-function) "folding" "folding.el" (16806
-;;;;;;  38694))
+;;;;;;  folding-default-keys-function) "folding" "folding.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from folding.el
 
 (defvar folding-mode nil "\
@@ -536,18 +536,18 @@
 *Function or list of functions used to define keys for Folding mode.
 Possible values are:
   folding-bind-default-key
-        The standard keymap.
+	The standard keymap.
 
   `folding-bind-backward-compatible-keys'
-        Keys used by older versions of Folding mode. This function
-        does not conform to Emacs 19.29 style conversions concerning
-        key bindings. The prefix key is C - c
+	Keys used by older versions of Folding mode. This function
+	does not conform to Emacs 19.29 style conversions concerning
+	key bindings. The prefix key is C - c
 
   `folding-bind-outline-compatible-keys'
-        Define keys compatible with Outline mode.
+	Define keys compatible with Outline mode.
 
   `folding-bind-foldout-compatible-keys'
-        Define some extra keys compatible with Foldout.
+	Define some extra keys compatible with Foldout.
 
 All except `folding-bind-backward-compatible-keys' used the value of
 the variable `folding-mode-prefix-key' as prefix the key.
@@ -738,7 +738,7 @@
 ;;;***
 
 ;;;### (autoloads (framepop-display-buffer framepop-enable framepop-disable)
-;;;;;;  "framepop" "framepop.el" (16269 22307))
+;;;;;;  "framepop" "framepop.el" (18097 33628))
 ;;; Generated autoloads from framepop.el
 
 (autoload (quote framepop-disable) "framepop" "\
@@ -763,7 +763,7 @@
 ;;;***
 
 ;;;### (autoloads (highlight-beyond-fill-column) "highlight-beyond-fill-column"
-;;;;;;  "highlight-beyond-fill-column.el" (17246 57581))
+;;;;;;  "highlight-beyond-fill-column.el" (18097 34331))
 ;;; Generated autoloads from highlight-beyond-fill-column.el
 
 (autoload (quote highlight-beyond-fill-column) "highlight-beyond-fill-column" "\
@@ -772,7 +772,7 @@
 ;;;***
 
 ;;;### (autoloads (highlight-current-line-minor-mode) "highlight-current-line"
-;;;;;;  "highlight-current-line.el" (16259 18881))
+;;;;;;  "highlight-current-line.el" (18097 33628))
 ;;; Generated autoloads from highlight-current-line.el
 
 (autoload (quote highlight-current-line-minor-mode) "highlight-current-line" "\
@@ -784,7 +784,7 @@
 ;;;***
 
 ;;;### (autoloads (home-end-end home-end-home) "home-end" "home-end.el"
-;;;;;;  (17246 57581))
+;;;;;;  (18097 34330))
 ;;; Generated autoloads from home-end.el
 
 (autoload (quote home-end-home) "home-end" "\
@@ -800,8 +800,8 @@
 ;;;***
 
 ;;;### (autoloads (htmlize-many-files-dired htmlize-many-files htmlize-file
-;;;;;;  htmlize-region htmlize-buffer) "htmlize" "htmlize.el" (16285
-;;;;;;  9287))
+;;;;;;  htmlize-region htmlize-buffer) "htmlize" "htmlize.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from htmlize.el
 
 (autoload (quote htmlize-buffer) "htmlize" "\
@@ -856,7 +856,7 @@
 
 ;;;***
 
-;;;### (autoloads (ibuffer) "ibuffer" "ibuffer.el" (16259 18881))
+;;;### (autoloads (ibuffer) "ibuffer" "ibuffer.el" (18097 33628))
 ;;; Generated autoloads from ibuffer.el
 
 (defsubst ibuffer-and-update (&optional other-window-p) "\
@@ -885,7 +885,7 @@
 ;;;;;;  ido-find-file ido-find-file-in-dir ido-switch-buffer-other-frame
 ;;;;;;  ido-insert-buffer ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
 ;;;;;;  ido-switch-buffer ido-read-buffer ido-mode ido-enabled) "ido"
-;;;;;;  "ido.el" (17213 20908))
+;;;;;;  "ido.el" (18097 33628))
 ;;; Generated autoloads from ido.el
 
 (defvar ido-enabled nil "\
@@ -1087,7 +1087,7 @@
 ;;;***
 
 ;;;### (autoloads (joc-toggle-buffer) "joc-toggle-buffer" "joc-toggle-buffer.el"
-;;;;;;  (17246 57581))
+;;;;;;  (18097 34334))
 ;;; Generated autoloads from joc-toggle-buffer.el
 
 (autoload (quote joc-toggle-buffer) "joc-toggle-buffer" "\
@@ -1097,7 +1097,7 @@
 
 ;;;### (autoloads (joc-toggle-case-by-region joc-toggle-case-by-word-backwards
 ;;;;;;  joc-toggle-case-by-word joc-toggle-case-backwards joc-toggle-case)
-;;;;;;  "joc-toggle-case" "joc-toggle-case.el" (17246 57581))
+;;;;;;  "joc-toggle-case" "joc-toggle-case.el" (18097 34334))
 ;;; Generated autoloads from joc-toggle-case.el
 
 (autoload (quote joc-toggle-case) "joc-toggle-case" "\
@@ -1134,7 +1134,7 @@
 
 ;;;***
 
-;;;### (autoloads (keydef) "keydef" "keydef.el" (16259 18882))
+;;;### (autoloads (keydef) "keydef" "keydef.el" (18097 33628))
 ;;; Generated autoloads from keydef.el
 
 (autoload (quote keydef) "keydef" "\
@@ -1161,8 +1161,8 @@
 
 ;;;***
 
-;;;### (autoloads (lcomp-activate-advices) "lcomp" "lcomp.el" (17246
-;;;;;;  57581))
+;;;### (autoloads (lcomp-activate-advices) "lcomp" "lcomp.el" (18097
+;;;;;;  34334))
 ;;; Generated autoloads from lcomp.el
 
 (autoload (quote lcomp-activate-advices) "lcomp" "\
@@ -1170,9 +1170,18 @@
 
 ;;;***
 
+;;;### (autoloads (markdown-mode) "markdown-mode" "markdown-mode.el"
+;;;;;;  (18097 34336))
+;;; Generated autoloads from markdown-mode.el
+
+(autoload (quote markdown-mode) "markdown-mode" "\
+Major mode for editing Markdown files." t nil)
+
+;;;***
+
 ;;;### (autoloads (marker-visit-truncate-mark-ring marker-visit-next
-;;;;;;  marker-visit-prev) "marker-visit" "marker-visit.el" (17246
-;;;;;;  57581))
+;;;;;;  marker-visit-prev) "marker-visit" "marker-visit.el" (18097
+;;;;;;  34334))
 ;;; Generated autoloads from marker-visit.el
 
 (autoload (quote marker-visit-prev) "marker-visit" "\
@@ -1187,7 +1196,7 @@
 ;;;***
 
 ;;;### (autoloads (matlab-shell matlab-mode) "matlab" "matlab.el"
-;;;;;;  (17238 24754))
+;;;;;;  (18097 33628))
 ;;; Generated autoloads from matlab.el
 
 (autoload (quote matlab-mode) "matlab" "\
@@ -1252,8 +1261,8 @@
 
 ;;;***
 
-;;;### (autoloads (muttrc-mode) "muttrc-mode" "muttrc-mode.el" (17246
-;;;;;;  57581))
+;;;### (autoloads (muttrc-mode) "muttrc-mode" "muttrc-mode.el" (18097
+;;;;;;  34331))
 ;;; Generated autoloads from muttrc-mode.el
 
 (autoload (quote muttrc-mode) "muttrc-mode" "\
@@ -1265,8 +1274,9 @@
 
 ;;;***
 
-;;;### (autoloads (newsticker-show-news newsticker-start) "newsticker"
-;;;;;;  "newsticker.el" (17246 57581))
+;;;### (autoloads (newsticker-ticker-running-p newsticker-running-p
+;;;;;;  newsticker-show-news newsticker-start-ticker newsticker-start)
+;;;;;;  "newsticker" "newsticker.el" (18097 34334))
 ;;; Generated autoloads from newsticker.el
 
 (autoload (quote newsticker-start) "newsticker" "\
@@ -1276,13 +1286,29 @@
 DO-NOT-COMPLAIN-IF-RUNNING is not nil.
 Run `newsticker-start-hook' if newsticker was not running already." t nil)
 
+(autoload (quote newsticker-start-ticker) "newsticker" "\
+Start newsticker's ticker (but not the news retrieval).
+Start display timer for the actual ticker if wanted and not
+running already." t nil)
+
 (autoload (quote newsticker-show-news) "newsticker" "\
 Switch to newsticker buffer.  You may want to bind this to a key." t nil)
 
+(autoload (quote newsticker-running-p) "newsticker" "\
+Check whether newsticker is running.
+Return t if newsticker is running, nil otherwise.  Newsticker is
+considered to be running if the newsticker timer list is not empty." nil nil)
+
+(autoload (quote newsticker-ticker-running-p) "newsticker" "\
+Check whether newsticker's actual ticker is running.
+Return t if ticker is running, nil otherwise.  Newsticker is
+considered to be running if the newsticker timer list is not
+empty." nil nil)
+
 ;;;***
 
 ;;;### (autoloads (nuke-trailing-whitespace) "nuke-trailing-whitespace"
-;;;;;;  "nuke-trailing-whitespace.el" (17246 57581))
+;;;;;;  "nuke-trailing-whitespace.el" (18097 34331))
 ;;; Generated autoloads from nuke-trailing-whitespace.el
 
 (autoload (quote nuke-trailing-whitespace) "nuke-trailing-whitespace" "\
@@ -1297,8 +1323,8 @@
 
 ;;;***
 
-;;;### (autoloads (obfuscate-url) "obfusurl" "obfusurl.el" (16259
-;;;;;;  18882))
+;;;### (autoloads (obfuscate-url) "obfusurl" "obfusurl.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from obfusurl.el
 
 (autoload (quote obfuscate-url) "obfusurl" "\
@@ -1311,7 +1337,7 @@
 ;;;***
 
 ;;;### (autoloads (pack-windows) "pack-windows" "pack-windows.el"
-;;;;;;  (16313 9500))
+;;;;;;  (18097 33628))
 ;;; Generated autoloads from pack-windows.el
 
 (autoload (quote pack-windows) "pack-windows" "\
@@ -1335,7 +1361,7 @@
 ;;;***
 
 ;;;### (autoloads (perldoc-perl-hook perldoc-at-point perldoc) "perldoc"
-;;;;;;  "perldoc.el" (17246 57581))
+;;;;;;  "perldoc.el" (18097 34335))
 ;;; Generated autoloads from perldoc.el
 
 (autoload (quote perldoc) "perldoc" "\
@@ -1351,7 +1377,7 @@
 
 ;;;***
 
-;;;### (autoloads (project-add) "projects" "projects.el" (17246 57581))
+;;;### (autoloads (project-add) "projects" "projects.el" (18097 34336))
 ;;; Generated autoloads from projects.el
 
 (autoload (quote project-add) "projects" "\
@@ -1360,7 +1386,7 @@
 ;;;***
 
 ;;;### (autoloads (protect-process-buffer-from-kill-mode protect-buffer-from-kill-mode)
-;;;;;;  "protbuf" "protbuf.el" (17246 57581))
+;;;;;;  "protbuf" "protbuf.el" (18097 34335))
 ;;; Generated autoloads from protbuf.el
 
 (defvar protect-buffer-from-kill-mode nil "\
@@ -1395,7 +1421,7 @@
 ;;;***
 
 ;;;### (autoloads (protocols-clear-cache protocols-lookup) "protocols"
-;;;;;;  "protocols.el" (16259 18882))
+;;;;;;  "protocols.el" (18097 33628))
 ;;; Generated autoloads from protocols.el
 
 (autoload (quote protocols-lookup) "protocols" "\
@@ -1407,7 +1433,7 @@
 ;;;***
 
 ;;;### (autoloads (rfcview-mode rfcview-customize) "rfcview" "rfcview.el"
-;;;;;;  (16313 9500))
+;;;;;;  (18097 33628))
 ;;; Generated autoloads from rfcview.el
 
 (autoload (quote rfcview-customize) "rfcview" nil t nil)
@@ -1423,7 +1449,7 @@
 ;;;***
 
 ;;;### (autoloads (services-clear-cache services-lookup) "services"
-;;;;;;  "services.el" (16259 18882))
+;;;;;;  "services.el" (18097 33628))
 ;;; Generated autoloads from services.el
 
 (autoload (quote services-lookup) "services" "\
@@ -1435,7 +1461,7 @@
 ;;;***
 
 ;;;### (autoloads (turn-on-setnu-mode setnu-mode) "setnu" "setnu.el"
-;;;;;;  (17246 57581))
+;;;;;;  (18097 34335))
 ;;; Generated autoloads from setnu.el
 
 (autoload (quote setnu-mode) "setnu" "\
@@ -1454,7 +1480,7 @@
 ;;;***
 
 ;;;### (autoloads (shell-command-completion-mode) "shell-command"
-;;;;;;  "shell-command.el" (17221 28092))
+;;;;;;  "shell-command.el" (18097 33628))
 ;;; Generated autoloads from shell-command.el
 
 (autoload (quote shell-command-completion-mode) "shell-command" "\
@@ -1465,7 +1491,7 @@
 ;;;***
 
 ;;;### (autoloads (sm-add-all-headers sm-add-random-header) "silly-mail"
-;;;;;;  "silly-mail.el" (17246 57581))
+;;;;;;  "silly-mail.el" (18097 34334))
 ;;; Generated autoloads from silly-mail.el
 
 (autoload (quote sm-add-random-header) "silly-mail" "\
@@ -1479,8 +1505,8 @@
 
 ;;;***
 
-;;;### (autoloads (slang-mode) "slang-mode" "slang-mode.el" (17211
-;;;;;;  12498))
+;;;### (autoloads (slang-mode) "slang-mode" "slang-mode.el" (18097
+;;;;;;  34335))
 ;;; Generated autoloads from slang-mode.el
 
 (autoload (quote slang-mode) "slang-mode" "\
@@ -1491,8 +1517,8 @@
 
 ;;;***
 
-;;;### (autoloads (sys-apropos) "sys-apropos" "sys-apropos.el" (16259
-;;;;;;  18883))
+;;;### (autoloads (sys-apropos) "sys-apropos" "sys-apropos.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from sys-apropos.el
 
 (autoload (quote sys-apropos) "sys-apropos" "\
@@ -1502,8 +1528,8 @@
 
 ;;;### (autoloads (tabbar-local-mode tabbar-mode tabbar-forward-tab
 ;;;;;;  tabbar-backward-tab tabbar-forward-group tabbar-backward-group
-;;;;;;  tabbar-forward tabbar-backward) "tabbar" "tabbar.el" (17212
-;;;;;;  38105))
+;;;;;;  tabbar-forward tabbar-backward) "tabbar" "tabbar.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from tabbar.el
 
 (autoload (quote tabbar-backward) "tabbar" "\
@@ -1564,7 +1590,7 @@
 ;;;;;;  table-recognize table-insert-row-column table-insert-column
 ;;;;;;  table-insert-row table-insert table-point-left-cell-hook
 ;;;;;;  table-point-entered-cell-hook table-load-hook table-cell-map-hook)
-;;;;;;  "table" "table.el" (17246 57581))
+;;;;;;  "table" "table.el" (18097 34335))
 ;;; Generated autoloads from table.el
 
 (defvar table-cell-map-hook nil "\
@@ -2084,8 +2110,8 @@
 
 ;;;***
 
-;;;### (autoloads (tail-command tail-file) "tail" "tail.el" (16269
-;;;;;;  21296))
+;;;### (autoloads (tail-command tail-file) "tail" "tail.el" (18097
+;;;;;;  33628))
 ;;; Generated autoloads from tail.el
 
 (autoload (quote tail-file) "tail" "\
@@ -2099,7 +2125,7 @@
 
 ;;;***
 
-;;;### (autoloads (trivial-cite) "tc" "tc.el" (16295 49414))
+;;;### (autoloads (trivial-cite) "tc" "tc.el" (18097 33628))
 ;;; Generated autoloads from tc.el
 
 (autoload (quote trivial-cite) "tc" "\
@@ -2118,7 +2144,7 @@
 ;;;***
 
 ;;;### (autoloads (thinks-maybe-region thinks-yank thinks-region
-;;;;;;  thinks) "thinks" "thinks.el" (16259 18884))
+;;;;;;  thinks) "thinks" "thinks.el" (18097 33628))
 ;;; Generated autoloads from thinks.el
 
 (autoload (quote thinks) "thinks" "\
@@ -2145,7 +2171,7 @@
 
 ;;;***
 
-;;;### (autoloads (tlc-mode) "tlc" "tlc.el" (17221 29124))
+;;;### (autoloads (tlc-mode) "tlc" "tlc.el" (18097 33628))
 ;;; Generated autoloads from tlc.el
 
 (autoload (quote tlc-mode) "tlc" "\
@@ -2154,7 +2180,7 @@
 
 ;;;***
 
-;;;### (autoloads (tld) "tld" "tld.el" (17199 13164))
+;;;### (autoloads (tld) "tld" "tld.el" (18097 33628))
 ;;; Generated autoloads from tld.el
 
 (autoload (quote tld) "tld" "\
@@ -2163,7 +2189,7 @@
 ;;;***
 
 ;;;### (autoloads (twiddle-compile twiddle-start) "twiddle" "twiddle.el"
-;;;;;;  (16259 18885))
+;;;;;;  (18097 33628))
 ;;; Generated autoloads from twiddle.el
 
 (autoload (quote twiddle-start) "twiddle" "\
@@ -2179,7 +2205,7 @@
 
 ;;;***
 
-;;;### (autoloads (underhat-region) "under" "under.el" (16269 21249))
+;;;### (autoloads (underhat-region) "under" "under.el" (18097 33628))
 ;;; Generated autoloads from under.el
 
 (autoload (quote underhat-region) "under" "\
@@ -2188,7 +2214,7 @@
 ;;;***
 
 ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;;  (16259 18885))
+;;;;;;  (18097 33628))
 ;;; Generated autoloads from wdired.el
 
 (autoload (quote wdired-change-to-wdired-mode) "wdired" "\
@@ -2200,7 +2226,7 @@
 
 ;;;***
 
-;;;### (autoloads (xrdb-mode) "xrdb-mode" "xrdb-mode.el" (16259 18885))
+;;;### (autoloads (xrdb-mode) "xrdb-mode" "xrdb-mode.el" (18097 33628))
 ;;; Generated autoloads from xrdb-mode.el
 
 (autoload (quote xrdb-mode) "xrdb-mode" "\
diff -urN emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/markdown-mode.el emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/markdown-mode.el
--- emacs-goodies-el.cvs~/emacs-goodies-el/elisp/emacs-goodies-el/markdown-mode.el	1970-01-01 01:00:00.000000000 +0100
+++ emacs-goodies-el.cvs/emacs-goodies-el/elisp/emacs-goodies-el/markdown-mode.el	2007-08-02 09:22:24.000000000 +0200
@@ -0,0 +1,410 @@
+;;; markdown-mode.el --- Major mode to edit Markdown files in Emacs
+;;
+;; Author: Jason Blevins <[EMAIL PROTECTED]>
+;; Created: May 24, 2007
+;; $Id: markdown-mode.el,v 1.4 2007/06/29 19:00:40 jrblevin Exp $
+;; Keywords: Markdown major mode
+;;
+;; Copyright (C) 2007 Jason Blevins
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program; if not, write to the Free Software
+;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;;
+;; Supported Emacsen:
+;; ==================
+;; This mode has only been tested on Emacs 22.0.  Please let me know
+;; if there are problems on other versions.
+;;
+;; Installation:
+;; =============
+;; Add the following lines to your .emacs file to associate
+;; markdown-mode with .mdml files.   There doesn't seem to be
+;; a consensus on an official file extension so you can change
+;; this to .text, .md, .mdt, or whatever you call your markdown
+;; files.
+;;
+;;   (autoload 'markdown-mode "markdown-mode.el"
+;;   	"Major mode for editing Markdown files" t)
+;;   (setq auto-mode-alist
+;;     (cons '("\\.mdml$" . markdown-mode) auto-mode-alist))
+;;
+;; Make sure to place this file somewhere in the load-path.
+;;
+;; Description:
+;; ============
+;; This mode provides basic syntax highlighting, element insertion
+;; commands, and preview commands for Markdown files.  The latest version
+;; should always be available from
+;; http://jrblevin.freeshell.org/software/markdown-mode.
+;;
+;; TODO:
+;; =====
+;; * Recognize inline HTML.
+;; * Bold at the beginning of a line is mistaken to be a list item.
+;; * itex font lock support:
+;;   + Equation references: (eq:reference) or \eqref{reference}.
+;;   + Separate font locking for \label{} elements in side \[ \] equations.
+;; * Treat * or _  surrounded by spaces as literals.
+;; * When inserting links (maybe other elements), the selected text remains
+;;   in the paste buffer.
+
+(defconst markdown-mode-version "$Revision: 1.4 $")
+
+;; A hook for users to run their own code when the mode is loaded.
+(defvar markdown-mode-hook nil)
+
+
+;;; Customizable variables ====================================================
+
+(defgroup markdown nil
+  "Markdown mode."
+  :prefix "markdown-"
+  :group 'languages)
+
+(defcustom markdown-command "markdown"
+  "Command to run markdown."
+  :group 'markdown
+  :type 'string)
+
+(defcustom markdown-hr-length 5
+  "Length of horizonal rules."
+  :group 'markdown
+  :type 'integer)
+
+(defcustom markdown-bold-underscore nil
+  "Use two underscores for bold instead of two asterisks."
+  :group 'markdown
+  :type 'boolean)
+
+(defcustom markdown-italic-underscore nil
+  "Use underscores for italic instead of asterisks."
+  :group 'markdown
+  :type 'boolean)
+
+
+;;; Regular expressions =======================================================
+
+;; Links
+(defconst regex-link-inline "\\(!?\\[.+?\\]\\)\\((.*)\\)"
+  "Regular expression for a [text](file) or an image link ![text](file)")
+(defconst regex-link-reference "\\(!?\\[.+?\\]\\)[ ]?\\(\\[.*?\\]\\)"
+  "Regular expression for a reference link [text][id]")
+(defconst regex-reference-definition
+  "^\\s*\\(\\[.+?\\]\\):\\s*\\([^\\s\n]+\\).*$"
+  "Regular expression for a link definition [id]: ...")
+
+
+;;; Font lock =================================================================
+
+(defconst markdown-mode-font-lock-keywords
+  (list
+   ;; Latex/itex
+;   (cons "\\\\\\[[^$]+\\\\\\]" 'font-lock-string-face)
+;   (cons "\\$\\$[^$]+\\$\\$" 'font-lock-string-face)
+;   (cons "\\$[^$]+\\$" 'font-lock-string-face)
+   ;; Headers and (Horizontal Rules)
+   (cons ".*\n?===*" 'font-lock-function-name-face)     ; === headers
+   (cons ".*\n?---*" 'font-lock-function-name-face)     ; --- headers
+   (cons "^#+ .*$" 'font-lock-function-name-face)	; ### Headers
+   (cons "^\\*[\\*\\s]*$" 'font-lock-function-name-face) ; * * * style HRs
+   (cons "^-[-\\s]*$" 'font-lock-function-name-face)	; - - - style HRs
+   ;; Blockquotes
+   (cons "^>.*$" 'font-lock-comment-face)            ; > blockquote
+   ;; Bold
+   (cons "[^\\]?\\*\\*.+?\\*\\*" 'font-lock-type-face)     ; **bold**
+   (cons "[^\\]?__.+?__" 'font-lock-type-face)             ; __bold__
+   ;; Italic
+   (cons "[^\\]?\\*.+?\\*" 'font-lock-variable-name-face)  ; *italic*
+   (cons "[^\\]?_.+?_" 'font-lock-variable-name-face)      ; _italic_
+   ;; Lists
+   (cons "^[0-9]+\\." 'font-lock-variable-name-face) ; Numbered list
+   (cons "^\\*" 'font-lock-variable-name-face)	     ; Level 1 (no indent)
+   (cons "^\\+" 'font-lock-variable-name-face)	     ; Level 1 (no indent)
+   (cons "^\\-" 'font-lock-variable-name-face)	     ; Level 1 (no indent)
+   (cons "^  [ ]*\\*" 'font-lock-variable-name-face) ; Level 2 (two or more)
+   (cons "^  [ ]*\\+" 'font-lock-variable-name-face) ; Level 2 (two or more)
+   (cons "^  [ ]*\\-" 'font-lock-variable-name-face) ; Level 2 (two or more)
+   ;; Links
+   (cons regex-link-inline '(1 'font-lock-string-face t))
+   (cons regex-link-inline '(2 'font-lock-constant-face t))
+   (cons regex-link-reference '(1 'font-lock-string-face t))
+   (cons regex-link-reference '(2 'font-lock-comment-face t))
+   (cons regex-reference-definition '(1 'font-lock-comment-face t))
+   (cons regex-reference-definition '(2 'font-lock-constant-face t))
+   ;; Wiki links
+;   (cons "\\[\\[\\w+\\]\\]" 'font-lock-string-face)  ; Standard wiki link
+   (cons "\\[\\[.+\\]\\]" 'font-lock-string-face)
+   ;; Code
+   (cons "``.+?``" 'font-lock-constant-face)         ; ``inline code``
+   (cons "`.+?`" 'font-lock-constant-face)           ; `inline code`
+   (cons "^    .*$" 'font-lock-constant-face)        ;     code block
+   )
+  "Syntax highlighting for Markdown files.")
+
+
+;;; Element Insertion ==========================================================
+
+(defun wrap-or-insert (s1 s2)
+ "Insert the strings s1 and s2 around the current region or just insert them
+if there is no region selected."
+ (if (and transient-mark-mode mark-active)
+     (let ((a (region-beginning)) (b (region-end)))
+       (kill-region a b)
+       (insert s1)
+       (yank)
+       (insert s2))
+   (insert s1 s2)))
+
+(defun markdown-insert-hr ()
+  "Insert a horizonal rule."
+  (interactive)
+  (let (hr)
+    (dotimes (count (- markdown-hr-length 1) hr)	; Count to n - 1
+      (setq hr (concat "* " hr)))	                ; Build HR string
+    (setq hr (concat hr "*\n"))				; Add the n-th *
+    (insert hr)))
+
+(defun markdown-insert-bold ()
+  "Make the active region bold or insert an empty bold word."
+  (interactive)
+  (if markdown-bold-underscore
+      (wrap-or-insert "__" "__")
+    (wrap-or-insert "**" "**"))
+  (backward-char 2))
+
+(defun markdown-insert-italic ()
+  "Make the active region italic or insert an empty italic word."
+  (interactive)
+  (if markdown-italic-underscore
+      (wrap-or-insert "_" "_")
+    (wrap-or-insert "*" "*"))
+  (backward-char 1))
+
+(defun markdown-insert-code ()
+  "Format the active region as inline code or insert an empty inline code
+fragment."
+  (interactive)
+  (wrap-or-insert "`" "`")
+  (backward-char 1))
+
+(defun markdown-insert-link ()
+  "Creates an empty link of the form []().  If there is an active region,
+this text will be used for the link text."
+  (interactive)
+  (wrap-or-insert "[" "]")
+  (insert "()")
+  (backward-char 1))
+
+(defun markdown-insert-image ()
+  "Creates an empty image of the form ![]().  If there is an active region,
+this text will be used for the alternate text for the image."
+  (interactive)
+  (wrap-or-insert "![" "]")
+  (insert "()")
+  (backward-char 1))
+
+(defun markdown-insert-header-1 ()
+  "Creates a level 1 header"
+  (interactive)
+  (markdown-insert-header 1))
+
+(defun markdown-insert-header-2 ()
+  "Creates a level 2 header"
+  (interactive)
+  (markdown-insert-header 2))
+
+(defun markdown-insert-header-3 ()
+  "Creates a level 3 header"
+  (interactive)
+  (markdown-insert-header 3))
+
+(defun markdown-insert-header-4 ()
+  "Creates a level 4 header"
+  (interactive)
+  (markdown-insert-header 4))
+
+(defun markdown-insert-header-5 ()
+  "Creates a level 5 header"
+  (interactive)
+  (markdown-insert-header 5))
+
+(defun markdown-insert-header (n)
+  "Creates a level n header.  If there is an active region, it is used as the
+header text."
+  (interactive "p")
+  (unless n				; Test to see if n is defined
+    (setq n 1))				; Default to level 1 header
+  (let (hdr)
+    (dotimes (count n hdr)
+      (setq hdr (concat "#" hdr)))	; Build a ### header string
+    (setq hdrl (concat hdr " "))
+    (setq hdrr (concat " " hdr))
+    (wrap-or-insert hdrl hdrr))
+  (backward-char (+ 1 n)))
+
+(defun markdown-insert-title ()
+  "Use the active region to create an \"equals\" style title or insert
+a blank title and move the cursor to the required position in order to
+insert a title."
+  (interactive)
+  (if (and transient-mark-mode mark-active)
+      (let ((a (region-beginning))
+	    (b (region-end))
+	    (len 0)
+	    (hdr))
+	(setq len (- b a))
+	(dotimes (count len hdr)
+	  (setq hdr (concat "=" hdr)))	; Build a === title underline
+	(end-of-line)
+	(insert "\n" hdr "\n"))
+    (insert "\n==========\n")
+    (backward-char 12)))
+
+(defun markdown-insert-section ()
+  "Use the active region to create a dashed style section or insert
+a blank section and move the cursor to the required position in order to
+insert a section."
+  (interactive)
+  (if (and transient-mark-mode mark-active)
+      (let ((a (region-beginning))
+	    (b (region-end))
+	    (len 0)
+	    (hdr))
+	(setq len (- b a))
+	(dotimes (count len hdr)
+	  (setq hdr (concat "-" hdr)))	; Build a --- section underline
+	(end-of-line)
+	(insert "\n" hdr "\n"))
+    (insert "\n----------\n")
+    (backward-char 12)))
+
+(defun markdown-insert-blockquote ()
+  "Start a blank blockquote section unless there is an active region, in
+which case it is turned into a blockquote region."
+  (interactive)
+  (if (and (boundp 'transient-mark-mode) transient-mark-mode mark-active)
+      (blockquote-region)
+    (insert "> ")))
+
+
+;;; Keymap ====================================================================
+
+(defvar markdown-mode-map
+  (let ((markdown-mode-map (make-keymap)))
+    ;; Element insertion
+    (define-key markdown-mode-map "\C-c\C-al" 'markdown-insert-link)
+    (define-key markdown-mode-map "\C-c\C-ii" 'markdown-insert-image)
+    (define-key markdown-mode-map "\C-c\C-t1" 'markdown-insert-header-1)
+    (define-key markdown-mode-map "\C-c\C-t2" 'markdown-insert-header-2)
+    (define-key markdown-mode-map "\C-c\C-t3" 'markdown-insert-header-3)
+    (define-key markdown-mode-map "\C-c\C-t4" 'markdown-insert-header-4)
+    (define-key markdown-mode-map "\C-c\C-t5" 'markdown-insert-header-5)
+    (define-key markdown-mode-map "\C-c\C-pb" 'markdown-insert-bold)
+    (define-key markdown-mode-map "\C-c\C-ss" 'markdown-insert-bold)
+    (define-key markdown-mode-map "\C-c\C-pi" 'markdown-insert-italic)
+    (define-key markdown-mode-map "\C-c\C-se" 'markdown-insert-italic)
+    (define-key markdown-mode-map "\C-c\C-pf" 'markdown-insert-code)
+    (define-key markdown-mode-map "\C-c\C-sc" 'markdown-insert-code)
+    (define-key markdown-mode-map "\C-c\C-sb" 'markdown-insert-blockquote)
+    (define-key markdown-mode-map "\C-c-" 'markdown-insert-hr)
+    (define-key markdown-mode-map "\C-c\C-tt" 'markdown-insert-title)
+    (define-key markdown-mode-map "\C-c\C-ts" 'markdown-insert-section)
+    ;; Markdown functions
+    (define-key markdown-mode-map "\C-c\C-cm" 'markdown)
+    (define-key markdown-mode-map "\C-c\C-cp" 'markdown-preview)
+    markdown-mode-map)
+  "Keymap for Markdown major mode")
+
+
+;;; Markdown ==================================================================
+
+(defun markdown ()
+  "Run markdown on the current buffer and preview the output in another buffer."
+  (interactive)
+    (if (and (boundp 'transient-mark-mode) transient-mark-mode mark-active)
+	(shell-command-on-region region-beginning region-end markdown-command
+				 "*markdown-output*" nil)
+      (shell-command-on-region (point-min) (point-max) markdown-command
+			       "*markdown-output*" nil)))
+
+(defun markdown-preview ()
+  "Run markdown on the current buffer and preview the output in a browser."
+  (interactive)
+  (markdown)
+  (browse-url-of-buffer "*markdown-output*"))
+
+
+;;; Utilities =================================================================
+
+(defun markdown-show-version ()
+  "Show the version number in the minibuffer."
+  (interactive)
+  (message "markdown-mode, version %s" markdown-mode-version))
+
+(defun blockquote-region ()
+  "Blockquote an entire region."
+  (interactive)
+  (if (and (boundp 'transient-mark-mode) transient-mark-mode mark-active)
+      (replace-regexp "^" "> ")))
+
+
+;; Mode definition  ===========================================================
+
+(define-derived-mode markdown-mode fundamental-mode "Markdown"
+  "Major mode for editing Markdown files."
+  ;; Font lock.
+  (set (make-local-variable 'font-lock-defaults)
+       '(markdown-mode-font-lock-keywords))
+  (set (make-local-variable 'font-lock-multiline) t))
+
+;(add-to-list 'auto-mode-alist '("\\.mdml$" . markdown-mode))
+
+(provide 'markdown-mode)
+
+;;; Change log
+;;
+;; 2007-06-29 Jason Blevins <[EMAIL PROTECTED]>
+;;   * Changed \s to \\s in regexps to fix the Emacs 21 "Invalid escape
+;;     character syntax." error.  Thanks to Edward O'Connor for the fix.
+;;   * Revision 1.4.
+;;
+;; 2007-06-05 Jason Blevins <[EMAIL PROTECTED]>
+;;   * Revision 1.3.
+;;
+;; 2007-05-29 Jason Blevins <[EMAIL PROTECTED]>
+;;   * Added support for equals and dash style headings.
+;;   * Added markdown-show-version.
+;;   * Ability to preview markdown output in a buffer (markdown) or
+;;     in a browser (markdown-preview).  Markdown command is customizable.
+;;   * Made HR length customizable through markdown-hr-length.
+;;   * Made bold and italic style customizable through markdown-bold-underscore
+;;     and markdown-italic-underscore.
+;;   * Made keybindings more like those of html-helper-mode.
+;;   * Added image insertion (markdown-insert-image).
+;;   * Font lock for code fragments with double backticks.
+;;   * Added blockquote-region function and insert-blockquote keybinding.
+;;   * Don't highlight escaped literals such as \* or \_.
+;;   * Added header insertion commands for H1-H5 (markdown-insert-header-n).
+;;
+;; 2007-05-25 Jason Blevins <[EMAIL PROTECTED]>
+;;   * Added element insertion commands and keys for links, horizontal rules,
+;;     headers, inline code, and bold and italic text.
+;;   * Revision 1.2.
+;;
+;; 2007-05-24 Jason Blevins <[EMAIL PROTECTED]>
+;;   * Initial revision.
+;;   * Basic syntax highlighting support.
+;;   * Revision 1.1.
+
+;;; markdown-mode.el ends here

--- End Message ---
--- Begin Message ---
Version: 27.0-1

The subject says it all.

-- 
Cyril Brulebois

Attachment: pgp7CxOZyp86v.pgp
Description: PGP signature


--- End Message ---

Reply via email to