DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T e

⟦01c318c72⟧ TextFile

    Length: 1748 (0x6d4)
    Types: TextFile
    Names: »emacs-patch-18.53.jr.bbn.com«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦this⟧ »./emacs-patch-18.53.jr.bbn.com« 

TextFile

Version 18.53 has two widely reported bugs.  The first, the setpgrp()
bug in emacs.c, causes a lot of systems to have trouble when emacs is
called from other programs, including shell scripts.  The second, the
realloc() bug in malloc.c, causes assorted bus errors, segmentation
violations, and other indications of wild memory references.
Following are the patches.
------------------------------------------------------------------------
*** emacs.c-18.53	Tue Apr 11 10:48:43 1989
--- emacs.c	Fri Aug 26 18:31:50 1988
***************
*** 225,233 ****
  #endif HIGHPRI
  
- #ifdef BSD
-   /* interrupt_input has trouble if we aren't in a separate process group.  */
-   setpgrp (getpid (), getpid ());
- #endif
- 
    inhibit_window_system = 0;
  
--- 225,228 ----
*** malloc.c-18.53	Fri Feb 24 15:44:33 1989
--- malloc.c	Mon Feb 27 11:16:21 1989
***************
*** 578,584 ****
    register int nunits;
  
!   if ((p = (struct mhead *) mem) == 0)
      return malloc (n);
!   p -= (8 / sizeof (struct mhead));
    nunits = p -> mh_index;
    ASSERT (p -> mh_alloc == ISALLOC);
--- 578,584 ----
    register int nunits;
  
!   if (mem == 0)
      return malloc (n);
!   p = (struct mhead *) (mem - ((sizeof *p + 7) & ~7));
    nunits = p -> mh_index;
    ASSERT (p -> mh_alloc == ISALLOC);
***************
*** 598,602 ****
  
    /* See if desired size rounds to same power of 2 as actual size. */
!   nbytes = (n + sizeof *p + EXTRA + 7) & ~7;
  
    /* If ok, use the same block, just marking its size as changed.  */
--- 598,602 ----
  
    /* See if desired size rounds to same power of 2 as actual size. */
!   nbytes = (n + ((sizeof *p + 7) & ~7) + EXTRA + 7) & ~7;
  
    /* If ok, use the same block, just marking its size as changed.  */