Markdown Mode 2.1 Release Notes
Markdown Mode for Emacs version 2.1 was released on January 9, 2016. This is a major new stable release and all users are encouraged to upgrade. The many new features and bug fixes included are described below. See the Git repository or the commit-specific links below for a detailed history of changes.
Compatibility
Markdown Mode is developed and tested primarily for compatibility with
GNU Emacs versions 24.3 and later. It requires cl-lib
version 0.5
or later. This library has been bundled with GNU Emacs since version
24.3. Users of GNU Emacs 24.1 and 24.2 can install cl-lib
using
M-x package-install RET cl-lib
.
New Features
General
Add automatically updating live preview functionality (C-c C-c l) via the native
eww
browser. (59a4986 to 41adc10, c0bb1c9, and b14cdbc)Use
autoload
to enablemarkdown-mode
inauto-mode-alist
for files with.text
,.markdown
, and.md
extensions. (7ac63cb, b664a7b, e1446e2, f1632bc)Use Travis CI for automated build testing. (9d511f9, 1a3f7bb)
Element Insertion and Editing
ATX heading subtree promotion and demotion via M-S-LEFT, and M-S-RIGHT. (29802bf, bfe7f32)
ATX heading subtree moving up and down via M-S-UP and M-S-DOWN. (4b98003)
Convert inline links to reference links when
markdown-insert-reference-link-dwim
is used when the point is at an inline link. (f6a4969, e7f2f29)
Customizable Features
Allow linking to multiple stylesheets in
markdown-css-paths
list. Use stylesheets for both preview and export. Previousmarkdown-css-path
(singular) is now deprecated. (b936fce, 147f06b, 5bc34cf)Customizable default unordered list marker via
markdown-unordered-list-item-prefix
. (0a82af2)Add asymmetric ATX heading adornment option
markdown-asymmetric-header
. (fe30ef7, c04b44c)
Font Lock
Separate highlighting for Markdown markup characters (asterisks, underscores, backquotes, etc.) to aid in readability. (8d9944f)
General font lock improvements for comments (496fd19), code blocks (ed6b05e, 5f558a6, aa4f407 03e6e8e), blockquotes (c8d025f), headings (292abd8, 3b1c064), horizontal rules (cb3988b), bold (24dd57d), italics (1ed32c3, 530e735)
Font lock for bold, italics, and LaTeX math work inside block elements such as headings and blockquotes. (dae7046, 50e6570, b07afc4, 37e1257, e938a08)
GFM
Support GFM-style code blocks in
markdown-mode
(as well asgfm-mode
). (9b202c6, 59a4986)New function
markdown-electric-backquote
will prompt for a language name for GFM code blocks. This can be disabled by customizing the variablemarkdown-gfm-use-electric-backquote
. (d76d286)Completion of programming language names for GFM code blocks. A list of pre-defined languages is included, but this can be augmented by setting
markdown-gfm-additional-languages
. (bc5ad26 to 71481e0 and 4260e68)Strikethrough support in
gfm-mode
. (d699de0)Support for GFM toggling checkboxes
mouse-1
or RET. This is controlled by a new custom variable,markdown-make-gfm-checkboxes-buttons
. (4121324)
Other Extensions
Font lock and filling for Pandoc “fancy lists,” which use
#
as the list marker. (4b8ac27)Basic support for filling of definition lists. (84a49f6)
Support Ikiwiki-style search for wiki links that allows links relative to parent directories. Enable this by setting
markdown-wiki-link-search-parent-directories
. (f81bfdd, 4a598b2, 9848e3f)
Bug Fixes
Fix bug in markdown-complete-region/buffer where level-two Setext headings could be confused with horizontal rules. Includes a unit test. Thanks to Gunnar Franke for the report. (d51ca9c)
Fix filling when a decimal number appears at column zero, which could be confused with an ordered list item. (8413823)
Fix buffer-wide markup completion. (97537ec)
Fix font-lock for GFM code blocks without language keywords. (15b41ba)
Improved Setext header insertion to support wide characters. (9b3f881)
Fix expensive
paragraph-separate
regular expression. (05580fc)Make
comment-auto-fill-only-comments
a buffer-local variable, which allows for better default filling behavior in cases where the global variable is non-nil
. (b431f29)Fix Emacs 23 compatibility by checking for
font-lock-refresh-defaults
before calling it. (dea0ae2)Handle reference definitions when filling paragraphs. (0c239e2)
Improve filling of list items with indentation. (6bf23ae)
Properly handle footnotes when filling. (08efd53)
Fix issues with markdown-footnote-kill and related functions. ([8b70996][])
Improve font lock for fenced code blocks. (a54767f)
Avoid avoid overwriting source file when exporting if source file has
.html
extension. (35a73ca)Fix and improve ordered list behavior to preserve digit spacing and avoid an infinite loop in certain cases. Adjust ordered list whitespace when marker digit count increases. (dc8ac3c, 0ec7248)
Improve reference definition regular expression to avoid matching multiple reference links in one line. (b795a64)
Allow spaces in fenced code language identifiers. (d621bc0)
Improve font lock for preformatted blocks and fenced code blocks. (38ac37a)
Fix out-of-order HTML output. (b462983)
Add console-friendly backspace and tab bindings. (88fdd19)
Better treatment of files without extensions for wiki links. When files have no extensions, don’t append a lone period. (5aa7380)
Call
looking-back
with two arguments for compatibility with Emacs 25.1. (fd3054b)Make
(beginning-of-defun -1)
go to next title when point is at beginning of defun. (92fc302, 4f75107)Ignore headings in code blocks for font lock. (fcf56f4), movement (5daa9fc), and visibility cycling (3192c9b).
Don’t highlight wiki links in code blocks. (d299a37)
Don’t move to links in code blocks with C-c C-p and C-c C-n. (b2e3e18)
Fix hanging indentation for list items and single-line preformatted blocks. (0c71203, 729ebd5, 6f09417)
Better rejection of false positives for italics with respect to other inline elements (inline code and bold). (5c032a9, 5b206ce
Predicate functions should not modify match data. (2e46ac0)
Use correct list marker from previous list level when using C-u M-RET to insert a dedented list item. Prevent an infinite loop in some cases. (a648097, 60f7f97)
Reduce lag when scrolling or inserting text into large files. (02fe851, 9117107, ea4ee74, 00152d5, 1541a09, acf7c5e)
Avoid confusing tramp errors with malformed wiki links. (02b8873, bdc065b)
Acknowledgments
This release of Markdown Mode contains patches written by many individuals including Masayuki Ataka, Jonas Bernoulli, Roger Bolsius, Daniel Brotsky, Julien Danjou, Samuel Freilich, David Glasser, Marijn Haverbeke, Antonis Kanouras, Keshav Kini, Vasily Korytov, Danny McClanahan, Matt McClure, Howard Melman, Makoto Motohashi, Jon Mountjoy, Pierre Neidhardt, Spanti Nicola, Paul W. Rankin, Christophe Rhodes, Tim Visher, and Syohei Yoshida. Many others also submitted bug reports. Thanks to everyone for your contributions.