branch: externals/org
commit a365775e45e31b3e800390eda839eb12fc44c9c5
Author: Ihor Radchenko <[email protected]>
Commit: Ihor Radchenko <[email protected]>
org-src-get-lang-mode: Support major-mode-remap-alist in Emacs 29
* lisp/org-src.el (org-src-get-lang-mode): When `major-mode-remap' is
not available (Emacs 30+), try `major-mode-remap-alist', if available.
Reported-by: Troy Brown <[email protected]>
Link:
https://orgmode.org/list/cabvcz41mqz9bhz8dd-hnd8nbxi3nmjf-ru2xq0b375zct3n...@mail.gmail.com
---
lisp/org-src.el | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lisp/org-src.el b/lisp/org-src.el
index 495e793980..ac3907ba8d 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -993,9 +993,11 @@ LANG is a string, and the returned value is a symbol."
(let ((l (or (cdr (assoc lang org-src-lang-modes)) lang)))
(if (symbolp l) (symbol-name l) l))
"-mode"))))
- (if (fboundp 'major-mode-remap)
- (major-mode-remap mode)
- mode)))
+ (cond
+ ((fboundp 'major-mode-remap) (major-mode-remap mode))
+ ((boundp 'major-mode-remap-alist)
+ (or (cdr (assq mode major-mode-remap-alist)) mode))
+ (t mode))))
(defun org-src-get-lang-mode-if-bound (lang &optional fallback
fallback-message-p)
"Return major mode for LANG, if bound, and FALLBACK otherwise.