From: ueno Date: Sun, 25 Aug 2002 06:45:06 +0000 (+0000) Subject: (lsdb-read) [Emacs]: Don't create temp buffer. X-Git-Tag: lsdb-0_9~4 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=82687996600823536e14c37b42a9198ae842a292;p=elisp%2Flsdb.git (lsdb-read) [Emacs]: Don't create temp buffer. --- diff --git a/lsdb.el b/lsdb.el index 28893fe..718a214 100644 --- a/lsdb.el +++ b/lsdb.el @@ -371,30 +371,21 @@ This is the current number of slots in HASH-TABLE, whether occupied or not." (save-excursion (goto-char marker) (if (looking-at "^#s(") - (let ((end-marker - (progn - (forward-char 2) ;skip "#s" - (forward-sexp) ;move to the left paren - (point-marker)))) - (with-temp-buffer - (buffer-disable-undo) - (insert-buffer-substring (marker-buffer marker) - marker end-marker) - (goto-char (point-min)) - (delete-char 2) - (let ((object (read (current-buffer))) - hash-table data) - (if (eq 'hash-table (car object)) - (progn - (setq hash-table - (lsdb-make-hash-table - :size (plist-get (cdr object) 'size) - :test 'equal) - data (plist-get (cdr object) 'data)) - (while data - (lsdb-puthash (pop data) (pop data) hash-table)) - hash-table) - object)))) + (progn + (forward-char 2) ;skip "#s" + (let ((object (read (current-buffer))) + hash-table data) + (if (eq 'hash-table (car object)) + (progn + (setq hash-table + (lsdb-make-hash-table + :size (plist-get (cdr object) 'size) + :test 'equal) + data (plist-get (cdr object) 'data)) + (while data + (lsdb-puthash (pop data) (pop data) hash-table)) + hash-table) + object))) (read marker))))))) (defun lsdb-load-hash-tables ()