unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
@ 2014-10-14 14:50 Reuben Thomas
  2014-10-14 23:41 ` Stefan Monnier
                   ` (2 more replies)
  0 siblings, 3 replies; 40+ messages in thread
From: Reuben Thomas @ 2014-10-14 14:50 UTC (permalink / raw)
  To: 18716

This is a bit unfortunate for a GNU program! The pattern that matches
is, I presume, “*.lib”; the obvious question, for me, on a
case-sensitive filing system is, need it be case-insensitive? After all,
omitting .lib files seems sensible to me, but this is a .LIB file.


In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
 of 2014-03-07 on lamiak, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11600000
System Description:	Ubuntu 14.04.1 LTS

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_MONETARY: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Help

Minor modes in effect:
  show-paren-mode: t
  server-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  icomplete-mode: t
  global-auto-revert-mode: t
  desktop-save-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-whitespace-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  dtrt-indent-mode: t
  global-auto-complete-mode: t
  ido-everywhere: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-x k <return> C-x C-f 
<M-backspace> i n t <tab> <return> C-s C O P Y I N 
G . L B C-a C-s O P Y <backspace> <backspace> <backspace> 
C O P Y I N G C-s C-s C-s C-a C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n M-< C-x C-f C O P <tab> <tab> <tab> <return> C-x 
b <return> M-o M-o M-o M-o M-o M-o M-o C-h v d i r 
e d - o m i <tab> e x <tab> <return> C-s l i b C-s 
C-s C-a M-x r e p o r t b <backspace> - e m a c s - 
b u g <return>

Recent messages:
Omitted 3 lines.
Dired-Omit mode disabled
Omitting...
Omitted 3 lines.
Dired-Omit mode disabled
Omitting...
Omitted 3 lines.
Dired-Omit mode disabled
Type "q" to restore previous buffer.
Mark saved where search started

Load-path shadows:
/home/rrt/.emacs.d/el-get/org-mode/.dir-locals hides /home/rrt/.emacs.d/el-get/ess/.dir-locals
/home/rrt/.emacs.d/el-get/org-mode/.dir-locals hides /home/rrt/.emacs.d/el-get/el-get/.dir-locals
/home/rrt/.emacs.d/el-get/dictionary/lpath hides /home/rrt/.emacs.d/el-get/auctex/lpath
/home/rrt/.emacs.d/el-get/ess/lisp/ess-xls-d hides /usr/share/emacs24/site-lisp/ess/ess-xls-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-mouse hides /usr/share/emacs24/site-lisp/ess/ess-mouse
/home/rrt/.emacs.d/el-get/ess/lisp/ess-noweb hides /usr/share/emacs24/site-lisp/ess/ess-noweb
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sp5-d hides /usr/share/emacs24/site-lisp/ess/ess-sp5-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sta-l hides /usr/share/emacs24/site-lisp/ess/ess-sta-l
/home/rrt/.emacs.d/el-get/ess/lisp/ess-comp hides /usr/share/emacs24/site-lisp/ess/ess-comp
/home/rrt/.emacs.d/el-get/ess/lisp/ess-compat hides /usr/share/emacs24/site-lisp/ess/ess-compat
/home/rrt/.emacs.d/el-get/ess/lisp/ess-toolbar hides /usr/share/emacs24/site-lisp/ess/ess-toolbar
/home/rrt/.emacs.d/el-get/ess/lisp/ess-arc-d hides /usr/share/emacs24/site-lisp/ess/ess-arc-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess hides /usr/share/emacs24/site-lisp/ess/ess
/home/rrt/.emacs.d/el-get/ess/lisp/ess-dde hides /usr/share/emacs24/site-lisp/ess/ess-dde
/home/rrt/.emacs.d/el-get/ess/lisp/ess-lsp-l hides /usr/share/emacs24/site-lisp/ess/ess-lsp-l
/home/rrt/.emacs.d/el-get/ess/lisp/ess-r-gui hides /usr/share/emacs24/site-lisp/ess/ess-r-gui
/home/rrt/.emacs.d/el-get/ess/lisp/ess-install hides /usr/share/emacs24/site-lisp/ess/ess-install
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sas-l hides /usr/share/emacs24/site-lisp/ess/ess-sas-l
/home/rrt/.emacs.d/el-get/ess/lisp/ess-utils hides /usr/share/emacs24/site-lisp/ess/ess-utils
/home/rrt/.emacs.d/el-get/ess/lisp/ess-rdired hides /usr/share/emacs24/site-lisp/ess/ess-rdired
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sas-a hides /usr/share/emacs24/site-lisp/ess/ess-sas-a
/home/rrt/.emacs.d/el-get/ess/lisp/msdos hides /usr/share/emacs24/site-lisp/ess/msdos
/home/rrt/.emacs.d/el-get/ess/lisp/ess-font-lock hides /usr/share/emacs24/site-lisp/ess/ess-font-lock
/home/rrt/.emacs.d/el-get/ess/lisp/ess-jags-d hides /usr/share/emacs24/site-lisp/ess/ess-jags-d
/home/rrt/.emacs.d/el-get/ess/lisp/make-regexp hides /usr/share/emacs24/site-lisp/ess/make-regexp
/home/rrt/.emacs.d/el-get/ess/lisp/ess-gretl hides /usr/share/emacs24/site-lisp/ess/ess-gretl
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sta-d hides /usr/share/emacs24/site-lisp/ess/ess-sta-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-s4-d hides /usr/share/emacs24/site-lisp/ess/ess-s4-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-trns hides /usr/share/emacs24/site-lisp/ess/ess-trns
/home/rrt/.emacs.d/el-get/ess/lisp/ess-custom hides /usr/share/emacs24/site-lisp/ess/ess-custom
/home/rrt/.emacs.d/el-get/ess/lisp/ess-mode hides /usr/share/emacs24/site-lisp/ess/ess-mode
/home/rrt/.emacs.d/el-get/ess/lisp/ess-noweb-mode hides /usr/share/emacs24/site-lisp/ess/ess-noweb-mode
/home/rrt/.emacs.d/el-get/ess/lisp/ess-roxy hides /usr/share/emacs24/site-lisp/ess/ess-roxy
/home/rrt/.emacs.d/el-get/ess/lisp/ess-debug hides /usr/share/emacs24/site-lisp/ess/ess-debug
/home/rrt/.emacs.d/el-get/ess/lisp/ess-rd hides /usr/share/emacs24/site-lisp/ess/ess-rd
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sas-d hides /usr/share/emacs24/site-lisp/ess/ess-sas-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-menu hides /usr/share/emacs24/site-lisp/ess/ess-menu
/home/rrt/.emacs.d/el-get/ess/lisp/ess-r-args hides /usr/share/emacs24/site-lisp/ess/ess-r-args
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sp3-d hides /usr/share/emacs24/site-lisp/ess/ess-sp3-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-omg-d hides /usr/share/emacs24/site-lisp/ess/ess-omg-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-vst-d hides /usr/share/emacs24/site-lisp/ess/ess-vst-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sp6-d hides /usr/share/emacs24/site-lisp/ess/ess-sp6-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-s3-d hides /usr/share/emacs24/site-lisp/ess/ess-s3-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-swv hides /usr/share/emacs24/site-lisp/ess/ess-swv
/home/rrt/.emacs.d/el-get/ess/lisp/mouseme hides /usr/share/emacs24/site-lisp/ess/mouseme
/home/rrt/.emacs.d/el-get/ess/lisp/ess-inf hides /usr/share/emacs24/site-lisp/ess/ess-inf
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sp4-d hides /usr/share/emacs24/site-lisp/ess/ess-sp4-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-help hides /usr/share/emacs24/site-lisp/ess/ess-help
/home/rrt/.emacs.d/el-get/ess/lisp/ess-r-d hides /usr/share/emacs24/site-lisp/ess/ess-r-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-developer hides /usr/share/emacs24/site-lisp/ess/ess-developer
/home/rrt/.emacs.d/el-get/ess/lisp/ess-s-l hides /usr/share/emacs24/site-lisp/ess/ess-s-l
/home/rrt/.emacs.d/el-get/ess/lisp/ess-sp6w-d hides /usr/share/emacs24/site-lisp/ess/ess-sp6w-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-omg-l hides /usr/share/emacs24/site-lisp/ess/ess-omg-l
/home/rrt/.emacs.d/el-get/ess/lisp/ess-tracebug hides /usr/share/emacs24/site-lisp/ess/ess-tracebug
/home/rrt/.emacs.d/el-get/ess/lisp/ess-r-a hides /usr/share/emacs24/site-lisp/ess/ess-r-a
/home/rrt/.emacs.d/el-get/ess/lisp/ess-noweb-font-lock-mode hides /usr/share/emacs24/site-lisp/ess/ess-noweb-font-lock-mode
/home/rrt/.emacs.d/el-get/ess/lisp/ess-send2 hides /usr/share/emacs24/site-lisp/ess/ess-send2
/home/rrt/.emacs.d/el-get/ess/lisp/ess-rutils hides /usr/share/emacs24/site-lisp/ess/ess-rutils
/home/rrt/.emacs.d/el-get/ess/lisp/ess-site hides /usr/share/emacs24/site-lisp/ess/ess-site
/home/rrt/.emacs.d/el-get/ess/lisp/ess-send hides /usr/share/emacs24/site-lisp/ess/ess-send
/home/rrt/.emacs.d/el-get/ess/lisp/essd-els hides /usr/share/emacs24/site-lisp/ess/essd-els
/home/rrt/.emacs.d/el-get/ess/lisp/ess-bugs-l hides /usr/share/emacs24/site-lisp/ess/ess-bugs-l
/home/rrt/.emacs.d/el-get/ess/lisp/ess-eldoc hides /usr/share/emacs24/site-lisp/ess/ess-eldoc
/home/rrt/.emacs.d/el-get/ess/lisp/ess-bugs-d hides /usr/share/emacs24/site-lisp/ess/ess-bugs-d
/home/rrt/.emacs.d/el-get/ess/lisp/ess-julia hides /usr/share/emacs24/site-lisp/ess/ess-julia
/home/rrt/.emacs.d/el-get/apache-mode/apache-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/apache-mode
/home/rrt/.emacs.d/el-get/org-mode/contrib/lisp/htmlize hides /usr/share/emacs24/site-lisp/emacs-goodies-el/htmlize
/home/rrt/.emacs.d/el-get/quack/quack hides /usr/share/emacs24/site-lisp/emacs-goodies-el/quack
/home/rrt/.emacs.d/el-get/graphviz-dot-mode/graphviz-dot-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/graphviz-dot-mode
/home/rrt/.emacs.d/el-get/browse-kill-ring/browse-kill-ring hides /usr/share/emacs24/site-lisp/emacs-goodies-el/browse-kill-ring
/home/rrt/.emacs.d/el-get/filladapt/filladapt hides /usr/share/emacs24/site-lisp/emacs-goodies-el/filladapt
/home/rrt/.emacs.d/el-get/xrdb-mode/xrdb-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/xrdb-mode
/home/rrt/.emacs.d/el-get/markdown-mode/markdown-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/markdown-mode
/home/rrt/.emacs.d/el-get/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/rrt/.local/share/emacs/site-lisp/lilypond-font-lock hides /usr/share/emacs/site-lisp/lilypond-font-lock
/home/rrt/.local/share/emacs/site-lisp/lilypond-mode hides /usr/share/emacs/site-lisp/lilypond-mode
/home/rrt/.local/share/emacs/site-lisp/lilypond-init hides /usr/share/emacs/site-lisp/lilypond-init
/usr/share/emacs/24.3/site-lisp/cdargs hides /usr/share/emacs/site-lisp/cdargs
/home/rrt/.local/share/emacs/site-lisp/lilypond-indent hides /usr/share/emacs/site-lisp/lilypond-indent
/usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/home/rrt/.local/share/emacs/site-lisp/lilypond-song hides /usr/share/emacs/site-lisp/lilypond-song
/home/rrt/.local/share/emacs/site-lisp/lilypond-what-beat hides /usr/share/emacs/site-lisp/lilypond-what-beat
/home/rrt/.local/share/emacs/site-lisp/whitespace hides /usr/share/emacs/24.3/lisp/whitespace
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.3/lisp/textmodes/rst
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3/lisp/textmodes/flyspell
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3/lisp/textmodes/ispell
/home/rrt/.emacs.d/el-get/cperl-mode/cperl-mode hides /usr/share/emacs/24.3/lisp/progmodes/cperl-mode
/home/rrt/.emacs.d/el-get/flymake/flymake hides /usr/share/emacs/24.3/lisp/progmodes/flymake
/home/rrt/.emacs.d/el-get/org-mode/.dir-locals hides /usr/share/emacs/24.3/lisp/gnus/.dir-locals

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail dired-aux
mail-utils network-stream starttls cperl-mode misearch multi-isearch
json-mode json-reformat json-snatcher rx paredit js css-mode tern
url-http tls url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
url-gw json js3-mode imenu js3-parse js3-browse js3-highlight js3-ast
js3-messages js3-scan js3-util js3-vars cc-langs js3-externs autoconf
autoconf-mode sh-script smie vc-git make-mode flymake window-margin
org-element avl-tree org-indent org-rmail org-mhe org-irc org-info
org-gnus org-docview doc-view jka-compr image-mode org-bibtex bibtex
org-bbdb org-w3m face-remap flyspell ispell goto-addr smart-quotes
vlf-autoloads ff-paths uniquify paren server savehist minibuf-eldef
icomplete autorevert cus-start cus-load iimage 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
find-func cal-menu calendar cal-loaddefs go-mode url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
mailcap ffap dired-x desktop undo-tree diff whitespace url-util tex dbus
xml crm locate yasnippet derived quack cmuscheme scheme po-mode php-mode
etags cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine speedbar sb-image ezimage dframe org-loaddefs init-paredit
ido-hacks magit-autoloads geiser-load geiser frame-restore flymake-point
filladapt dtrt-indent warnings init-eldoc eldoc-extension
auto-complete-config auto-complete edmacro kmacro popup preview-latex
tex-site auto-loads .loaddefs el-get el-get-autoloads
el-get-list-packages el-get-dependencies el-get-build el-get-status pp
el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip
el-get-github-tar el-get-http-zip el-get-http-tar el-get-hg el-get-go
el-get-git-svn el-get-fink el-get-emacswiki el-get-http el-get-notify
help-mode el-get-emacsmirror el-get-github el-get-git url-parse
auth-source eieio byte-opt gnus-util mm-util mail-prsvr password-cache
url-vars el-get-elpa package cl-macs gv el-get-darcs el-get-cvs
el-get-bzr el-get-brew el-get-builtin el-get-apt-get el-get-recipes
el-get-byte-compile el-get-custom el-get-core autoload bytecomp
byte-compile cconv cl dired user-site-loaddefs ido ess-toolbar ess-mouse
mouseme thingatpt browse-url ess-menu ess-swv ess-noweb
ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l
ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs
make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug
format-spec ess-roxy advice cl-lib advice-preload hideshow ess-help
ess-developer ess-r-args eldoc help-fns ess-s-l ess ess-inf comint
ansi-color ring ess-mode ess-noweb-mode ess-utils ess-custom executable
easymenu ess-compat ess-site emacs-goodies-el emacs-goodies-custom
emacs-goodies-loaddefs easy-mmode devhelp time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd 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 dbusbind dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)

