]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs--devo--0
authorMiles Bader <miles@gnu.org>
Wed, 21 Mar 2007 13:33:07 +0000 (13:33 +0000)
committerMiles Bader <miles@gnu.org>
Wed, 21 Mar 2007 13:33:07 +0000 (13:33 +0000)
Patches applied:

 * emacs--devo--0  (patch 670-674)

   - Update from CVS
   - Merge from gnus--rel--5.10

 * gnus--rel--5.10  (patch 209-210)

   - Merge from emacs--devo--0
   - Update from CVS

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-185

32 files changed:
1  2 
configure
configure.in
etc/NEWS
etc/PROBLEMS
etc/TODO
lib-src/makefile.w32-in
lisp/ChangeLog
lisp/Makefile.in
lisp/eshell/esh-mode.el
lisp/faces.el
lisp/font-lock.el
lisp/international/quail.el
lisp/ldefs-boot.el
lisp/simple.el
lisp/startup.el
lisp/subr.el
lisp/textmodes/ispell.el
src/ChangeLog
src/Makefile.in
src/buffer.c
src/dired.c
src/dispnew.c
src/editfns.c
src/fileio.c
src/keyboard.c
src/lisp.h
src/lread.c
src/macterm.c
src/print.c
src/process.c
src/term.c
src/xdisp.c

diff --cc configure
Simple merge
diff --cc configure.in
Simple merge
diff --cc etc/NEWS
Simple merge
diff --cc etc/PROBLEMS
Simple merge
diff --cc etc/TODO
Simple merge
Simple merge
diff --cc lisp/ChangeLog
Simple merge
index 9d6b07e83e85a3dc9b9cbd8b3da1106172a74675,8adaa27e619d196415681ef88bd3712d5ca105f4..5ad3542c7ad2618942ba7206b34b403106da9d64
@@@ -89,15 -87,15 +89,15 @@@ doit
  
  $(lisp)/cus-load.el:
        touch $@
- custom-deps: $(lisp)/loaddefs.el $(lisp)/cus-load.el doit
+ custom-deps: $(lisp)/subdirs.el $(lisp)/loaddefs.el $(lisp)/cus-load.el doit
        wd=$(lisp); $(setwins_almost); \
        echo Directories: $$wins; \
 -      $(EMACS) $(EMACSOPT) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins
 +      LC_ALL=C $(EMACS) $(EMACSOPT) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins
  
- finder-data: $(lisp)/loaddefs.el doit
+ finder-data: $(lisp)/subdirs.el $(lisp)/loaddefs.el doit
        wd=$(lisp); $(setwins_almost); \
        echo Directories: $$wins; \
 -      $(EMACS) $(EMACSOPT) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins
 +      LC_ALL=C $(EMACS) $(EMACSOPT) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins
  
  $(lisp)/loaddefs.el:
        echo ";;; loaddefs.el --- automatically extracted autoloads" >> $@
        echo ";; no-update-autoloads: t" >> $@
        echo ";; End:" >> $@
        echo ";;; loaddefs.el ends here" >> $@
- autoloads: $(lisp)/loaddefs.el doit
+ autoloads: $(lisp)/subdirs.el $(lisp)/loaddefs.el doit
        wd=$(lisp); $(setwins_almost); \
        echo Directories: $$wins; \
 -      $(EMACS) $(EMACSOPT) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins
 +      LC_ALL=C $(EMACS) $(EMACSOPT) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins
  
  $(lisp)/subdirs.el:
        $(MAKE) $(MFLAGS) update-subdirs
Simple merge
diff --cc lisp/faces.el
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc lisp/simple.el
Simple merge
diff --cc lisp/startup.el
Simple merge
diff --cc lisp/subr.el
Simple merge
Simple merge
diff --cc src/ChangeLog
Simple merge
diff --cc src/Makefile.in
index ada18576e3df494fd3e3f6d2ff4fcfcd17791c1c,1ce3702336fa34919f419b2219d1a8ee06e748b3..f62bb8c2b26c8290317b12812c03775c45666ede
@@@ -1129,36 -1112,33 +1129,37 @@@ cmds.o: cmds.c syntax.h buffer.h charac
  pre-crt0.o: pre-crt0.c
  ecrt0.o: ecrt0.c $(config_h)
        CRT0_COMPILE ${srcdir}/ecrt0.c
 -dired.o: dired.c commands.h buffer.h $(config_h) charset.h coding.h regex.h \
 -   systime.h blockinput.h atimer.h
 +dired.o: dired.c commands.h buffer.h $(config_h) character.h charset.h \
