Commit 8cc8adb0 authored by Andrea Corallo's avatar Andrea Corallo

Merge remote-tracking branch 'savannah/master' into HEAD

parents f8b07ff4 5d5d5d49
Pipeline #5073 failed with stage
in 298 minutes and 57 seconds
......@@ -31,6 +31,7 @@
# This list derives from the features we want Emacs to compile with.
PKG_REQ='''mingw-w64-x86_64-giflib
mingw-w64-x86_64-gnutls
mingw-w64-x86_64-harfbuzz
mingw-w64-x86_64-lcms2
mingw-w64-x86_64-libjpeg-turbo
mingw-w64-x86_64-libpng
......
......@@ -785,6 +785,7 @@ GDB Graphical Interface
Maintaining Large Programs
* Version Control:: Using version control systems.
* Projects:: Commands for handling source files in a project.
* Change Log:: Maintaining a change history for your program.
* Xref:: Find definitions and references of any function,
method, struct, macro, @dots{} in your program.
......
......@@ -13,6 +13,9 @@ large-size programs and packages. These features include:
Unified interface to Support for Version Control Systems
(@acronym{VCS}) that record the history of changes to source files.
@item
Commands for handling programming projects.
@item
A specialized mode for maintaining @file{ChangeLog} files that provide
a chronological log of program changes.
......@@ -38,6 +41,7 @@ Lisp Regression Testing}).
@menu
* Version Control:: Using version control systems.
* Projects:: Commands for handling source files in a project.
* Change Log:: Maintaining a change history for your program.
* Xref:: Find definitions and references of any function,
method, struct, macro, @dots{} in your program.
......@@ -1630,6 +1634,77 @@ different revision with @kbd{C-u C-x v v}.
@include vc1-xtra.texi
@end ifnottex
@node Projects
@section Working with Projects
@cindex projects
@cindex project root
A @dfn{project} is a collection of files used for producing one or
more programs. Files that belong to a project are typically stored in
a hierarchy of directories; the top-level directory of the hierarchy
is known as the @dfn{project root}.
@cindex project back-end
Whether a given directory is a root of some project is determined by
the project-specific infrastructure, known as @dfn{project back-end}.
Emacs currently supports two such back-ends: VC (@pxref{Version
Control}), whereby a VCS repository is considered a project; and EDE
(@pxref{EDE}). This is expected to be extended in the future to
support additional types of projects.
Which files do or don't belong to a project is also determined by
the project back-end. For example, the VC back-end doesn't consider
``ignored'' files (@pxref{VC Ignore}) to be part of the project.
Emacs provides commands for handling project files conveniently.
This section describes these commands.
@cindex current project
All of the commands described here share the notion of the
@dfn{current project}. The current project is determined by the
@code{default-directory} (@pxref{File Names}) of the buffer that is
the current buffer when the command is invoked. If that directory
doesn't seem to belong to a recognizable project, these commands
prompt you for the project directory.
@findex project-find-file
The command @code{project-find-file} is a convenient way of visiting
files (@pxref{Visiting}) that belong to the current project. Unlike
@kbd{C-x C-f}, this command doesn't require to type the full file name
of the file to visit, you can type only the file's base name (i.e.,
omit the leading directories). In addition, the completion candidates
considered by the command include only the files belonging to the
current project, and nothing else. If there's a file name at point,
this command offers that file as the default to visit.
@findex project-find-regexp
The command @code{project-find-regexp} is similar to @code{rgrep}
(@pxref{Grep Searching}), but it searches only the files that belong
to the current project. The command prompts for the regular
expression to search, and pops up an Xref mode buffer with the search
results, where you can select a match using the Xref mode commands
(@pxref{Xref Commands}). When invoked with a prefix argument, this
command additionally prompts for the base directory from which to
start the search; this allows, for example, to limit the search only
to project files under a certain subdirectory of the project root.
@findex project-search
@kbd{M-x project-search} is an interactive variant of
@code{project-find-regexp}. It prompts for a regular expression to
search in the current project's files, but instead of finding all the
matches and displaying them, it stops when it finds a match and visits
the matched file at the locus of the match, allowing you to edit the
matched file. To find the rest of the matches, type @w{@kbd{M-x
fileloop-continue @key{RET}}}.
@findex project-query-replace-regexp
@kbd{M-x project-query-replace-regexp} is similar to
@code{project-search}, but it prompts you for whether to replace each
match it finds, like @code{query-replace} does (@pxref{Query
Replace}), and continues to the next match after you respond. If your
response causes Emacs to exit the query-replace loop, you can later
continue with @w{@kbd{M-x fileloop-continue @key{RET}}}.
@node Change Log
@section Change Logs
......
......@@ -101,6 +101,12 @@ shows equivalent key bindings for all commands that have them.
** Dired
*** New option 'dired-mark-region' affects all Dired commands that mark files.
When non-nil and the region is active in Transient Mark mode,
then Dired commands operate only on files in the active region.
The values 'exclusive' and 'inclusive' of this option define
the details of marking the last file at the end of the region.
*** State changing VC operations are supported in dired-mode on files
(but still not on directories).
......
......@@ -978,7 +978,10 @@ The mode is automatically enabled in files that start with the
** project.el
+++
*** New commands 'project-search' and 'project-query-replace-regexp'.
---
*** New user option 'project-read-file-name-function'.
** Etags
......
......@@ -205,7 +205,10 @@ Examples of PREDICATE:
(not (and (= (file-attribute-user-id fa1) - mark files with different UID
(file-attribute-user-id fa2))
(= (file-attribute-group-id fa1) - and GID.
(file-attribute-group-id fa2))))"
(file-attribute-group-id fa2))))
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil."
(interactive
(list
(let* ((target-dir (dired-dwim-target-directory))
......
......@@ -623,7 +623,9 @@ interactively, prompt for REGEXP.
With prefix argument, unflag all those files.
Optional fourth argument LOCALP is as in `dired-get-filename'.
Optional fifth argument CASE-FOLD-P specifies the value of
`case-fold-search' used for matching REGEXP."
`case-fold-search' used for matching REGEXP.
If the region is active in Transient Mark mode, operate only on
files in the active region if `dired-mark-region' is non-nil."
(interactive
(list (read-regexp
"Mark unmarked files matching regexp (default all): "
......@@ -1386,7 +1388,9 @@ present for some values of `ls-lisp-emulation'.
This function operates only on the buffer content and does not
refer at all to the underlying file system. Contrast this with
`find-dired', which might be preferable for the task at hand."
`find-dired', which might be preferable for the task at hand.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil."
;; Using sym="" instead of nil avoids the trap of
;; (string-match "foo" sym) into which a user would soon fall.
;; Give `equal' instead of `=' in the example, as this works on
......
......@@ -296,6 +296,34 @@ new Dired buffers."
:version "26.1"
:group 'dired)
(defcustom dired-mark-region 'exclusive
"Defines what commands that mark files do with the active region.
When nil, marking commands don't operate on all files in the
active region. They process their prefix arguments as usual.
When the value of this option is non-nil, then all Dired commands
that mark or unmark files will operate on all files in the region
if the region is active in Transient Mark mode.
When `exclusive', don't mark the file if the end of the region is
before the file name displayed on the Dired line, so the file name
is visually outside the region. This behavior is consistent with
marking files without the region using the key `m' that advances
point to the next line after marking the file. Thus the number
of keys used to mark files is the same as the number of keys
used to select the region, e.g. `M-2 m' marks 2 files, and
`C-SPC M-2 n m' marks 2 files, and `M-2 S-down m' marks 2 files.
When `inclusive', include the file into marking if the end of the region
is anywhere on its Dired line, except the beginning of the line."
:type '(choice
(const :tag "Don't mark files in active region" nil)
(const :tag "Exclude file name outside of region" exclusive)
(const :tag "Include the file at region end line" inclusive))
:group 'dired
:version "28.1")
;; Internal variables
(defvar dired-marker-char ?* ; the answer is 42
......@@ -612,12 +640,31 @@ Subexpression 2 must end right before the \\n.")
PREDICATE is evaluated on each line, with point at beginning of line.
MSG is a noun phrase for the type of files being marked.
It should end with a noun that can be pluralized by adding `s'.
In Transient Mark mode, if the mark is active, operate on the contents
of the region if `dired-mark-region' is non-nil. Otherwise, operate
on the whole buffer.
Return value is the number of files marked, or nil if none were marked."
`(let ((inhibit-read-only t) count)
`(let ((inhibit-read-only t) count
(beg (if (and dired-mark-region (use-region-p))
(save-excursion
(goto-char (region-beginning))
(line-beginning-position))
(point-min)))
(end (if (and dired-mark-region (use-region-p))
(save-excursion
(goto-char (region-end))
(if (if (eq dired-mark-region 'inclusive)
(not (bolp))
(get-text-property (1- (point)) 'dired-filename))
(line-end-position)
(line-beginning-position)))
(point-max))))
(save-excursion
(setq count 0)
(when ,msg
(message "%s %ss%s..."
(message "%s %ss%s%s..."
(cond ((eq dired-marker-char ?\s) "Unmarking")
((eq dired-del-marker dired-marker-char)
"Flagging")
......@@ -625,22 +672,28 @@ Return value is the number of files marked, or nil if none were marked."
,msg
(if (eq dired-del-marker dired-marker-char)
" for deletion"
"")))
(goto-char (point-min))
(while (not (eobp))
"")
(if (and dired-mark-region (use-region-p))
" in region"
"")))
(goto-char beg)
(while (< (point) end)
(when ,predicate
(unless (= (following-char) dired-marker-char)
(delete-char 1)
(insert dired-marker-char)
(setq count (1+ count))))
(forward-line 1))
(when ,msg (message "%s %s%s %s%s"
(when ,msg (message "%s %s%s %s%s%s"
count
,msg
(dired-plural-s count)
(if (eq dired-marker-char ?\s) "un" "")
(if (eq dired-marker-char dired-del-marker)
"flagged" "marked"))))
"flagged" "marked")
(if (and dired-mark-region (use-region-p))
" in region"
""))))
(and (> count 0) count)))
(defmacro dired-map-over-marks (body arg &optional show-progress
......@@ -3580,7 +3633,8 @@ no ARGth marked file is found before this line."
(defun dired-mark (arg &optional interactive)
"Mark the file at point in the Dired buffer.
If the region is active, mark all files in the region.
If the region is active in Transient Mark mode, mark all files
in the region if `dired-mark-region' is non-nil.
Otherwise, with a prefix arg, mark files on the next ARG lines.
If on a subdir headerline, mark all its files except `.' and `..'.
......@@ -3591,13 +3645,18 @@ this subdir."
(interactive (list current-prefix-arg t))
(cond
;; Mark files in the active region.
((and interactive (use-region-p))
((and dired-mark-region interactive (use-region-p))
(save-excursion
(let ((beg (region-beginning))
(end (region-end)))
(dired-mark-files-in-region
(progn (goto-char beg) (line-beginning-position))
(progn (goto-char end) (line-beginning-position))))))
(progn (goto-char end)
(if (if (eq dired-mark-region 'inclusive)
(not (bolp))
(get-text-property (1- (point)) 'dired-filename))
(line-end-position)
(line-beginning-position)))))))
;; Mark subdir files from the subdir headerline.
((dired-get-subdir)
(save-excursion (dired-mark-subdir-files)))
......@@ -3678,6 +3737,9 @@ As always, hidden subdirs are not affected."
A prefix argument means to unmark them instead.
`.' and `..' are never marked.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil.
REGEXP is an Emacs regexp, not a shell wildcard. Thus, use `\\.o$' for
object files--just `.o' will mark more than you might think."
(interactive
......@@ -3729,6 +3791,9 @@ object files--just `.o' will mark more than you might think."
A prefix argument means to unmark them instead.
`.' and `..' are never marked.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil.
Note that if a file is visited in an Emacs buffer, and
`dired-always-read-filesystem' is nil, this command will
look in the buffer without revisiting the file, so the results might
......@@ -3773,14 +3838,18 @@ The match is against the non-directory part of the filename. Use `^'
(defun dired-mark-symlinks (unflag-p)
"Mark all symbolic links.
With prefix argument, unmark or unflag all those files."
With prefix argument, unmark or unflag all those files.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil."
(interactive "P")
(let ((dired-marker-char (if unflag-p ?\s dired-marker-char)))
(dired-mark-if (looking-at-p dired-re-sym) "symbolic link")))
(defun dired-mark-directories (unflag-p)
"Mark all directory file lines except `.' and `..'.
With prefix argument, unmark or unflag all those files."
With prefix argument, unmark or unflag all those files.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil."
(interactive "P")
(let ((dired-marker-char (if unflag-p ?\s dired-marker-char)))
(dired-mark-if (and (looking-at-p dired-re-dir)
......@@ -3789,7 +3858,9 @@ With prefix argument, unmark or unflag all those files."
(defun dired-mark-executables (unflag-p)
"Mark all executable files.
With prefix argument, unmark or unflag all those files."
With prefix argument, unmark or unflag all those files.
If the region is active in Transient Mark mode, mark files
only in the active region if `dired-mark-region' is non-nil."
(interactive "P")
(let ((dired-marker-char (if unflag-p ?\s dired-marker-char)))
(dired-mark-if (looking-at-p dired-re-exe) "executable file")))
......@@ -3799,7 +3870,9 @@ With prefix argument, unmark or unflag all those files."
(defun dired-flag-auto-save-files (&optional unflag-p)
"Flag for deletion files whose names suggest they are auto save files.
A prefix argument says to unmark or unflag those files instead."
A prefix argument says to unmark or unflag those files instead.
If the region is active in Transient Mark mode, flag files
only in the active region if `dired-mark-region' is non-nil."
(interactive "P")
(let ((dired-marker-char (if unflag-p ?\s dired-del-marker)))
(dired-mark-if
......@@ -3839,7 +3912,9 @@ A prefix argument says to unmark or unflag those files instead."
(defun dired-flag-backup-files (&optional unflag-p)
"Flag all backup files (names ending with `~') for deletion.
With prefix argument, unmark or unflag these files."
With prefix argument, unmark or unflag these files.
If the region is active in Transient Mark mode, flag files
only in the active region if `dired-mark-region' is non-nil."
(interactive "P")
(let ((dired-marker-char (if unflag-p ?\s dired-del-marker)))
(dired-mark-if
......
......@@ -555,7 +555,7 @@ too large if positive or too small if negative)."
(defun cl-concatenate (type &rest sequences)
"Concatenate, into a sequence of type TYPE, the argument SEQUENCEs.
\n(fn TYPE SEQUENCE...)"
(seq-concatenate type sequences))
(apply #'seq-concatenate type sequences))
;;; List functions.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer@forcix.cx>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcAutoAway
;; This file is part of GNU Emacs.
......
......@@ -4,7 +4,7 @@
;; Filename: erc-backend.el
;; Author: Lawrence Mitchell <wence@gmx.li>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Created: 2004-05-7
;; Keywords: IRC chat client internet
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 1996-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: irc, button, url, regexp
;; URL: https://www.emacswiki.org/emacs/ErcButton
......
......@@ -2,7 +2,7 @@
;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ERC
;; This file is part of GNU Emacs.
......
......@@ -6,7 +6,7 @@
;; Author: Ben A. Mesander <ben@gnu.ai.mit.edu>
;; Noah Friedman <friedman@prep.ai.mit.edu>
;; Per Persson <pp@sno.pp.se>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, processes
;; Created: 1994-01-23
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2012-2020 Free Software Foundation, Inc.
;; Author: Julien Danjou <julien@danjou.info>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002, 2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm
;; This file is part of GNU Emacs.
......
......@@ -4,7 +4,7 @@
;; Author: Andreas Fuchs <asf@void.at>
;; Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcFilling
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2001-2020 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer@forcix.cx>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Most code is taken verbatim from erc.el, see there for the original
;; authors.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002, 2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2006-2020 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, processes
;; This file is part of GNU Emacs.
......
......@@ -4,7 +4,7 @@
;; Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm
;; URL: https://www.emacswiki.org/emacs/ErcImenu
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: irc
;; URL: https://www.emacswiki.org/emacs/ErcAutoJoin
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002, 2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Old-Version: 1.0.0
;; URL: https://www.emacswiki.org/emacs/ErcLang
;; Keywords: comm languages processes
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2008-2020 Free Software Foundation, Inc.
;; Author: Tom Tromey <tromey@redhat.com>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Old-Version: 0.1
;; URL: https://www.emacswiki.org/emacs/ErcList
;; Keywords: comm
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2003-2020 Free Software Foundation, Inc.
;; Author: Lawrence Mitchell <wence@gmx.li>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcLogging
;; Keywords: IRC, chat, client, Internet, logging
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2020 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, faces
;; URL: https://www.emacswiki.org/emacs/ErcMatch
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2001-2002, 2004-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, processes, menu
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002, 2004-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@lexx.delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@lexx.delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcNotify
;; Keywords: comm
......
......@@ -2,7 +2,7 @@
;; Copyright (C) 2002, 2004, 2006-2020 Free Software Foundation, Inc.
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Sacha Chua <sacha@free.net.ph>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, convenience
;; URL: https://www.emacswiki.org/emacs/ErcCompletion
......
......@@ -4,7 +4,7 @@
;; Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcReplace
;; Keywords: IRC, client, Internet
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2001-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm
;; URL: https://www.emacswiki.org/emacs/ErcHistory
......
......@@ -2,7 +2,7 @@
;; Copyright (C) 2002-2004, 2006-2020 Free Software Foundation, Inc.
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcNickserv
;; This file is part of GNU Emacs.
......
......@@ -2,7 +2,7 @@
;; Copyright (C) 2002-2003, 2006-2020 Free Software Foundation, Inc.
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcSound
;; This file is part of GNU Emacs.
......
......@@ -4,7 +4,7 @@
;; Author: Mario Lang <mlang@delysid.org>
;; Contributor: Eric M. Ludlam <zappo@gnu.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcSpeedbar
;; This file is part of GNU Emacs.
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2005-2020 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer@forcix.cx>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: irc
;; URL: https://www.emacswiki.org/emacs/ErcSpelling
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, processes, timestamp
;; URL: https://www.emacswiki.org/emacs/ErcStamp
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2002-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, faces
;; URL: https://www.emacswiki.org/emacs/ErcChannelTracking
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2003-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; URL: https://www.emacswiki.org/emacs/ErcTruncation
;; Keywords: IRC, chat, client, Internet, logging
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2003-2004, 2006-2020 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: comm, processes
;; This file is part of GNU Emacs.
......
......@@ -10,7 +10,7 @@
;; Gergely Nagy (algernon@midgard.debian.net)
;; David Edmondson (dme@dme.org)
;; Kelvin White (kwhite@gnu.org)
;; Maintainer: Amin Bandali <mab@gnu.org>
;; Maintainer: Amin Bandali <bandali@gnu.org>
;; Keywords: IRC, chat, client, Internet
;; Version: 5.3
......
......@@ -437,6 +437,7 @@ triggers completion when entering a pattern, including it
requires quoting, e.g. `\\[quoted-insert]<space>'."
(interactive (list (project--read-regexp)))
(require 'xref)
(require 'grep)
(let* ((pr (project-current t))
(files
(if (not current-prefix-arg)
......@@ -606,7 +607,8 @@ PREDICATE, HIST, and DEFAULT have the same meaning as in
(defun project-search (regexp)