emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r100301: Fix DOS build; don't overrid


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100301: Fix DOS build; don't override convert-standard-filename.
Date: Sat, 15 May 2010 11:38:48 +0300
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100301 [merge]
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2010-05-15 11:38:48 +0300
message:
  Fix DOS build; don't override convert-standard-filename.
  
   config.bat: Remove support for DJGPP v1.x.
   src/Makefile.in: Fix MSDOS-related comments.
   msdos/sed3v2.inp (INSTALLABLES): Edit out extra ${EXEEXT} after 
"emacsclient".
   (emacsserver, timer, wakeup): Remove edit-out commands.
   msdos/sed1v2.inp (MSDOS_OBJ): Add w16select.o.
   (TERMCAP_OBJ): Add termcap.o.
   lisp/files.el (convert-standard-filename): Call
   w32-convert-standard-filename and dos-convert-standard-filename on
   the corresponding systems.
   lisp/w32-fns.el (w32-convert-standard-filename): Rename from
   convert-standard-filename.  Doc fix.
   lisp/dos-fns.el (dos-convert-standard-filename): Doc fix.
   (convert-standard-filename): Don't defalias.
   (register-name-alist, make-register, register-value)
   (set-register-value, intdos): Obsolete aliases for the
   corresponding dos-* functions and variables.
   (dos-intdos): Add a doc string.
modified:
  ChangeLog
  config.bat
  lisp/ChangeLog
  lisp/dos-fns.el
  lisp/files.el
  lisp/w32-fns.el
  msdos/ChangeLog
  msdos/sed1v2.inp
  msdos/sed3v2.inp
  src/ChangeLog
  src/Makefile.in
=== modified file 'ChangeLog'
--- a/ChangeLog 2010-05-15 01:55:24 +0000
+++ b/ChangeLog 2010-05-15 07:51:52 +0000
@@ -1,3 +1,7 @@
+2010-05-15  Eli Zaretskii  <address@hidden>
+
+       * config.bat: Remove support for DJGPP v1.x.
+
 2010-05-15  Glenn Morris  <address@hidden>
 
        * configure.in (OLDXMENU_TARGET): New output variable.

=== modified file 'config.bat'
--- a/config.bat        2010-05-11 03:00:32 +0000
+++ b/config.bat        2010-05-15 07:51:52 +0000
@@ -23,7 +23,7 @@
 rem   YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
 rem
 rem   + msdos version 3 or better.
