[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60562: [PATCH] Fix split-string error if there is a space in the fil
From: |
Eli Zaretskii |
Subject: |
bug#60562: [PATCH] Fix split-string error if there is a space in the filename. |
Date: |
Sat, 14 Jan 2023 11:12:05 +0200 |
> Date: Sun, 8 Jan 2023 15:23:45 +0800
> From: lux <lx@shellcodes.org>
> Cc: Eli Zaretskii <eliz@gnu.org>, 60562@debbugs.gnu.org, Robert Pluim
> <rpluim@gmail.com>, bug-gnu-emacs@gnu.org
>
> On Sat, 07 Jan 2023 17:00:02 -0600
> Ruijie Yu <ruijie@netyu.xyz> wrote:
>
> > Hi,
> >
> > >-(defcustom hfy-find-cmd
> > >- "find . -type f \\! -name \\*~ \\! -name \\*.flc \\! -path
> > >\\*/CVS/\\*"
> > >- "Find command used to harvest a list of files to attempt to
> > >fontify."
> > >- :tag "find-command"
> > >- :type '(string))
> > >+(defcustom hfy-exclude-file-rules
> > >+ '("\\.flc$"
> > >+ "/CVS/.*"
> > >+ ".*~"
> > >+ "\\.git/.*")
> > >+ "Define some regular expressions to exclude files"
> > >+ :tag "exclude-rules"
> > >+ :type '(list string))
> >
> > For the third entry, shouldn't it be ".*~$" instead, to indicate that
> > "~" is the last character?
> >
> > For the fourth entry, currently it would match against the file name
> > "ROOT/hello.git/foo". In addition, for git submodules, ".git" is a
> > regular file instead of a directory. Maybe something like this is
> > what you want:
> >
> > (rx "/.git" (opt "/" (0+ any)) line-end)
> >
> > or in raw regexp: "/\\.git\\(?:/.*\\)?$"
> >
> > Also, in this change, we are dropping the requirement that the found
> > file are actually files, whereas we used to say "-type f". Is this
> > change fine?
> >
> > > (defun hfy-list-files (directory)
> > > "Return a list of files under DIRECTORY.
> > > Strips any leading \"./\" from each filename."
> > >- ;;(message "hfy-list-files");;DBUG
> > >+ ;;(message "hfy-list-files");;DEBUG
> > > ;; FIXME: this changes the dir of the current buffer. Is that
> > > right?? (cd directory)
> > >- (mapcar (lambda (F) (if (string-match "^./\\(.*\\)" F)
> > >(match-string 1 F) F))
> > >- (split-string (shell-command-to-string hfy-find-cmd))) )
> > >+ (remove-if (lambda (f) (seq-some (lambda (r)
> > >+ (string-match r f))
> > >hfy-exclude-file-rules))
> > >+ (directory-files-recursively "." ".*")))
> >
> > We should change `remove-if' into `cl-remove-if' because both "cl.el"
> > and the alias `remove-if' are deprecated.
> >
>
> Thank you, I updated the patch file.
Thanks, installed on the emacs-29 branch, and closing the bug.
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename., (continued)
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename., Robert Pluim, 2023/01/06
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename., lux, 2023/01/07
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename., Ruijie Yu, 2023/01/07
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename., lux, 2023/01/08
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename., Robert Pluim, 2023/01/09
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename., lux, 2023/01/09
- bug#60562: [PATCH] Fix split-string error if there is a space in the filename.,
Eli Zaretskii <=
bug#60562: [PATCH] Fix split-string error if there is a space in the filename., lux, 2023/01/07