changeset 108902:1f795f817d05

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 06 Jun 2010 22:46:17 +0000
parents 10652acf752a (current diff) cc0a50e33241 (diff)
children 2bc8bdaafa9a
files
diffstat 39 files changed, 305 insertions(+), 313 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Jun 03 23:18:01 2010 +0000
+++ b/ChangeLog	Sun Jun 06 22:46:17 2010 +0000
@@ -1,3 +1,7 @@
+2010-06-06  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* configure.in: Remove code dealing with BSTRING.
+
 2010-06-03  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* configure.in (AC_PREREQ): Require autoconf 2.65.
--- a/admin/CPP-DEFINES	Thu Jun 03 23:18:01 2010 +0000
+++ b/admin/CPP-DEFINES	Sun Jun 06 22:46:17 2010 +0000
@@ -49,7 +49,6 @@
 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
 
 ** System specific macros, decribed in detail in src/s/template.h
-BSTRING
 CLASH_DETECTION
 COFF
 FIRST_PTY_LETTER
--- a/configure.in	Thu Jun 03 23:18:01 2010 +0000
+++ b/configure.in	Sun Jun 06 22:46:17 2010 +0000
@@ -3565,14 +3565,6 @@
 
 #define my_strftime nstrftime	/* for strftime.c */
 
-/* The rest of the code currently tests the CPP symbol BSTRING.
-   Override any claims made by the system-description files.
-   Note that on some SCO version it is possible to have bcopy and not bcmp.  */
-#undef BSTRING
-#if defined (HAVE_BCOPY) && defined (HAVE_BCMP)
-#define BSTRING
-#endif
-
 /* Some of the files of Emacs which are intended for use with other
    programs assume that if you have a config.h file, you must declare
    the type of getenv.  */
--- a/etc/NEWS	Thu Jun 03 23:18:01 2010 +0000
+++ b/etc/NEWS	Sun Jun 06 22:46:17 2010 +0000
@@ -164,6 +164,11 @@
 
 *** New VC commands: vc-log-incoming, vc-log-outgoing, vc-find-conflicted-file.
 
+**** vc-log-incoming for Git runs "git fetch" so that the necessary
+data is available locally.
+
+**** vc-log-incoming and vc-log-outgoing for Git require version 1.7 (or newer).
+
 *** New key bindings: C-x v I and C-x v O bound to vc-log-incoming and
 vc-log-outgoing, respectively.
 
--- a/lib-src/ChangeLog	Thu Jun 03 23:18:01 2010 +0000
+++ b/lib-src/ChangeLog	Sun Jun 06 22:46:17 2010 +0000
@@ -1,3 +1,7 @@
+2010-06-06  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* ntlib.h: Remove code dealing with BSTRING.
+
 2010-05-29  Chong Yidong  <cyd@stupidchicken.com>
 
 	* emacsclient.c (longopts, decode_options, print_help_and_exit):
--- a/lib-src/ntlib.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/lib-src/ntlib.h	Sun Jun 06 22:46:17 2010 +0000
@@ -43,12 +43,6 @@
 char * getpass (const char * prompt);
 int fchown (int fd, unsigned uid, unsigned gid);
 
-#ifndef BSTRING
-#define bzero(b, l) memset(b, 0, l)
-#define bcopy(s, d, l) memcpy(d, s, l)
-#define bcmp(a, b, l) memcmp(a, b, l)
-#endif
-
 /* redirect or undo interceptions created by config.h */
 #undef access
 #define access  _access
