Mercurial > emacs
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