* bug#16577: 24.3; Ido omitting directories with similar names to other directories
@ 2014-01-28 11:15 Rotem Yaari
2014-01-28 16:00 ` Eli Zaretskii
0 siblings, 1 reply; 28+ messages in thread
From: Rotem Yaari @ 2014-01-28 11:15 UTC (permalink / raw)
To: 16577
[-- Attachment #1: Type: text/plain, Size: 20382 bytes --]
When finding files with ido, let's say with this directory structure:
- /tmp
- /tmp/folders
- /tmp/folders/a2
- /tmp/folders/a.git
Navigating to `folders` will only display `a2` as a possible completion,
omitting `a.git`. One has to explicitly add the '.git' suffix to get the
candidate one is looking for.
In GNU Emacs 24.3.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
of 2013-03-13 on bob.porkrind.org
Windowing system distributor `Apple', version 10.3.1265
Configured using:
`configure '--host=x86_64-apple-darwin' '--build=i686-apple-darwin'
'--with-ns' 'build_alias=i686-apple-darwin'
'host_alias=x86_64-apple-darwin' 'CC=gcc -mmacosx-version-min=10.7
-isystem
/Users/david/Xcode-10.7_4.5.2/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include/
-F/Users/david/Xcode-10.7_4.5.2/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks''
Important settings:
locale-coding-system: nil
default enable-multibyte-characters: t
Major mode: Dired by name
Minor modes in effect:
nyan-mode: t
global-semanticdb-minor-mode: t
global-semantic-idle-scheduler-mode: t
semantic-mode: t
drag-stuff-global-mode: t
drag-stuff-mode: t
global-auto-complete-mode: t
global-undo-tree-mode: t
diff-auto-refine-mode: t
helm-mode: t
shell-dirtrack-mode: t
helm-match-plugin-mode: t
helm-occur-match-plugin-mode: t
ido-vertical-mode: t
ido-ubiquitous-mode: t
yas-global-mode: t
yas-minor-mode: t
recentf-mode: t
guide-key-mode: t
winner-mode: t
show-paren-mode: t
display-battery-mode: t
display-time-mode: t
cua-mode: t
global-auto-revert-mode: t
projectile-global-mode: t
projectile-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
line-number-mode: t
transient-mark-mode: t
Recent input:
e s t C-d
q q
C-x C-f
w o i n f i n i p y i
n f i n i p y . C-x C-g C-g C-g C-x C-f /
t m p / f o l d e a . g C-g C-g C-g C-x C-f /
t m p / f o l a . C-g C-g C-g C-g C-x C-f
/ t m p / f o l d C-g x r e p o r
t -
Recent messages:
Loading semantic/db-file...done
Loading vc-git...done
Parsing pool.py (LALR)...done
Saving file /Users/rotemy/.recentf...
Wrote /Users/rotemy/.recentf
ls does not support --dired; see `dired-use-ls-dired' for more details.
Saving file /Users/rotemy/.recentf...
Wrote /Users/rotemy/.recentf
Saving file /Users/rotemy/.recentf...
Wrote /Users/rotemy/.recentf
Quit [11 times]
Load-path shadows:
/Users/rotemy/.emacs.d/elpa/flycheck-20140107.305/.dir-locals hides /Users/rotemy/.emacs.d/elpa/js2-mode-20131221.1908/.dir-locals
~/.emacs.d/modes/python.el/python hides ~/.emacs.d/modes/python
~/.emacs.d/modes/python.el/python hides /Applications/Emacs.app/Contents/Resources/lisp/progmodes/python
/Users/rotemy/.emacs.d/elpa/org-20140106/org hides /Applications/Emacs.app/Contents/Resources/lisp/org/org
/Users/rotemy/.emacs.d/elpa/org-20140106/org-w3m hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-w3m
/Users/rotemy/.emacs.d/elpa/org-20140106/org-version hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-version
/Users/rotemy/.emacs.d/elpa/org-20140106/org-timer hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/rotemy/.emacs.d/elpa/org-20140106/org-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/rotemy/.emacs.d/elpa/org-20140106/org-src hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/rotemy/.emacs.d/elpa/org-20140106/org-rmail hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-rmail
/Users/rotemy/.emacs.d/elpa/org-20140106/org-protocol hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/rotemy/.emacs.d/elpa/org-20140106/org-plot hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/rotemy/.emacs.d/elpa/org-20140106/org-pcomplete hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-pcomplete
/Users/rotemy/.emacs.d/elpa/org-20140106/org-mouse hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/rotemy/.emacs.d/elpa/org-20140106/org-mobile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/rotemy/.emacs.d/elpa/org-20140106/org-mhe hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mhe
/Users/rotemy/.emacs.d/elpa/org-20140106/org-macs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/rotemy/.emacs.d/elpa/org-20140106/org-loaddefs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-loaddefs
/Users/rotemy/.emacs.d/elpa/org-20140106/org-list hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/rotemy/.emacs.d/elpa/org-20140106/org-irc hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-irc
/Users/rotemy/.emacs.d/elpa/org-20140106/org-install hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-install
/Users/rotemy/.emacs.d/elpa/org-20140106/org-inlinetask hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/rotemy/.emacs.d/elpa/org-20140106/org-info hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-info
/Users/rotemy/.emacs.d/elpa/org-20140106/org-indent hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/rotemy/.emacs.d/elpa/org-20140106/org-id hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/rotemy/.emacs.d/elpa/org-20140106/org-habit hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/rotemy/.emacs.d/elpa/org-20140106/org-gnus hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-gnus
/Users/rotemy/.emacs.d/elpa/org-20140106/org-footnote hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/rotemy/.emacs.d/elpa/org-20140106/org-feed hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/rotemy/.emacs.d/elpa/org-20140106/org-faces hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/rotemy/.emacs.d/elpa/org-20140106/org-eshell hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-eshell
/Users/rotemy/.emacs.d/elpa/org-20140106/org-entities hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-entities
/Users/rotemy/.emacs.d/elpa/org-20140106/org-element hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-element
/Users/rotemy/.emacs.d/elpa/org-20140106/org-docview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-docview
/Users/rotemy/.emacs.d/elpa/org-20140106/org-datetree hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/rotemy/.emacs.d/elpa/org-20140106/org-ctags hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-ctags
/Users/rotemy/.emacs.d/elpa/org-20140106/org-crypt hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/rotemy/.emacs.d/elpa/org-20140106/org-compat hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/rotemy/.emacs.d/elpa/org-20140106/org-colview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/rotemy/.emacs.d/elpa/org-20140106/org-clock hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/rotemy/.emacs.d/elpa/org-20140106/org-capture hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-capture
/Users/rotemy/.emacs.d/elpa/org-20140106/org-bibtex hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bibtex
/Users/rotemy/.emacs.d/elpa/org-20140106/org-bbdb hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bbdb
/Users/rotemy/.emacs.d/elpa/org-20140106/org-attach hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/rotemy/.emacs.d/elpa/org-20140106/org-archive hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/rotemy/.emacs.d/elpa/org-20140106/org-agenda hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/rotemy/.emacs.d/elpa/org-20140106/ob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-tangle hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-tangle
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-table
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-sqlite hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sqlite
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-sql hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sql
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-shen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-shen
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-sh hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sh
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-screen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-screen
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-scheme hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scheme
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-scala hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scala
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-sass hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sass
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-ruby hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ruby
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-ref hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ref
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-R hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-R
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-python hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-python
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-plantuml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-plantuml
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-picolisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-picolisp
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-perl hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-perl
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-org hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-org
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-octave hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-octave
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-ocaml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ocaml
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-mscgen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-mscgen
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-maxima hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-maxima
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-matlab hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-matlab
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-lob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lob
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lisp
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-lilypond hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lilypond
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-ledger hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ledger
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-latex
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-keys hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-keys
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-js hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-js
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-java hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-java
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-io hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-io
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-haskell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-haskell
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-gnuplot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-fortran hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-fortran
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-exp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-exp
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-eval hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-eval
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-emacs-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-dot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-dot
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-ditaa hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ditaa
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-css hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-css
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-comint hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-comint
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-clojure hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-clojure
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-calc hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-calc
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-C hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-C
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-awk hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-awk
/Users/rotemy/.emacs.d/elpa/org-20140106/ob-asymptote hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-asymptote
/Users/rotemy/.emacs.d/elpa/flycheck-20140107.305/.dir-locals hides /Applications/Emacs.app/Contents/Resources/lisp/gnus/.dir-locals
/Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/cl-lib hides /Users/rotemy/.emacs.d/elpa/cl-lib-0.3/cl-lib
Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mail-utils helm-command helm-elisp
helm-eval eldoc tramp-cache semantic/tag-write semantic/tag-file vc-git
semantic/db-file data-debug cedet-files semantic/wisent/python
semantic/decorate/include semantic/db-find semantic/db-ref
semantic/decorate/mode semantic/decorate pulse semantic/dep
semantic/wisent/python-wy semantic/wisent semantic/wisent/wisent
helm-misc subword diff-hl vc-dir ewoc vc vc-dispatcher
tomorrow-night-bright-theme diminish inf-mongo js json nyan-mode
rainbow-mode syslog-mode hide-lines column-marker yaml-mode js2-refactor
js2r-paredit js2r-conveniences js2r-conditionals js2r-wrapping
js2r-functions js2r-vars js2r-iife js2r-formatting js2r-helpers
js2-mode-expansions js-mode-expansions js2-mode cc-mode-expansions
cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align cc-cmds cc-engine
cc-vars cc-defs imenu emmet-mode web-mode-expansions web-mode disp-table
haskell-mode haskell-string haskell-sort-imports haskell-align-imports
flymake dabbrev python-auto-import python-auto-super
redgreen-at-project-root python-el-fgallina-expansions python skeleton
semantic/db-mode semantic/db eieio-base semantic/idle semantic/format
ezimage semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
cedet flycheck rx f multiple-cursors mc-separate-operations
rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors
mc-edit-lines multiple-cursors-core rect expand-region
text-mode-expansions the-org-mode-expansions er-basic-expansions
expand-region-custom expand-region-core drag-stuff wrap-region
auto-complete-config auto-complete popup uniquify iedit iedit-lib
undo-tree diff org org-macro org-footnote org-pcomplete org-list
org-faces org-entities noutline outline org-version ob-emacs-lisp ob
ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint
ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar
cal-loaddefs ace-jump-mode magit-key-mode magit view epa derived epg
epg-config diff-mode git-rebase-mode git-commit-mode log-edit easy-mmode
pcvs-util add-log helm-mode helm-files image-dired tramp warnings
tramp-compat tramp-loaddefs shell pcomplete format-spec dired-x
dired-aux ffap helm-buffers helm-elscreen helm-tags helm-bookmark
helm-adaptative helm-info helm-net browse-url xml url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util url-parse auth-source eieio byte-opt bytecomp byte-compile
cconv gnus-util mm-util mail-prsvr password-cache url-vars mailcap
helm-plugin bookmark pp helm-locate helm-help helm-match-plugin
helm-grep helm-regexp helm-external helm-utils dired helm-config
helm-aliases helm ido-vertical-mode ido-ubiquitous ido-recentf-open ido
yasnippet help-mode ibuffer server dired-details find-file-in-project
saveplace recentf tree-widget wid-edit iflipb guide-key face-remap
popwin winner paren battery time cua-base autorevert projectile advice
help-fns advice-preload pkg-info find-func epl grep compile comint
ansi-color ring thingatpt cus-start cus-load s dash setup-package
ace-jump-mode-autoloads afternoon-theme-autoloads ag-autoloads
auto-complete-clang-autoloads coffee-mode-autoloads
column-marker-autoloads diff-hl-autoloads diminish-autoloads
dired-details-autoloads drag-stuff-autoloads emmet-mode-autoloads
expand-region-autoloads find-file-in-project-autoloads fiplr-autoloads
flycheck-autoloads f-autoloads free-keys-autoloads git-gutter-autoloads
grizzl-autoloads guide-key-autoloads haskell-mode-autoloads edmacro
kmacro helm-css-scss-autoloads helm-projectile-autoloads helm-autoloads
ido-ubiquitous-autoloads ido-vertical-mode-autoloads iedit-autoloads
iflipb-autoloads inf-mongo-autoloads jedi-autoloads
auto-complete-autoloads epc-autoloads ctable-autoloads
concurrent-autoloads deferred-autoloads js2-refactor-autoloads
js2-mode-autoloads key-chord-autoloads lua-mode-autoloads
magit-autoloads git-rebase-mode-autoloads git-commit-mode-autoloads
markdown-mode-autoloads minimap-autoloads multiple-cursors-autoloads
nginx-mode-autoloads nyan-mode-autoloads org-trello-autoloads
esxml-autoloads elnode-autoloads db-autoloads fakir-autoloads
creole-autoloads kv-autoloads noflet-autoloads finder-inf org-autoloads
info easymenu popup-autoloads popwin-autoloads powerline-autoloads
powerline cl-macs gv powerline-separators color cl cl-lib
powerline-themes projectile-autoloads pkg-info-autoloads epl-autoloads
cl-lib-autoloads request-autoloads s-autoloads smex-autoloads
solarized-theme-autoloads syslog-mode-autoloads hide-lines-autoloads
undo-tree-autoloads web-autoloads web-mode-autoloads
workgroups-autoloads wrap-region-autoloads dash-autoloads
yaml-mode-autoloads yasnippet-autoloads zencoding-mode-autoloads package
elisp-utils time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel
ns-win tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process ns
multi-tty emacs)
--
Rotem
[-- Attachment #2: Type: text/html, Size: 24491 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 11:15 bug#16577: 24.3; Ido omitting directories with similar names to other directories Rotem Yaari
@ 2014-01-28 16:00 ` Eli Zaretskii
2014-01-28 17:18 ` Glenn Morris
0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2014-01-28 16:00 UTC (permalink / raw)
To: Rotem Yaari; +Cc: 16577
> Date: Tue, 28 Jan 2014 13:15:01 +0200
> From: Rotem Yaari <vmalloc@gmail.com>
>
> When finding files with ido, let's say with this directory structure:
>
> - /tmp
> - /tmp/folders
> - /tmp/folders/a2
> - /tmp/folders/a.git
>
> Navigating to `folders` will only display `a2` as a possible completion,
> omitting `a.git`. One has to explicitly add the '.git' suffix to get the
> candidate one is looking for.
Please post a complete recipe starting with "emacs -Q", to allow quick
and unequivocal identification of the problem.
Thanks.
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 16:00 ` Eli Zaretskii
@ 2014-01-28 17:18 ` Glenn Morris
2014-01-28 17:24 ` Eli Zaretskii
0 siblings, 1 reply; 28+ messages in thread
From: Glenn Morris @ 2014-01-28 17:18 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Rotem Yaari, 16577
Eli Zaretskii wrote:
> Please post a complete recipe starting with "emacs -Q", to allow quick
> and unequivocal identification of the problem.
It may be relevant that completion-ignored-extensions contains ".git/".
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 17:18 ` Glenn Morris
@ 2014-01-28 17:24 ` Eli Zaretskii
2014-01-28 17:35 ` Rotem Yaari
2014-01-28 18:59 ` Glenn Morris
0 siblings, 2 replies; 28+ messages in thread
From: Eli Zaretskii @ 2014-01-28 17:24 UTC (permalink / raw)
To: Glenn Morris; +Cc: vmalloc, 16577
> From: Glenn Morris <rgm@gnu.org>
> Cc: Rotem Yaari <vmalloc@gmail.com>, 16577@debbugs.gnu.org
> Date: Tue, 28 Jan 2014 12:18:51 -0500
>
> Eli Zaretskii wrote:
>
> > Please post a complete recipe starting with "emacs -Q", to allow quick
> > and unequivocal identification of the problem.
>
> It may be relevant that completion-ignored-extensions contains ".git/".
Oh, I thought a.git was a file, not a directory. But now I see that
there's nothing in the report to that effect. If it is a directory,
then this is intended behavior.
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 17:24 ` Eli Zaretskii
@ 2014-01-28 17:35 ` Rotem Yaari
2014-01-28 17:39 ` Eli Zaretskii
2014-01-28 18:59 ` Glenn Morris
1 sibling, 1 reply; 28+ messages in thread
From: Rotem Yaari @ 2014-01-28 17:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 16577
[-- Attachment #1: Type: text/plain, Size: 757 bytes --]
Why? Is there a way to disable it? I work on two project with similar prefixes, and this is very annoying—
Rotem
On Tue, Jan 28, 2014 at 7:24 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Glenn Morris <rgm@gnu.org>
>> Cc: Rotem Yaari <vmalloc@gmail.com>, 16577@debbugs.gnu.org
>> Date: Tue, 28 Jan 2014 12:18:51 -0500
>>
>> Eli Zaretskii wrote:
>>
>> > Please post a complete recipe starting with "emacs -Q", to allow quick
>> > and unequivocal identification of the problem.
>>
>> It may be relevant that completion-ignored-extensions contains ".git/".
> Oh, I thought a.git was a file, not a directory. But now I see that
> there's nothing in the report to that effect. If it is a directory,
> then this is intended behavior.
[-- Attachment #2: Type: text/html, Size: 1177 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 17:35 ` Rotem Yaari
@ 2014-01-28 17:39 ` Eli Zaretskii
0 siblings, 0 replies; 28+ messages in thread
From: Eli Zaretskii @ 2014-01-28 17:39 UTC (permalink / raw)
To: Rotem Yaari; +Cc: 16577
> Date: Tue, 28 Jan 2014 09:35:29 -0800 (PST)
> From: "Rotem Yaari" <vmalloc@gmail.com>
> Cc: "Glenn Morris" <rgm@gnu.org>, 16577@debbugs.gnu.org
>
> Why?
Because of the '.git' directory.
> Is there a way to disable it?
You can customize completion-ignored-extensions.
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 17:24 ` Eli Zaretskii
2014-01-28 17:35 ` Rotem Yaari
@ 2014-01-28 18:59 ` Glenn Morris
2014-01-28 19:17 ` Eli Zaretskii
1 sibling, 1 reply; 28+ messages in thread
From: Glenn Morris @ 2014-01-28 18:59 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: vmalloc, 16577
Eli Zaretskii wrote:
>> It may be relevant that completion-ignored-extensions contains ".git/".
>
> Oh, I thought a.git was a file, not a directory. But now I see that
> there's nothing in the report to that effect. If it is a directory,
> then this is intended behavior.
Emacs should only ignore ".git" directories.
It should not ignore "foo.git" directories.
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 18:59 ` Glenn Morris
@ 2014-01-28 19:17 ` Eli Zaretskii
2014-01-28 20:15 ` Glenn Morris
0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2014-01-28 19:17 UTC (permalink / raw)
To: Glenn Morris; +Cc: vmalloc, 16577
> From: Glenn Morris <rgm@gnu.org>
> Cc: vmalloc@gmail.com, 16577@debbugs.gnu.org
> Date: Tue, 28 Jan 2014 13:59:40 -0500
>
> Emacs should only ignore ".git" directories.
> It should not ignore "foo.git" directories.
Then completion-ignored-extensions is not the right mechanism for
ignoring those directories.
(I'm quite sure that this was discussed in some distant past, just not
about Git.)
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 19:17 ` Eli Zaretskii
@ 2014-01-28 20:15 ` Glenn Morris
2014-01-28 21:39 ` Stefan Monnier
2014-01-29 2:43 ` Glenn Morris
0 siblings, 2 replies; 28+ messages in thread
From: Glenn Morris @ 2014-01-28 20:15 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: vmalloc, 16577
Eli Zaretskii wrote:
> Then completion-ignored-extensions is not the right mechanism for
> ignoring those directories.
>
> (I'm quite sure that this was discussed in some distant past, just not
> about Git.)
Sure it was, and it was literally the exact same problem three years
ago, but it suffered from the emacs-devel disease (talked about, but
nothing ever happened, AFAIK):
http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00413.html
What Someone needs to do:
http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00459.html
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 20:15 ` Glenn Morris
@ 2014-01-28 21:39 ` Stefan Monnier
2014-01-29 2:43 ` Glenn Morris
1 sibling, 0 replies; 28+ messages in thread
From: Stefan Monnier @ 2014-01-28 21:39 UTC (permalink / raw)
To: Glenn Morris; +Cc: vmalloc, 16577
> What Someone needs to do:
> http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00459.html
That damn Someone! Lazy bastard!
Stefan
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: 24.3; Ido omitting directories with similar names to other directories
2014-01-28 20:15 ` Glenn Morris
2014-01-28 21:39 ` Stefan Monnier
@ 2014-01-29 2:43 ` Glenn Morris
2022-02-20 13:26 ` bug#16577: Add regexp-based version of completion-ignored-extensions Lars Ingebrigtsen
1 sibling, 1 reply; 28+ messages in thread
From: Glenn Morris @ 2014-01-29 2:43 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: vmalloc, 16577
In the short term, maybe it would be better if .git etc were removed
from completion-ignored-extensions.
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2014-01-29 2:43 ` Glenn Morris
@ 2022-02-20 13:26 ` Lars Ingebrigtsen
2022-02-20 15:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-20 21:48 ` bug#16577: [External] : " Drew Adams
0 siblings, 2 replies; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-20 13:26 UTC (permalink / raw)
To: Glenn Morris; +Cc: vmalloc, 16577, Stefan Monnier
Glenn Morris <rgm@gnu.org> writes:
> In the short term, maybe it would be better if .git etc were removed
> from completion-ignored-extensions.
This was eight years ago, which is probably still short term in Emacs
years.
Anyway, this problem is still present in Emacs 29. To reproduce:
mkdir /tmp/dir
mkdir /tmp/dir/a.git
mkdir /tmp/dir/aCVS
mkdir /tmp/dir/b
mkdir /tmp/dir/c
emacs -Q /tmp/dir
M-x ido-mode
C-x C-f
Notice that it only completes to b and c, and a.git and aCVS are
excluded. This is because:
completion-ignored-extensions
=>
(".o" "~" ".bin" ".lbin" ".so" ".a" ".ln" ".blg" ".bbl" ".elc" ".lof" ".glo" ".idx" ".lot" ".svn/" ".hg/" ".git/" ".bzr/" "CVS/" "_darcs/" "_MTN/" ".fmt" ".tfm" ".class" ".fas" ".lib" ".mem" ".x86f" ".sparcf" ".dfsl" ".pfsl" ".d64fsl" ".p64fsl" ".lx64fsl" ".lx32fsl" ".dx64fsl" ".dx32fsl" ".fx64fsl" ".fx32fsl" ".sx64fsl" ".sx32fsl" ".wx64fsl" ".wx32fsl" ".fasl" ".ufsl" ".fsl" ".dxl" ".lo" ".la" ".gmo" ".mo" ".toc" ".aux" ".cp" ".fn" ".ky" ".pg" ".tp" ".vr" ".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs" ".pyc" ".pyo")
So we're using this mechanism to try to exclude directories named "CVS",
which end up excluding directories called "aCVS".
I think perhaps of introducing a regexp-based extra mechanism here that
we should introduce a new completion-ignored-files variable, which would
default to '(".svn/" ".hg/" ".git/" ".bzr/" "CVS/" "_darcs/" "_MTN/")
(probably), and then remove those from -extensions.
However, this will require a lot of work --
completion-ignored-extensions is used many places (and it's commonly
used as a regexp), so it may require rewriting a whole bunch of stuff.
And it'll be slightly non-backwards-compatible if a user has removed
"CVS/" from the old variable, and then it reappears in the new one.
But it sounds worth doing, I think.
Anybody have any opinions?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-20 13:26 ` bug#16577: Add regexp-based version of completion-ignored-extensions Lars Ingebrigtsen
@ 2022-02-20 15:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-20 22:05 ` bug#16577: [External] : " Drew Adams
2022-02-21 14:00 ` Lars Ingebrigtsen
2022-02-20 21:48 ` bug#16577: [External] : " Drew Adams
1 sibling, 2 replies; 28+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-20 15:06 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: vmalloc, Glenn Morris, Eli Zaretskii, 16577
> I think perhaps of introducing a regexp-based extra mechanism here that
> we should introduce a new completion-ignored-files variable, which would
> default to '(".svn/" ".hg/" ".git/" ".bzr/" "CVS/" "_darcs/" "_MTN/")
> (probably), and then remove those from -extensions.
BTW, maybe we can merge the two propositions:
Allow the use in `completion-ignored-files` of entries of the form
"/<RE>" where <RE> will be matched against the nondirectory part of the
file name. We'd probably want to make this match anchored, since that's
what the "/" suggests. It means that instead of "/.git/" we'd add
"/\\.git/" or "/\\.git/?\\'".
This should make the change much less invasive, with most existing uses
of `completion-ignored-files` unaffected.
Stefan
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: [External] : bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-20 15:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-20 22:05 ` Drew Adams
2022-02-21 14:00 ` Lars Ingebrigtsen
1 sibling, 0 replies; 28+ messages in thread
From: Drew Adams @ 2022-02-20 22:05 UTC (permalink / raw)
To: Stefan Monnier, Lars Ingebrigtsen
Cc: vmalloc@gmail.com, Glenn Morris, 16577@debbugs.gnu.org
> This should make the change much less invasive, with most existing uses
> of `completion-ignored-files` unaffected.
Most existing uses where?
If you change the meaning/behavior of
`completion-ignored-files' you'll undoubtedly
break existing code somewhere. Till now, the
extensions have been literal extensions.
If something else is needed to handle directory
names (and not even the extensions of dir names
that have extensions), then add/invent that.
Why change the use/meaning of
`completion-ignored-extensions?
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-20 15:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-20 22:05 ` bug#16577: [External] : " Drew Adams
@ 2022-02-21 14:00 ` Lars Ingebrigtsen
2022-02-21 16:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-21 14:00 UTC (permalink / raw)
To: Stefan Monnier; +Cc: vmalloc, Glenn Morris, 16577
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> BTW, maybe we can merge the two propositions:
> Allow the use in `completion-ignored-files` of entries of the form
> "/<RE>" where <RE> will be matched against the nondirectory part of the
> file name.
I haven't looked at the various code snippets that use the resulting
regexps, but I imagine that some are matching on the full file name and
some aren't?
But do you mean that completion-ignored-files should be on the form
(... "/CV[A-S]/" ...)?
> We'd probably want to make this match anchored, since that's
> what the "/" suggests. It means that instead of "/.git/" we'd add
> "/\\.git/" or "/\\.git/?\\'".
If we want this to work against both full file names and nondirectory
parts, it'd be... er...
"\\(?:\\`\\|/\\)\\.git/?\\'"
I guess.
Which nobody is going to get right, so I wonder whether it should just
be a list of strings instead of a list of regexps.
> This should make the change much less invasive, with most existing uses
> of `completion-ignored-files` unaffected.
I guess I should start poking at this and see how it works out in
practice. Skimming the places where it's used, I think it's about a
dozen locations that needs adjusting. But I may be overestimating.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 14:00 ` Lars Ingebrigtsen
@ 2022-02-21 16:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-21 16:20 ` Lars Ingebrigtsen
0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-21 16:06 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: vmalloc, Glenn Morris, Eli Zaretskii, 16577
> I haven't looked at the various code snippets that use the resulting
> regexps, but I imagine that some are matching on the full file name and
> some aren't?
I think the important case only has the nondirectory part of the file
name at hand, which is why I propose for "/<RE>" to be defined as
matching only on that part (with a terminating / if it's a directory).
> But do you mean that completion-ignored-files should be on the form
> (... "/CV[A-S]/" ...)?
If we want to ignore .../CVA/, .../CVB/, etc yes.
>> We'd probably want to make this match anchored, since that's
>> what the "/" suggests. It means that instead of "/.git/" we'd add
>> "/\\.git/" or "/\\.git/?\\'".
>
> If we want this to work against both full file names and nondirectory
> parts, it'd be... er...
>
> "\\(?:\\`\\|/\\)\\.git/?\\'"
No, the "/" would look like it's matching the / of a full file name, but
it would really be just a marker to indicate that the rest is a regexp
(and where it's anchored) and the matching code would extract the regexp
from it (and replace it with the equivalent of \\(?:\\`\\|/\\) as
needed).
Stefan
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 16:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-21 16:20 ` Lars Ingebrigtsen
2022-02-21 16:23 ` Lars Ingebrigtsen
2022-02-21 17:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-21 16:20 UTC (permalink / raw)
To: Stefan Monnier; +Cc: vmalloc, Glenn Morris, 16577
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> I haven't looked at the various code snippets that use the resulting
>> regexps, but I imagine that some are matching on the full file name and
>> some aren't?
>
> I think the important case only has the nondirectory part of the file
> name at hand, which is why I propose for "/<RE>" to be defined as
> matching only on that part (with a terminating / if it's a directory).
Oh, so this wouldn't be a plain regexp, but a ... mini-language where
"/" has a special meaning? I think that sounds pretty confusing.
> No, the "/" would look like it's matching the / of a full file name, but
> it would really be just a marker to indicate that the rest is a regexp
> (and where it's anchored) and the matching code would extract the regexp
> from it (and replace it with the equivalent of \\(?:\\`\\|/\\) as
> needed).
Hm. I think it'd a more straightforward interface to just keep regexps
out of it all, but I see the attraction of having a regexp interface,
too.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 16:20 ` Lars Ingebrigtsen
@ 2022-02-21 16:23 ` Lars Ingebrigtsen
2022-02-21 16:57 ` Eli Zaretskii
2022-02-21 17:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-21 16:23 UTC (permalink / raw)
To: Stefan Monnier; +Cc: vmalloc, Glenn Morris, 16577
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Oh, so this wouldn't be a plain regexp, but a ... mini-language where
> "/" has a special meaning? I think that sounds pretty confusing.
By the way, it'd be nice to have a zero-width regexp matcher for "start
of file name component" (i.e., match after "/" or at the start of the
string). We don't have that already anywhere, by any chance?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 16:23 ` Lars Ingebrigtsen
@ 2022-02-21 16:57 ` Eli Zaretskii
2022-02-21 17:01 ` Lars Ingebrigtsen
0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2022-02-21 16:57 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: vmalloc, rgm, 16577, monnier
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: Glenn Morris <rgm@gnu.org>, vmalloc@gmail.com, Eli Zaretskii
> <eliz@gnu.org>, 16577@debbugs.gnu.org
> Date: Mon, 21 Feb 2022 17:23:11 +0100
>
> By the way, it'd be nice to have a zero-width regexp matcher for "start
> of file name component" (i.e., match after "/" or at the start of the
> string). We don't have that already anywhere, by any chance?
Regular expressions don't understand file names, they are just strings
as far as regexps are concerned.
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 16:57 ` Eli Zaretskii
@ 2022-02-21 17:01 ` Lars Ingebrigtsen
2022-02-21 17:13 ` Eli Zaretskii
0 siblings, 1 reply; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-21 17:01 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: vmalloc, rgm, 16577, monnier
Eli Zaretskii <eliz@gnu.org> writes:
> Regular expressions don't understand file names, they are just strings
> as far as regexps are concerned.
Of course they're strings, but a regexp operator has semantics.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 17:01 ` Lars Ingebrigtsen
@ 2022-02-21 17:13 ` Eli Zaretskii
2022-02-21 17:36 ` Lars Ingebrigtsen
0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2022-02-21 17:13 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: vmalloc, rgm, 16577, monnier
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: monnier@iro.umontreal.ca, rgm@gnu.org, vmalloc@gmail.com,
> 16577@debbugs.gnu.org
> Date: Mon, 21 Feb 2022 18:01:03 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Regular expressions don't understand file names, they are just strings
> > as far as regexps are concerned.
>
> Of course they're strings, but a regexp operator has semantics.
I thought you were asking about some builtin feature of regexp
matches, and tried to explain why that doesn't exist.
If you are talking about something we should concoct, then I don't
think I see a problem expressing "match after / or at the start of the
string" in the regexp notation. So why were you asking about it?
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 17:13 ` Eli Zaretskii
@ 2022-02-21 17:36 ` Lars Ingebrigtsen
0 siblings, 0 replies; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-21 17:36 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: vmalloc, rgm, 16577, monnier
Eli Zaretskii <eliz@gnu.org> writes:
> If you are talking about something we should concoct, then I don't
> think I see a problem expressing "match after / or at the start of the
> string" in the regexp notation. So why were you asking about it?
I was asking whether we had it, because \\(:?\\`\\|/\\) is a handful to
type.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 16:20 ` Lars Ingebrigtsen
2022-02-21 16:23 ` Lars Ingebrigtsen
@ 2022-02-21 17:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-21 17:33 ` bug#16577: [External] : " Drew Adams
2022-02-22 13:17 ` Lars Ingebrigtsen
1 sibling, 2 replies; 28+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-21 17:01 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: vmalloc, Glenn Morris, Eli Zaretskii, 16577
Lars Ingebrigtsen [2022-02-21 17:20:54] wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> I haven't looked at the various code snippets that use the resulting
>>> regexps, but I imagine that some are matching on the full file name and
>>> some aren't?
>> I think the important case only has the nondirectory part of the file
>> name at hand, which is why I propose for "/<RE>" to be defined as
>> matching only on that part (with a terminating / if it's a directory).
> Oh, so this wouldn't be a plain regexp, but a ... mini-language where
> "/" has a special meaning?
Yup.
> I think that sounds pretty confusing.
It's not great, indeed. But, AFAICT something like that is the only way
to introduce regexps into `completion-ignored-extensions` without having
to touch too much of the code using that variable.
> Hm. I think it'd a more straightforward interface to just keep
> regexps out of it all, but I see the attraction of having a regexp
> interface, too.
There are several file name patterns I've wanted to ignore but couldn't
because enumerating them all is somewhere between inconvenient
and impossible (whereas a regexp would cover them easily).
Stefan
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: [External] : bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 17:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-21 17:33 ` Drew Adams
2022-02-22 13:17 ` Lars Ingebrigtsen
1 sibling, 0 replies; 28+ messages in thread
From: Drew Adams @ 2022-02-21 17:33 UTC (permalink / raw)
To: Stefan Monnier, Lars Ingebrigtsen
Cc: vmalloc@gmail.com, Glenn Morris, 16577@debbugs.gnu.org
> It's not great, indeed. But, AFAICT something like that is the only way
> to introduce regexps into `completion-ignored-extensions`
Please don't introduce regexps into
`completion-ignored-extensions'. This option
is designed to match file extensions literally.
And that's how it's used. If you alternatively,
or also, need regexp matching, then add another
variable for that.
Lars claimed this:
completion-ignored-extensions is used many
places (and it's commonly used as a regexp)
No evidence given for that claim. I asked for
examples of such "common" use. None have been
cited. Are there even _any_?
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-21 17:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-21 17:33 ` bug#16577: [External] : " Drew Adams
@ 2022-02-22 13:17 ` Lars Ingebrigtsen
2022-02-22 13:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-22 13:17 UTC (permalink / raw)
To: Stefan Monnier; +Cc: vmalloc, Glenn Morris, 16577
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> There are several file name patterns I've wanted to ignore but couldn't
> because enumerating them all is somewhere between inconvenient
> and impossible (whereas a regexp would cover them easily).
I wonder whether it would be easier to add two new variables, but
perhaps that's excessive.
That is, completion-ignored-extensions as before, and
completion-ignored-files (a list of strings) and
completion-ignored-regexp (a regexp or a list of regexps). The
advantage is that the semantics on all three variables would be pretty
self evident, and would require no special syntax anywhere.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-22 13:17 ` Lars Ingebrigtsen
@ 2022-02-22 13:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-23 12:05 ` Lars Ingebrigtsen
0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-22 13:56 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: vmalloc, Glenn Morris, Eli Zaretskii, 16577
> That is, completion-ignored-extensions as before, and
> completion-ignored-files (a list of strings) and
> completion-ignored-regexp (a regexp or a list of regexps). The
> advantage is that the semantics on all three variables would be pretty
> self evident, and would require no special syntax anywhere.
[ Not sure I'd bother with the non-regexp variable (other than having to
use \\. to match a dot, a regexp should work just as well). ]
This is the best way long term, yes. We could mark
`completion-ignored-extensions` as obsolete and in a few years we're
back with a clean semantics and a simple variable.
Stefan
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-22 13:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-23 12:05 ` Lars Ingebrigtsen
0 siblings, 0 replies; 28+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-23 12:05 UTC (permalink / raw)
To: Stefan Monnier; +Cc: vmalloc, Glenn Morris, 16577
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> [ Not sure I'd bother with the non-regexp variable (other than having to
> use \\. to match a dot, a regexp should work just as well). ]
Well, the semantics for completion-ignored-files would be that they
match on file names (i.e., the part after the last "/" if there's any
slashes in there), which sounds like a pretty attractive thing, while
completion-ignored-files would have no anchoring.
completion-ignored-files could be regexps with anchoring, too, but then
we'd have two regexp variables, which seems excessive again. :-/
> This is the best way long term, yes. We could mark
> `completion-ignored-extensions` as obsolete and in a few years we're
> back with a clean semantics and a simple variable.
I like completion-ignored-extensions -- it's clear what it does and easy
to alter both programmatically and for users.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#16577: [External] : bug#16577: Add regexp-based version of completion-ignored-extensions
2022-02-20 13:26 ` bug#16577: Add regexp-based version of completion-ignored-extensions Lars Ingebrigtsen
2022-02-20 15:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-20 21:48 ` Drew Adams
1 sibling, 0 replies; 28+ messages in thread
From: Drew Adams @ 2022-02-20 21:48 UTC (permalink / raw)
To: Lars Ingebrigtsen, Glenn Morris
Cc: vmalloc@gmail.com, 16577@debbugs.gnu.org, Stefan Monnier
> > In the short term, maybe it would be better if .git etc were removed
> > from completion-ignored-extensions.
>
> Anyway, this problem is still present in Emacs 29. To reproduce:
...
> Notice that it only completes to b and c, and a.git and aCVS are
> excluded. This is because:
>
> completion-ignored-extensions
> =>
> (".o" "~" ".bin" ".lbin" ".so" ".a" ".ln" ".blg" ".bbl" ".elc" ".lof" ".glo"
> ".idx" ".lot" ".svn/" ".hg/" ".git/" ".bzr/" "CVS/" "_darcs/" "_MTN/" ".fmt"
> ".tfm" ".class" ".fas" ".lib" ".mem" ".x86f" ".sparcf" ".dfsl" ".pfsl"
> ".d64fsl" ".p64fsl" ".lx64fsl" ".lx32fsl" ".dx64fsl" ".dx32fsl" ".fx64fsl"
> ".fx32fsl" ".sx64fsl" ".sx32fsl" ".wx64fsl" ".wx32fsl" ".fasl" ".ufsl"
> ".fsl" ".dxl" ".lo" ".la" ".gmo" ".mo" ".toc" ".aux" ".cp" ".fn" ".ky" ".pg"
> ".tp" ".vr" ".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs" ".pyc" ".pyo")
>
> So we're using this mechanism to try to exclude directories named "CVS",
> which end up excluding directories called "aCVS".
(I'm not following this thread.)
It sounds like `completion-ignored-extensions'
is maybe being misused somewhere (?).
Maybe `vc-directory-exclusion-list' is relevant
for what you're wanting?
Its value is
("SCCS" "RCS" "CVS" "MCVS" ".src" ".svn" ".git"
".hg" ".bzr" "_MTN" "_darcs" "{arch}")
Documentation:
List of directory names to be ignored when walking directory trees.
You can customize this variable.
> I think perhaps of introducing a regexp-based extra mechanism here that
> we should introduce a new completion-ignored-files variable, which would
> default to '(".svn/" ".hg/" ".git/" ".bzr/" "CVS/" "_darcs/" "_MTN/")
> (probably), and then remove those from -extensions.
>
> However, this will require a lot of work --
> completion-ignored-extensions is used many places (and it's commonly
> used as a regexp),
It's used as a regexp? So all of the entries
".<something>" match any non-newline char
before what <something> matches, instead of a
literal dot there?
Where do you see it used as a regexp?
^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2022-02-23 12:05 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-28 11:15 bug#16577: 24.3; Ido omitting directories with similar names to other directories Rotem Yaari
2014-01-28 16:00 ` Eli Zaretskii
2014-01-28 17:18 ` Glenn Morris
2014-01-28 17:24 ` Eli Zaretskii
2014-01-28 17:35 ` Rotem Yaari
2014-01-28 17:39 ` Eli Zaretskii
2014-01-28 18:59 ` Glenn Morris
2014-01-28 19:17 ` Eli Zaretskii
2014-01-28 20:15 ` Glenn Morris
2014-01-28 21:39 ` Stefan Monnier
2014-01-29 2:43 ` Glenn Morris
2022-02-20 13:26 ` bug#16577: Add regexp-based version of completion-ignored-extensions Lars Ingebrigtsen
2022-02-20 15:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-20 22:05 ` bug#16577: [External] : " Drew Adams
2022-02-21 14:00 ` Lars Ingebrigtsen
2022-02-21 16:06 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-21 16:20 ` Lars Ingebrigtsen
2022-02-21 16:23 ` Lars Ingebrigtsen
2022-02-21 16:57 ` Eli Zaretskii
2022-02-21 17:01 ` Lars Ingebrigtsen
2022-02-21 17:13 ` Eli Zaretskii
2022-02-21 17:36 ` Lars Ingebrigtsen
2022-02-21 17:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-21 17:33 ` bug#16577: [External] : " Drew Adams
2022-02-22 13:17 ` Lars Ingebrigtsen
2022-02-22 13:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-23 12:05 ` Lars Ingebrigtsen
2022-02-20 21:48 ` bug#16577: [External] : " Drew Adams
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.