emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/code-cells 4e973e0122 26/36: Do not assume Emacs has na


From: ELPA Syncer
Subject: [elpa] externals/code-cells 4e973e0122 26/36: Do not assume Emacs has native JSON parsing available
Date: Mon, 28 Feb 2022 15:57:43 -0500 (EST)

branch: externals/code-cells
commit 4e973e01220ad7a3e2d0d50a9c5192a9385e0ede
Author: Augusto Stoffel <arstoffel@gmail.com>
Commit: Augusto Stoffel <arstoffel@gmail.com>

    Do not assume Emacs has native JSON parsing available
    
    Closes #2
---
 code-cells.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/code-cells.el b/code-cells.el
index 19dc2faccf..cae22651b4 100644
--- a/code-cells.el
+++ b/code-cells.el
@@ -41,6 +41,7 @@
 ;;; Code:
 
 (require 'map)
+(require 'json)
 (require 'pulse)
 (require 'subr-x)
 (eval-when-compile (require 'rx))
@@ -333,10 +334,12 @@ program name followed by arguments."
 (defun code-cells-convert-ipynb ()
   "Convert buffer from ipynb format to a regular script."
   (goto-char (point-min))
-  (let* ((nb (json-parse-buffer))
+  (let* ((nb (cl-letf ;; Skip over the possibly huge "cells" section
+                 (((symbol-function 'json-read-array) 'forward-sexp))
+               (json-read)))
          (pt (point))
-         (lang (or (map-nested-elt nb '("metadata" "kernelspec" "language"))
-                   (map-nested-elt nb '("metadata" "jupytext" 
"main_language"))))
+         (lang (or (map-nested-elt nb '(metadata kernelspec language))
+                   (map-nested-elt nb '(metadata jupytext main_language))))
          (mode (or (nth 2 code-cells-convert-ipynb-style)
                    (intern (concat lang "-mode"))))
          (exit (code-cells--call-process t (nth 1 
code-cells-convert-ipynb-style))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]