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 ") +(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