--- a/lisp/ChangeLog	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/ChangeLog	Sun Jun 06 22:46:17 2010 +0000
@@ -1,5 +1,56 @@
+2010-06-06  Juri Linkov  <juri@jurta.org>
+
+	* isearch.el (isearch-lazy-highlight-search): Fix looping
+	by checking for empty match.  This syncs this loop with the
+	similar loop in `isearch-search'.  (Bug#6362)
+
+2010-06-05  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	vc-log-incoming/vc-log-outgoing fixes for Git.
+	* vc-git.el (vc-git-log-view-mode): Fix font lock for
+	incoming/outgoing logs.
+	(vc-git-log-outgoing, vc-git-log-incoming): Use @{upstream}
+	instead of vc-git-compute-remote.
+	(vc-git-compute-remote): Remove.
+
+2010-06-04  Juri Linkov  <juri@jurta.org>
+
+	* simple.el (kill-new): Fix logic of kill-do-not-save-duplicates.
+	Instead of setting `replace' to t and replacing the same string
+	with itself, don't do certain actions when
+	kill-do-not-save-duplicates is non-nil and string is equal to car
+	of kill-ring: don't call menu-bar-update-yank-menu, don't push
+	interprogram-paste strings to kill-ring, and don't push the input
+	argument `string' to kill-ring.
+	http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00072.html
+
+2010-06-04  Juanma Barranquero  <lekktu@gmail.com>
+
+	* subr.el (directory-sep-char): Move from fileio.c and make a defconst.
+
+2010-06-04  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): Expand "~/".
+	(tramp-gvfs-handler-mounted-unmounted)
+	(tramp-gvfs-connection-mounted-p): Handle default-location.
+
+	* net/tramp-smb.el (tramp-smb-handle-delete-directory): Don't try to
+	move files to trash.
+
+2010-06-04  Juanma Barranquero  <lekktu@gmail.com>
+
+	* international/mule-cmds.el (nonascii-insert-offset)
+	(nonascii-translation-table): Add obsolescence information.
+
+	* international/mule.el (make-translation-table-from-vector): Doc fix.
+
 2010-06-03  Dan Nicolaescu  <dann@ics.uci.edu>
 
+	vc-log-incoming/vc-log-outgoing improvements for Git.
+	* vc-git.el (vc-git-log-outgoing): Use the same format as the
+	short log.
+	(vc-git-log-incoming): Likewise.  Run "git fetch" before the log command.
+
 	Add bindings for vc-log-incoming and vc-log-outgoing.
 	* vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming
 	and vc-log-outgoing.
--- a/lisp/international/mule-cmds.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/international/mule-cmds.el	Sun Jun 06 22:46:17 2010 +0000
@@ -287,7 +287,7 @@
   (interactive)
   ;; We have to decode the file in any environment.
   (letf ((coding-system-for-read 'iso-2022-7bit))
-	(view-file (expand-file-name "HELLO" data-directory))))
+    (view-file (expand-file-name "HELLO" data-directory))))
 
 (defun universal-coding-system-argument (coding-system)
   "Execute an I/O command using the specified coding system."
@@ -2882,8 +2882,10 @@
   :group 'mule
   :global t)
 
-(defvar nonascii-insert-offset 0 "This variable is obsolete.")
-(defvar nonascii-translation-table nil "This variable is obsolete.")
+(defvar nonascii-insert-offset 0)
+(make-obsolete-variable 'nonascii-insert-offset "do not use it." "23.1")
+(defvar nonascii-translation-table nil)
+(make-obsolete-variable 'nonascii-translation-table "do not use it." "23.1")
 
 (defvar ucs-names nil
   "Alist of cached (CHAR-NAME . CHAR-CODE) pairs.")
--- a/lisp/international/mule.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/international/mule.el	Sun Jun 06 22:46:17 2010 +0000
@@ -2188,8 +2188,7 @@
 (defun make-translation-table-from-vector (vec)
   "Make translation table from decoding vector VEC.
 VEC is an array of 256 elements to map unibyte codes to multibyte
-characters.  Elements may be nil for undefined code points.
-See also the variable `nonascii-translation-table'."
+characters.  Elements may be nil for undefined code points."
   (let ((table (make-char-table 'translation-table))
 	(rev-table (make-char-table 'translation-table))
 	ch)
--- a/lisp/isearch.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/isearch.el	Sun Jun 06 22:46:17 2010 +0000
@@ -2667,6 +2667,8 @@
 	  ;; Clear RETRY unless the search predicate says
 	  ;; to skip this search hit.
 	  (if (or (not success)
+		  (= (point) bound) ; like (bobp) (eobp) in `isearch-search'.
+		  (= (match-beginning 0) (match-end 0))
 		  (funcall isearch-filter-predicate
 			   (match-beginning 0) (match-end 0)))
 	      (setq retry nil)))
--- a/lisp/net/tramp-gvfs.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/net/tramp-gvfs.el	Sun Jun 06 22:46:17 2010 +0000
@@ -157,7 +157,7 @@
 ;; <interface name='org.gtk.vfs.MountTracker'>
 ;;   <method name='listMounts'>
 ;;     <arg name='mount_info_list'
-;;          type='a{sosssssbay{aya{say}}}'
+;;          type='a{sosssssbay{aya{say}}ay}'
 ;;          direction='out'/>
 ;;   </method>
 ;;   <method name='mountLocation'>
@@ -167,11 +167,11 @@
 ;;   </method>
 ;;   <signal name='mounted'>
 ;;     <arg name='mount_info'
-;;          type='{sosssssbay{aya{say}}}'/>
+;;          type='{sosssssbay{aya{say}}ay}'/>
 ;;   </signal>
 ;;   <signal name='unmounted'>
 ;;     <arg name='mount_info'
-;;          type='{sosssssbay{aya{say}}}'/>
+;;          type='{sosssssbay{aya{say}}ay}'/>
 ;;   </signal>
 ;; </interface>
 ;;
@@ -191,7 +191,7 @@
 ;;       STRUCT		    mount_spec_item
 ;;         STRING	      key (server, share, type, user, host, port)
 ;;         ARRAY BYTE	      value
-;;   STRING               default_location	Since GVFS 1.5 only !!!
+;;   ARRAY BYTE           default_location	Since GVFS 1.5 only !!!
 
 (defconst tramp-gvfs-interface-mountoperation "org.gtk.vfs.MountOperation"
   "Used by the dbus-proxying implementation of GMountOperation.")
@@ -608,6 +608,14 @@
       (tramp-run-real-handler 'expand-file-name (list name nil))
     ;; Dissect NAME.
     (with-parsed-tramp-file-name name nil
+      ;; If there is a default location, expand tilde.
+      (when (string-match "\\`\\(~\\)\\(/\\|\\'\\)" localname)
+	(save-match-data
+	  (tramp-gvfs-maybe-open-connection (vector method user host "/")))
+	(setq localname
+	      (replace-match
+	       (tramp-get-file-property  v "/" "default-location" "~")
+	       nil t localname 1)))
       ;; Tilde expansion is not possible.
       (when (string-match "\\`\\(~[^/]*\\)\\(.*\\)\\'" localname)
 	(tramp-error
@@ -967,47 +975,55 @@
   "Signal handler for the \"org.gtk.vfs.MountTracker.mounted\" and
 \"org.gtk.vfs.MountTracker.unmounted\" signals."
   (ignore-errors
-    ;; The last element could be the default location in newer gvfs
-    ;; versions.  We must check this.
-    (unless (consp (car (last mount-info)))
-      (setq mount-info (butlast mount-info)))
-    (let* ((signal-name (dbus-event-member-name last-input-event))
-	   (mount-spec (cadar (last mount-info)))
-	   (method (dbus-byte-array-to-string (cadr (assoc "type" mount-spec))))
-	   (user (dbus-byte-array-to-string (cadr (assoc "user" mount-spec))))
-	   (domain (dbus-byte-array-to-string
-		    (cadr (assoc "domain" mount-spec))))
-	   (host (dbus-byte-array-to-string
-		  (cadr (or (assoc "host" mount-spec)
-			    (assoc "server" mount-spec)))))
-	   (port (dbus-byte-array-to-string (cadr (assoc "port" mount-spec))))
-	   (ssl (dbus-byte-array-to-string (cadr (assoc "ssl" mount-spec))))
-	   (prefix (concat (dbus-byte-array-to-string (caar (last mount-info)))
-			   (dbus-byte-array-to-string
-			    (cadr (assoc "share" mount-spec))))))
-      (when (string-match "^smb" method)
-	(setq method "smb"))
-      (when (string-equal "obex" method)
-	(setq host (tramp-bluez-device host)))
-      (when (and (string-equal "dav" method) (string-equal "true" ssl))
-	(setq method "davs"))
-      (unless (zerop (length domain))
-	(setq user (concat user tramp-prefix-domain-format domain)))
-      (unless (zerop (length port))
-	(setq host (concat host tramp-prefix-port-format port)))
-      (with-parsed-tramp-file-name
-	  (tramp-make-tramp-file-name method user host "") nil
-	(tramp-message
-	 v 6 "%s %s" signal-name (tramp-gvfs-stringify-dbus-message mount-info))
-	(tramp-set-file-property v "/" "list-mounts" 'undef)
-	(if (string-equal signal-name "unmounted")
-	    (tramp-set-file-property v "/" "fuse-mountpoint" nil)
-	  ;; Set prefix and mountpoint.
-	  (unless (string-equal prefix "/")
-	    (tramp-set-file-property v "/" "prefix" prefix))
-	  (tramp-set-file-property
-	   v "/" "fuse-mountpoint"
-	   (dbus-byte-array-to-string (car (last mount-info 2)))))))))
+    (let ((signal-name (dbus-event-member-name last-input-event))
+	  (elt mount-info))
+      ;; Jump over the first elements of the mount info. Since there
+      ;; were changes in the antries, we cannot access dedicated
+      ;; elements.
+      (while (stringp (car elt)) (setq elt (cdr elt)))
+      (let* ((fuse-mountpoint (dbus-byte-array-to-string (cadr elt)))
+	     (mount-spec (caddr elt))
+	     (default-location (dbus-byte-array-to-string (cadddr elt)))
+	     (method (dbus-byte-array-to-string
+		      (cadr (assoc "type" (cadr mount-spec)))))
+	     (user (dbus-byte-array-to-string
+		    (cadr (assoc "user" (cadr mount-spec)))))
+	     (domain (dbus-byte-array-to-string
+		      (cadr (assoc "domain" (cadr mount-spec)))))
+	     (host (dbus-byte-array-to-string
+		    (cadr (or (assoc "host" (cadr mount-spec))
+			      (assoc "server" (cadr mount-spec))))))
+	     (port (dbus-byte-array-to-string
+		    (cadr (assoc "port" (cadr mount-spec)))))
+	     (ssl (dbus-byte-array-to-string
+		   (cadr (assoc "ssl" (cadr mount-spec)))))
+	     (prefix (concat (dbus-byte-array-to-string (car mount-spec))
+			     (dbus-byte-array-to-string
+			      (cadr (assoc "share" (cadr mount-spec)))))))
+	(when (string-match "^smb" method)
+	  (setq method "smb"))
+	(when (string-equal "obex" method)
+	  (setq host (tramp-bluez-device host)))
+	(when (and (string-equal "dav" method) (string-equal "true" ssl))
+	  (setq method "davs"))
+	(unless (zerop (length domain))
+	  (setq user (concat user tramp-prefix-domain-format domain)))
+	(unless (zerop (length port))
+	  (setq host (concat host tramp-prefix-port-format port)))
+	(with-parsed-tramp-file-name
+	    (tramp-make-tramp-file-name method user host "") nil
+	  (tramp-message
+	   v 6 "%s %s"
+	   signal-name (tramp-gvfs-stringify-dbus-message mount-info))
+	  (tramp-set-file-property v "/" "list-mounts" 'undef)
+	  (if (string-equal signal-name "unmounted")
+	      (tramp-set-file-property v "/" "fuse-mountpoint" nil)
+	    ;; Set prefix, mountpoint and location.
+	    (unless (string-equal prefix "/")
+	      (tramp-set-file-property v "/" "prefix" prefix))
+	    (tramp-set-file-property v "/" "fuse-mountpoint" fuse-mountpoint)
+	    (tramp-set-file-property
+	     v "/" "default-location" default-location)))))))
 
 (dbus-register-signal
  :session nil tramp-gvfs-path-mounttracker
@@ -1031,25 +1047,29 @@
 	      :session tramp-gvfs-service-daemon tramp-gvfs-path-mounttracker
 	      tramp-gvfs-interface-mounttracker "listMounts"))
 	  nil)
-       ;; The last element could be the default location in newer gvfs
-       ;; versions.  We must check this.
-       (unless (consp (car (last elt))) (setq elt (butlast elt)))
-       (let* ((mount-spec (cadar (last elt)))
+       ;; Jump over the first elements of the mount info. Since there
+       ;; were changes in the antries, we cannot access dedicated
+       ;; elements.
+       (while (stringp (car elt)) (setq elt (cdr elt)))
+       (let* ((fuse-mountpoint (dbus-byte-array-to-string (cadr elt)))
+	      (mount-spec (caddr elt))
+	      (default-location (dbus-byte-array-to-string (cadddr elt)))
 	      (method (dbus-byte-array-to-string
-		       (cadr (assoc "type" mount-spec))))
+		       (cadr (assoc "type" (cadr mount-spec)))))
 	      (user (dbus-byte-array-to-string
-		     (cadr (assoc "user" mount-spec))))
+		     (cadr (assoc "user" (cadr mount-spec)))))
 	      (domain (dbus-byte-array-to-string
-		       (cadr (assoc "domain" mount-spec))))
+		       (cadr (assoc "domain" (cadr mount-spec)))))
 	      (host (dbus-byte-array-to-string
-		     (cadr (or (assoc "host" mount-spec)
-			       (assoc "server" mount-spec)))))
+		     (cadr (or (assoc "host" (cadr mount-spec))
+			       (assoc "server" (cadr mount-spec))))))
 	      (port (dbus-byte-array-to-string
-		     (cadr (assoc "port" mount-spec))))
-	      (ssl (dbus-byte-array-to-string (cadr (assoc "ssl" mount-spec))))
-	      (prefix (concat (dbus-byte-array-to-string (caar (last elt)))
+		     (cadr (assoc "port" (cadr mount-spec)))))
+	      (ssl (dbus-byte-array-to-string
+		    (cadr (assoc "ssl" (cadr mount-spec)))))
+	      (prefix (concat (dbus-byte-array-to-string (car mount-spec))
 			      (dbus-byte-array-to-string
-			       (cadr (assoc "share" mount-spec))))))
+			       (cadr (assoc "share" (cadr mount-spec)))))))
 	 (when (string-match "^smb" method)
 	   (setq method "smb"))
 	 (when (string-equal "obex" method)
@@ -1068,12 +1088,11 @@
 		(string-equal host (tramp-file-name-host vec))
 		(string-match (concat "^" (regexp-quote prefix))
 			      (tramp-file-name-localname vec)))
