emacs-devel
[Top][All Lists]
Advanced

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

Re: Boostrap error


From: Jan D.
Subject: Re: Boostrap error
Date: Mon, 08 Nov 2004 21:55:21 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.1) Gecko/20040707

Lennart Borgman wrote:


I have attached a version I sent to Emacs Devel earlier with some
corrections to Stefans code. It also handles path like /c. I have tested it
with MSYS which uses such paths, but I have not tested the build process
yet. (Since it takes such a long time on this very old pc.)


If I cd to /cygdrive/d/src/emacs-cygwin and make bootstrap I get the old message abount encoded-kb not found.

If I cd to /d/src/emacs-cygwin and make bootstrap I get:

"./../bin/emacs.exe" -batch --no-init-file --no-site-file --multibyte -l autoload \
        --eval '(setq find-file-hook nil \
                find-file-suppress-same-file-warnings t \
                generated-autoload-file \
                  "/d/src/emacs-cygwin/lisp/loaddefs.el")' \
-f batch-update-autoloads /d/src/emacs-cygwin/lisp calc calendar emacs-lisp emulation eshell gnus international language mail mh-e net obsolete play progmodes term textmodes toolbar url
handler expand-file-name (subdirs.el /:/d/src/emacs-cygwin/lisp)
Wrong type argument: number-or-marker-p, nil
Signal 127
make[1]: *** [autoloads] Error 255
make[1]: Leaving directory `/d/src/emacs-cygwin/lisp'
make: *** [bootstrap-gmake] Error 2

        Jan D.


;;; Try to handle the most common misuses of cygwin paths.
;;(defconst w32-cygdrive-name-regexp "\\`/cygdrive/\\(.\\)/")
(defconst w32-cygdrive-name-regexp "^\\(?:/cygwin\\)?/\\(.\\)/")
;;(defconst w32-cygdrive-name-regexp "^/\\(.\\)/")

(defun w32-cygdrive-run-real-handler (op args)
  (let ((inhibit-file-name-handlers
         (cons 'w32-cygdrive-name-handler
               (if (eq inhibit-file-name-operation op)
                   inhibit-file-name-handlers)))
        (inhibit-file-name-operation op))
    (apply op args)))

(defun w32-cygdrive-name-handler (op &rest args)
(message "handler %s %s" op args)
(case op
  (expand-file-name
   (let ((file (car args))
         (cdrargs (cdr args)))
     (cond
      ((= 0 (string-match w32-cygdrive-name-regexp file))
       (w32-cygdrive-run-real-handler
        op (cons (replace-match "\\1:/" t nil file) cdrargs)))
      ((= 0 (string-match w32-cygdrive-name-regexp (car cdrargs)))
       (w32-cygdrive-run-real-handler
        op (list* file (replace-match "\\1:/" t nil (car cdrargs))
                  (cdr cdrargs))))
      ;; This is actually an error (we should never get here),
      ;; but let's be defensive.
      (t (w32-cygdrive-run-real-handler op args)))))
  (t (w32-cygdrive-run-real-handler op args))))

(push (cons w32-cygdrive-name-regexp 'w32-cygdrive-name-handler) 
file-name-handler-alist)
(find-file "/c/hello.txt/")

reply via email to

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