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.

Reply via email to