-	   ;; Set prefix and mountpoint.
+	   ;; Set prefix, mountpoint and location.
 	   (unless (string-equal prefix "/")
 	     (tramp-set-file-property vec "/" "prefix" prefix))
-	   (tramp-set-file-property
-	    vec "/" "fuse-mountpoint"
-	    (dbus-byte-array-to-string (car (last elt 2))))
+	   (tramp-set-file-property vec "/" "fuse-mountpoint" fuse-mountpoint)
+	   (tramp-set-file-property vec "/" "default-location" default-location)
 	   (throw 'mounted t)))))))
 
 (defun tramp-gvfs-mount-spec (vec)
--- a/lisp/net/tramp-smb.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/net/tramp-smb.el	Sun Jun 06 22:46:17 2010 +0000
@@ -382,7 +382,7 @@
 	 (lambda (file)
 	   (if (file-directory-p file)
 	       (tramp-compat-delete-directory file recursive)
-	     (tramp-compat-delete-file file 'trash)))
+	     (delete-file file)))
 	 ;; We do not want to delete "." and "..".
 	 (directory-files
 	  directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))
--- a/lisp/simple.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/simple.el	Sun Jun 06 22:46:17 2010 +0000
@@ -2905,24 +2905,27 @@
     (if yank-handler
 	(signal 'args-out-of-range
 		(list string "yank-handler specified for empty string"))))
-  (when (and kill-do-not-save-duplicates
-             (equal string (car kill-ring)))
-    (setq replace t))
-  (if (fboundp 'menu-bar-update-yank-menu)
-      (menu-bar-update-yank-menu string (and replace (car kill-ring))))
+  (unless (and kill-do-not-save-duplicates
+	       (equal string (car kill-ring)))
+    (if (fboundp 'menu-bar-update-yank-menu)
+	(menu-bar-update-yank-menu string (and replace (car kill-ring)))))
   (when save-interprogram-paste-before-kill
     (let ((interprogram-paste (and interprogram-paste-function
                                    (funcall interprogram-paste-function))))
       (when interprogram-paste
-        (if (listp interprogram-paste)
-            (dolist (s (nreverse interprogram-paste))
-              (push s kill-ring))
-            (push interprogram-paste kill-ring)))))
-  (if (and replace kill-ring)
-      (setcar kill-ring string)
-    (push string kill-ring)
-    (if (> (length kill-ring) kill-ring-max)
-	(setcdr (nthcdr (1- kill-ring-max) kill-ring) nil)))
+        (dolist (s (if (listp interprogram-paste)
+		       (nreverse interprogram-paste)
+		     (list interprogram-paste)))
+	  (unless (and kill-do-not-save-duplicates
+		       (equal s (car kill-ring)))
+	    (push s kill-ring))))))
+  (unless (and kill-do-not-save-duplicates
+	       (equal string (car kill-ring)))
+    (if (and replace kill-ring)
+	(setcar kill-ring string)
+      (push string kill-ring)
+      (if (> (length kill-ring) kill-ring-max)
+	  (setcdr (nthcdr (1- kill-ring-max) kill-ring) nil))))
   (setq kill-ring-yank-pointer kill-ring)
   (if interprogram-cut-function
       (funcall interprogram-cut-function string (not replace))))
