(lsdb-read) [Emacs]: Don't create temp buffer.
[elisp/lsdb.git] / lsdb.el
diff --git a/lsdb.el b/lsdb.el
index 4b04f75..718a214 100644 (file)
--- a/lsdb.el
+++ b/lsdb.el
@@ -371,11 +371,8 @@ This is the current number of slots in HASH-TABLE, whether occupied or not."
        (save-excursion
         (goto-char marker)
         (if (looking-at "^#s(")
-            (with-temp-buffer
-              (buffer-disable-undo)
-              (insert-buffer-substring (marker-buffer marker) marker)
-              (goto-char (point-min))
-              (delete-char 2)
+            (progn
+              (forward-char 2) ;skip "#s"
               (let ((object (read (current-buffer)))
                     hash-table data)
                 (if (eq 'hash-table (car object))
@@ -388,7 +385,8 @@ This is the current number of slots in HASH-TABLE, whether occupied or not."
                       (while data
                         (lsdb-puthash (pop data) (pop data) hash-table))
                       hash-table)
-                  object)))))))))
+                  object)))
+          (read marker)))))))
 
 (defun lsdb-load-hash-tables ()
   "Read the contents of `lsdb-file' into the internal hash tables."