Subject: pkg/37237: Emacs version preference detection wrong
To: None <,,>
From: None <>
List: pkgsrc-bugs
Date: 10/27/2007 20:55:01
>Number:         37237
>Category:       pkg
>Synopsis:       Even if a specific emacs version is requested, the default is still used
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 27 20:55:00 +0000 2007
>Originator:     Peter Bex
>Release:        NetBSD 3.0.0_STABLE
System: NetBSD 3.0.0_STABLE NetBSD 3.0.0_STABLE (FROHIKE) #0: Thu May 25 14:15:21 CEST 2006 amd64
Architecture: x86_64
Machine: amd64
	When you install an emacs and set the EMACS_TYPE to a specific type
	and version in mk.conf, it is not honored.

	See below:
	$ echo "EMACS_TYPE=emacs22" >> /etc/mk.conf
	$ cd /usr/pkgsrc/editors/emacs
	$ make install
	<installing emacs 22>
	$ cd /usr/pkgsrc/print/auctex # or any other pkg depending on emacs
	$ make install
	=> Full dependency emacs>=21.2<22: NOT found
	=> Verifying update for ../../editors/emacs21

In the patch below, the logic changes from saying "if an emacs type is
provided, use the default version for that emacs type" (emacs22 will turn
into _EMACS_VERSION_DEFAULT.emacs22 which is nonsense) to saying
"if a type, but no specific version has been provided, use that type's
default version", which is of course exactly the desired behaviour.

As an aside, why is the default emacs installed by editors/emacs emacs22
and the default version used by packages depending on emacs emacs21?

--- mk/	2007-08-15 21:34:59.000000000 +0200
+++ mk/	2007-10-27 22:41:14.000000000 +0200
@@ -235,7 +235,7 @@
 #		abort;
-.if !empty(EMACS_TYPE:Memacs) || !empty(EMACS_TYPE:Mxemacs)
+.if empty(EMACS_TYPE:Nemacs) && empty(EMACS_TYPE:Nxemacs)