-rem   + DJGPP version 1.12maint1 or later (version 2.03 or later recommended).
+rem   + DJGPP version 2.0 or later (version 2.03 or later recommended).
 rem   + make utility that allows breaking of the 128 chars limit on
 rem     command lines.  ndmake (as of version 4.5) won't work due to a
 rem     line length limit.  The make that comes with DJGPP does work (and is
@@ -125,11 +125,10 @@
 Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!
 Goto End
 :go32Ok
-set djgpp_ver=1
-If ErrorLevel 20 set djgpp_ver=2
+set djgpp_ver=2
+If Not ErrorLevel 20 Echo To build 'Emacs' you need DJGPP v2.0 or later!
+If Not ErrorLevel 20 Goto End
 rm -f junk.c junk junk.exe
-rem The v1.x build does not need djecho
-if "%DJGPP_VER%" == "1" Goto djechoOk
 rem DJECHO is used by the top-level Makefile in the v2.x build
 Echo Checking whether 'djecho' is available...
 redir -o Nul -eo djecho -o junk.$$$ foo
@@ -159,12 +158,7 @@
 if "%X11%" == "" goto src4
 sed -f ../msdos/sed2x.inp <config.in >config.tmp
 :src4
-if "%DJGPP_VER%" == "2" Goto src41
-sed -f ../msdos/sed2.inp <config.tmp >config.h2
-goto src42
-:src41
 sed -f ../msdos/sed2v2.inp <config.tmp >config.h2
-:src42
 Rem See if DECL_ALIGN can be supported with this GCC
 rm -f junk.c junk.o junk junk.exe
 echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo;  >junk.c
@@ -198,12 +192,7 @@
 rem   Create "makefile" from "makefile.in".
 rm -f Makefile junk.c
 sed -e "1,/== start of cpp stuff ==/address@hidden     ].*$@@" <Makefile.in 
>junk.c
-If "%DJGPP_VER%" == "1" Goto mfV1
 gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >Makefile
-goto mfDone
-:mfV1
-gcc -E -traditional junk.c | sed -f ../msdos/sed1.inp >Makefile
-:mfDone
 rm -f junk.c
 
 if "%X11%" == "" goto src5
@@ -221,12 +210,7 @@
 rem   ----------------------------------------------------------------------
 Echo Configuring the library source directory...
 cd lib-src
-If "%DJGPP_VER%" == "2" goto libsrc-v2
-sed -f ../msdos/sed3.inp <Makefile.in >Makefile
-Goto libsrc2
-:libsrc-v2
 sed -f ../msdos/sed3v2.inp <Makefile.in >Makefile
-:libsrc2
 if "%X11%" == "" goto libsrc2a
 mv Makefile makefile.tmp
 sed -f ../msdos/sed3x.inp <makefile.tmp >Makefile
@@ -272,7 +256,6 @@
 Echo Configuring the main directory...
 If Exist .dir-locals.el update .dir-locals.el _dir-locals.el
 If Exist src\.dbxinit update src/.dbxinit src/_dbxinit
-If "%DJGPP_VER%" == "1" goto mainv1
 Echo Looking for the GDB init file...
 If Exist src\.gdbinit update src/.gdbinit src/_gdbinit
 If Exist src\_gdbinit goto gdbinitOk
@@ -287,8 +270,6 @@
 :gdbinitOk
 Echo Looking for the GDB init file...found
 copy msdos\mainmake.v2 Makefile >nul
-:mainv1
-If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul
 rem   ----------------------------------------------------------------------
 goto End
 :SmallEnv

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-05-15 04:50:25 +0000
+++ b/lisp/ChangeLog    2010-05-15 08:31:40 +0000
@@ -1,3 +1,20 @@
+2010-05-15  Eli Zaretskii  <address@hidden>
+
+       Don't override standard definition of convert-standard-filename.
+       * files.el (convert-standard-filename): Call
+       w32-convert-standard-filename and dos-convert-standard-filename on
+       the corresponding systems.
+
+       * w32-fns.el (w32-convert-standard-filename): Rename from
+       convert-standard-filename.  Doc fix.
+
+       * dos-fns.el (dos-convert-standard-filename): Doc fix.
+       (convert-standard-filename): Don't defalias.
+       (register-name-alist, make-register, register-value)
+       (set-register-value, intdos): Obsolete aliases for the
+       corresponding dos-* functions and variables.
+       (dos-intdos): Add a doc string.
+
 2010-05-15  Jay Belanger  <address@hidden>
 
        * calc/calc-aent.el (math-read-token, math-find-user-tokens):

=== modified file 'lisp/dos-fns.el'
--- a/lisp/dos-fns.el   2010-05-13 00:35:07 +0000
+++ b/lisp/dos-fns.el   2010-05-15 08:31:40 +0000
@@ -30,16 +30,16 @@
 (declare-function int86 "dosfns.c")
 (declare-function msdos-long-file-names "msdos.c")
 
-;; This overrides a trivial definition in files.el.
+;; See convert-standard-filename in files.el.
 (defun dos-convert-standard-filename (filename)
-  "Convert a standard file's name to something suitable for the current OS.
+  "Convert a standard file's name to something suitable for MS-DOS.
 This means to guarantee valid names and perhaps to canonicalize
 certain patterns.
 
+This function is called by `convert-standard-filename'.
+
 On Windows and DOS, replace invalid characters.  On DOS, make
-sure to obey the 8.3 limitations.  On Windows, turn Cygwin names
-into native names, and also turn slashes into backslashes if the
-shell requires it (see `w32-shell-dos-semantics')."
+sure to obey the 8.3 limitations."
   (if (or (not (stringp filename))
          ;; This catches the case where FILENAME is "x:" or "x:/" or
          ;; "/", thus preventing infinite recursion.
@@ -128,11 +128,6 @@
                    (dos-convert-standard-filename dir))
                  string))))))
 
-;; Only redirect convert-standard-filename if it has a chance of working,
-;; otherwise loading dos-fns.el might make your non-DOS Emacs misbehave.
-(when (fboundp 'msdos-long-file-names)
-  (defalias 'convert-standard-filename 'dos-convert-standard-filename))
-
 (defun dos-8+3-filename (filename)
   "Truncate FILENAME to DOS 8+3 limits."
   (if (or (not (stringp filename))
@@ -243,9 +238,14 @@
     (al . (0 . 0)) (bl . (1 . 0)) (cl . (2 . 0)) (dl . (3 . 0))
     (ah . (0 . 1)) (bh . (1 . 1)) (ch . (2 . 1)) (dh . (3 . 1))))
 
+(define-obsolete-variable-alias
+  'register-name-alist 'dos-register-name-alist "24.1")
+
 (defun dos-make-register ()
   (make-vector 8 0))
 
+(define-obsolete-function-alias 'make-register 'dos-make-register "24.1")
+
 (defun dos-register-value (regs name)
   (let ((where (cdr (assoc name dos-register-name-alist))))
     (cond ((consp where)
@@ -257,6 +257,8 @@
           (aref regs where))
          (t nil))))
 
+(define-obsolete-function-alias 'register-value 'dos-register-value "24.1")
+
 (defun dos-set-register-value (regs name value)
   (and (numberp value)
        (>= value 0)
@@ -273,9 +275,18 @@
                (aset regs where (logand value 65535))))))
   regs)
 
