Package: mmm-mode
Version: 0.5.9-2
Severity: important
Tags: patch

The conflict with xemacs21 is not acceptable as it prevents the
installation of mmm-mode on machines with both emacs-gtk and xemacs21
installed (typically multi-user machines).

It appears that disabling the xemacs flavors avoids the installation
failure (see attached patch, which removes the conflict and patches
mmm-mode.emacsen-install to disable the xemacs flavors and do some
cleanup); apel and flim do something similar:

case $FLAVOR in
    *xemacs*|emacs2[0-3]|emacs1?|mule2)
    exit 0
    ;;
esac

and ditto for w3m-el:

case $FLAVOR in
    *xemacs*|emacs2[0-5]|emacs1?|mule2)
    exit 0
    ;;
esac

so I suppose that this is OK. It works on a test machine, where I
installed xemacs21 for the test, and I can select mmm-mode with
GNU Emacs. If there is any issue with xemacs21 at run time, this
is their problem.

Note that mmm-mode.emacsen-remove still has a comment about xemacs,
but I suppose that this doesn't matter.

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 
'stable-security'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
merged-usr: no
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.5.0-1-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=POSIX, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mmm-mode depends on:
hi  emacs-gtk [emacsen]      1:27.1+1-3.1+b1
ii  emacsen-common           3.0.5
ii  xemacs21-mule [emacsen]  21.4.24-12

mmm-mode recommends no packages.

mmm-mode suggests no packages.

-- no debconf information

-- 
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
diff -aurd mmm-mode-0.5.9-a/debian/control mmm-mode-0.5.9-b/debian/control
--- mmm-mode-0.5.9-a/debian/control     2023-09-18 01:04:40.000000000 +0200
+++ mmm-mode-0.5.9-b/debian/control     2023-09-18 16:42:21.024106528 +0200
@@ -10,7 +10,6 @@
 Priority: optional
 Architecture: all
 Depends: emacs24 | emacsen | emacs-snapshot, emacsen-common (>= 2.0.8), 
${misc:Depends}
-Conflicts: xemacs21
 Homepage: https://github.com/purcell/mmm-mode
 Description: Multiple Major Mode for Emacs
  MMM Mode is a minor mode for Emacs that allows Multiple Major Modes
diff -aurd mmm-mode-0.5.9-a/debian/mmm-mode.emacsen-install 
mmm-mode-0.5.9-b/debian/mmm-mode.emacsen-install
--- mmm-mode-0.5.9-a/debian/mmm-mode.emacsen-install    2018-09-23 
06:41:57.000000000 +0200
+++ mmm-mode-0.5.9-b/debian/mmm-mode.emacsen-install    2023-09-18 
16:45:33.380094673 +0200
@@ -5,10 +5,14 @@
 FLAVOR="$1"
 FLAVORTEST=`echo $FLAVOR | cut -c-6`
 
+if [ ${FLAVORTEST} = xemacs ] ; then
+    exit 0
+fi
+
 echo "install/mmm-mode: Handling install of emacsen flavor ${FLAVOR}"
 
 # e25 makes things stale and unflavoured, just emacs and source dir == compile 
dir
-# before that flavours emacs24, xemacs21 etc.
+# before that flavours emacs24, etc.
 echo "install/mmm-mode: byte-compiling for ${FLAVOR}"
 mkdir -p /usr/share/${FLAVOR}/site-lisp/mmm-mode
 
@@ -18,21 +22,12 @@
                fi
 done
 
-# xemacs: cl-lib.el shipped in the flavour directory
-if [ "$FLAVORTEST" = "xemacs" ]; then
-               FILES="cl-lib.el $FILES"
-fi
-       
 cd /usr/share/${FLAVOR}/site-lisp/mmm-mode
 cat <<EOF > path.el
 (setq load-path (cons "." load-path) byte-compile-warnings nil)
 EOF
-if [ ${FLAVORTEST} = xemacs ] ; then
-    SITEFLAG="-no-site-file"
-else
-    SITEFLAG="--no-site-file"
-fi
-${FLAVOR} -q ${SITEFLAG} -batch -l path.el -f batch-byte-compile $FILES
+
+${FLAVOR} -q --no-site-file -batch -l path.el -f batch-byte-compile $FILES
 rm -f path.el
 
 exit 0;

Reply via email to