Mercurial > hg > xemacs-beta
comparison lisp/files.el @ 5211:cdca98f2d36f
Move `default-file-system-ignore-case' to C; fix bug in directory hash tables
src/ChangeLog addition:
2010-05-16 Aidan Kehoe <kehoea@parhasard.net>
Move `default-file-system-ignore-case' to C; pay attention to it
in creating the directory hash tables for #'locate-file. Fix a bug
where #'eq was specified when creating directory hash tables in
dired.c.
* config.h.in (DEFAULT_FILE_SYSTEM_IGNORE_CASE): This is 1 on
Darwin.
* dired.c (make_directory_hash_table): If
#'file-system-ignore-case-p gives non-nil for a directory, created
the associated hash table with #'equalp as its test. Never use
#'eq as a directory hash table test.
* fileio.c (vars_of_fileio):
Move `default-file-system-ignore-case' here, so it can be a
constant boolean reflecting a compile-time #define.
* lisp.h: Update the declaration of make_directory_hash_table;
remove the declaration of wasteful_word_to_lisp, which was
#ifdef'd out.
* lread.c (Flocate_file): Take out a debugging statement from
this function.
(locate_file_refresh_hashing): Call make_directory_hash_table with
a Lisp string, not an Ibyte pointer.
(vars_of_lread): If DEFAULT_FILE_SYSTEM_IGNORE_CASE is defined,
use #'equalp as the hash table test for locate-file-hash-table,
not #'equal.
* s/win32-common.h (DEFAULT_FILE_SYSTEM_IGNORE_CASE):
Case should normally be ignored in file names on Win32.
lisp/ChangeLog addition:
2010-05-16 Aidan Kehoe <kehoea@parhasard.net>
* files.el (default-file-system-ignore-case):
Move this to fileio.c, where it's a constant boolean variable
initialised at dump time.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 16 May 2010 12:33:21 +0100 |
parents | 733f067a73ce |
children | 0d71bcf96ffd |
comparison
equal
deleted
inserted
replaced
5208:9fa29ec759e3 | 5211:cdca98f2d36f |
---|---|
4513 (car arguments) | 4513 (car arguments) |
4514 (apply operation arguments)))) | 4514 (apply operation arguments)))) |
4515 | 4515 |
4516 ;; END SYNC WITH FSF 21.2. | 4516 ;; END SYNC WITH FSF 21.2. |
4517 | 4517 |
4518 ;; XEmacs: | 4518 ;; XEmacs. Question; do any of the Linuxes mount Windows partitions in |
4519 (defvar default-file-system-ignore-case (and | 4519 ;; a fixed place? |
4520 (memq system-type '(windows-nt | |
4521 cygwin32 | |
4522 darwin)) | |
4523 t) | |
4524 "What `file-system-ignore-case-p' returns by default. | |
4525 This is in the case that nothing in `file-system-case-alist' matches.") | |
4526 | |
4527 ;; Question; do any of the Linuxes mount Windows partitions in a fixed | |
4528 ;; place? | |
4529 (defvar file-system-case-alist nil | 4520 (defvar file-system-case-alist nil |
4530 "Alist to decide where file name case is significant. | 4521 "Alist to decide where file name case is significant. |
4531 | 4522 |
4532 The format is ((PATTERN . VAL) ...), where PATTERN is a regular expression | 4523 The format is ((PATTERN . VAL) ...), where PATTERN is a regular expression |
4533 matching a file name, and VAL is t if corresponding file names are | 4524 matching a file name, and VAL is t if corresponding file names are |