-    coding.h regex.h systime.h blockinput.h
++   coding.h regex.h systime.h blockinput.h atimer.h
  dispnew.o: dispnew.c  systty.h systime.h commands.h process.h frame.h \
     window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \
     disptab.h indent.h intervals.h \
 -   xterm.h blockinput.h atimer.h charset.h msdos.h composite.h keyboard.h \
 +   xterm.h blockinput.h atimer.h character.h msdos.h composite.h keyboard.h \
     $(config_h)
 -doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h keymap.h charset.h
 -doprnt.o: doprnt.c charset.h $(config_h)
 +doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h keymap.h character.h
 +doprnt.o: doprnt.c character.h $(config_h)
  dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
-    msdos.h dosfns.h dispextern.h charset.h coding.h $(config_h)
+    msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
+    $(config_h)
 -editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
 +editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) character.h \
-    coding.h dispextern.h frame.h blockinput.h $(config_h)
+    coding.h dispextern.h frame.h blockinput.h atimer.h $(config_h)
  emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
     termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h) \
     window.h dispextern.h keyboard.h keymap.h
 -fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
 +fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) character.h \
-    coding.h msdos.h dispextern.h blockinput.h $(config_h)
+    coding.h msdos.h dispextern.h blockinput.h atimer.h $(config_h)
 -filelock.o: filelock.c buffer.h charset.h coding.h systime.h epaths.h $(config_h)
 +filelock.o: filelock.c buffer.h character.h charset.h coding.h systime.h \
 +   epaths.h $(config_h)
  filemode.o: filemode.c  $(config_h)
  frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
 -   blockinput.h atimer.h systime.h buffer.h charset.h fontset.h \
 +   blockinput.h atimer.h systime.h buffer.h character.h fontset.h \
     msdos.h dosfns.h dispextern.h w32term.h macterm.h $(config_h)
  fringe.o: fringe.c dispextern.h frame.h window.h buffer.h $(config_h)
 -fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h charset.h frame.h \
 -   keyboard.h $(config_h)
 +font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
 +   font.h $(config_h)
 +ftfont.o: dispextern.h frame.h character.h charset.h font.h $(config_h)
 +fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h character.h \
 +   charset.h frame.h keyboard.h $(FONTSRC) $(config_h)
  getloadavg.o: getloadavg.c $(config_h)
  image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
     systime.h xterm.h w32term.h w32gui.h macterm.h macgui.h $(config_h)
