1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-07 20:54:32 +00:00

Merge from origin/emacs-25

96d9e78 Fix "Beginning of buffer" error in forward-page
20686f7 Add a `transient' project type
This commit is contained in:
Paul Eggert 2016-04-11 09:07:16 -07:00
commit d1e2b10afa
2 changed files with 15 additions and 8 deletions

View File

@ -101,7 +101,9 @@ that it is not applicable, or a project instance.")
(defun project-current (&optional maybe-prompt dir)
"Return the project instance in DIR or `default-directory'.
When no project found in DIR, and MAYBE-PROMPT is non-nil, ask
the user for a different directory to look in."
the user for a different directory to look in. If that directory
is not a part of a detectable project either, return a
`transient' project instance rooted in it."
(unless dir (setq dir default-directory))
(let ((pr (project--find-in-directory dir)))
(cond
@ -110,7 +112,8 @@ the user for a different directory to look in."
(setq dir (read-directory-name "Choose the project directory: " dir nil t)
pr (project--find-in-directory dir))
(unless pr
(user-error "No project found in `%s'" dir))))
(message "Using '%s' as a transient project root" dir)
(setq pr (cons 'transient dir)))))
pr))
(defun project--find-in-directory (dir)
@ -182,6 +185,9 @@ to find the list of ignores for each directory."
(t
(complete-with-action action all-files string pred))))))
(cl-defmethod project-roots ((project (head transient)))
(list (cdr project)))
(defgroup project-vc nil
"Project implementation using the VC package."
:version "25.1"

View File

@ -48,12 +48,13 @@ A page boundary is any line whose beginning matches the regexp
(and (save-excursion (re-search-backward page-delimiter nil t))
(= (match-end 0) (point))
(goto-char (match-beginning 0)))
(forward-char -1)
(if (re-search-backward page-delimiter nil t)
;; We found one--move to the end of it.
(goto-char (match-end 0))
;; We found nothing--go to beg of buffer.
(goto-char (point-min)))
(unless (bobp)
(forward-char -1)
(if (re-search-backward page-delimiter nil t)
;; We found one--move to the end of it.
(goto-char (match-end 0))
;; We found nothing--go to beg of buffer.
(goto-char (point-min))))
(setq count (1+ count))))
(defun backward-page (&optional count)