Function: nneething-get-head

nneething-get-head is a byte-compiled function defined in nneething.el.gz.

Signature

(nneething-get-head FILE)

Documentation

Either find the head in FILE or make a head for FILE.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nneething.el.gz
(defun nneething-get-head (file)
  "Either find the head in FILE or make a head for FILE."
  (with-current-buffer (gnus-get-buffer-create nneething-work-buffer)
    (setq case-fold-search nil)
    (buffer-disable-undo)
    (erase-buffer)
    (cond
     ((not (file-exists-p file))
      ;; The file do not exist.
      nil)
     ((or (file-directory-p file)
	  (file-symlink-p file))
      ;; It's a dir, so we fudge a head.
      (nneething-make-head file) t)
     (t
      ;; We examine the file.
      (condition-case ()
	  (progn
	    (nnheader-insert-head file)
	    (if (nnheader-article-p)
		(delete-region
		 (progn
		   (goto-char (point-min))
		   (or (and (search-forward "\n\n" nil t)
			    (1- (point)))
		       (point-max)))
		 (point-max))
	      (goto-char (point-min))
	      (nneething-make-head file (current-buffer))
	      (delete-region (point) (point-max))))
	(file-error
	 (nneething-make-head file (current-buffer) " (unreadable)")))
      t))))