--- a/lisp/subr.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/subr.el	Sun Jun 06 22:46:17 2010 +0000
@@ -1089,7 +1089,11 @@
 (make-obsolete 'process-filter-multibyte-p nil "23.1")
 (make-obsolete 'set-process-filter-multibyte nil "23.1")
 
-(make-obsolete-variable 'directory-sep-char "do not use it." "21.1")
+(defconst directory-sep-char ?/
+  "Directory separator character for built-in functions that return file names.
+The value is always ?/.")
+(make-obsolete-variable 'directory-sep-char "do not use it, just use `/'." "21.1")
+
 (make-obsolete-variable
  'mode-line-inverse-video
  "use the appropriate faces instead."
--- a/lisp/vc-git.el	Thu Jun 03 23:18:01 2010 +0000
+++ b/lisp/vc-git.el	Sun Jun 06 22:46:17 2010 +0000
@@ -606,39 +606,29 @@
 		(when start-revision (list start-revision))
 		'("--")))))))
 
-(defun vc-git-compute-remote ()
-  (let ((str (with-output-to-string
-	       (with-current-buffer standard-output
-		 (vc-git--out-ok "symbolic-ref" "HEAD"))))
-	branch remote)
-    (if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str)
-	(progn
-	  (setq branch (match-string 2 str))
-	  (setq remote
-		(with-output-to-string
-		  (with-current-buffer standard-output
-		    (vc-git--out-ok "config"
-				    (concat "branch." branch ".remote")))))
-	  (when (string-match "\\([^\n]+\\)" remote)
-	    (setq remote (match-string 1 remote)))))))
-
-
 (defun vc-git-log-outgoing (buffer remote-location)
   (interactive)
   (vc-git-command
    buffer 0 nil
-   "log" (if (string= remote-location "")
-	     (concat (vc-git-compute-remote) "..HEAD")
-	   remote-location)))
-
+   "log"
+   "--no-color" "--graph" "--decorate" "--date=short"
+   "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit"
+   (concat (if (string= remote-location "")
+	       "@{upstream}"
+	     remote-location)
+	   "..HEAD")))
 
 (defun vc-git-log-incoming (buffer remote-location)
   (interactive)
+  (vc-git-command nil 0 nil "fetch")
   (vc-git-command
    buffer 0 nil
-   "log" (if (string= remote-location "")
-	     (concat "HEAD.." (vc-git-compute-remote))
-	   remote-location)))
+   "log" 
+   "--no-color" "--graph" "--decorate" "--date=short"
+   "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit"
+   (concat "HEAD.." (if (string= remote-location "")
+			"@{upstream}"
+		      remote-location))))
 
 (defvar log-view-message-re)
 (defvar log-view-file-re)
@@ -651,11 +641,11 @@
   (set (make-local-variable 'log-view-file-re) "\\`a\\`")
   (set (make-local-variable 'log-view-per-file-logs) nil)
   (set (make-local-variable 'log-view-message-re)
-       (if (eq vc-log-view-type 'short)
+       (if (not (eq vc-log-view-type 'long))
 	   "^\\(?:[*/\\| ]+ \\)?\\(?: ([^)]+)\\)?\\([0-9a-z]+\\)  \\([-a-z0-9]+\\)  \\(.*\\)"
 	 "^commit *\\([0-9a-z]+\\)"))
   (set (make-local-variable 'log-view-font-lock-keywords)
-       (if (eq vc-log-view-type 'short)
+       (if (not (eq vc-log-view-type 'long))
 	   '(
 	     ;; Same as log-view-message-re, except that we don't
 	     ;; want the shy group for the tag name.
--- a/nt/ChangeLog	Thu Jun 03 23:18:01 2010 +0000
+++ b/nt/ChangeLog	Sun Jun 06 22:46:17 2010 +0000
@@ -1,3 +1,7 @@
+2010-06-06  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* config.nt: Remove code depending on BSTRING.
+
 2010-06-03  Glenn Morris  <rgm@gnu.org>
 
 	* config.nt: Remove NOT_C_CODE tests, it is always true now.
--- a/nt/config.nt	Thu Jun 03 23:18:01 2010 +0000
+++ b/nt/config.nt	Sun Jun 06 22:46:17 2010 +0000
@@ -347,14 +347,6 @@
 
 #define my_strftime nstrftime   /* for strftime.c */
 
-/* The rest of the code currently tests the CPP symbol BSTRING.
-   Override any claims made by the system-description files.
-   Note that on some SCO version it is possible to have bcopy and not bcmp.  */
-#undef BSTRING
-#if defined (HAVE_BCOPY) && defined (HAVE_BCMP)
-#define BSTRING
-#endif
-
 /* Non-ANSI C compilers usually don't have volatile.  */
 #ifndef HAVE_VOLATILE
 #ifndef __STDC__
--- a/src/ChangeLog	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/ChangeLog	Sun Jun 06 22:46:17 2010 +0000
@@ -1,3 +1,49 @@
+2010-06-06  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Remove BSTRING related code, all platforms define it.
+	* s/usg5-4.h (BSTRING): Remove definition.
+	* s/template.h (BSTRING):
+	* s/msdos.h (BSTRING):
+	* s/ms-w32.h (BSTRING):
+	* s/hpux10-20.h (BSTRING):
+	* s/gnu-linux.h (BSTRING):
+	* s/darwin.h (BSTRING):
+	* s/cygwin.h (BSTRING):
+	* s/bsd-common.h (BSTRING):
+	* s/aix4-2.h (BSTRING): Likewise.
+	* sysdep.c: Remove code depending on BSTRING not being defined.
+
+2010-06-05  Juanma Barranquero  <lekktu@gmail.com>
+
+	Remove obsolete macro BASE_LEADING_CODE_P.
+	* character.h (BASE_LEADING_CODE_P): Remove.
+	* regex.c [!emacs] (BASE_LEADING_CODE_P): Remove.
+	* buffer.c (Fset_buffer_multibyte):
+	* indent.c (scan_for_column, compute_motion):
+	* insdel.c (count_combining_before, count_combining_after):
+	Use LEADING_CODE_P instead of BASE_LEADING_CODE_P.
+
+2010-06-04  Juanma Barranquero  <lekktu@gmail.com>
+
+	Turn `directory-sep-char' into a noop.
+
+	* lisp.h [WINDOWSNT] (Vdirectory_sep_char): Don't declare.
+	(DIRECTORY_SEP): Define unconditionally.
+
+	* s/ms-w32.h (DIRECTORY_SEP): Remove.
+
+	* emacs.c (decode_env_path): Don't check DIRECTORY_SEP,
+	call dostounix_filename directly.
+
+	* fileio.c (CORRECT_DIR_SEPS): Remove.
+	(Ffile_name_directory, directory_file_name, Fexpand_file_name)
+	(Fsubstitute_in_file_name): Use dostounix_filename instead.
+	(file_name_as_directory): Use dostounix_filename, DIRECTORY_SEP.
+	(syms_of_fileio) <directory-sep-char>: Move to subr.el.
+
+	* w32proc.c (CORRECT_DIR_SEPS): Remove.
+	(Fw32_short_file_name, Fw32_long_file_name): Use dostounix_filename.
+
 2010-06-03  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	Move UNEXEC definition to autoconf.
--- a/src/buffer.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/buffer.c	Sun Jun 06 22:46:17 2010 +0000
@@ -2189,7 +2189,7 @@
   other_buffer = XBUFFER (buffer);
 
   if (NILP (other_buffer->name))
-    error ("Cannot swap a dead buffer's text");    
+    error ("Cannot swap a dead buffer's text");
 
   /* Actually, it probably works just fine.
    * if (other_buffer == current_buffer)
@@ -2436,7 +2436,7 @@
 	  unsigned char *p = GPT_ADDR - 1;
 
 	  while (! CHAR_HEAD_P (*p) && p > BEG_ADDR) p--;
-	  if (BASE_LEADING_CODE_P (*p))
+	  if (LEADING_CODE_P (*p))
 	    {
 	      int new_gpt = GPT_BYTE - (GPT_ADDR - p);
 
@@ -4339,7 +4339,7 @@
   int oldsize = XVECTOR (last_overlay_modification_hooks)->size;
 
   if (last_overlay_modification_hooks_used == oldsize)
-    last_overlay_modification_hooks = larger_vector 
+    last_overlay_modification_hooks = larger_vector
       (last_overlay_modification_hooks, oldsize * 2, Qnil);
   ASET (last_overlay_modification_hooks, last_overlay_modification_hooks_used,
 	functionlist); last_overlay_modification_hooks_used++;
--- a/src/character.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/character.h	Sun Jun 06 22:46:17 2010 +0000
@@ -221,10 +221,6 @@
 	(ASCII_BYTE_P (byte) || LEADING_CODE_P (byte))  */
 #define CHAR_HEAD_P(byte) (((byte) & 0xC0) != 0x80)
 
-/* Kept for backward compatibility.  This macro will be removed in the
-   future.  */
-#define BASE_LEADING_CODE_P LEADING_CODE_P
-
 /* How many bytes a character that starts with BYTE occupies in a
    multibyte form.  */
 #define BYTES_BY_CHAR_HEAD(byte)	\
@@ -591,7 +587,7 @@
    : 0)
 
 /* If C is a high surrogate, return 1.  If C is a low surrogate,
-   return 0. Otherwise, return 0.  */
+   return 0.  Otherwise, return 0.  */
 
 #define CHAR_SURROGATE_PAIR_P(c)	\
   ((c) < 0xD800 ? 0			\
--- a/src/config.in	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/config.in	Sun Jun 06 22:46:17 2010 +0000
@@ -312,10 +312,10 @@
 /* Define to 1 if you have the <kerberos/krb.h> header file. */
 #undef HAVE_KERBEROS_KRB_H
 
-/* Define to 1 if `e_text' is member of `krb5_error'. */
+/* Define to 1 if `e_text' is a member of `krb5_error'. */
 #undef HAVE_KRB5_ERROR_E_TEXT
 
-/* Define to 1 if `text' is member of `krb5_error'. */
+/* Define to 1 if `text' is a member of `krb5_error'. */
 #undef HAVE_KRB5_ERROR_TEXT
 
 /* Define to 1 if you have the <krb5.h> header file. */
@@ -606,25 +606,25 @@
 /* Define to 1 if you have the `strsignal' function. */
 #undef HAVE_STRSIGNAL
 
-/* Define to 1 if `ifr_addr' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_ADDR
 
-/* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_BROADADDR
 
-/* Define to 1 if `ifr_flags' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_FLAGS
 
-/* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_HWADDR
 
-/* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_NETMASK
 
-/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
+/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */
 #undef HAVE_STRUCT_NLIST_N_UN_N_NAME
 
-/* Define to 1 if `tm_zone' is member of `struct tm'. */
+/* Define to 1 if `tm_zone' is a member of `struct tm'. */
 #undef HAVE_STRUCT_TM_TM_ZONE
 
 /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
@@ -853,6 +853,9 @@
 /* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
@@ -912,6 +915,28 @@
 /* Define to 1 if using the Motif X toolkit. */
 #undef USE_MOTIF
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
 /* Define to 1 if we should use toolkit scroll bars. */
 #undef USE_TOOLKIT_SCROLL_BARS
 
@@ -947,28 +972,6 @@
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 #undef _POSIX_SOURCE
 
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
 /* Define to rpl_ if the getopt replacement functions and variables should be
    used. */
 #undef __GETOPT_PREFIX
@@ -1093,14 +1096,6 @@
 
 #define my_strftime nstrftime	/* for strftime.c */
 
-/* The rest of the code currently tests the CPP symbol BSTRING.
-   Override any claims made by the system-description files.
-   Note that on some SCO version it is possible to have bcopy and not bcmp.  */
-#undef BSTRING
-#if defined (HAVE_BCOPY) && defined (HAVE_BCMP)
-#define BSTRING
-#endif
-
 /* Some of the files of Emacs which are intended for use with other
    programs assume that if you have a config.h file, you must declare
    the type of getenv.  */
--- a/src/emacs.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/emacs.c	Sun Jun 06 22:46:17 2010 +0000
@@ -1723,7 +1723,7 @@
 #endif
   init_window ();
   init_font ();
-  
+
   if (!initialized)
     {
       char *file;
@@ -2384,10 +2384,7 @@
       strcpy (p, path);
       path = p;
 
-      if ('/' == DIRECTORY_SEP)
-	dostounix_filename (path);
-      else
-	unixtodos_filename (path);
+      dostounix_filename (path);
     }
 #endif
   lpath = Qnil;
--- a/src/fileio.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/fileio.c	Sun Jun 06 22:46:17 2010 +0000
@@ -83,10 +83,6 @@
 #endif
 
 #ifdef DOS_NT
-#define CORRECT_DIR_SEPS(s) \
-  do { if ('/' == DIRECTORY_SEP) dostounix_filename (s); \
-       else unixtodos_filename (s); \
-  } while (0)
 /* On Windows, drive letters must be alphabetic - on DOS, the Netware
    redirector allows the six letters between 'Z' and 'a' as well. */
 #ifdef MSDOS
@@ -474,7 +470,7 @@
 	  p = beg + strlen (beg);
 	}
     }
-  CORRECT_DIR_SEPS (beg);
+  dostounix_filename (beg);
 #endif /* DOS_NT */
 
   return make_specified_string (beg, -1, p - beg, STRING_MULTIBYTE (filename));
@@ -561,12 +557,11 @@
   /* For Unix syntax, Append a slash if necessary */
   if (!IS_DIRECTORY_SEP (out[size]))
     {
-      /* Cannot use DIRECTORY_SEP, which could have any value */
-      out[size + 1] = '/';
+      out[size + 1] = DIRECTORY_SEP;
       out[size + 2] = '\0';
     }
 #ifdef DOS_NT
-  CORRECT_DIR_SEPS (out);
+  dostounix_filename (out);
 #endif
   return out;
 }
@@ -627,7 +622,7 @@
       )
     dst[slen - 1] = 0;
 #ifdef DOS_NT
-  CORRECT_DIR_SEPS (dst);
+  dostounix_filename (dst);
 #endif
   return 1;
 }
@@ -1032,10 +1027,9 @@
       if (!lose)
 	{
 #ifdef DOS_NT
-	  /* Make sure directories are all separated with / or \ as
-	     desired, but avoid allocation of a new string when not
-	     required. */
-	  CORRECT_DIR_SEPS (nm);
+	  /* Make sure directories are all separated with /, but
+	     avoid allocation of a new string when not required. */
+	  dostounix_filename (nm);
 #ifdef WINDOWSNT
 	  if (IS_DIRECTORY_SEP (nm[1]))
 	    {
@@ -1381,7 +1375,7 @@
 	target[0] = '/';
 	target[1] = ':';
       }
-    CORRECT_DIR_SEPS (target);
+    dostounix_filename (target);
 #endif /* DOS_NT */
 
     result = make_specified_string (target, -1, o - target, multibyte);
@@ -1659,7 +1653,7 @@
   bcopy (SDATA (filename), nm, SBYTES (filename) + 1);
 
 #ifdef DOS_NT
-  CORRECT_DIR_SEPS (nm);
+  dostounix_filename (nm);
   substituted = (strcmp (nm, SDATA (filename)) != 0);
 #endif
   endp = nm + SBYTES (filename);
@@ -5787,11 +5781,6 @@
   Fput (Qfile_date_error, Qerror_message,
 	make_pure_c_string ("Cannot set file date"));
 
-  DEFVAR_LISP ("directory-sep-char", &Vdirectory_sep_char,
-	       doc: /* Directory separator character for built-in functions that return file names.
-The value is always ?/.  Don't use this variable, just use `/'.  */);
-  XSETFASTINT (Vdirectory_sep_char, '/');
-
   DEFVAR_LISP ("file-name-handler-alist", &Vfile_name_handler_alist,
 	       doc: /* *Alist of elements (REGEXP . HANDLER) for file names handled specially.
 If a file name matches REGEXP, then all I/O on that file is done by calling
--- a/src/indent.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/indent.c	Sun Jun 06 22:46:17 2010 +0000
@@ -506,7 +506,7 @@
 	width = XINT (prop) - col;
       else if (FLOATP (prop))
 	width = (int)(XFLOAT_DATA (prop) + 0.5) - col;
-	    
+
       if (width >= 0)
 	{
 	  EMACS_INT start;
@@ -628,7 +628,7 @@
 	 to this character.  */
 
       if (dp != 0
-	  && ! (multibyte && BASE_LEADING_CODE_P (c))
+	  && ! (multibyte && LEADING_CODE_P (c))
 	  && VECTORP (DISP_CHAR_VECTOR (dp, c)))
 	{
 	  Lisp_Object charvec;
@@ -679,7 +679,7 @@
 	      col += tab_width;
 	      col = col / tab_width * tab_width;
 	    }
-	  else if (multibyte && BASE_LEADING_CODE_P (c))
+	  else if (multibyte && LEADING_CODE_P (c))
 	    {
 	      /* Start of multi-byte form.  */
 	      unsigned char *ptr;
@@ -1577,7 +1577,7 @@
 	    }
 
 	  if (dp != 0
-	      && ! (multibyte && BASE_LEADING_CODE_P (c))
+	      && ! (multibyte && LEADING_CODE_P (c))
 	      && VECTORP (DISP_CHAR_VECTOR (dp, c)))
 	    {
 	      charvec = DISP_CHAR_VECTOR (dp, c);
@@ -1683,7 +1683,7 @@
 			hpos = width;
 		    }
 		}
-	      else if (multibyte && BASE_LEADING_CODE_P (c))
+	      else if (multibyte && LEADING_CODE_P (c))
 		{
 		  /* Start of multi-byte form.  */
 		  unsigned char *ptr;
--- a/src/insdel.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/insdel.c	Sun Jun 06 22:46:17 2010 +0000
@@ -437,7 +437,7 @@
     }
 
   /* Adjusting only markers whose insertion-type is t may result in
-     - disordered start and end in overlays, and 
+     - disordered start and end in overlays, and
      - disordered overlays in the slot `overlays_before' of current_buffer.  */
   if (adjusted)
     {
@@ -843,7 +843,7 @@
   len = 1;
   p = BYTE_POS_ADDR (pos_byte - 1);
   while (! CHAR_HEAD_P (*p)) p--, len++;
-  if (! BASE_LEADING_CODE_P (*p)) /* case (3) */
+  if (! LEADING_CODE_P (*p)) /* case (3) */
     return 0;
 
   combining_bytes = BYTES_BY_CHAR_HEAD (*p) - len;
@@ -906,7 +906,7 @@
       i = pos_byte - 2;
       while (i >= 0 && ! CHAR_HEAD_P (p[i]))
 	i--;
-      if (i < 0 || !BASE_LEADING_CODE_P (p[i]))
+      if (i < 0 || !LEADING_CODE_P (p[i]))
 	return 0;
 
       bytes = BYTES_BY_CHAR_HEAD (p[i]);
@@ -914,7 +914,7 @@
 	      ? 0
 	      : bytes - (pos_byte - 1 - i + length));
     }
-  if (!BASE_LEADING_CODE_P (string[i]))
+  if (!LEADING_CODE_P (string[i]))
     return 0;
 
   bytes = BYTES_BY_CHAR_HEAD (string[i]) - (length - i);
--- a/src/lisp.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/lisp.h	Sun Jun 06 22:46:17 2010 +0000
@@ -3509,16 +3509,10 @@
 extern void init_system_name P_ ((void));
 
 /* Some systems (e.g., NT) use a different path separator than Unix,
-   in addition to a device separator.  Default the path separator
+   in addition to a device separator.  Set the path separator
    to '/', and don't test for a device separator in IS_ANY_SEP.  */
 
-#ifdef WINDOWSNT
-extern Lisp_Object Vdirectory_sep_char;
-#endif
-
-#ifndef DIRECTORY_SEP
 #define DIRECTORY_SEP '/'
-#endif
 #ifndef IS_DIRECTORY_SEP
 #define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP)
 #endif
--- a/src/regex.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/regex.c	Sun Jun 06 22:46:17 2010 +0000
@@ -290,7 +290,6 @@
 #  define SWITCH_ENUM_CAST(x) (x)
 
 /* Dummy macros for non-Emacs environments.  */
-# define BASE_LEADING_CODE_P(c) (0)
 # define CHAR_CHARSET(c) 0
 # define CHARSET_LEADING_CODE_BASE(c) 0
 # define MAX_MULTIBYTE_LENGTH 1
@@ -3805,7 +3804,7 @@
 
 		    if (c1 != c2 && (c1 = RE_CHAR_TO_UNIBYTE (c2)) >= 0)
 		      c = c1;
-		  }		      
+		  }
 		*b++ = c;
 		len = 1;
 	      }
@@ -4125,7 +4124,7 @@
 	  if (/* Any leading code can possibly start a character
 		 which doesn't match the specified set of characters.  */
 	      not
-	      || 
+	      ||
 	      /* If we can match a character class, we can match any
 		 multibyte characters.  */
 	      (CHARSET_RANGE_TABLE_EXISTS_P (&p[-2])
--- a/src/s/aix4-2.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/aix4-2.h	Sun Jun 06 22:46:17 2010 +0000
@@ -52,9 +52,6 @@
    functions.  Almost, but not quite the same as the 4.2 functions.  */
 #define SYSV_SYSTEM_DIR
 
-/* Define this symbol if your system has the functions bcopy, etc.  */
-#define BSTRING
-
 /* The file containing the kernel's symbol table is called /unix.  */
 #define KERNEL_FILE "/unix"
 
--- a/src/s/bsd-common.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/bsd-common.h	Sun Jun 06 22:46:17 2010 +0000
@@ -71,9 +71,6 @@
 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
 #define HAVE_SOCKETS
 
-/* Define this symbol if your system has the functions bcopy, etc. */
-#define BSTRING
-
 /* Define CLASH_DETECTION if you want lock files to be written
    so that Emacs can tell instantly when you try to modify
    a file that someone else has modified in his Emacs.  */
--- a/src/s/cygwin.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/cygwin.h	Sun Jun 06 22:46:17 2010 +0000
@@ -73,9 +73,6 @@
     }							\
   while (0)
 
-/* Define this symbol if your system has the functions bcopy, etc. */
-#define BSTRING
-
 /* Define CLASH_DETECTION if you want lock files to be written
    so that Emacs can tell instantly when you try to modify
    a file that someone else has modified in his Emacs.  */
--- a/src/s/darwin.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/darwin.h	Sun Jun 06 22:46:17 2010 +0000
@@ -99,9 +99,6 @@
    for process-connection-type dependent on the kernel version.  */
 #define MIN_PTY_KERNEL_VERSION '7'
 
-/* Define this symbol if your system has the functions bcopy, etc. */
-#define BSTRING
-
 /* Define CLASH_DETECTION if you want lock files to be written
    so that Emacs can tell instantly when you try to modify
    a file that someone else has modified in his Emacs.  */
--- a/src/s/gnu-linux.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/gnu-linux.h	Sun Jun 06 22:46:17 2010 +0000
@@ -89,9 +89,6 @@
 
 #define HAVE_SOCKETS
 
-/* Define this symbol if your system has the functions bcopy, etc.  */
-#define BSTRING
-
 /* This is used in list_system_processes.  */
 #define HAVE_PROCFS 1
 
--- a/src/s/hpux10-20.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/hpux10-20.h	Sun Jun 06 22:46:17 2010 +0000
@@ -45,12 +45,6 @@
 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
 #define HAVE_SOCKETS
 
-/* Define this symbol if your system has the functions bcopy, etc.
-   s800 and later versions of s300 (s200) kernels have equivalents
-   of the BSTRING functions of BSD.  If your s200 kernel doesn't have
-   em comment out this section.  */
-#define BSTRING
-
 /* Define CLASH_DETECTION if you want lock files to be written
    so that Emacs can tell instantly when you try to modify
    a file that someone else has modified in his Emacs.  */
--- a/src/s/ms-w32.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/ms-w32.h	Sun Jun 06 22:46:17 2010 +0000
@@ -63,8 +63,6 @@
    for received packets, so datagrams are broken too.  */
 #define BROKEN_DATAGRAM_SOCKETS 1
 
-/* Define this symbol if your system has the functions bcopy, etc.  */
-#define BSTRING
 #define bzero(b, l) memset(b, 0, l)
 #define bcopy(s, d, l) memmove(d, s, l)
 #define bcmp(a, b, l) memcmp(a, b, l)
@@ -95,9 +93,6 @@
    your system and must be used only through an encapsulation (which
    you should place, by convention, in sysdep.c).  */
 
-/* Define this to be the separator between path elements.  */
-#define DIRECTORY_SEP XINT (Vdirectory_sep_char)
-
 /* Define this to be the separator between devices and paths.  */
 #define DEVICE_SEP ':'
 
--- a/src/s/msdos.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/msdos.h	Sun Jun 06 22:46:17 2010 +0000
@@ -42,9 +42,6 @@
 
 #define SYSV_SYSTEM_DIR
 
-/* Define this symbol if your system has the functions bcopy, etc.  */
-#define BSTRING
-
 /* Define this is the compiler understands `volatile'.  */
 #define HAVE_VOLATILE
 
--- a/src/s/template.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/template.h	Sun Jun 06 22:46:17 2010 +0000
@@ -78,9 +78,6 @@
 /* Define HAVE_PTYS if the system supports pty devices.  */
 #define HAVE_PTYS
 
-/* Define this symbol if your system has the functions bcopy, etc.  */
-#define BSTRING
-
 /* subprocesses should be undefined if you do NOT want to
    have code for asynchronous subprocesses
    (as used in M-x compile and M-x shell).
--- a/src/s/usg5-4.h	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/s/usg5-4.h	Sun Jun 06 22:46:17 2010 +0000
@@ -63,8 +63,6 @@
 
 /* If we're using the System V X port, BSD bstring functions will be handy.  */
 #ifdef HAVE_X_WINDOWS
-#define BSTRING
-#endif /* HAVE_X_WINDOWS */
 
 /* On USG systems signal handlers return void.  */
 #define SIGTYPE void
--- a/src/sysdep.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/sysdep.c	Sun Jun 06 22:46:17 2010 +0000
@@ -2752,54 +2752,6 @@
 #endif /* !HAVE_RMDIR */
 
 
-#ifndef BSTRING
-
-#ifndef bzero
-
-void
-bzero (b, length)
-     register char *b;
-     register int length;
-{
-  while (length-- > 0)
-    *b++ = 0;
-}
-
-#endif /* no bzero */
-#endif /* BSTRING */
-
-#if (!defined (BSTRING) && !defined (bcopy)) || defined (NEED_BCOPY)
-#undef bcopy
-
-/* Saying `void' requires a declaration, above, where bcopy is used
-   and that declaration causes pain for systems where bcopy is a macro.  */
-bcopy (b1, b2, length)
-     register char *b1;
-     register char *b2;
-     register int length;
-{
-  while (length-- > 0)
-    *b2++ = *b1++;
-}
-#endif /* (!defined (BSTRING) && !defined (bcopy)) || defined (NEED_BCOPY) */
-
-#ifndef BSTRING
-#ifndef bcmp
-int
-bcmp (b1, b2, length)	/* This could be a macro! */
-     register char *b1;
-     register char *b2;
-     register int length;
-{
-  while (length-- > 0)
-    if (*b1++ != *b2++)
-      return 1;
-
-  return 0;
-}
-#endif /* no bcmp */
-#endif /* not BSTRING */
-
 #ifndef HAVE_STRSIGNAL
 char *
 strsignal (code)
--- a/src/w32proc.c	Thu Jun 03 23:18:01 2010 +0000
+++ b/src/w32proc.c	Sun Jun 06 22:46:17 2010 +0000
@@ -1762,12 +1762,6 @@
 /* Some miscellaneous functions that are Windows specific, but not GUI
    specific (ie. are applicable in terminal or batch mode as well).  */
 
-/* lifted from fileio.c  */
-#define CORRECT_DIR_SEPS(s) \
-  do { if ('/' == DIRECTORY_SEP) dostounix_filename (s); \
-       else unixtodos_filename (s); \
-  } while (0)
-
 DEFUN ("w32-short-file-name", Fw32_short_file_name, Sw32_short_file_name, 1, 1, 0,
        doc: /* Return the short file name version (8.3) of the full path of FILENAME.
 If FILENAME does not exist, return nil.
@@ -1786,7 +1780,7 @@
   if (GetShortPathName (SDATA (ENCODE_FILE (filename)), shortname, MAX_PATH) == 0)
     return Qnil;
 
-  CORRECT_DIR_SEPS (shortname);
+  dostounix_filename (shortname);
 
   return build_string (shortname);
 }
@@ -1815,7 +1809,7 @@
   if (!w32_get_long_filename (SDATA (ENCODE_FILE (filename)), longname, MAX_PATH))
     return Qnil;
 
-  CORRECT_DIR_SEPS (longname);
+  dostounix_filename (longname);
 
   /* If we were passed only a drive, make sure that a slash is not appended
      for consistency with directories.  Allow for drive mapping via SUBST