Subject: Re: Emacs 21.2 pkgsrc ready for testing
To: Michal Pasternak <>
From: Greg A. Woods <>
List: current-users
Date: 04/20/2002 14:14:30
[ On Sunday, April 14, 2002 at 20:31:46 (+0000), Micha³ Pasternak wrote: ]
> Subject: Emacs 21.2 pkgsrc ready for testing
> I managed to put up pkgsrc with Emacs 21.2 inside. It is an improved version
> of Emacs 20. It has a rewritten GUI, capabilities to display images and
> multimedia, and much more.

It's faster, is far more stable (at least for my somewhat extensive
uses) than any emacs-20.x release ever was, includes many new and
updated add-on packages (eg. pcl-cvs, new GNUS, etc., etc., etc.,), and
has far more advanced internationalisation features too!  :-)

With the basic fonts I have installed (x11r6.3 + intlfonts-1.2 -
unicode-encoded-fonts), as displayed on my monochrome screen:

Most importantly 21.2 contains this incredibly long-awaited change:

	** On terminals whose erase-char is ^H (Backspace), Emacs
	now uses normal-erase-is-backspace-mode.

> If anybody would like to test it, it is at 

There is no PLIST file in your emacs-21 module, though there is one in
the emacs-leim-21 module.  Personally I'd just forget about emacs
without leim, but perhaps not everyone feels quite the same....  :-)

Of course if they are kept separate then ideally there should be an
emacs-21/Makefile.common that includes all the sharable stuff and
probably a shared PLIST too. Also the DESCR files are identical between
emacs-21 and emacs-liem-21, as are the COMMENT fields in each:

13:26 [24] $ diff ../emacs*-21/DESCR     
13:26 [25] $ diff ../emacs*-21/Makefile
< PKGNAME=      emacs-${VERSION}
> PKGNAME=      emacs-leim-${VERSION}
< CONFLICTS=    mule-[0-9]*
> CONFLICTS=    mule-[0-9]* emacs-21*

That last CONFLICTS line isn't right either, presuming these packages
are properly renamed to just "emacs" (and "emacs-leim").

It needs to be updated to use too, which will fix the fact
it doesn't currently have any of the correct DEPENDS settings:

	$ ldd /usr/pkg/bin/emacs | fgrep pkg
	         -ljpeg.62 => /usr/pkg/lib/
	         -ltiff.3 => /usr/pkg/lib/
	         -lpng.3 => /usr/pkg/lib/
	         -lungif.5 => /usr/pkg/lib/
	         -lXpm.4 => /usr/pkg/lib/

It should be explicitly given these configure options too in order to
explicitly enable the add-on dependencies:

	--with-xpm --with-jpeg --with-tiff --with-gif --with-png

There may be others I've missed (eg Xaw3d) because I don't have them
installed at the moment, but the above are also the options I used
through the alpha-test releases too....

You probably explicitly want this option too:


this is desirable on those systems where it could be supported:


and I like this one too:


I don't think any of the above options will change the PLIST, but I'm
not 100% sure about that.....

In any case it does build, install, and work just fine on 1.5W, sparc
and i386....  Thanks very much for your work on this package!

> If noone will find errors in this package, I'm sending a PR on friday.

I don't know if I saw your submission go through GNATS yet, but in any
case I'll also suggest the following patches here.

I had submitted the next two patches several times throughout the alpha-
test release phases, but which somehow seemed to fall through the cracks
(though all the other patches I submitted were accepted).

Index: src/s/netbsd.h
RCS file: /cvs/gnu/emacs-21/src/s/netbsd.h,v
retrieving revision
diff -c -r1.1.1.4 netbsd.h
*** src/s/netbsd.h	19 Oct 2001 21:02:17 -0000
--- src/s/netbsd.h	19 Oct 2001 21:11:03 -0000
*** 1,6 ****
--- 1,7 ----
  /* s/ file for netbsd system.  */
  /* Get most of the stuff from bsd4.3 */
+ /* XXX There should be a "bsd4-4.h" because so many things are different! */
  #include "bsd4-3.h"
  #if defined (__alpha__) && !defined (__ELF__)
*** 106,111 ****
--- 107,117 ----
  #ifndef NOT_C_CODE
  #include <signal.h>
+ /* Use POSIX Signals [sigaction(), sigprocmask(), sigsuspend(), etc.]
+    Gerd says this works OK in FreeBSD -- should be fine on any 4.4BSD */
+ #define POSIX_SIGNALS 1
  /* Don't close pty in process.c to make it as controlling terminal.
     It is already a controlling terminal of subprocess, because we did

This patch may be necessary on older versions of NetBSD (eg. 1.3.x, on
which emacs-21 seems to still work OK).  It certianly won't hurt, and
I'd also submitted it several times during alpha-test but it was

Index: src/fileio.c
RCS file: /cvs/gnu/emacs-21/src/fileio.c,v
retrieving revision
diff -c -r1.1.1.8 fileio.c
*** src/fileio.c	13 Nov 2001 16:48:38 -0000
--- src/fileio.c	17 Mar 2002 21:07:04 -0000
*** 3318,3325 ****
! #ifdef __NetBSD__
! #define unix 42
  #ifdef unix
--- 3318,3325 ----
! #if defined(__NetBSD__) && !defined(unix)
! # define unix	42
  #ifdef unix

This patch was suggested by another NetBSD user, but I don't know if it
is (still?) necessary and I have no arm machines to test it on:

RCS file: /cvs/gnu/emacs-21/,v
retrieving revision
diff -c -r1.1.1.8
***	13 Nov 2001 16:42:27 -0000
---	13 Nov 2001 17:02:26 -0000
*** 195,201 ****
        powerpc-*-netbsd*) machine=macppc ;;
        sparc*-*-netbsd*)	machine=sparc ;;
        vax-*-netbsd*)	machine=vax ;;
!       arm-*-netbsd*)	machine=arm ;;
--- 195,201 ----
        powerpc-*-netbsd*) machine=macppc ;;
        sparc*-*-netbsd*)	machine=sparc ;;
        vax-*-netbsd*)	machine=vax ;;
!       arm*-*-netbsd*)	machine=arm ;;

								Greg A. Woods

+1 416 218-0098;  <>;  <>;  <>
Planix, Inc. <>; VE3TCP; Secrets of the Weird <>