+(define-obsolete-function-alias
+  'set-register-value 'dos-set-register-value "24.1")
+
 (defsubst dos-intdos (regs)
+  "Issue the DOS Int 21h with registers REGS.
+
+REGS should be a vector produced by `dos-make-register'
+and `dos-set-register-value', which see."
   (int86 33 regs))
 
+(define-obsolete-function-alias 'intdos 'dos-intdos "24.1")
+
 ;; Backward compatibility for obsolescent functions which
 ;; set screen size.
 
@@ -284,6 +295,8 @@
   (interactive)
   (set-frame-size (selected-frame) 80 25))
 
+(define-obsolete-function-alias 'mode25 'dos-mode25 "24.1")
+
 (defun dos-mode4350 ()
   "Changes the number of rows to 43 or 50.
 Emacs always tries to set the screen height to 50 rows first.
@@ -295,6 +308,8 @@
       nil  ; the original built-in function returned nil
     (set-frame-size (selected-frame) 80 43)))
 
+(define-obsolete-function-alias 'mode4350 'dos-mode4350 "24.1")
+
 (provide 'dos-fns)
 
 ;; arch-tag: 00b03579-8ebb-4a02-8762-5c5a929774ad

=== modified file 'lisp/files.el'
--- a/lisp/files.el     2010-05-08 18:47:07 +0000
+++ b/lisp/files.el     2010-05-15 08:31:40 +0000
@@ -574,6 +574,9 @@
          (inhibit-file-name-operation op))
       (apply op args))))
 
