emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lib-src ChangeLog emacsclient.c


From: Juanma Barranquero
Subject: [Emacs-diffs] emacs/lib-src ChangeLog emacsclient.c
Date: Wed, 11 Mar 2009 00:57:04 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Juanma Barranquero <lektu>      09/03/11 00:57:04

Modified files:
        lib-src        : ChangeLog emacsclient.c 

Log message:
        * emacsclient.c (main): Revert part of last change,
          so drive-relative file names again work on Windows.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lib-src/ChangeLog?cvsroot=emacs&r1=2.522&r2=2.523
http://cvs.savannah.gnu.org/viewcvs/emacs/lib-src/emacsclient.c?cvsroot=emacs&r1=1.155&r2=1.156

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lib-src/ChangeLog,v
retrieving revision 2.522
retrieving revision 2.523
diff -u -b -r2.522 -r2.523
--- ChangeLog   10 Mar 2009 14:08:52 -0000      2.522
+++ ChangeLog   11 Mar 2009 00:57:03 -0000      2.523
@@ -1,5 +1,10 @@
 2009-03-10  Stefan Monnier  <address@hidden>
 
+       * emacsclient.c (main): Revert part of last change, so
+       drive-relative file names again work on Windows.
+
+2009-03-10  Stefan Monnier  <address@hidden>
+
        * emacsclient.c (main): Always pass cwd via "-dir".  Pass the file
        names without prepending cwd to them, so Emacs uses its customary
        rules to determine how to interpret the file name.

Index: emacsclient.c
===================================================================
RCS file: /cvsroot/emacs/emacs/lib-src/emacsclient.c,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -b -r1.155 -r1.156
--- emacsclient.c       10 Mar 2009 14:08:53 -0000      1.155
+++ emacsclient.c       11 Mar 2009 00:57:04 -0000      1.156
@@ -1635,6 +1635,26 @@
                   continue;
                 }
             }
+#ifdef WINDOWSNT
+         else if (! file_name_absolute_p (argv[i])
+                  && (isalpha (argv[i][0]) && argv[i][1] == ':'))
+           /* Windows can have a different default directory for each
+              drive, so the cwd passed via "-dir" is not sufficient
+              to account for that.
+              If the user uses <drive>:<relpath>, we hence need to be
+              careful to expand <relpath> with the default directory
+              corresponding to <drive>.  */
+           {
+             char *filename = (char *) xmalloc (MAX_PATH);
+             DWORD size;
+
+             size = GetFullPathName (argv[i], MAX_PATH, filename, NULL);
+             if (size > 0 && size < MAX_PATH)
+               argv[i] = filename;
+             else
+               free (filename);
+           }
+#endif
 
           send_to_emacs (emacs_socket, "-file ");
           quote_argument (emacs_socket, argv[i]);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]