-- 
http://rrt.sc3d.org/





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-14 14:50 bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB Reuben Thomas
@ 2014-10-14 23:41 ` Stefan Monnier
  2014-10-14 23:51   ` Reuben Thomas
                     ` (2 more replies)
  2016-11-08 17:51 ` bug#18716: Patch for this bug Reuben Thomas
  2016-12-03  0:22 ` bug#18716: Reuben Thomas
  2 siblings, 3 replies; 40+ messages in thread
From: Stefan Monnier @ 2014-10-14 23:41 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716

Is COPYING.LIB a file that contains the LGPL license?
Why name it so weirdly?


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-14 23:41 ` Stefan Monnier
@ 2014-10-14 23:51   ` Reuben Thomas
  2014-10-15  7:56   ` Andreas Schwab
  2014-10-16  2:01   ` Richard Stallman
  2 siblings, 0 replies; 40+ messages in thread
From: Reuben Thomas @ 2014-10-14 23:51 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716

[-- Attachment #1: Type: text/plain, Size: 310 bytes --]

On 15 October 2014 00:41, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> Is COPYING.LIB a file that contains the LGPL license?
>

Yes.


> Why name it so weirdly?


I don't know, but this seems to be a common name for it. In my case, it was
installed in a source tree by gettext.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 849 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-14 23:41 ` Stefan Monnier
  2014-10-14 23:51   ` Reuben Thomas
@ 2014-10-15  7:56   ` Andreas Schwab
  2014-10-15 14:21     ` Stefan Monnier
  2014-10-16  2:01   ` Richard Stallman
  2 siblings, 1 reply; 40+ messages in thread
From: Andreas Schwab @ 2014-10-15  7:56 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Reuben Thomas

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Is COPYING.LIB a file that contains the LGPL license?
> Why name it so weirdly?

L used to stand for Library.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15  7:56   ` Andreas Schwab
@ 2014-10-15 14:21     ` Stefan Monnier
  2014-10-15 14:26       ` Reuben Thomas
  2014-10-15 14:26       ` Andreas Schwab
  0 siblings, 2 replies; 40+ messages in thread
From: Stefan Monnier @ 2014-10-15 14:21 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 18716, Reuben Thomas

>> Is COPYING.LIB a file that contains the LGPL license?
>> Why name it so weirdly?
> L used to stand for Library.

Doesn't explain the need for an extension.


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 14:21     ` Stefan Monnier
@ 2014-10-15 14:26       ` Reuben Thomas
  2014-10-15 14:27         ` Reuben Thomas
  2014-10-15 17:59         ` Stefan Monnier
  2014-10-15 14:26       ` Andreas Schwab
  1 sibling, 2 replies; 40+ messages in thread
From: Reuben Thomas @ 2014-10-15 14:26 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Andreas Schwab

[-- Attachment #1: Type: text/plain, Size: 591 bytes --]

On 15 October 2014 15:21, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> >> Is COPYING.LIB a file that contains the LGPL license?
> >> Why name it so weirdly?
> > L used to stand for Library.
>
> Doesn't explain the need for an extension.


This isn't really the forum for discussing the naming of a GNU license
file. dired-omit-mode deals sub-optimally with this particular name, and
even if the standard name were changed tomorrow, it would continue to occur
in the wild for years; so the real issue is: does it matter enough to fix
Emacs's treatment of it?


-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 1026 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 14:21     ` Stefan Monnier
  2014-10-15 14:26       ` Reuben Thomas
@ 2014-10-15 14:26       ` Andreas Schwab
  2014-10-15 17:57         ` Stefan Monnier
  1 sibling, 1 reply; 40+ messages in thread
From: Andreas Schwab @ 2014-10-15 14:26 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Reuben Thomas

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> Is COPYING.LIB a file that contains the LGPL license?
>>> Why name it so weirdly?
>> L used to stand for Library.
>
> Doesn't explain the need for an extension.

How else would you distinguish it from the GPL?

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 14:26       ` Reuben Thomas
@ 2014-10-15 14:27         ` Reuben Thomas
  2014-10-15 17:59         ` Stefan Monnier
  1 sibling, 0 replies; 40+ messages in thread
From: Reuben Thomas @ 2014-10-15 14:27 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Andreas Schwab