+(declare-function dos-convert-standard-filename "dos-fns.el" (filename))
+(declare-function w32-convert-standard-filename "w32-fns.el" (filename))
+
 (defun convert-standard-filename (filename)
   "Convert a standard file's name to something suitable for the OS.
 This means to guarantee valid names and perhaps to canonicalize
@@ -591,15 +594,20 @@
 `w32-shell-dos-semantics').
 
 See Info node `(elisp)Standard File Names' for more details."
-  (if (eq system-type 'cygwin)
-      (let ((name (copy-sequence filename))
-           (start 0))
-       ;; Replace invalid filename characters with !
-       (while (string-match "[?*:<>|\"\000-\037]" name start)
-              (aset name (match-beginning 0) ?!)
-         (setq start (match-end 0)))
-       name)
-    filename))
+  (cond
+   ((eq system-type 'cygwin)
+    (let ((name (copy-sequence filename))
+         (start 0))
+      ;; Replace invalid filename characters with !
+      (while (string-match "[?*:<>|\"\000-\037]" name start)
+       (aset name (match-beginning 0) ?!)
+       (setq start (match-end 0)))
+      name))
+   ((eq system-type 'windows-nt)
+    (w32-convert-standard-filename filename))
+   ((eq system-type 'ms-dos)
+    (dos-convert-standard-filename filename))
+   (t filename)))
 
 (defun read-directory-name (prompt &optional dir default-dirname mustmatch 
initial)
   "Read directory name, prompting with PROMPT and completing in directory DIR.

=== modified file 'lisp/w32-fns.el'
--- a/lisp/w32-fns.el   2010-01-13 08:35:10 +0000
+++ b/lisp/w32-fns.el   2010-05-15 08:31:40 +0000
@@ -253,15 +253,16 @@
 ;;         (setq source-directory (file-name-as-directory
 ;;                                  (expand-file-name ".." exec-directory)))))
 
-(defun convert-standard-filename (filename)
-  "Convert a standard file's name to something suitable for the current OS.
+(defun w32-convert-standard-filename (filename)
+  "Convert a standard file's name to something suitable for the MS-Windows.
 This means to guarantee valid names and perhaps to canonicalize
 certain patterns.
 
-On Windows and DOS, replace invalid characters.  On DOS, make
-sure to obey the 8.3 limitations.  On Windows, turn Cygwin names
-into native names, and also turn slashes into backslashes if the
-shell requires it (see `w32-shell-dos-semantics')."
+This function is called by `convert-standard-filename'.
+
+Replace invalid characters and turn Cygwin names into native
+names, and also turn slashes into backslashes if the shell
+requires it (see `w32-shell-dos-semantics')."
   (save-match-data
     (let ((name
           (if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename)

=== modified file 'msdos/ChangeLog'
--- a/msdos/ChangeLog   2010-05-15 06:25:23 +0000
+++ b/msdos/ChangeLog   2010-05-15 07:19:59 +0000
@@ -1,3 +1,12 @@
+2010-05-15  Eli Zaretskii  <address@hidden>
+
+       * sed3v2.inp (INSTALLABLES): Edit out extra ${EXEEXT} after
+       "emacsclient".
+       (emacsserver, timer, wakeup): Remove edit-out commands.
+
+       * sed1v2.inp (MSDOS_OBJ): Add w16select.o.
+       (TERMCAP_OBJ): Add termcap.o.
+
 2010-05-15  Glenn Morris  <address@hidden>
 
        * sed1v2.inp (OLDXMENU_TARGET): Edit to empty.

=== modified file 'msdos/sed1v2.inp'
--- a/msdos/sed1v2.inp  2010-05-15 01:55:24 +0000
+++ b/msdos/sed1v2.inp  2010-05-15 07:19:59 +0000
@@ -77,7 +77,7 @@
 /^GCONF_LIBS *=/s/@GCONF_LIBS@//
 /^GTK_OBJ *=/s/@GTK_OBJ@//
 /^LIBS_TERMCAP *=/s/@LIBS_TERMCAP@//
-/^TERMCAP_OBJ *=/s/@TERMCAP_OBJ@/tparam.o/
+/^TERMCAP_OBJ *=/s/@TERMCAP_OBJ@/termcap.o tparam.o/
 /^LIBXMU *=/s/@LIBXMU@//
 /^LIBXSM *=/s/@LIBXSM@//
 /^LIBXTR6 *=/s/@LIBXTR6@//
@@ -91,7 +91,7 @@
 /^RSVG_CFLAGS *=/s/@RSVG_CFLAGS@//
 /^WIDGET_OBJ *=/s/@WIDGET_OBJ@//
 /^CYGWIN_OBJ *=/s/@CYGWIN_OBJ@//
-/^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o/
+/^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o w16select.o/
 /^MSDOS_SUPPORT *=/s/= */= $(MSDOS_SUPPORT_REAL)/
 /^ns_appdir *=/s/@ns_appdir@//
 /^ns_appbindir *=/s/@ns_appbindir@//

=== modified file 'msdos/sed3v2.inp'
--- a/msdos/sed3v2.inp  2010-05-12 03:06:50 +0000
+++ b/msdos/sed3v2.inp  2010-05-15 07:19:59 +0000
@@ -44,11 +44,10 @@
 /^EXEEXT *=/address@hidden@!!
 /^GETOPT_H *=/address@hidden@!getopt.h!
 /^GETOPTOBJS *=/address@hidden@!getopt.o getopt1.o!
-/^INSTALLABLES/s/emacsclient *//
+/^INSTALLABLES/s/emacsclient[^ ]* *//
 s!^    \./!    !
-/^UTILITIES=/s/ wakeup//
-/^UTILITIES=/s/ movemail//
-/^UTILITIES=/s/ emacsserver//
-/^UTILITIES=/s/ timer//
+/^UTILITIES *=/,/^$/{
+  s/movemail[^ ]* *//
+}
 
 # arch-tag: 16f3be18-a45b-496c-b19c-e43840359de8

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-05-15 06:25:23 +0000
+++ b/src/ChangeLog     2010-05-15 07:19:59 +0000
@@ -1,3 +1,7 @@
+2010-05-15  Eli Zaretskii  <address@hidden>
+
+       * Makefile.in: Fix MSDOS-related comments.
+
 2010-05-15  Glenn Morris  <address@hidden>
 
        * Makefile.in (OLDXMENU_TARGET): New, set by configure.

=== modified file 'src/Makefile.in'
--- a/src/Makefile.in   2010-05-15 01:55:24 +0000
+++ b/src/Makefile.in   2010-05-15 07:19:59 +0000
@@ -189,7 +189,7 @@
 ## sheap.o if CYGWIN, otherwise empty.
 address@hidden@
 
-## dosfns.o msdos.o if MSDOS.
+## dosfns.o msdos.o w16select.o if MSDOS.
 MSDOS_OBJ =
 ## w16select.o termcap.o if MSDOS && HAVE_X_WINDOWS.
 MSDOS_X_OBJ =


reply via email to

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