@@@ -1181,14 -1161,14 +1182,14 @@@ malloc.o: malloc.c $(config_h
  gmalloc.o: gmalloc.c $(config_h)
  ralloc.o: ralloc.c $(config_h)
  vm-limit.o: vm-limit.c mem-limits.h $(config_h)
 -marker.o: marker.c buffer.h charset.h $(config_h)
 +marker.o: marker.c buffer.h character.h $(config_h)
  md5.o: md5.c md5.h $(config_h)
  minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h \
 -   buffer.h commands.h charset.h msdos.h $(INTERVAL_SRC) keymap.h $(config_h)
 +   buffer.h commands.h character.h msdos.h $(INTERVAL_SRC) keymap.h $(config_h)
  mktime.o: mktime.c $(config_h)
  msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
 -   termopts.h termchar.h charset.h coding.h ccl.h disptab.h window.h \
 +   termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \
-    keyboard.h intervals.h buffer.h commands.h blockinput.h $(config_h)
+    keyboard.h intervals.h buffer.h commands.h blockinput.h atimer.h $(config_h)
  process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
     commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
     blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
@@@ -1209,8 -1187,8 +1210,8 @@@ sysdep.o: sysdep.c syssignal.h systty.
     process.h dispextern.h termhooks.h termchar.h termopts.h \
     frame.h atimer.h window.h msdos.h dosfns.h keyboard.h  $(config_h)
  term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h \
 -   disptab.h dispextern.h keyboard.h charset.h coding.h ccl.h msdos.h \
 -   window.h keymap.h blockinput.h atimer.h systime.h
 +   disptab.h dispextern.h keyboard.h character.h charset.h coding.h ccl.h \
-    msdos.h window.h keymap.h
++   msdos.h window.h keymap.h blockinput.h atimer.h systime.h
  termcap.o: termcap.c $(config_h)
  terminfo.o: terminfo.c $(config_h)
  tparam.o: tparam.c $(config_h)
@@@ -1225,33 -1203,25 +1226,34 @@@ widget.o: widget.c xterm.h frame.h disp
     $(srcdir)/../lwlib/lwlib.h $(config_h)
  window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
     termhooks.h disptab.h keyboard.h dispextern.h msdos.h composite.h \
-    keymap.h blockinput.h $(INTERVAL_SRC) xterm.h w32term.h macterm.h $(config_h)
+    keymap.h blockinput.h atimer.h systime.h $(INTERVAL_SRC) \
+    xterm.h w32term.h macterm.h $(config_h)
 -xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h coding.h \
 -   termchar.h frame.h window.h disptab.h termhooks.h charset.h $(config_h) \
 -   keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h w32term.h macterm.h \
 -   msdos.h composite.h fontset.h blockinput.h atimer.h systime.h keymap.h
 -xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
 -   window.h charset.h msdos.h dosfns.h composite.h atimer.h systime.h \
 -   keyboard.h fontset.h w32term.h macterm.h $(INTERVAL_SRC) $(config_h)
 +xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \
 +   coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h     \
-    charset.h keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h w32term.h      \
-    macterm.h $(config_h) msdos.h composite.h fontset.h blockinput.h atimer.h  \
++   charset.h $(config_h) keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h    \
++   w32term.h macterm.h msdos.h composite.h fontset.h blockinput.h atimer.h    \
 +   systime.h keymap.h $(FONTSRC)
 +xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
 +   window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h       \
-    systime.h keyboard.h fontset.h w32term.h macterm.h $(INTERVAL_SRC) \
++   systime.h keyboard.h fontset.h w32term.h macterm.h $(INTERVAL_SRC) \
 +   $(FONTSRC) $(config_h)
  xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
     $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
 -   charset.h gtkutil.h $(config_h)
 +   character.h charset.h coding.h gtkutil.h $(config_h) termhooks.h \
 +   fontset.h $(FONTSRC)
 +xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
 +   font.h $(config_h)
 +xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
 +   font.h $(config_h)
 +ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
 +   font.h $(config_h)
  xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \
 -   keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h \
 -   gtkutil.h msdos.h coding.h $(config_h)
 +   charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \
 +   systime.h gtkutil.h msdos.h coding.h $(config_h)
  xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
 -  dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
 -  keyboard.h gnu.h charset.h ccl.h fontset.h composite.h \
 -  coding.h process.h gtkutil.h $(config_h)
 +   dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
 +   keyboard.h gnu.h character.h charset.h ccl.h fontset.h composite.h \
 +   coding.h process.h gtkutil.h $(FONTSRC) $(config_h)
  xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
    buffer.h atimer.h systime.h $(config_h)
  xrdb.o: xrdb.c $(config_h) epaths.h
@@@ -1276,13 -1245,15 +1279,15 @@@ data.o: data.c buffer.h puresize.h char
  eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
    dispextern.h $(config_h)
  floatfns.o: floatfns.c $(config_h)
 -fns.o: fns.c commands.h $(config_h) frame.h buffer.h charset.h keyboard.h \
 +fns.o: fns.c commands.h $(config_h) frame.h buffer.h character.h keyboard.h \
   keymap.h frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h \
-  blockinput.h xterm.h
+  blockinput.h atimer.h systime.h xterm.h
 -print.o: print.c process.h frame.h window.h buffer.h keyboard.h charset.h \
 -   $(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \
 +print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
-    $(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h
++   $(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h  \
+    blockinput.h atimer.h systime.h
 -lread.o: lread.c commands.h keyboard.h buffer.h epaths.h charset.h \
 - $(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h blockinput.h \
 - atimer.h systime.h
 +lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
-  charset.h $(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h
++ charset.h $(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h \
++ blockinput.h atimer.h systime.h
  
  /* Text properties support */
  textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVAL_SRC) \
diff --cc src/buffer.c
Simple merge
diff --cc src/dired.c
Simple merge
diff --cc src/dispnew.c
Simple merge
diff --cc src/editfns.c
Simple merge
diff --cc src/fileio.c
Simple merge
diff --cc src/keyboard.c
Simple merge
diff --cc src/lisp.h
Simple merge
diff --cc src/lread.c
index 78b59340855f97c35f44f28cf62675b4210d94e8,30aab7cce322efd92eda4fd516150df0496fcf45..178b381af10b0e19cf79459388c4a83416c5460c
@@@ -449,152 -416,18 +450,164 @@@ unreadchar (readcharfun, c
        read_from_string_index_byte
        = string_char_to_byte (readcharfun, read_from_string_index);
      }
 +  else if (CONSP (readcharfun))
 +    {
 +      unread_char = c;
 +    }
    else if (EQ (readcharfun, Qlambda))
 -    read_bytecode_char (1);
 -  else if (EQ (readcharfun, Qget_file_char))
 +    {
 +      unread_char = c;
 +    }
 +  else if (EQ (readcharfun, Qget_file_char)
 +         || EQ (readcharfun, Qget_emacs_mule_file_char))
 +    {
 +      if (load_each_byte)
-       ungetc (c, instream);
++      {
++        BLOCK_INPUT;
++        ungetc (c, instream);
++        UNBLOCK_INPUT;
++      }
 +      else
 +      unread_char = c;
 +    }
 +  else
 +    call1 (readcharfun, make_number (c));
 +}
 +
 +static int
 +readbyte_for_lambda (c, readcharfun)
 +     int c;
 +     Lisp_Object readcharfun;
 +{
 +  return read_bytecode_char (c >= 0);
 +}
 +
 +
 +static int
 +readbyte_from_file (c, readcharfun)
 +     int c;
 +     Lisp_Object readcharfun;
 +{
 +  if (c >= 0)
      {
+       BLOCK_INPUT;
        ungetc (c, instream);
-       /* Interrupted reads have been observed while reading over the network */
-       while (c == EOF && ferror (instream) && errno == EINTR)
-       {
-         QUIT;
-         clearerr (instream);
-         c = getc (instream);
-       }
+       UNBLOCK_INPUT;
 +      return 0;
 +    }
 +
++  BLOCK_INPUT;
 +  c = getc (instream);
++  UNBLOCK_INPUT;
++
 +#ifdef EINTR
++  /* Interrupted reads have been observed while reading over the network */
++  while (c == EOF && ferror (instream) && errno == EINTR)
++    {
++      QUIT;
++      clearerr (instream);
++      BLOCK_INPUT;
++      c = getc (instream);
++      UNBLOCK_INPUT;
+     }
 +#endif
++
 +  return (c == EOF ? -1 : c);
 +}
 +
 +static int
 +readbyte_from_string (c, readcharfun)
 +     int c;
 +     Lisp_Object readcharfun;
 +{
 +  Lisp_Object string = XCAR (readcharfun);
 +
 +  if (c >= 0)
 +    {
 +      read_from_string_index--;
 +      read_from_string_index_byte
 +      = string_char_to_byte (string, read_from_string_index);
 +    }
 +
 +  if (read_from_string_index >= read_from_string_limit)
 +    c = -1;
    else
 -    call1 (readcharfun, make_number (c));
 +    FETCH_STRING_CHAR_ADVANCE (c, string,
 +                             read_from_string_index,
 +                             read_from_string_index_byte);
 +  return c;
  }
  
 +
 +/* Read one non-ASCII character from INSTREAM.  The character is
 +   encoded in `emacs-mule' and the first byte is already read in
 +   C.  */
 +
 +extern char emacs_mule_bytes[256];
 +
 +static int
 +read_emacs_mule_char (c, readbyte, readcharfun)
 +     int c;
 +     int (*readbyte) P_ ((int, Lisp_Object));
 +     Lisp_Object readcharfun;
 +{
 +  /* Emacs-mule coding uses at most 4-byte for one character.  */
 +  unsigned char buf[4];
 +  int len = emacs_mule_bytes[c];
 +  struct charset *charset;
 +  int i;
 +  unsigned code;
 +
 +  if (len == 1)
 +    /* C is not a valid leading-code of `emacs-mule'.  */
 +    return BYTE8_TO_CHAR (c);
 +
 +  i = 0;
 +  buf[i++] = c;
 +  while (i < len)
 +    {
 +      c = (*readbyte) (-1, readcharfun);
 +      if (c < 0xA0)
 +      {
 +        while (--i > 1)
 +          (*readbyte) (buf[i], readcharfun);
 +        return BYTE8_TO_CHAR (buf[0]);
 +      }
 +      buf[i++] = c;
 +    }
 +
 +  if (len == 2)
 +    {
 +      charset = emacs_mule_charset[buf[0]];
 +      code = buf[1] & 0x7F;
 +    }
 +  else if (len == 3)
 +    {
 +      if (buf[0] == EMACS_MULE_LEADING_CODE_PRIVATE_11
 +        || buf[0] == EMACS_MULE_LEADING_CODE_PRIVATE_12)
 +      {
 +        charset = emacs_mule_charset[buf[1]];
 +        code = buf[2] & 0x7F;
 +      }
 +      else
 +      {
 +        charset = emacs_mule_charset[buf[0]];
 +        code = ((buf[1] << 8) | buf[2]) & 0x7F7F;
 +      }
 +    }
 +  else
 +    {
 +      charset = emacs_mule_charset[buf[1]];
 +      code = ((buf[2] << 8) | buf[3]) & 0x7F7F;
 +    }
 +  c = DECODE_CHAR (charset, code);
 +  if (c < 0)
 +    Fsignal (Qinvalid_read_syntax,
 +           Fcons (build_string ("invalid multibyte form"), Qnil));
 +  return c;
 +}
 +
 +
  static Lisp_Object read_internal_start P_ ((Lisp_Object, Lisp_Object,
                                            Lisp_Object));
  static Lisp_Object read0 P_ ((Lisp_Object));
diff --cc src/macterm.c
Simple merge
diff --cc src/print.c
Simple merge
diff --cc src/process.c
Simple merge
diff --cc src/term.c
Simple merge
diff --cc src/xdisp.c
Simple merge