[-- Attachment #1: Type: text/plain, Size: 254 bytes --]

On 15 October 2014 15:26, Reuben Thomas <rrt@sc3d.org> wrote:

>
>  so the real issue is
>

Sorry, should've said "the issue at hand". The naming issue may well be the
more important one outside the context of Emacs development.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 760 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 14:26       ` Andreas Schwab
@ 2014-10-15 17:57         ` Stefan Monnier
  2014-10-15 20:57           ` Andreas Schwab
  0 siblings, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2014-10-15 17:57 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 18716, Reuben Thomas

>>>> Is COPYING.LIB a file that contains the LGPL license?
>>>> Why name it so weirdly?
>>> L used to stand for Library.
>> Doesn't explain the need for an extension.
> How else would you distinguish it from the GPL?

How 'bout: you look inside the file?

I think "COPYING" should not be synonymous with "GPL".  It should just
mean "this is the file that contains the terms under which copying (and
related activities) can take place".  So it can contain the GPLv2, the
GPLv3, the LGPL, or whatever else applies to your software (tho I prefer
if you stick to one of those ;-).


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 14:26       ` Reuben Thomas
  2014-10-15 14:27         ` Reuben Thomas
@ 2014-10-15 17:59         ` Stefan Monnier
  2014-10-15 19:05           ` Reuben Thomas
  1 sibling, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2014-10-15 17:59 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716, Andreas Schwab

> This isn't really the forum for discussing the naming of a GNU license
> file. dired-omit-mode deals sub-optimally with this particular name, and
> even if the standard name were changed tomorrow, it would continue to occur
> in the wild for years; so the real issue is: does it matter enough to fix
> Emacs's treatment of it?

I think the problem is in the naming of the file, rather than in Emacs's
treatment of files that end in ".LIB".
We could add a special ad-hoc rule for files called COPYING.LIB, but I'd
rather we fix the original problem instead.
"For years" is actually not that long ;-)


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 17:59         ` Stefan Monnier
@ 2014-10-15 19:05           ` Reuben Thomas
  2014-10-15 22:42             ` Stefan Monnier
  0 siblings, 1 reply; 40+ messages in thread
From: Reuben Thomas @ 2014-10-15 19:05 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Andreas Schwab

[-- Attachment #1: Type: text/plain, Size: 1223 bytes --]

On 15 October 2014 18:59, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> > This isn't really the forum for discussing the naming of a GNU license
> > file. dired-omit-mode deals sub-optimally with this particular name, and
> > even if the standard name were changed tomorrow, it would continue to
> occur
> > in the wild for years; so the real issue is: does it matter enough to fix
> > Emacs's treatment of it?
>
> I think the problem is in the naming of the file, rather than in Emacs's
> treatment of files that end in ".LIB".
>

Although no-one has yet answered my question why Emacs takes these patterns
to be case-insensitive even on case-sensitive filing systems.


> We could add a special ad-hoc rule for files called COPYING.LIB, but I'd
> rather we fix the original problem instead.
> "For years" is actually not that long ;-)
>

My repeated experience over the decades is that absent considerable effort,
"for years" rapidly becomes "for decades". Given that we're dealing not
just with future but also with past software releases in this case, I'm not
optimistic.

Nor however do I suggest adding special ad-hoc rules if it's possible to
avoid them, hence my question about case.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 1989 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 17:57         ` Stefan Monnier
@ 2014-10-15 20:57           ` Andreas Schwab
  2014-10-15 22:44             ` Stefan Monnier
  0 siblings, 1 reply; 40+ messages in thread
From: Andreas Schwab @ 2014-10-15 20:57 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Reuben Thomas

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> I think "COPYING" should not be synonymous with "GPL".  It should just
> mean "this is the file that contains the terms under which copying (and
> related activities) can take place".  So it can contain the GPLv2, the
> GPLv3, the LGPL, or whatever else applies to your software (tho I prefer
> if you stick to one of those ;-).

That doesn't work.  You cannot have two files with the same name.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 19:05           ` Reuben Thomas
@ 2014-10-15 22:42             ` Stefan Monnier
  2014-10-15 23:00               ` Reuben Thomas
  0 siblings, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2014-10-15 22:42 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716, Andreas Schwab

> Although no-one has yet answered my question why Emacs takes these patterns
> to be case-insensitive even on case-sensitive filing systems.

I don't actually know.

Maybe because the existence of case-insensitive filesystems cause the
existence of files with "weird" extensions like ".JPG" and it's easier
to just say "match case-insensitively" than to handle the known cases
where case is sometimes "messed up".

At least, that's the reason for the existence of auto-mode-case-fold.


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 20:57           ` Andreas Schwab
@ 2014-10-15 22:44             ` Stefan Monnier
  2014-10-15 22:54               ` Glenn Morris
  0 siblings, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2014-10-15 22:44 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 18716, Reuben Thomas

>> I think "COPYING" should not be synonymous with "GPL".  It should just
>> mean "this is the file that contains the terms under which copying (and
>> related activities) can take place".  So it can contain the GPLv2, the
>> GPLv3, the LGPL, or whatever else applies to your software (tho I prefer
>> if you stick to one of those ;-).
> That doesn't work.  You cannot have two files with the same name.

If your package is distributed under 2 different licenses, then you'll
either have to put both licenses in the same file or use two different
file names, but I see no reason why those two file names have to be
"COPYING" and "COPYING.LIB".


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 22:44             ` Stefan Monnier
@ 2014-10-15 22:54               ` Glenn Morris
  2014-10-16  3:06                 ` Stefan Monnier
  0 siblings, 1 reply; 40+ messages in thread
From: Glenn Morris @ 2014-10-15 22:54 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Andreas Schwab, Reuben Thomas

Stefan Monnier wrote:

> If your package is distributed under 2 different licenses, then you'll
> either have to put both licenses in the same file or use two different
> file names, but I see no reason why those two file names have to be
> "COPYING" and "COPYING.LIB".

You are arguing with the GNU coding standards, all hope is lost! ;)

http://www.gnu.org/prep/standards/html_node/Releases.html

  The GNU GPL, if used, should be in a file called COPYING. If the GNU
  LGPL is used, it should be in a file called COPYING.LESSER. 

BTW, guess what they used to say instead of COPYING.LESSER...

http://cvs.savannah.gnu.org/viewvc/gnustandards/standards.texi?root=gnustandards&r1=1.185&r2=1.186





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 22:42             ` Stefan Monnier
@ 2014-10-15 23:00               ` Reuben Thomas
  2014-10-16  3:10                 ` Stefan Monnier
  0 siblings, 1 reply; 40+ messages in thread
From: Reuben Thomas @ 2014-10-15 23:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Andreas Schwab

[-- Attachment #1: Type: text/plain, Size: 893 bytes --]

On 15 October 2014 23:42, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> > Although no-one has yet answered my question why Emacs takes these
> patterns
> > to be case-insensitive even on case-sensitive filing systems.
>
> I don't actually know.
>
> Maybe because the existence of case-insensitive filesystems cause the
> existence of files with "weird" extensions like ".JPG" and it's easier
> to just say "match case-insensitively" than to handle the known cases
> where case is sometimes "messed up".
>
> At least, that's the reason for the existence of auto-mode-case-fold.
>

Maybe this is a good place to start, then? Wouldn't the user prefer to know
about oddly-named files on a case-sensitive file system, rather than have
them automagically hidden? How about (at least optionally) matching
case-sensitively? That would solve the COPYING.LIB problem too.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 1369 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-14 23:41 ` Stefan Monnier
  2014-10-14 23:51   ` Reuben Thomas
  2014-10-15  7:56   ` Andreas Schwab
@ 2014-10-16  2:01   ` Richard Stallman
  2014-10-16  3:09     ` Stefan Monnier
  2 siblings, 1 reply; 40+ messages in thread
From: Richard Stallman @ 2014-10-16  2:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, rrt

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    Is COPYING.LIB a file that contains the LGPL license?
    Why name it so weirdly?

It's the convention I set up 25 years ago -- like COPYING, but it's
for libraries.  That was when "LGPL" meant "GNU Library General Public
License".

Perhaps it should be COPYING.LESSER.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.






^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 22:54               ` Glenn Morris
@ 2014-10-16  3:06                 ` Stefan Monnier
  2014-10-16  7:13                   ` Andreas Schwab
  0 siblings, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2014-10-16  3:06 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 18716, Andreas Schwab, Reuben Thomas

>   LGPL is used, it should be in a file called COPYING.LESSER. 

Duh!  ".LESSER" is also a completely silly extension.


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-16  2:01   ` Richard Stallman
@ 2014-10-16  3:09     ` Stefan Monnier
  2014-10-16 18:14       ` Richard Stallman
  0 siblings, 1 reply; 40+ messages in thread
From: Stefan Monnier @ 2014-10-16  3:09 UTC (permalink / raw)
  To: Richard Stallman; +Cc: 18716, rrt

> Perhaps it should be COPYING.LESSER.

Why?  If your software uses the LGPL, surely the file that holds the
copying rules should be called "COPYING" or "LICENSE" but not some name
with a funny ".LESSER" extension (which luckily corresponds to no known
format yet).  IF you want a different name depending on which license is
in use, it seems that "GPL-LICENSE" and "LGPL-LICENSE" would be better
choices.  Of course, I'd also argue in favor of a proper extension
(e.g. ".txt") and against the use of allcaps.


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-15 23:00               ` Reuben Thomas
@ 2014-10-16  3:10                 ` Stefan Monnier
  0 siblings, 0 replies; 40+ messages in thread
From: Stefan Monnier @ 2014-10-16  3:10 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716, Andreas Schwab

> them automagically hidden? How about (at least optionally) matching
> case-sensitively?

Fine by me.  It could even just reuse the existing auto-mode-case-fold.


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-16  3:06                 ` Stefan Monnier
@ 2014-10-16  7:13                   ` Andreas Schwab
  2014-10-16 13:15                     ` Stefan Monnier
  0 siblings, 1 reply; 40+ messages in thread
From: Andreas Schwab @ 2014-10-16  7:13 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, Reuben Thomas

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>   LGPL is used, it should be in a file called COPYING.LESSER. 
>
> Duh!  ".LESSER" is also a completely silly extension.

It's a name, not an extension.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-16  7:13                   ` Andreas Schwab
@ 2014-10-16 13:15                     ` Stefan Monnier
  0 siblings, 0 replies; 40+ messages in thread
From: Stefan Monnier @ 2014-10-16 13:15 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 18716, Reuben Thomas

>>> LGPL is used, it should be in a file called COPYING.LESSER. 
>> Duh!  ".LESSER" is also a completely silly extension.
> It's a name, not an extension.

Hmm... let's see

   M-: (file-name-extension "COPYING.LESSER") RET
=>
   "LESSER"

Nope, sorry.  And in case you'd argue that Elisp is biased in my favor:

   Python 2.7.7 (default, Jun  3 2014, 23:36:29) 
   [GCC 4.8.2] on linux2
   Type "help", "copyright", "credits" or "license" for more information.
   >>> import os
   >>> fileName, fileExtension = os.path.splitext('COPYING.LESSER')
   >>> fileExtension
   '.LESSER'
   >>>

It looks like an extension to me, to Elisp, and to Python.  Feel free to
check with other tools.


        Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-16  3:09     ` Stefan Monnier
@ 2014-10-16 18:14       ` Richard Stallman
  2014-10-16 20:17         ` Stefan Monnier
  0 siblings, 1 reply; 40+ messages in thread
From: Richard Stallman @ 2014-10-16 18:14 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18716, rrt

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    > Perhaps it should be COPYING.LESSER.

    Why?

It is a consistent series of names.

COPYING		  -  GNU GPL
COPYING.LESSER    -  GNU Lesser GPL

We traditionally use names in all caps for files of basic information
that accompany programs.  This custom started with README and TODO.

COPYING-LESSER would be just as good as COPYING.LESSER.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.






^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB
  2014-10-16 18:14       ` Richard Stallman
@ 2014-10-16 20:17         ` Stefan Monnier
  0 siblings, 0 replies; 40+ messages in thread
