aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog6
-rw-r--r--lib-src/emacsclient.c40
2 files changed, 10 insertions, 36 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 02f9918ebd8..0609f1e1e10 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,9 @@
12009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacsclient.c (main): Always pass cwd via "-dir". Pass the file
4 names without prepending cwd to them, so Emacs uses its customary
5 rules to determine how to interpret the file name.
6
12009-03-04 Glenn Morris <rgm@gnu.org> 72009-03-04 Glenn Morris <rgm@gnu.org>
2 8
3 * movemail.c (main) [MAIL_USE_POP]: Add -r to usage message. 9 * movemail.c (main) [MAIL_USE_POP]: Add -r to usage message.
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 559664f0d45..3197b2a7276 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -1566,11 +1566,11 @@ main (argc, argv)
1566 quote_argument (emacs_socket, environ[i]); 1566 quote_argument (emacs_socket, environ[i]);
1567 send_to_emacs (emacs_socket, " "); 1567 send_to_emacs (emacs_socket, " ");
1568 } 1568 }
1569 send_to_emacs (emacs_socket, "-dir ");
1570 quote_argument (emacs_socket, cwd);
1571 send_to_emacs (emacs_socket, "/");
1572 send_to_emacs (emacs_socket, " ");
1573 } 1569 }
1570 send_to_emacs (emacs_socket, "-dir ");
1571 quote_argument (emacs_socket, cwd);
1572 send_to_emacs (emacs_socket, "/");
1573 send_to_emacs (emacs_socket, " ");
1574 1574
1575 retry: 1575 retry:
1576 if (nowait) 1576 if (nowait)
@@ -1613,7 +1613,6 @@ main (argc, argv)
1613 { 1613 {
1614 for (i = optind; i < argc; i++) 1614 for (i = optind; i < argc; i++)
1615 { 1615 {
1616 int relative = 0;
1617 1616
1618 if (eval) 1617 if (eval)
1619 { 1618 {
@@ -1635,40 +1634,9 @@ main (argc, argv)
1635 send_to_emacs (emacs_socket, " "); 1634 send_to_emacs (emacs_socket, " ");
1636 continue; 1635 continue;
1637 } 1636 }
1638 else
1639 relative = 1;
1640 } 1637 }
1641 else if (! file_name_absolute_p (argv[i]))
1642#ifndef WINDOWSNT
1643 relative = 1;
1644#else
1645 /* Call GetFullPathName so filenames of the form X:Y, where X is
1646 a valid drive designator, are interpreted as drive:path, not
1647 file:stream, and treated as absolute.
1648 The user can still pass a file:stream if desired (for example,
1649 .\X:Y), but it is not very useful, as Emacs currently does a
1650 very bad job of dealing with NTFS streams. */
1651 {
1652 char *filename = (char *) xmalloc (MAX_PATH);
1653 DWORD size;
1654
1655 size = GetFullPathName (argv[i], MAX_PATH, filename, NULL);
1656 if (size > 0 && size < MAX_PATH)
1657 argv[i] = filename;
1658 else
1659 {
1660 relative = 1;
1661 free (filename);
1662 }
1663 }
1664#endif
1665 1638
1666 send_to_emacs (emacs_socket, "-file "); 1639 send_to_emacs (emacs_socket, "-file ");
1667 if (relative)
1668 {
1669 quote_argument (emacs_socket, cwd);
1670 send_to_emacs (emacs_socket, "/");
1671 }
1672 quote_argument (emacs_socket, argv[i]); 1640 quote_argument (emacs_socket, argv[i]);
1673 send_to_emacs (emacs_socket, " "); 1641 send_to_emacs (emacs_socket, " ");
1674 } 1642 }