* bug#17938: Very long path name can not handle in windows mingw emacs. @ 2014-07-04 15:05 Masamichi HOSODA 2014-07-04 20:07 ` Eli Zaretskii 0 siblings, 1 reply; 3+ messages in thread From: Masamichi HOSODA @ 2014-07-04 15:05 UTC (permalink / raw) To: 17938 Hello. Very long path name files can not handle in windows mingw emacs. GNU Emacs 24.3.1 (i386-mingw-nt6.2.9200) GNU Emacs 24.3.92.1 (x86_64-w64-mingw32) etc. It is a path name over about 260 characters. The files and folders are not displayed in dired. So they are unable to open. When you drag and drop the folder from explorer, emacs shows a message like "Directory /long/path/name/folder inaccessible or nonexistent". I think that the following is the cause. In the mingw environment, MAX_PATH is defined as 260. Emacs source src/w32.c uses MAX_PATH for filename buffers. However, NTFS (NT File System) can handle longer path name than 260 characters. Thank you. ^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#17938: Very long path name can not handle in windows mingw emacs. 2014-07-04 15:05 bug#17938: Very long path name can not handle in windows mingw emacs Masamichi HOSODA @ 2014-07-04 20:07 ` Eli Zaretskii 2022-06-29 15:12 ` Stefan Kangas 0 siblings, 1 reply; 3+ messages in thread From: Eli Zaretskii @ 2014-07-04 20:07 UTC (permalink / raw) To: Masamichi HOSODA; +Cc: 17938 > Date: Sat, 05 Jul 2014 00:05:54 +0900 (JST) > From: Masamichi HOSODA <trueroad@sea.plala.or.jp> > > Very long path name files can not handle in windows mingw emacs. > > GNU Emacs 24.3.1 (i386-mingw-nt6.2.9200) > GNU Emacs 24.3.92.1 (x86_64-w64-mingw32) > etc. > > It is a path name over about 260 characters. > The files and folders are not displayed in dired. > So they are unable to open. > When you drag and drop the folder from explorer, emacs shows a message like > "Directory /long/path/name/folder inaccessible or nonexistent". > > > I think that the following is the cause. > In the mingw environment, MAX_PATH is defined as 260. > Emacs source src/w32.c uses MAX_PATH for filename buffers. The use of MAX_PATH is on purpose. It is not an accident, and defining it to a larger value will not solve the problem, see below. > However, NTFS (NT File System) can handle longer path name than 260 characters. Yes, NTFS can handle file names that are longer than 260 characters. However, that feature comes at a high price. First, every file name needs to be converted to the "\\?\X\foo" format, before handing it to system APIs and C library functions that accept file names. Next, some standard functions cannot handle such names (examples: _wchdir, _wstat), so they need to be rewritten using other, lower-level primitives. Finally, most programs and utilities that come with Windows cannot handle these files. The most striking example is the Windows Explorer, but since we are talking about Emacs, it is worthwhile to remember that no compiler, linker, or utility like Diff or Patch or Coreutils can handle such files. So you cannot copy, rename, or delete such files, except by the program which created them; and you cannot compile them. IOW, they are all but useless. For these reasons, I think that support for such file names is very low priority for Emacs on Windows. Thanks. ^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#17938: Very long path name can not handle in windows mingw emacs. 2014-07-04 20:07 ` Eli Zaretskii @ 2022-06-29 15:12 ` Stefan Kangas 0 siblings, 0 replies; 3+ messages in thread From: Stefan Kangas @ 2022-06-29 15:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Masamichi HOSODA, 17938 tags 17938 + wontfix close 17938 thanks Eli Zaretskii <eliz@gnu.org> writes: >> I think that the following is the cause. >> In the mingw environment, MAX_PATH is defined as 260. >> Emacs source src/w32.c uses MAX_PATH for filename buffers. > > The use of MAX_PATH is on purpose. It is not an accident, and > defining it to a larger value will not solve the problem, see below. > >> However, NTFS (NT File System) can handle longer path name than 260 characters. > > Yes, NTFS can handle file names that are longer than 260 characters. > However, that feature comes at a high price. First, every file name > needs to be converted to the "\\?\X\foo" format, before handing it to > system APIs and C library functions that accept file names. Next, > some standard functions cannot handle such names (examples: _wchdir, > _wstat), so they need to be rewritten using other, lower-level > primitives. Finally, most programs and utilities that come with > Windows cannot handle these files. The most striking example is the > Windows Explorer, but since we are talking about Emacs, it is > worthwhile to remember that no compiler, linker, or utility like Diff > or Patch or Coreutils can handle such files. So you cannot copy, > rename, or delete such files, except by the program which created > them; and you cannot compile them. IOW, they are all but useless. > > For these reasons, I think that support for such file names is very > low priority for Emacs on Windows. I think this sounds like a wontfix, so I'm marking it as such and closing this bug. Thanks. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-06-29 15:12 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-04 15:05 bug#17938: Very long path name can not handle in windows mingw emacs Masamichi HOSODA 2014-07-04 20:07 ` Eli Zaretskii 2022-06-29 15:12 ` Stefan Kangas
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).