From: Stefan Monnier @ 2014-10-16 20:17 UTC (permalink / raw)
  To: Richard Stallman; +Cc: 18716, rrt

> COPYING-LESSER would be just as good as COPYING.LESSER.
                          ^^^^^^^^^^^^
                          better

-- Stefan





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2014-10-14 14:50 bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB Reuben Thomas
  2014-10-14 23:41 ` Stefan Monnier
@ 2016-11-08 17:51 ` Reuben Thomas
  2016-11-08 20:04   ` Eli Zaretskii
  2016-12-03  0:22 ` bug#18716: Reuben Thomas
  2 siblings, 1 reply; 40+ messages in thread
From: Reuben Thomas @ 2016-11-08 17:51 UTC (permalink / raw)
  To: 18716


[-- Attachment #1.1: Type: text/plain, Size: 628 bytes --]

I attach a patch for this bug.

It makes dired-mark-unmarked-files act case-insensitively. This seems
reasonable, as there's nothing to suggest it does otherwise.

Also, it is better than Stefan's suggestion to use auto-mode-case-fold, as
when visiting files, the user will quickly see if a file has been e.g.
visited in the wrong major mode owing to an uppercase filename being
treated as a lowercase one; whereas in dired-omit-mode, files can be hidden
counter to the user's expectation, as happened to me with COPYING.LIB, yet
it is not obvious (because the file is hidden!).

Is this OK to install?

-- 
http://rrt.sc3d.org

[-- Attachment #1.2: Type: text/html, Size: 1203 bytes --]

[-- Attachment #2: 0001-Match-files-case-insensitively-in-dired-x.patch --]
[-- Type: text/x-patch, Size: 1306 bytes --]

From 3e6e0d9acbb518f0d84866c6e28b27d049b6e474 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 17:42:24 +0000
Subject: [PATCH] Match files case-insensitively in dired-x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* lisp/dired-x.el (dired-mark-unmarked-files): Match the regex
case-insensitively (Bug#18716).  Do not use auto-mode-case-fold, as the
principle is different: with find-file, it’s reasonable to treat
upper-case filenames like lower-case ones, as the user will quickly see
if anything is wrong, and often it’s convenient; but with
dired-omit-mode, it is a bad idea to hide files that the user might
expect to see, as the omission will, by the nature of omission, not be
obvious!
---
 lisp/dired-x.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 8313905..a5d1e49 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -594,7 +594,8 @@ dired-mark-unmarked-files
       ;; not already marked
       (looking-at-p " ")
       ;; uninteresting
-      (let ((fn (dired-get-filename localp t)))
+      (let ((fn (dired-get-filename localp t))
+            (case-fold-search nil))
         (and fn (string-match-p regexp fn))))
      msg)))
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-08 17:51 ` bug#18716: Patch for this bug Reuben Thomas
@ 2016-11-08 20:04   ` Eli Zaretskii
  2016-11-08 22:16     ` Reuben Thomas
  0 siblings, 1 reply; 40+ messages in thread
From: Eli Zaretskii @ 2016-11-08 20:04 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Tue, 8 Nov 2016 17:51:26 +0000
> 
> It makes dired-mark-unmarked-files act case-insensitively.

You meant case-sensitively, I presume.

> Also, it is better than Stefan's suggestion to use auto-mode-case-fold, as when visiting files, the user will
> quickly see if a file has been e.g. visited in the wrong major mode owing to an uppercase filename being
> treated as a lowercase one; whereas in dired-omit-mode, files can be hidden counter to the user's
> expectation, as happened to me with COPYING.LIB, yet it is not obvious (because the file is hidden!).

I don't understand what happened to the comment about *.JPG files on
case-sensitive filesystems, and how does this patch do TRT on
case-insensitive filesystems.

IOW, it sounds like the right solution cannot be so simple, because
this will most probably cause user complaints of the opposite kind.
No?

Btw, if the problem is only with COPYING.LIB, maybe a better
heuristics would be to remove .lib from completion-ignored-extensions,
as it is no longer so widespread where Emacs users dwell?





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-08 20:04   ` Eli Zaretskii
@ 2016-11-08 22:16     ` Reuben Thomas
  2016-11-09 19:36       ` Eli Zaretskii
  0 siblings, 1 reply; 40+ messages in thread
From: Reuben Thomas @ 2016-11-08 22:16 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 18716


[-- Attachment #1.1: Type: text/plain, Size: 1946 bytes --]

On 8 November 2016 at 20:04, Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Reuben Thomas <rrt@sc3d.org>
> > Date: Tue, 8 Nov 2016 17:51:26 +0000
> >
> > It makes dired-mark-unmarked-files act case-insensitively.
>
> You meant case-sensitively, I presume.
>

​That's right, sorry.​ Fixed.

I don't understand what happened to the comment about *.JPG files on
> case-sensitive filesystems,


I took it into account. My experience is that on a case-insensitive system
(e.g. a GNU system), one finds occasional files like this, typically copied
from other systems or extracted from archives. These are not a problem for
dired-omit-mode. For visiting such files, treating auto-mode-alist and
similar case-insensitively is no problem.


> and how does this patch do TRT on
> case-insensitive filesystems.
>

It doesn't, I've fixed it in the same way as the usage of auto-mode-alist,
by testing the system type.


> IOW, it sounds like the right solution cannot be so simple, because
> this will most probably cause user complaints of the opposite kind.
> No?​​


​See above. The only people I can see complaining are users of
case-insensitive file systems on case-sensitive systems. The correct fix
there is in any case to use the case-sensitivity of the file system, rather
than using the operating system as an indicator of that. (The same applies
to auto-mode-alist.)

Btw, if the problem is only with COPYING.LIB, maybe a better
> heuristics would be to remove .lib from completion-ignored-extensions,
> as it is no longer so widespread where Emacs users dwell?
>

​I don't think special cases are a good idea. There are other examples,
e.g. CVS is a pattern, which will also match "cvs", which I have in e.g.
wiki CVS repositories.

​I also added a couple of additional patches to tidy up obsolete
documentation, comments and code from dired-x.el.​

-- 
http://rrt.sc3d.org

[-- Attachment #1.2: Type: text/html, Size: 3485 bytes --]

[-- Attachment #2: 0001-Match-files-case-sensitively-in-dired-x.patch --]
[-- Type: text/x-patch, Size: 988 bytes --]

From df718d0c292c761b808746c210519569a31be1a0 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 17:42:24 +0000
Subject: [PATCH 1/3] Match files case-sensitively in dired-x

* lisp/dired-x.el (dired-mark-unmarked-files): Match the regex
case-sensitively on case-sensitive systems (Bug#18716).
---
 lisp/dired-x.el | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 8313905..5adf781 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -594,7 +594,10 @@ dired-mark-unmarked-files
       ;; not already marked
       (looking-at-p " ")
       ;; uninteresting
-      (let ((fn (dired-get-filename localp t)))
+      (let ((fn (dired-get-filename localp t))
+            ;; Match patterns case-insensitively on case-insensitive
+            ;; systems
+            (case-fold-search (memq system-type '(windows-nt cygwin))))
         (and fn (string-match-p regexp fn))))
      msg)))
 
-- 
2.7.4


[-- Attachment #3: 0002-Remove-pre-customize-dired-x.el-documentation.patch --]
[-- Type: text/x-patch, Size: 2206 bytes --]

From b351ba71ddc352ebfee8f08882299bc9b41a6b78 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 22:01:59 +0000
Subject: [PATCH 2/3] Remove pre-customize dired-x.el documentation

* lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
use dired-x from .emacs.  It is now fully customizable.
* lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
how to set this custom variable in .emacs.  It should be customized.
---
 lisp/dired-x.el | 26 +-------------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 5adf781..30cfaf4 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -29,20 +29,6 @@
 ;; This is based on Sebastian Kremer's excellent dired-x.el (Dired Extra),
 ;; version 1.191, adapted for GNU Emacs.  See the `dired-x' info pages.
 
-;; USAGE: In your ~/.emacs,
-;;
-;; (add-hook 'dired-load-hook
-;;           (lambda ()
-;;                       (load "dired-x")
-;;                       ;; Set global variables here.  For example:
-;;                       ;; (setq dired-guess-shell-gnutar "gtar")
-;;                       ))
-;; (add-hook 'dired-mode-hook
-;;           (lambda ()
-;;                       ;; Set buffer-local variables here.  For example:
-;;                       ;; (dired-omit-mode 1)
-;;                       ))
-;;
 ;; At load time dired-x.el will install itself and bind some dired keys.
 ;; Some dired.el and dired-aux.el functions have extra features if
 ;; dired-x is loaded.
@@ -1082,17 +1068,7 @@ dired-guess-shell-alist-user
 with \\[previous-history-element] (M-p) .
 
 The variable `dired-guess-shell-case-fold-search' controls whether
-REGEXP is matched case-sensitively.
-
-You can set this variable in your ~/.emacs.  For example, to add rules for
-`.foo' and `.bar' files, write
-
- (setq dired-guess-shell-alist-user
-        '((\"\\\\.foo\\\\'\" \"FOO-COMMAND\")
-          (\"\\\\.bar\\\\'\"
-           (if condition
-              \"BAR-COMMAND-1\"
-            \"BAR-COMMAND-2\"))))"
+REGEXP is matched case-sensitively."
   :group 'dired-x
   :type '(alist :key-type regexp :value-type (repeat sexp)))
 
-- 
2.7.4


[-- Attachment #4: 0003-Remove-obsolete-comments-and-commented-code-from-dir.patch --]
[-- Type: text/x-patch, Size: 2452 bytes --]

From c9ec6bc3187cb3a90ae748ec08cb0f3c000ba353 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 22:04:52 +0000
Subject: [PATCH 3/3] Remove obsolete comments and commented code from
 dired-x.el

* lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
1997 answer about whether dired-mark-sexp is used.
* lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
commented out since before dired-x.el was added to RCS in 1994.
---
 lisp/dired-x.el | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 30cfaf4..e5957b4 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -1376,29 +1376,6 @@ dired-buffer-more-recently-used-p
        (memq buffer1 (buffer-list))
        (not (memq buffer1 (memq buffer2 (buffer-list))))))
 
-;; Same thing as `dired-buffers-for-dir' of dired.el? - lrd 11/23/93
-;; (defun dired-buffers-for-dir-exact (dir)
-;; ;; Return a list of buffers that dired DIR (a directory or wildcard)
-;; ;; at top level, or as subdirectory.
-;; ;; Top level matches must match the wildcard part too, if any.
-;; ;; The list is in reverse order of buffer creation, most recent last.
-;; ;; As a side effect, killed dired buffers for DIR are removed from
-;; ;; dired-buffers.
-;;   (let ((alist dired-buffers) result elt)
-;;     (while alist
-;;       (setq elt (car alist)
-;;             alist (cdr alist))
-;;       (let ((buf (cdr elt)))
-;;         (if (buffer-name buf)
-;;             ;; Top level must match exactly against dired-directory in
-;;             ;; case one of them is a wildcard.
-;;             (if (or (equal dir (with-current-buffer buf dired-directory))
-;;                     (assoc dir (with-current-buffer buf dired-subdir-alist)))
-;;                 (setq result (cons buf result)))
-;;           ;; else buffer is killed - clean up:
-;;           (setq dired-buffers (delq elt dired-buffers)))))
-;;     result))
-
 \f
 ;; Needed if ls -lh is supported and also for GNU ls -ls.
 (defun dired-x--string-to-number (str)
@@ -1416,9 +1393,6 @@ dired-x--string-to-number
           (setq val (* 1024.0 val)))))
     val))
 
-;; Does anyone use this? - lrd 6/29/93.
-;; Apparently people do use it. - lrd 12/22/97.
-
 (defun dired-mark-sexp (predicate &optional unflag-p)
   "Mark files for which PREDICATE returns non-nil.
 With a prefix arg, unmark or unflag those files instead.
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-08 22:16     ` Reuben Thomas
@ 2016-11-09 19:36       ` Eli Zaretskii
  2016-11-09 22:00         ` Reuben Thomas
  0 siblings, 1 reply; 40+ messages in thread
From: Eli Zaretskii @ 2016-11-09 19:36 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Tue, 8 Nov 2016 22:16:45 +0000
> Cc: 18716@debbugs.gnu.org
> 
>  I don't understand what happened to the comment about *.JPG files on
>  case-sensitive filesystems,
> 
> I took it into account. My experience is that on a case-insensitive system (e.g. a GNU system), one finds
> occasional files like this, typically copied from other systems or extracted from archives. These are not a
> problem for dired-omit-mode. For visiting such files, treating auto-mode-alist and similar case-insensitively is
> no problem.

Sorry, I don't understand what you mean by "these are not a problem".
With your change, *.JPG files will no longer be treated like *.jpg on
Posix systems.  Won't people who want *.JPG hidden complain?  IOW,
isn't this change backward-incompatible?

> +            (case-fold-search (memq system-type '(windows-nt cygwin))))

The list should include ms-dos as well.

> * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
> use dired-x from .emacs.  It is now fully customizable.
> * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
> how to set this custom variable in .emacs.  It should be customized.

Why remove these comments?  The existence of Custom doesn't preclude
people from customizations in plain Lisp.

Thanks.





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-09 19:36       ` Eli Zaretskii
@ 2016-11-09 22:00         ` Reuben Thomas
  2016-11-09 22:52           ` Drew Adams
  2016-11-10 17:38           ` Eli Zaretskii
  0 siblings, 2 replies; 40+ messages in thread
From: Reuben Thomas @ 2016-11-09 22:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 18716

[-- Attachment #1: Type: text/plain, Size: 3630 bytes --]

On 9 November 2016 at 19:36, Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Reuben Thomas <rrt@sc3d.org>
> > Date: Tue, 8 Nov 2016 22:16:45 +0000
> > Cc: 18716@debbugs.gnu.org
> >
> >  I don't understand what happened to the comment about *.JPG files on
> >  case-sensitive filesystems,
> >
> > I took it into account. My experience is that on a case-insensitive
> system (e.g. a GNU system), one finds
> > occasional files like this, typically copied from other systems or
> extracted from archives. These are not a
> > problem for dired-omit-mode. For visiting such files, treating
> auto-mode-alist and similar case-insensitively is
> > no problem.
>
> Sorry, I don't understand what you mean by "these are not a problem".
> With your change, *.JPG files will no longer be treated like *.jpg on
> Posix systems.  Won't people who want *.JPG hidden complain?  IOW,
> isn't this change backward-incompatible?
>

​I'm confused. I have not changed the behaviour of visiting files. When I
said "treating auto-mode-alist and similar case-insensitively is not a
problem", I meant that it is OK that auto-mode-alist is applied
case-insensitively.

When we talk about *.JPG files, we are not talking about dired-omit-mode,
because ".jpg" is not a suffix that would (normally) be omitted.​

What I was trying to explain is that unexpected case-insensitivity in
auto-mode-alist is not a problem, because the user immediately sees the
effects. On the other hand, in dired-omit-mode it is a problem, because the
user might not see the effects (the effects are to hide things).

I double-checked, and the code I changed, dired-mark-unmarked-files, is
only called by dired-omit. However, it can also be called interactively, so
I have certainly changed the interactive behavior.

I could add a parameter to dired-mark-unmarked-files, case-fold-p,
defaulting to nil, which would be set by its current callers. But I think
you are saying that this change to the behavior of dired-omit-mode, which I
have suggested does not need a new preference, should indeed have a new
preference, so I can add that too. I think, though, that it should default
to `t', i.e. dired-omit-mode behaving case-sensitively by default.

If you'd say what you consider acceptable, I'll implement it.


> > +            (case-fold-search (memq system-type '(windows-nt cygwin))))
>
> The list should include ms-dos as well.
>

​OK, I will add a patch for files.el, since I got the list from there,
where it is used for the same purpose.​ Or perhaps there should be a global
variable defined in files.el containing the list?

> * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
> > use dired-x from .emacs.  It is now fully customizable.
> > * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
> > how to set this custom variable in .emacs.  It should be customized.
>
> Why remove these comments?  The existence of Custom doesn't preclude
> people from customizations in plain Lisp.
>

The documentation is a maintenance burden (since it is hand-written and
duplicate), few people will read it anyway, and further it is redundant,
since it can be customized in plain Lisp in the same way as any other
defcustom. (I presume you're not implying that we should add documentation
to every Lisp source file to show how to customize each defcustom?)
Further, the documentation as it is implies that these variables *should*
be customized in plain Lisp, since (unlike most cases), there is explicit
documentation about it.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 5510 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-09 22:00         ` Reuben Thomas
@ 2016-11-09 22:52           ` Drew Adams
  2016-11-09 23:29             ` Reuben Thomas
  2016-11-10 17:38           ` Eli Zaretskii
  1 sibling, 1 reply; 40+ messages in thread
From: Drew Adams @ 2016-11-09 22:52 UTC (permalink / raw)
  To: Reuben Thomas, Eli Zaretskii; +Cc: 18716

> I double-checked, and the code I changed, dired-mark-unmarked-files, is
> only called by dired-omit. However, it can also be called interactively,
> so I have certainly changed the interactive behavior.

It can also be called from 3rd-party code.

(I don't understand the problem you are trying to solve, so I won't try
to comment further about the proposed solution.)





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-09 22:52           ` Drew Adams
@ 2016-11-09 23:29             ` Reuben Thomas
  0 siblings, 0 replies; 40+ messages in thread
From: Reuben Thomas @ 2016-11-09 23:29 UTC (permalink / raw)
  To: Drew Adams; +Cc: 18716

[-- Attachment #1: Type: text/plain, Size: 535 bytes --]

On 9 November 2016 at 22:52, Drew Adams <drew.adams@oracle.com> wrote:

> > I double-checked, and the code I changed, dired-mark-unmarked-files, is
> > only called by dired-omit. However, it can also be called interactively,
> > so I have certainly changed the interactive behavior.
>
> It can also be called from 3rd-party code.
>

​Quite right, and the suggestion I make retains the same behavior (as the
new argument I suggest is optional and its default value keeps the current
behavior).

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 1116 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-09 22:00         ` Reuben Thomas
  2016-11-09 22:52           ` Drew Adams
@ 2016-11-10 17:38           ` Eli Zaretskii
  2016-11-26 17:54             ` Reuben Thomas
  1 sibling, 1 reply; 40+ messages in thread
From: Eli Zaretskii @ 2016-11-10 17:38 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Wed, 9 Nov 2016 22:00:22 +0000
> Cc: 18716@debbugs.gnu.org
> 
>  Sorry, I don't understand what you mean by "these are not a problem".
>  With your change, *.JPG files will no longer be treated like *.jpg on
>  Posix systems. Won't people who want *.JPG hidden complain? IOW,
>  isn't this change backward-incompatible?
> 
> ​I'm confused.

So am I.

> I have not changed the behaviour of visiting files.

I wasn't talking about visiting files.  I was talking about
dired-omit-mode and related Dired issues.  I'm confused how visiting
files entered the scene, and why.

> When we talk about *.JPG files, we are not talking about dired-omit-mode, because ".jpg" is not a suffix that
> would (normally) be omitted.​

I think it will be, if someone adds it to
completion-ignored-extensions, or some other variable used by
dired-omit-mode to set up its omitted files.

> What I was trying to explain is that unexpected case-insensitivity in auto-mode-alist is not a problem, because
> the user immediately sees the effects. On the other hand, in dired-omit-mode it is a problem, because the
> user might not see the effects (the effects are to hide things).

Yes, I understand.  I was asking what do we tell users who have files
they want to omit that currently are only matched because of case
insensitivity.

> I could add a parameter to dired-mark-unmarked-files, case-fold-p, defaulting to nil, which would be set by its
> current callers. But I think you are saying that this change to the behavior of dired-omit-mode, which I have
> suggested does not need a new preference, should indeed have a new preference, so I can add that too. I
> think, though, that it should default to `t', i.e. dired-omit-mode behaving case-sensitively by default.

Sounds like a good compromise.  I agree about the default, except that
it should default to case-insensitive matches on case-insensitive
filesystems (Windows etc.)

>  > + (case-fold-search (memq system-type '(windows-nt cygwin))))
> 
>  The list should include ms-dos as well.
> 
> ​OK, I will add a patch for files.el, since I got the list from there, where it is used for the same purpose.

If you mean set-auto-mode, then it doesn't need such a change.  For
obscure historical reasons, the MS-DOS port wants to be case-sensitive
in that particular case (e.g., it wants to treat *.C files as C++, not
C).  In other places in files.el, ms-dos is already mentioned where
case-insensitive file name comparison is needed.

> Or perhaps there should be a global variable defined in files.el containing the list?

I don't see the need.

>  > * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
>  > use dired-x from .emacs. It is now fully customizable.
>  > * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
>  > how to set this custom variable in .emacs. It should be customized.
> 
>  Why remove these comments? The existence of Custom doesn't preclude
>  people from customizations in plain Lisp.
> 
> The documentation is a maintenance burden (since it is hand-written and duplicate), few people will read it
> anyway, and further it is redundant, since it can be customized in plain Lisp in the same way as any other
> defcustom. (I presume you're not implying that we should add documentation to every Lisp source file to show
> how to customize each defcustom?) Further, the documentation as it is implies that these variables *should*
> be customized in plain Lisp, since (unlike most cases), there is explicit documentation about it.

I don't share your interpretation of the presence of these comments,
but I'm not going to start a dispute about this.

Thanks.





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-10 17:38           ` Eli Zaretskii
@ 2016-11-26 17:54             ` Reuben Thomas
  2016-11-26 18:29               ` Ken Brown
  0 siblings, 1 reply; 40+ messages in thread
From: Reuben Thomas @ 2016-11-26 17:54 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 18716

[-- Attachment #1: Type: text/plain, Size: 790 bytes --]

On 10 November 2016 at 17:38, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> I could add a parameter to dired-mark-unmarked-files, case-fold-p, defaulting to nil, which would be set by its
>> current callers. But I think you are saying that this change to the behavior of dired-omit-mode, which I have
>> suggested does not need a new preference, should indeed have a new preference, so I can add that too. I
>> think, though, that it should default to `t', i.e. dired-omit-mode behaving case-sensitively by default.
>
> Sounds like a good compromise.  I agree about the default, except that
> it should default to case-insensitive matches on case-insensitive
> filesystems (Windows etc.)

I have now implemented this (apologies for the delay). I attach revised patches.

-- 
http://rrt.sc3d.org

[-- Attachment #2: 0002-Allow-files-to-be-matched-case-sensitively-in-dired-.patch --]
[-- Type: text/x-patch, Size: 3478 bytes --]

From a321999171464604a57af57941b6cb16df0435f0 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 17:42:24 +0000
Subject: [PATCH 2/5] Allow files to be matched case-sensitively in dired-x

* lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
controls case folding for matching the regex (Bug#18716).
(dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
systems, `nil' otherwise.
(dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
---
 lisp/dired-x.el | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 8313905..a51a04b 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -133,6 +133,13 @@ dired-omit-size-limit
   :type '(choice (const :tag "no maximum" nil) integer)
   :group 'dired-x)
 
+(defcustom dired-omit-case-fold (memq system-type '(msdos windows-nt cygwin))
+  "Whether `dired-omit-mode' will treat the regexp of files to
+  omit case-insensitively.  The default is to be case sensitive
+  on case-sensitive systems and case-insensitive otherwise."
+  :type 'boolean
+  :group 'dired-x)
+
 ;; For backward compatibility
 (define-obsolete-variable-alias 'dired-omit-files-p 'dired-omit-mode "22.1")
 (define-minor-mode dired-omit-mode
@@ -507,7 +514,7 @@ dired-mark-omitted
   "Mark files matching `dired-omit-files' and `dired-omit-extensions'."
   (interactive)
   (let ((dired-omit-mode nil)) (revert-buffer)) ;; Show omitted files
-  (dired-mark-unmarked-files (dired-omit-regexp) nil nil dired-omit-localp))
+  (dired-mark-unmarked-files (dired-omit-regexp) nil nil dired-omit-localp dired-omit-case-fold))
 
 (defcustom dired-omit-extensions
   (append completion-ignored-extensions
@@ -551,7 +558,7 @@ dired-omit-expunge
         (or (string= omit-re "")
             (let ((dired-marker-char dired-omit-marker-char))
               (when dired-omit-verbose (message "Omitting..."))
-              (if (dired-mark-unmarked-files omit-re nil nil dired-omit-localp)
+              (if (dired-mark-unmarked-files omit-re nil nil dired-omit-localp dired-omit-case-fold)
                   (progn
                     (setq count (dired-do-kill-lines
 				 nil
@@ -577,12 +584,14 @@ dired-omit-regexp
             "")))
 
 ;; Returns t if any work was done, nil otherwise.
-(defun dired-mark-unmarked-files (regexp msg &optional unflag-p localp)
+(defun dired-mark-unmarked-files (regexp msg &optional unflag-p localp case-fold-p)
   "Mark unmarked files matching REGEXP, displaying MSG.
 REGEXP is matched against the entire file name.  When called
 interactively, prompt for REGEXP.
 With prefix argument, unflag all those files.
-Optional fourth argument LOCALP is as in `dired-get-filename'."
+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."
   (interactive
    (list (read-regexp
 	  "Mark unmarked files matching regexp (default all): "
@@ -594,7 +603,10 @@ dired-mark-unmarked-files
       ;; not already marked
       (looking-at-p " ")
       ;; uninteresting
-      (let ((fn (dired-get-filename localp t)))
+      (let ((fn (dired-get-filename localp t))
+            ;; Match patterns case-insensitively on case-insensitive
+            ;; systems
+            (case-fold-search case-fold-p))
         (and fn (string-match-p regexp fn))))
      msg)))
 
-- 
2.7.4


[-- Attachment #3: 0003-Remove-pre-customize-dired-x.el-documentation.patch --]
[-- Type: text/x-patch, Size: 2206 bytes --]

From 3179826df0b9b66d6818c5c31bef5de4050bc1f0 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 22:01:59 +0000
Subject: [PATCH 3/5] Remove pre-customize dired-x.el documentation

* lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
use dired-x from .emacs.  It is now fully customizable.
* lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
how to set this custom variable in .emacs.  It should be customized.
---
 lisp/dired-x.el | 26 +-------------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index a51a04b..e1d8887 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -29,20 +29,6 @@
 ;; This is based on Sebastian Kremer's excellent dired-x.el (Dired Extra),
 ;; version 1.191, adapted for GNU Emacs.  See the `dired-x' info pages.
 
-;; USAGE: In your ~/.emacs,
-;;
-;; (add-hook 'dired-load-hook
-;;           (lambda ()
-;;                       (load "dired-x")
-;;                       ;; Set global variables here.  For example:
-;;                       ;; (setq dired-guess-shell-gnutar "gtar")
-;;                       ))
-;; (add-hook 'dired-mode-hook
-;;           (lambda ()
-;;                       ;; Set buffer-local variables here.  For example:
-;;                       ;; (dired-omit-mode 1)
-;;                       ))
-;;
 ;; At load time dired-x.el will install itself and bind some dired keys.
 ;; Some dired.el and dired-aux.el functions have extra features if
 ;; dired-x is loaded.
@@ -1091,17 +1077,7 @@ dired-guess-shell-alist-user
 with \\[previous-history-element] (M-p) .
 
 The variable `dired-guess-shell-case-fold-search' controls whether
-REGEXP is matched case-sensitively.
-
-You can set this variable in your ~/.emacs.  For example, to add rules for
-`.foo' and `.bar' files, write
-
- (setq dired-guess-shell-alist-user
-        '((\"\\\\.foo\\\\'\" \"FOO-COMMAND\")
-          (\"\\\\.bar\\\\'\"
-           (if condition
-              \"BAR-COMMAND-1\"
-            \"BAR-COMMAND-2\"))))"
+REGEXP is matched case-sensitively."
   :group 'dired-x
   :type '(alist :key-type regexp :value-type (repeat sexp)))
 
-- 
2.7.4


[-- Attachment #4: 0004-Remove-obsolete-comments-and-commented-code-from-dir.patch --]
[-- Type: text/x-patch, Size: 2452 bytes --]

From de9d720dd7cec37572393917911cedbbf493e75b Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 22:04:52 +0000
Subject: [PATCH 4/5] Remove obsolete comments and commented code from
 dired-x.el

* lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
1997 answer about whether dired-mark-sexp is used.
* lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
commented out since before dired-x.el was added to RCS in 1994.
---
 lisp/dired-x.el | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index e1d8887..7d8376c 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -1385,29 +1385,6 @@ dired-buffer-more-recently-used-p
        (memq buffer1 (buffer-list))
        (not (memq buffer1 (memq buffer2 (buffer-list))))))
 
-;; Same thing as `dired-buffers-for-dir' of dired.el? - lrd 11/23/93
-;; (defun dired-buffers-for-dir-exact (dir)
-;; ;; Return a list of buffers that dired DIR (a directory or wildcard)
-;; ;; at top level, or as subdirectory.
-;; ;; Top level matches must match the wildcard part too, if any.
-;; ;; The list is in reverse order of buffer creation, most recent last.
-;; ;; As a side effect, killed dired buffers for DIR are removed from
-;; ;; dired-buffers.
-;;   (let ((alist dired-buffers) result elt)
-;;     (while alist
-;;       (setq elt (car alist)
-;;             alist (cdr alist))
-;;       (let ((buf (cdr elt)))
-;;         (if (buffer-name buf)
-;;             ;; Top level must match exactly against dired-directory in
-;;             ;; case one of them is a wildcard.
-;;             (if (or (equal dir (with-current-buffer buf dired-directory))
-;;                     (assoc dir (with-current-buffer buf dired-subdir-alist)))
-;;                 (setq result (cons buf result)))
-;;           ;; else buffer is killed - clean up:
-;;           (setq dired-buffers (delq elt dired-buffers)))))
-;;     result))
-
 \f
 ;; Needed if ls -lh is supported and also for GNU ls -ls.
 (defun dired-x--string-to-number (str)
@@ -1425,9 +1402,6 @@ dired-x--string-to-number
           (setq val (* 1024.0 val)))))
     val))
 
-;; Does anyone use this? - lrd 6/29/93.
-;; Apparently people do use it. - lrd 12/22/97.
-
 (defun dired-mark-sexp (predicate &optional unflag-p)
   "Mark files for which PREDICATE returns non-nil.
 With a prefix arg, unmark or unflag those files instead.
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-26 17:54             ` Reuben Thomas
@ 2016-11-26 18:29               ` Ken Brown
  2016-11-28 21:32                 ` Reuben Thomas
  0 siblings, 1 reply; 40+ messages in thread
From: Ken Brown @ 2016-11-26 18:29 UTC (permalink / raw)
  To: Reuben Thomas, Eli Zaretskii; +Cc: 18716

On 11/26/2016 12:54 PM, Reuben Thomas wrote:
>> Sounds like a good compromise.  I agree about the default, except that
>> it should default to case-insensitive matches on case-insensitive
>> filesystems (Windows etc.)
> I have now implemented this (apologies for the delay). I attach revised patches.

As of commit 2809012 we have a new primitive, 
file-name-case-insensitive-p, that can be used to determine whether or 
not a filesystem is case insensitive.  This is better than relying on 
system type.  For example, on both Cygwin and macOS, it's possible that 
some filesystems are case-insensitive and others aren't.

Ken





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-26 18:29               ` Ken Brown
@ 2016-11-28 21:32                 ` Reuben Thomas
  2016-12-02  9:40                   ` Eli Zaretskii
  0 siblings, 1 reply; 40+ messages in thread
From: Reuben Thomas @ 2016-11-28 21:32 UTC (permalink / raw)
  To: Ken Brown; +Cc: 18716


[-- Attachment #1.1: Type: text/plain, Size: 1167 bytes --]

On 26 November 2016 at 18:29, Ken Brown <kbrown@cornell.edu> wrote:

> On 11/26/2016 12:54 PM, Reuben Thomas wrote:
>
>> Sounds like a good compromise.  I agree about the default, except that
>>> it should default to case-insensitive matches on case-insensitive
>>> filesystems (Windows etc.)
>>>
>> I have now implemented this (apologies for the delay). I attach revised
>> patches.
>>
>
> As of commit 2809012 we have a new primitive,
> file-name-case-insensitive-p, that can be used to determine whether or not
> a filesystem is case insensitive.  This is better than relying on system
> type.  For example, on both Cygwin and macOS, it's possible that some
> filesystems are case-insensitive and others aren't.


​Thanks for the heads up, that's great news! It bothered me that there was
no easy way to do this previously.

​I updated my patch so that dired-omit-case-fold is now a three-valued
variable which defaults to 'filesystem, and a helper function that checks
(filename-case-sensitive-p dired-directory) when this value is used.

I've added info and NEWS documentation for dired-omit-case-fold.

-- 
http://rrt.sc3d.org

[-- Attachment #1.2: Type: text/html, Size: 2332 bytes --]

[-- Attachment #2: 0002-Allow-files-to-be-matched-case-sensitively-in-dired-.patch --]
[-- Type: text/x-patch, Size: 5689 bytes --]

From 792edb24a8d7b617fcc8fbfa62f350fd01552d93 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 17:42:24 +0000
Subject: [PATCH 2/4] Allow files to be matched case-sensitively in dired-x

* lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
controls case folding for matching the regex (Bug#18716).
(dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
systems, `nil' otherwise.
(dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
* doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
---
 doc/misc/dired-x.texi | 11 +++++++++++
 etc/NEWS              |  6 ++++++
 lisp/dired-x.el       | 37 ++++++++++++++++++++++++++++++++-----
 3 files changed, 49 insertions(+), 5 deletions(-)

diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi
index db01896..4b5ca6d 100644
--- a/doc/misc/dired-x.texi
+++ b/doc/misc/dired-x.texi
@@ -369,6 +369,17 @@ Omitting Variables
 If non-@code{nil}, a list of extensions (strings) to omit from Dired listings.
 Its format is the same as that of @code{completion-ignored-extensions}.
 
+@vindex dired-omit-case-fold
+@item dired-omit-case-fold
+
+Default:  @code{filesystem}
+
+By default, @code{dired-omit-mode} will match filenames and extensions
+case-sensitively on Dired buffers visiting case-sensitive filesystems,
+and case-insensitively on case-insensitive filesystems.  Set to
+@code{nil} to be always case-sensitive, and @code{t} to be always
+case-sensitive.
+
 @vindex dired-omit-localp
 @item dired-omit-localp
 
diff --git a/etc/NEWS b/etc/NEWS
index cbce027..33b8a42 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -83,6 +83,12 @@ of curved quotes for 'electric-quote-mode', allowing user to choose
 the types of quotes to be used.
 
 +++
+** The new user variable 'dired-omit-case-fold' allows the
+case-sensitivity of dired-omit-mode to be configured.  It defaults to
+the same sensitivity as that of the filesystem for the corresponding
+dired buffer.
+
++++
 ** Emacs now uses double buffering to reduce flicker when editing and
 resizing graphical Emacs frames on the X Window System.  This support
 requires the DOUBLE-BUFFER extension, which major X servers have
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 8313905..8f20955 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -133,6 +133,26 @@ dired-omit-size-limit
   :type '(choice (const :tag "no maximum" nil) integer)
   :group 'dired-x)
 
+(defcustom dired-omit-case-fold 'filesystem
+  "Whether `dired-omit-mode' will use case-folding to match the
+regexp of files to omit.  When nil, always be case-sensitive; when
+t, always be case-insensitive; the default value, 'filesystem,
+causes case folding to be used on case-insensitive filesystems
+only."
+  :type '(choice (const :tag "Always case-sensitive" nil)
+		 (const :tag "Always case-insensitive" t)
+		 (const :tag "According to filesystem" filesystem))
+  :group 'dired-x
+  :version "26.1")
+
+(defun dired-omit-case-fold-p (dir)
+  "Return t if, according to `dired-omit-case-fold',
+  `dired-omit-mode' should use case folding to interpret its
+  regexp in directory DIR."
+  (if (eq dired-omit-case-fold 'filesystem)
+      (file-name-case-sensitive-p dir)
+    dired-omit-case-fold))
+
 ;; For backward compatibility
 (define-obsolete-variable-alias 'dired-omit-files-p 'dired-omit-mode "22.1")
 (define-minor-mode dired-omit-mode
@@ -507,7 +527,8 @@ dired-mark-omitted
   "Mark files matching `dired-omit-files' and `dired-omit-extensions'."
   (interactive)
   (let ((dired-omit-mode nil)) (revert-buffer)) ;; Show omitted files
-  (dired-mark-unmarked-files (dired-omit-regexp) nil nil dired-omit-localp))
+  (dired-mark-unmarked-files (dired-omit-regexp) nil nil dired-omit-localp
+                             (dired-omit-case-fold-p dired-directory)))
 
 (defcustom dired-omit-extensions
   (append completion-ignored-extensions
@@ -551,7 +572,8 @@ dired-omit-expunge
         (or (string= omit-re "")
             (let ((dired-marker-char dired-omit-marker-char))
               (when dired-omit-verbose (message "Omitting..."))
-              (if (dired-mark-unmarked-files omit-re nil nil dired-omit-localp)
+              (if (dired-mark-unmarked-files omit-re nil nil dired-omit-localp
+                                             (dired-omit-case-fold-p dired-directory))
                   (progn
                     (setq count (dired-do-kill-lines
 				 nil
@@ -577,12 +599,14 @@ dired-omit-regexp
             "")))
 
 ;; Returns t if any work was done, nil otherwise.
-(defun dired-mark-unmarked-files (regexp msg &optional unflag-p localp)
+(defun dired-mark-unmarked-files (regexp msg &optional unflag-p localp case-fold-p)
   "Mark unmarked files matching REGEXP, displaying MSG.
 REGEXP is matched against the entire file name.  When called
 interactively, prompt for REGEXP.
 With prefix argument, unflag all those files.
-Optional fourth argument LOCALP is as in `dired-get-filename'."
+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."
   (interactive
    (list (read-regexp
 	  "Mark unmarked files matching regexp (default all): "
@@ -594,7 +618,10 @@ dired-mark-unmarked-files
       ;; not already marked
       (looking-at-p " ")
       ;; uninteresting
-      (let ((fn (dired-get-filename localp t)))
+      (let ((fn (dired-get-filename localp t))
+            ;; Match patterns case-insensitively on case-insensitive
+            ;; systems
+            (case-fold-search case-fold-p))
         (and fn (string-match-p regexp fn))))
      msg)))
 
-- 
2.7.4


[-- Attachment #3: 0003-Remove-pre-customize-dired-x.el-documentation.patch --]
[-- Type: text/x-patch, Size: 2206 bytes --]

From 85ac884a98e0e1a25e1401e1baeeb992325cc634 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 22:01:59 +0000
Subject: [PATCH 3/4] Remove pre-customize dired-x.el documentation

* lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
use dired-x from .emacs.  It is now fully customizable.
* lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
how to set this custom variable in .emacs.  It should be customized.
---
 lisp/dired-x.el | 26 +-------------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 8f20955..6a3143e 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -29,20 +29,6 @@
 ;; This is based on Sebastian Kremer's excellent dired-x.el (Dired Extra),
 ;; version 1.191, adapted for GNU Emacs.  See the `dired-x' info pages.
 
-;; USAGE: In your ~/.emacs,
-;;
-;; (add-hook 'dired-load-hook
-;;           (lambda ()
-;;                       (load "dired-x")
-;;                       ;; Set global variables here.  For example:
-;;                       ;; (setq dired-guess-shell-gnutar "gtar")
-;;                       ))
-;; (add-hook 'dired-mode-hook
-;;           (lambda ()
-;;                       ;; Set buffer-local variables here.  For example:
-;;                       ;; (dired-omit-mode 1)
-;;                       ))
-;;
 ;; At load time dired-x.el will install itself and bind some dired keys.
 ;; Some dired.el and dired-aux.el functions have extra features if
 ;; dired-x is loaded.
@@ -1106,17 +1092,7 @@ dired-guess-shell-alist-user
 with \\[previous-history-element] (M-p) .
 
 The variable `dired-guess-shell-case-fold-search' controls whether
-REGEXP is matched case-sensitively.
-
-You can set this variable in your ~/.emacs.  For example, to add rules for
-`.foo' and `.bar' files, write
-
- (setq dired-guess-shell-alist-user
-        '((\"\\\\.foo\\\\'\" \"FOO-COMMAND\")
-          (\"\\\\.bar\\\\'\"
-           (if condition
-              \"BAR-COMMAND-1\"
-            \"BAR-COMMAND-2\"))))"
+REGEXP is matched case-sensitively."
   :group 'dired-x
   :type '(alist :key-type regexp :value-type (repeat sexp)))
 
-- 
2.7.4


[-- Attachment #4: 0004-Remove-obsolete-comments-and-commented-code-from-dir.patch --]
[-- Type: text/x-patch, Size: 2452 bytes --]

From 888b62451a3b9e9fe2d175be4d18b2dc30c59714 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 22:04:52 +0000
Subject: [PATCH 4/4] Remove obsolete comments and commented code from
 dired-x.el

* lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
1997 answer about whether dired-mark-sexp is used.
* lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
commented out since before dired-x.el was added to RCS in 1994.
---
 lisp/dired-x.el | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 6a3143e..34a02ec 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -1400,29 +1400,6 @@ dired-buffer-more-recently-used-p
        (memq buffer1 (buffer-list))
        (not (memq buffer1 (memq buffer2 (buffer-list))))))
 
-;; Same thing as `dired-buffers-for-dir' of dired.el? - lrd 11/23/93
-;; (defun dired-buffers-for-dir-exact (dir)
-;; ;; Return a list of buffers that dired DIR (a directory or wildcard)
-;; ;; at top level, or as subdirectory.
-;; ;; Top level matches must match the wildcard part too, if any.
-;; ;; The list is in reverse order of buffer creation, most recent last.
-;; ;; As a side effect, killed dired buffers for DIR are removed from
-;; ;; dired-buffers.
-;;   (let ((alist dired-buffers) result elt)
-;;     (while alist
-;;       (setq elt (car alist)
-;;             alist (cdr alist))
-;;       (let ((buf (cdr elt)))
-;;         (if (buffer-name buf)
-;;             ;; Top level must match exactly against dired-directory in
-;;             ;; case one of them is a wildcard.
-;;             (if (or (equal dir (with-current-buffer buf dired-directory))
-;;                     (assoc dir (with-current-buffer buf dired-subdir-alist)))
-;;                 (setq result (cons buf result)))
-;;           ;; else buffer is killed - clean up:
-;;           (setq dired-buffers (delq elt dired-buffers)))))
-;;     result))
-
 \f
 ;; Needed if ls -lh is supported and also for GNU ls -ls.
 (defun dired-x--string-to-number (str)
@@ -1440,9 +1417,6 @@ dired-x--string-to-number
           (setq val (* 1024.0 val)))))
     val))
 
-;; Does anyone use this? - lrd 6/29/93.
-;; Apparently people do use it. - lrd 12/22/97.
-
 (defun dired-mark-sexp (predicate &optional unflag-p)
   "Mark files for which PREDICATE returns non-nil.
 With a prefix arg, unmark or unflag those files instead.
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-11-28 21:32                 ` Reuben Thomas
@ 2016-12-02  9:40                   ` Eli Zaretskii
  2016-12-02 16:10                     ` Reuben Thomas
  0 siblings, 1 reply; 40+ messages in thread
From: Eli Zaretskii @ 2016-12-02  9:40 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Mon, 28 Nov 2016 21:32:03 +0000
> Cc: Eli Zaretskii <eliz@gnu.org>, 18716@debbugs.gnu.org
> 
> ​Thanks for the heads up, that's great news! It bothered me that there was no easy way to do this previously.
> 
> ​I updated my patch so that dired-omit-case-fold is now a three-valued variable which defaults to 'filesystem,
> and a helper function that checks (filename-case-sensitive-p dired-directory) when this value is used.
> 
> I've added info and NEWS documentation for dired-omit-case-fold.

Thanks, a few comments below.  With those fixed, please push to
master.

> +@vindex dired-omit-case-fold
> +@item dired-omit-case-fold
> +
> +Default:  @code{filesystem}

Please mention this value in the text that follows.

> +                                                           Set to
> +@code{nil} to be always case-sensitive, and @code{t} to be always
> +case-sensitive.

So which is it? ;-)

>  +++
> +** The new user variable 'dired-omit-case-fold' allows the
> +case-sensitivity of dired-omit-mode to be configured.  It defaults to
                                             ^^^^^^^^^^
Our terminology is "customized".

Bonus points for avoiding passive tense altogether ("... allows
customization of case-sensitivity ...").

> +(defcustom dired-omit-case-fold 'filesystem
> +  "Whether `dired-omit-mode' will use case-folding to match the
> +regexp of files to omit.  When nil, always be case-sensitive; when

The first line of a doc string should be a complete sentence.

> +(defun dired-omit-case-fold-p (dir)
> +  "Return t if, according to `dired-omit-case-fold',
> +  `dired-omit-mode' should use case folding to interpret its
> +  regexp in directory DIR."

Likewise.





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-12-02  9:40                   ` Eli Zaretskii
@ 2016-12-02 16:10                     ` Reuben Thomas
  2016-12-02 16:16                       ` Eli Zaretskii
  0 siblings, 1 reply; 40+ messages in thread
From: Reuben Thomas @ 2016-12-02 16:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 18716

[-- Attachment #1: Type: text/plain, Size: 1880 bytes --]

On 2 December 2016 at 09:40, Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Reuben Thomas <rrt@sc3d.org>
> > Date: Mon, 28 Nov 2016 21:32:03 +0000
> > Cc: Eli Zaretskii <eliz@gnu.org>, 18716@debbugs.gnu.org
> >
> > ​Thanks for the heads up, that's great news! It bothered me that there
> was no easy way to do this previously.
> >
> > ​I updated my patch so that dired-omit-case-fold is now a three-valued
> variable which defaults to 'filesystem,
> > and a helper function that checks (filename-case-sensitive-p
> dired-directory) when this value is used.
> >
> > I've added info and NEWS documentation for dired-omit-case-fold.
>
> Thanks, a few comments below.  With those fixed, please push to
> master.
>

Done; thanks for the review.​

> +                                                           Set to
> > +@code{nil} to be always case-sensitive, and @code{t} to be always
> > +case-sensitive.
>
> So which is it? ;-)
>

​I had quite a lot of struggles with these! Well spotted.​

​​
> Bonus points for avoiding passive tense altogether ("... allows
> customization of case-sensitivity ...").
>

Bonus points earned!


> > +(defcustom dired-omit-case-fold 'filesystem
> > +  "Whether `dired-omit-mode' will use case-folding to match the
> > +regexp of files to omit.  When nil, always be case-sensitive; when
>
> The first line of a doc string should be a complete sentence.
>

​OK, I fixed this one.​


> > +(defun dired-omit-case-fold-p (dir)
> > +  "Return t if, according to `dired-omit-case-fold',
> > +  `dired-omit-mode' should use case folding to interpret its
> > +  regexp in directory DIR."
>
> Likewise.
>

​I'm a bit puzzled here: this is a complete sentence. I wondered whether
you expected an "else" clause, so I added one: "…, or nil otherwise."

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 3761 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-12-02 16:10                     ` Reuben Thomas
@ 2016-12-02 16:16                       ` Eli Zaretskii
  2016-12-02 16:31                         ` Reuben Thomas
  0 siblings, 1 reply; 40+ messages in thread
From: Eli Zaretskii @ 2016-12-02 16:16 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18716

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Fri, 2 Dec 2016 16:10:01 +0000
> Cc: Ken Brown <kbrown@cornell.edu>, 18716@debbugs.gnu.org
> 
>  > +(defun dired-omit-case-fold-p (dir)
>  > + "Return t if, according to `dired-omit-case-fold',
>  > + `dired-omit-mode' should use case folding to interpret its
>  > + regexp in directory DIR."
> 
>  Likewise.
> 
> ​I'm a bit puzzled here: this is a complete sentence.

It is a complete sentence, but it takes more than one line.  The first
sentence should take one line, and the first line should be a complete
sentence.

Okay?





^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716: Patch for this bug
  2016-12-02 16:16                       ` Eli Zaretskii
@ 2016-12-02 16:31                         ` Reuben Thomas
  0 siblings, 0 replies; 40+ messages in thread
From: Reuben Thomas @ 2016-12-02 16:31 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 18716

[-- Attachment #1: Type: text/plain, Size: 812 bytes --]

On 2 December 2016 at 16:16, Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Reuben Thomas <rrt@sc3d.org>
> > Date: Fri, 2 Dec 2016 16:10:01 +0000
> > Cc: Ken Brown <kbrown@cornell.edu>, 18716@debbugs.gnu.org
> >
> >  > +(defun dired-omit-case-fold-p (dir)
> >  > + "Return t if, according to `dired-omit-case-fold',
> >  > + `dired-omit-mode' should use case folding to interpret its
> >  > + regexp in directory DIR."
> >
> >  Likewise.
> >
> > ​I'm a bit puzzled here: this is a complete sentence.
>
> It is a complete sentence, but it takes more than one line.  The first
> sentence should take one line, and the first line should be a complete
> sentence.
>
> Okay?
>

​Sorry, I missed "the first line" somehow. I'll install a fix for both
docstrings.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 1613 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* bug#18716:
  2014-10-14 14:50 bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB Reuben Thomas
  2014-10-14 23:41 ` Stefan Monnier
  2016-11-08 17:51 ` bug#18716: Patch for this bug Reuben Thomas
@ 2016-12-03  0:22 ` Reuben Thomas
  2 siblings, 0 replies; 40+ messages in thread
From: Reuben Thomas @ 2016-12-03  0:22 UTC (permalink / raw)
  To: 18716-done

[-- Attachment #1: Type: text/plain, Size: 1 bytes --]



[-- Attachment #2: Type: text/html, Size: 84 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2016-12-03  0:22 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-14 14:50 bug#18716: 24.3; dired-omit-extensions's default value omits COPYING.LIB Reuben Thomas
2014-10-14 23:41 ` Stefan Monnier
2014-10-14 23:51   ` Reuben Thomas
2014-10-15  7:56   ` Andreas Schwab
2014-10-15 14:21     ` Stefan Monnier
2014-10-15 14:26       ` Reuben Thomas
2014-10-15 14:27         ` Reuben Thomas
2014-10-15 17:59         ` Stefan Monnier
2014-10-15 19:05           ` Reuben Thomas
2014-10-15 22:42             ` Stefan Monnier
2014-10-15 23:00               ` Reuben Thomas
2014-10-16  3:10                 ` Stefan Monnier
2014-10-15 14:26       ` Andreas Schwab
2014-10-15 17:57         ` Stefan Monnier
2014-10-15 20:57           ` Andreas Schwab
2014-10-15 22:44             ` Stefan Monnier
2014-10-15 22:54               ` Glenn Morris
2014-10-16  3:06                 ` Stefan Monnier
2014-10-16  7:13                   ` Andreas Schwab
2014-10-16 13:15                     ` Stefan Monnier
2014-10-16  2:01   ` Richard Stallman
2014-10-16  3:09     ` Stefan Monnier
2014-10-16 18:14       ` Richard Stallman
2014-10-16 20:17         ` Stefan Monnier
2016-11-08 17:51 ` bug#18716: Patch for this bug Reuben Thomas
2016-11-08 20:04   ` Eli Zaretskii
2016-11-08 22:16     ` Reuben Thomas
2016-11-09 19:36       ` Eli Zaretskii
2016-11-09 22:00         ` Reuben Thomas
2016-11-09 22:52           ` Drew Adams
2016-11-09 23:29             ` Reuben Thomas
2016-11-10 17:38           ` Eli Zaretskii
2016-11-26 17:54             ` Reuben Thomas
2016-11-26 18:29               ` Ken Brown
2016-11-28 21:32                 ` Reuben Thomas
2016-12-02  9:40                   ` Eli Zaretskii
2016-12-02 16:10                     ` Reuben Thomas
2016-12-02 16:16                       ` Eli Zaretskii
2016-12-02 16:31                         ` Reuben Thomas
2016-12-03  0:22 ` bug#18716: Reuben Thomas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).