Function: doc-view-open-text

doc-view-open-text is an interactive and byte-compiled function defined in doc-view.el.gz.

Signature

(doc-view-open-text)

Documentation

Display the current doc's contents as text.

View in manual

Probably introduced at or before Emacs version 31.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/doc-view.el.gz
(defun doc-view-open-text ()
  "Display the current doc's contents as text."
  (interactive)
  (if doc-view--current-converter-processes
      (message "DocView: please wait till conversion finished.")
    (let ((txt (expand-file-name "doc.txt" (doc-view--current-cache-dir)))
          (page (or (doc-view-current-page) 1)))
      (if (file-readable-p txt)
          (let ((dv-bfn doc-view--buffer-file-name)
                (dv-text-buffer-name (format "%s/text" (buffer-name))))
            ;; Prepare the text buffer
            (with-current-buffer (get-buffer-create dv-text-buffer-name)
              (let ((inhibit-read-only t)
                    (buffer-undo-list t))
                (erase-buffer)
                (set-buffer-multibyte t)
                (insert-file-contents txt)
                (doc-view--text-view-mode)
                (setq-local doc-view--buffer-file-name dv-bfn)
                ;; Pages are separated by form feed characters.
                (setq-local page-delimiter "")
                (set-buffer-modified-p nil)
                (doc-view-minor-mode)
                (goto-char (point-min))
                ;; Put point at the start of the page the user was
                ;; reading.  Pages are separated by Control-L characters.
                (re-search-forward page-delimiter nil t (1- page))))
            (switch-to-buffer (get-buffer dv-text-buffer-name)))
        (doc-view-doc->txt txt 'doc-view-open-text)))))