Function: tar-new-entry
tar-new-entry is an interactive and byte-compiled function defined in
tar-mode.el.gz.
Signature
(tar-new-entry FILENAME &optional INDEX)
Documentation
Insert a new empty regular file before point.
Probably introduced at or before Emacs version 25.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/tar-mode.el.gz
(defun tar-new-entry (filename &optional index)
"Insert a new empty regular file before point."
(interactive "*sFile name: ")
(let* ((index (or index (tar-current-position)))
(d-list (and (not (zerop index))
(nthcdr (+ -1 index) tar-parse-info)))
(pos (if d-list
(tar-header-data-end (car d-list))
(point-min)))
(new-descriptor
(tar-new-regular-file-header filename)))
;; Update the data buffer; fill the missing descriptor fields.
(with-current-buffer tar-data-buffer
(goto-char pos)
(insert (tar-header-serialize new-descriptor t))
(setf (tar-header-data-start new-descriptor)
(copy-marker (point) nil)))
;; Update tar-parse-info.
(if d-list
(setcdr d-list (cons new-descriptor (cdr d-list)))
(setq tar-parse-info (cons new-descriptor tar-parse-info)))
;; Update the listing buffer.
(save-excursion
(goto-char (point-min))
(forward-line index)
(let ((inhibit-read-only t))
(insert (tar-header-block-summarize new-descriptor) ?\n)))
;; .
index))