[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/markdown-mode 92830999de 10/33: Merge branch 'master' into
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/markdown-mode 92830999de 10/33: Merge branch 'master' into jayemar/toggle-hiding-of-wiki-links |
Date: |
Wed, 2 Apr 2025 01:01:27 -0400 (EDT) |
branch: elpa/markdown-mode
commit 92830999de663419970d2dee0b42d4fcc121cfd7
Merge: 847e7de1b1 b8637bae07
Author: Joe Reinhart <joseph.reinhart@gmail.com>
Commit: Joe Reinhart <joseph.reinhart@gmail.com>
Merge branch 'master' into jayemar/toggle-hiding-of-wiki-links
---
CHANGES.md | 10 ++++++++++
README.md | 5 ++---
markdown-mode.el | 37 ++++++++++++++++++-------------------
tests/markdown-test.el | 44 +++++++++++++++++++++++++++++++++-----------
4 files changed, 63 insertions(+), 33 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index 411102ba5a..50709e47bd 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -13,6 +13,7 @@
variable `markdown-special-ctrl-a/e`, like Org mode.
- Trailing whitespace characters for line breaks are hidden when using
`markdown-hide-markup`
+ - `fill-paragraph` considers GFM alert syntax [GH-838][]
* Bug fixes:
- Don't highlight superscript/subscript in math inline/block [GH-802][]
@@ -20,11 +21,16 @@
- Fix the regexp in the download languages script [GH-827][]
- Don't hide backslashes in code blocks when using `markdown-hide-markup`
and `markdown-fontify-code-blocks-natively` together [GH-766][]
+ - Fix `markdown-fontify-whole-heading-line` regression [GH-848][]
* Improvements:
- Apply url-unescape against URL in an inline link [GH-805][]
- Show mode toggle message only if it is called interactively
- Copy `markdown-css-paths` in the output buffer [GH-834][]
+ - Change temporary buffer name according to the Emacs naming convention
[GH-848][]
+ - Mark `markdown-css-paths` safe as file local variables [GH-834][]
+ - Resolve style sheets in `markdown-css-paths` relative to the Markdown
file
+ [GH-855][]
[gh-780]: https://github.com/jrblevin/markdown-mode/issues/780
[gh-802]: https://github.com/jrblevin/markdown-mode/issues/802
@@ -33,6 +39,10 @@
[gh-817]: https://github.com/jrblevin/markdown-mode/issues/817
[gh-827]: https://github.com/jrblevin/markdown-mode/issues/827
[gh-834]: https://github.com/jrblevin/markdown-mode/issues/834
+ [gh-838]: https://github.com/jrblevin/markdown-mode/issues/838
+ [gh-845]: https://github.com/jrblevin/markdown-mode/issues/845
+ [gh-848]: https://github.com/jrblevin/markdown-mode/issues/848
+ [gh-855]: https://github.com/jrblevin/markdown-mode/issues/855
# Markdown Mode 2.6
diff --git a/README.md b/README.md
index 182141a0d3..f0b384243c 100644
--- a/README.md
+++ b/README.md
@@ -148,7 +148,7 @@ maintainer if not).
* Ubuntu Linux: [elpa-markdown-mode][elpa-ubuntu] and
[emacs-goodies-el][emacs-goodies-el-ubuntu]
* RedHat and Fedora Linux: [emacs-goodies][]
* NetBSD: [textproc/markdown-mode][]
- * MacPorts: [markdown-mode.el][macports-package]
([pending][macports-ticket])
+ * MacPorts: [markdown-mode.el][macports-package]
* FreeBSD: [textproc/markdown-mode.el][freebsd-port]
[elpa-markdown-mode]: https://packages.debian.org/sid/lisp/elpa-markdown-mode
@@ -157,8 +157,7 @@ maintainer if not).
[emacs-goodies-el-ubuntu]:
http://packages.ubuntu.com/search?keywords=emacs-goodies-el
[emacs-goodies]: https://apps.fedoraproject.org/packages/emacs-goodies
[textproc/markdown-mode]: http://pkgsrc.se/textproc/markdown-mode
- [macports-package]:
https://trac.macports.org/browser/trunk/dports/editors/markdown-mode.el/Portfile
- [macports-ticket]: http://trac.macports.org/ticket/35716
+ [macports-package]: https://ports.macports.org/port/markdown-mode.el/
[freebsd-port]: http://svnweb.freebsd.org/ports/head/textproc/markdown-mode.el
**Dependencies**
diff --git a/markdown-mode.el b/markdown-mode.el
index 71281607e8..149b07b13b 100644
--- a/markdown-mode.el
+++ b/markdown-mode.el
@@ -370,6 +370,7 @@ Math support can be enabled, disabled, or toggled later
using
(defcustom markdown-css-paths nil
"List of URLs of CSS files to link to in the output XHTML."
:group 'markdown
+ :safe (lambda (x) (and (listp x) (cl-every #'stringp x)))
:type '(repeat (string :tag "CSS File Path")))
(defcustom markdown-content-type "text/html"
@@ -3614,30 +3615,25 @@ SEQ may be an atom or a sequence."
(add-text-properties
(match-beginning 3) (match-end 3) rule-props)))
;; atx heading
- (let ((header-end
+ (let ((fontified-start
+ (if (or markdown-hide-markup (not
markdown-fontify-whole-heading-line))
+ (match-beginning 5)
+ (match-beginning 0)))
+ (fontified-end
(if markdown-fontify-whole-heading-line
(min (point-max) (1+ (match-end 0)))
- (match-end 0))))
+ (match-end 5))))
(add-text-properties
(match-beginning 4) (match-end 4) left-markup-props)
;; If closing tag is present
(if (match-end 6)
(progn
- (if markdown-hide-markup
- (progn
- (add-text-properties
- (match-beginning 5) header-end heading-props)
- (add-text-properties
- (match-beginning 6) (match-end 6) right-markup-props))
- (add-text-properties
- (match-beginning 5) (match-end 5) heading-props)
- (add-text-properties
- (match-beginning 6) header-end right-markup-props)))
+ (add-text-properties fontified-start fontified-end
heading-props)
+ (when (or markdown-hide-markup (not
markdown-fontify-whole-heading-line))
+ (add-text-properties (match-beginning 6) (match-end 6)
right-markup-props)))
;; If closing tag is not present
- (add-text-properties
- (match-beginning 5) header-end heading-props))
- )))
+ (add-text-properties fontified-start fontified-end
heading-props)))))
t))
(defun markdown-fontify-tables (last)
@@ -7795,9 +7791,7 @@ Standalone XHTML output is identified by an occurrence of
(defun markdown-stylesheet-link-string (stylesheet-path)
(concat "<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\""
- (or (and (string-prefix-p "~" stylesheet-path)
- (expand-file-name stylesheet-path))
- stylesheet-path)
+ (expand-file-name stylesheet-path)
"\" />"))
(defun markdown-escape-title (title)
@@ -9232,7 +9226,7 @@ position."
(remove-text-properties start end '(face nil))
(with-current-buffer
(get-buffer-create
- (concat " markdown-code-fontification:" (symbol-name lang-mode)))
+ (format " *markdown-code-fontification:%s*" (symbol-name
lang-mode)))
;; Make sure that modification hooks are not inhibited in
;; the org-src-fontification buffer in case we're called
;; from `jit-lock-function' (Bug#25132).
@@ -10398,6 +10392,11 @@ rows and columns and the column alignment."
(setq markdown-link-space-sub-char "-")
(setq markdown-wiki-link-search-subdirectories t)
(setq-local markdown-table-at-point-p-function #'gfm--table-at-point-p)
+ (setq-local paragraph-separate
+ (concat paragraph-separate
+ "\\|"
+ ;; GFM alert syntax
+
"^>\s-*\\[!\\(?:NOTE\\|TIP\\|IMPORTANT\\|WARNING\\|CAUTION\\)\\]"))
(add-hook 'post-self-insert-hook #'gfm--electric-pair-fence-code-block
'append t)
(markdown-gfm-parse-buffer-for-languages))
diff --git a/tests/markdown-test.el b/tests/markdown-test.el
index b1a881dcaa..9505e4a52c 100644
--- a/tests/markdown-test.el
+++ b/tests/markdown-test.el
@@ -3073,19 +3073,17 @@ puts markdown.to_html
(let ((markdown-fontify-whole-heading-line t))
(let ((markdown-hide-markup nil))
(markdown-test-string "## abc \n"
- (markdown-test-range-has-face 4 9
'markdown-header-face-2))
+ (markdown-test-range-has-face 1 8 'markdown-header-face-2))
(markdown-test-string "## abc ##\n"
- (markdown-test-range-has-face 4 6
'markdown-header-face-2)
- (markdown-test-range-has-face 7 10
'markdown-header-delimiter-face)))
+ (markdown-test-range-has-face 1 9 'markdown-header-face-2)))
(let ((markdown-hide-markup t))
(markdown-test-string "## abc \n"
- (markdown-test-range-has-face 4 9
'markdown-header-face-2))
+ (markdown-test-range-has-face 4 9 'markdown-header-face-2))
(markdown-test-string "## abc ##\n"
- (markdown-test-range-has-face 4 6
'markdown-header-face-2)
- (markdown-test-range-has-face 7 9
'markdown-header-delimiter-face)
- (markdown-test-range-has-face 10 10
'markdown-header-face-2))
- )))
+ (markdown-test-range-has-face 4 6 'markdown-header-face-2)
+ (markdown-test-range-has-face 7 9 'markdown-header-delimiter-face)
+ (markdown-test-range-has-face 10 10 'markdown-header-face-2)))))
(ert-deftest test-markdown-font-lock/setext-1-letter ()
"An edge case for level-one setext headers."
@@ -6109,6 +6107,16 @@ bar baz"
(markdown-fill-paragraph)
(should (string= (buffer-string) "- foo bar baz"))))
+(ert-deftest test-markdown-filling/gfm-alert ()
+ "Fill paragraph at GFM alert."
+ (let ((levels '("NOTE" "TIP" "IMPORTANT" "WARNING" "CAUTION"))
+ (template "> [!%s]\foo bar baz"))
+ (dolist (level levels)
+ (let ((input (format template level)))
+ (markdown-test-string-mode 'gfm-mode input
+ (markdown-fill-paragraph)
+ (should (string= (buffer-string) input)))))))
+
;;; Export tests:
(ert-deftest test-markdown-hook/xhtml-standalone ()
@@ -6176,15 +6184,29 @@ bar baz"
(ert-deftest test-markdown-export/buffer-local-css-path ()
"Test buffer local `markdown-css-paths'"
- (let ((markdown-css-paths '("./global.css")))
+ (let ((markdown-css-paths '("/global.css")))
(markdown-test-temp-file "inline.text"
- (setq-local markdown-css-paths '("./local.css"))
+ (setq-local markdown-css-paths '("/local.css"))
(let* ((markdown-export-kill-buffer nil)
(file (markdown-export))
(buffer (get-file-buffer file)))
(with-current-buffer buffer
(goto-char (point-min))
- (should (search-forward "href=\"./local.css\"")))
+ (should (search-forward "href=\"/local.css\"")))
+ (kill-buffer buffer)
+ (delete-file file)))))
+
+(ert-deftest test-markdown-export/relative-css-path ()
+ "Test relative `markdown-css-paths'."
+ (let ((markdown-css-paths '("style.css")))
+ (markdown-test-temp-file "inline.text"
+ (let* ((markdown-export-kill-buffer nil)
+ (file (markdown-export))
+ (buffer (get-file-buffer file))
+ (expanded-path (concat default-directory "style.css")))
+ (with-current-buffer buffer
+ (goto-char (point-min))
+ (should (search-forward (format "href=\"%s\"" expanded-path))))
(kill-buffer buffer)
(delete-file file)))))
- [nongnu] elpa/markdown-mode 5bebb44f7f 17/33: Pull in latest from master, (continued)
- [nongnu] elpa/markdown-mode 5bebb44f7f 17/33: Pull in latest from master, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 606110f2d7 31/33: Add line to CHANGES.md references this PR, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 6f66ba336d 28/33: Mark functions as obsolete, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode c9c9ec6bcd 23/33: Use markdown--markup-props instead of recreating as mp, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode f1447ef770 02/33: Proper faces are added to wiki links to allow for proper colorization, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 2120fc06d0 05/33: Removed unused bindings in markdown-eldoc-function, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 847e7de1b1 09/33: Code cleanup, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 37863796c8 21/33: Remove tp for pre-calculated markdown--title-props, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode e50a72a6cb 24/33: Merge branch 'master' into jayemar/toggle-hiding-of-wiki-links, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode f8605b9ace 01/33: Initial somewhat hacky method to enable wiki link markup hiding, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 92830999de 10/33: Merge branch 'master' into jayemar/toggle-hiding-of-wiki-links,
ELPA Syncer <=
- [nongnu] elpa/markdown-mode 76a81fa6da 20/33: Remove redundant mp for use of markdown--markup-props, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 360abf5ff5 25/33: Reintroduce public functions that had been removed, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode 9d2850ed58 33/33: Merge pull request #861 from jayemar/jayemar/toggle-hiding-of-wiki-links, ELPA Syncer, 2025/04/02
- [nongnu] elpa/markdown-mode f285a34115 11/33: Fix wiki link font properties and remove unnecessary wiki link-related code, ELPA Syncer, 2025/04/02