commit 2804065d9755decbb90bf72bf10e8cfafccea6e83cfeb6e084bcf480e053a097 Author: Hillwood Yang Date: Sat Jul 6 07:17:41 2024 +0000 - Drop dependency on fwnndev: fwnn is dead and unmaintained. OBS-URL: https://build.opensuse.org/package/show/M17N/xemacs?expand=0&rev=120 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/bnc502716-fontmenu.patch b/bnc502716-fontmenu.patch new file mode 100644 index 0000000..bb09e32 --- /dev/null +++ b/bnc502716-fontmenu.patch @@ -0,0 +1,52 @@ +--- lisp/x-font-menu.el ++++ lisp/x-font-menu.el 2009-06-17 13:00:28.066568736 +0000 +@@ -166,6 +166,17 @@ It must be set at run-time.") + (setcdr dev-cache data) + data)) + ++(defun vassoc-ignore-case (key valist) ++ "Search VALIST for a vector whose first element is equal to KEY, ++but ignores differences in case and text representation. ++See also `assoc-ignore-case'." ++ ;; by Stig@hackvan.com ++ (let (el) ++ (catch 'done ++ (while (setq el (pop valist)) ++ (and (compare-strings key 0 nil (aref el 0) 0 nil t) ++ (throw 'done el)))))) ++ + (defun x-reset-device-font-menus-core (device &optional debug) + "Generates the `Font', `Size', and `Weight' submenus for the Options menu. + This is run the first time that a font-menu is needed for each device. +@@ -202,7 +213,7 @@ or if you change your font path, you can + (error "internal error")) + (setq monospaced-p (string= "m" (match-string 1 name))) + (unless (string-match x-fonts-menu-junk-families family) +- (setq entry (or (vassoc family cache) ++ (setq entry (or (vassoc-ignore-case family cache) + (car (setq cache + (cons (vector family nil nil t) + cache))))) +@@ -309,7 +320,7 @@ or if you change your font path, you can + (family (and pattern + (fc-pattern-get-family pattern 0)))) + (if (fc-pattern-get-successp family) +- (setq entry (vassoc family (aref dcache 0)))) ++ (setq entry (vassoc-ignore-case family (aref dcache 0)))) + (if (null entry) + (make-vector 5 nil) + (let ((weight (fc-pattern-get-weight pattern 0)) +@@ -338,11 +349,11 @@ or if you change your font path, you can + family size weight entry slant) + (when (string-match x-font-regexp-foundry-and-family name) + (setq family (capitalize (match-string 1 name))) +- (setq entry (vassoc family (aref dcache 0)))) ++ (setq entry (vassoc-ignore-case family (aref dcache 0)))) + (when (and (null entry) + (string-match x-font-regexp-foundry-and-family truename)) + (setq family (capitalize (match-string 1 truename))) +- (setq entry (vassoc family (aref dcache 0)))) ++ (setq entry (vassoc-ignore-case family (aref dcache 0)))) + + (if (null entry) + (make-vector 5 nil) diff --git a/bnc502716-xft.patch b/bnc502716-xft.patch new file mode 100644 index 0000000..ebe4412 --- /dev/null +++ b/bnc502716-xft.patch @@ -0,0 +1,66 @@ +--- lisp/cus-face.el ++++ lisp/cus-face.el 2009-06-17 11:35:21.427694043 +0000 +@@ -236,19 +236,20 @@ If FRAME is nil, use the default face." + (and spec (vector spec) (aref spec 0)))) + + ;; This consistently fails to dtrt +-;;(defun custom-set-face-font-size (face size &optional locale tags) +-;; "Set the font of FACE to SIZE." +-;; ;; #### should this call have tags in it? +-;; (let* ((font (apply 'face-font-name face (list locale))) +-;; ;; Gag +-;; (fontobj (font-create-object font))) +-;; (set-font-size fontobj size) +-;; (apply 'font-set-face-font face fontobj locale tags))) +- +-;; From Jan Vroonhof -- see faces.el + (defun custom-set-face-font-size (face size &optional locale tags) + "Set the font of FACE to SIZE." +- (make-face-size face size locale tags)) ++ ;; #### should this call have tags in it? ++ (let* ((font (apply 'face-font-name face (list locale))) ++ ;; Gag ++ (fontobj (font-create-object font))) ++ (make-face-size face size locale tags) ++ (set-font-size fontobj size) ++ (apply 'font-set-face-font face fontobj locale tags))) ++ ++;; From Jan Vroonhof -- see faces.el ++;;(defun custom-set-face-font-size (face size &optional locale tags) ++;; "Set the font of FACE to SIZE." ++;; (make-face-size face size locale tags)) + + (defun custom-face-font-size (face &rest args) + "Return the size of the font of FACE as a string." +@@ -258,19 +259,20 @@ If FRAME is nil, use the default face." + (format "%s" (font-size fontobj)))) + + ;; Jan suggests this may not dtrt +-;;(defun custom-set-face-font-family (face family &optional locale tags) +-;; "Set the font of FACE to FAMILY." +-;; ;; #### should this call have tags in it? +-;; (let* ((font (apply 'face-font-name face (list locale))) +-;; ;; Gag +-;; (fontobj (font-create-object font))) +-;; (set-font-family fontobj family) +-;; (apply 'font-set-face-font face fontobj locale tags))) +- +-;; From Jan Vroonhof -- see faces.el + (defun custom-set-face-font-family (face family &optional locale tags) + "Set the font of FACE to FAMILY." +- (make-face-family face family locale tags)) ++ ;; #### should this call have tags in it? ++ (let* ((font (apply 'face-font-name face (list locale))) ++ ;; Gag ++ (fontobj (font-create-object font))) ++ (make-face-family face family locale tags) ++ (set-font-family fontobj family) ++ (apply 'font-set-face-font face fontobj locale tags))) ++ ++;; From Jan Vroonhof -- see faces.el ++;;(defun custom-set-face-font-family (face family &optional locale tags) ++;; "Set the font of FACE to FAMILY." ++;; (make-face-family face family locale tags)) + + (defun custom-face-font-family (face &rest args) + "Return the name of the font family of FACE." diff --git a/bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch b/bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch new file mode 100644 index 0000000..a1dccb4 --- /dev/null +++ b/bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch @@ -0,0 +1,22 @@ +Index: xemacs-21.5.29/lisp/x-faces.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/x-faces.el ++++ xemacs-21.5.29/lisp/x-faces.el +@@ -198,7 +198,7 @@ If it fails, it returns nil." + (fc-name-parse font)))) + (if pattern + (let ((size (fc-pattern-get-size pattern 0)) +- (copy (fc-copy-pattern-partial pattern (list "family")))) ++ (copy (fc-copy-pattern-partial pattern (list "family" "slant")))) + (fc-pattern-del-weight copy) + (fc-pattern-del-style copy) + (when copy +@@ -272,7 +272,7 @@ If it fails, it returns nil." + (fc-name-parse font)))) + (if pattern + (let ((size (fc-pattern-get-size pattern 0)) +- (copy (fc-copy-pattern-partial pattern (list "family")))) ++ (copy (fc-copy-pattern-partial pattern (list "family" "weight")))) + (when copy + (fc-pattern-del-slant copy) + (fc-pattern-del-style copy) diff --git a/bugzilla-301352-fix-wrong-incrementing-in-macros.patch b/bugzilla-301352-fix-wrong-incrementing-in-macros.patch new file mode 100644 index 0000000..51046f7 --- /dev/null +++ b/bugzilla-301352-fix-wrong-incrementing-in-macros.patch @@ -0,0 +1,40 @@ +Index: xemacs-21.5.29/src/mule-ccl.c +=================================================================== +--- xemacs-21.5.29.orig/src/mule-ccl.c ++++ xemacs-21.5.29/src/mule-ccl.c +@@ -1612,7 +1612,7 @@ ccl_driver (struct ccl_program *ccl, + Lisp_Object map, content, attrib, value; + int point, size, fin_ic; + +- j = XCHAR_OR_FIXNUM (ccl_prog[ic++]); /* number of maps. */ ++ j = XCHAR_OR_FIXNUM (ccl_prog[ic]); ic++; /* number of maps. */ + fin_ic = ic + j; + op = reg[rrr]; + if ((j > reg[RRR]) && (j >= 0)) +@@ -1630,7 +1630,7 @@ ccl_driver (struct ccl_program *ccl, + for (;i < j;i++) + { + size = XVECTOR (Vcode_conversion_map_vector)->size; +- point = XCHAR_OR_FIXNUM (ccl_prog[ic++]); ++ point = XCHAR_OR_FIXNUM (ccl_prog[ic]); ic++; + if (point >= size) continue; + map = + XVECTOR (Vcode_conversion_map_vector)->contents[point]; +@@ -1727,7 +1727,7 @@ ccl_driver (struct ccl_program *ccl, + stack_idx_of_map_multiple = 0; + + map_set_rest_length = +- XCHAR_OR_FIXNUM (ccl_prog[ic++]); /* number of maps and separators. */ ++ XCHAR_OR_FIXNUM (ccl_prog[ic]); ic++; /* number of maps and separators. */ + fin_ic = ic + map_set_rest_length; + op = reg[rrr]; + +@@ -1914,7 +1914,7 @@ ccl_driver (struct ccl_program *ccl, + { + Lisp_Object map, attrib, value, content; + int size, point; +- j = XCHAR_OR_FIXNUM (ccl_prog[ic++]); /* map_id */ ++ j = XCHAR_OR_FIXNUM (ccl_prog[ic]); ic++; /* map_id */ + op = reg[rrr]; + if (j >= XVECTOR (Vcode_conversion_map_vector)->size) + { diff --git a/check-build.sh b/check-build.sh new file mode 100644 index 0000000..e1501c7 --- /dev/null +++ b/check-build.sh @@ -0,0 +1,20 @@ +#!/bin/bash +case $BUILD_BASENAME in + *ppc*) + if test $(getconf PAGESIZE) -ne 65536; then + echo "Error: wrong build host, PAGESIZE must be 65536" + exit 1 + fi + ;; + *ia64*) + if test $(getconf PAGESIZE) -ne 65536; then + echo "Error: wrong build host, PAGESIZE must be 65536" + exit 1 + fi + ;; + *) + ;; +esac + +exit 0 + diff --git a/do-not-create-backups-in-temp-directories.patch b/do-not-create-backups-in-temp-directories.patch new file mode 100644 index 0000000..3c03935 --- /dev/null +++ b/do-not-create-backups-in-temp-directories.patch @@ -0,0 +1,15 @@ +Index: xemacs-21.5.29/lisp/files.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/files.el ++++ xemacs-21.5.29/lisp/files.el +@@ -166,7 +166,9 @@ This variable is relevant only if `backu + Checks for files in the directory returned by `temp-directory' or specified + by `small-temporary-file-directory'." + (let ((temporary-file-directory (temp-directory))) +- (not (or (let ((comp (compare-strings temporary-file-directory 0 nil ++ (not (or (null name) ++ (string-match "^/tmp/" name) ++ (let ((comp (compare-strings temporary-file-directory 0 nil + name 0 nil))) + ;; Directory is under temporary-file-directory. + (and (not (eq comp t)) diff --git a/fix-defface-custom-modified-face.patch b/fix-defface-custom-modified-face.patch new file mode 100644 index 0000000..7550a79 --- /dev/null +++ b/fix-defface-custom-modified-face.patch @@ -0,0 +1,13 @@ +Index: lisp/cus-edit.el +=================================================================== +--- lisp/cus-edit.el.orig ++++ lisp/cus-edit.el +@@ -1395,7 +1395,7 @@ item in another window.\n\n")) + (defface custom-modified-face '((((class color)) + (:foreground "white" :background "blue")) + (t +- (:italic t :bold))) ++ (:italic t :bold t))) + "Face used when the customize item has been modified." + :group 'custom-magic-faces) + diff --git a/fix-load-history.el b/fix-load-history.el new file mode 100644 index 0000000..4d8b596 --- /dev/null +++ b/fix-load-history.el @@ -0,0 +1,29 @@ +;;; -*- mode: emacs-lisp -*- + +;;; fix up the load-history to make it possible to use find-function +;;; on functions which are in dumped lisp files, even if XEmacs was not +;;; dumped at the place where it is finally running. +;;; +;;; Suggested by Jeff Mincy , see: +;;; +;;; http://list-archive.xemacs.org/xemacs-design/200204/msg00365.html +;;; +;;; Test whether this works by evaluating (find-function 'next-line) +;;; + +(defvar suse-build-directory + (let ((dumped-file (symbol-file 'next-line))) + (and lisp-directory + (file-directory-p lisp-directory) + dumped-file + (not (file-exists-p dumped-file)) + (string-match "^\\(.*[/\\]lisp[/\\]\\)" dumped-file) + (substring dumped-file (match-beginning 1) (match-end 1)))) + "The directory that is stored in load-history for dumped files") + +(when suse-build-directory + (eval-after-load 'find-func + (dolist (entry load-history) + (when (string-match (regexp-quote suse-build-directory) (car entry)) + (setcar entry (replace-match lisp-directory t t (car entry))))))) + diff --git a/menus-always-utf8.patch b/menus-always-utf8.patch new file mode 100644 index 0000000..338399b --- /dev/null +++ b/menus-always-utf8.patch @@ -0,0 +1,108 @@ +Index: xemacs-21.5.31/lwlib/xlwmenu.c +=================================================================== +--- xemacs-21.5.31/lwlib/xlwmenu.c ++++ xemacs-21.5.31/lwlib/xlwmenu.c +@@ -108,7 +108,7 @@ xlwMenuResources[] = + /* We must use an iso8859-1 font here, or people without $LANG set lose. + It's fair to assume that those who do have $LANG set also have the + *fontList resource set, or at least know how to deal with this. */ +- XtRString, (XtPointer) "-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-1"), ++ XtRString, (XtPointer) "-*-helvetica-bold-r-*--*-120-*-*-*-*-*-*"), + #else + fontres (XtNfont, XtCFont, XtRFontStruct, XFontStruct *, font, + "XtDefaultFont"), +@@ -343,12 +343,12 @@ string_width (XlwMenuWidget mw, + #else + # ifdef USE_XFONTSET + XRectangle ri, rl; +- XmbTextExtents (mw->menu.font_set, s, strlen (s), &ri, &rl); ++ Xutf8TextExtents (mw->menu.font_set, s, strlen (s), &ri, &rl); + return rl.width; + # else + #ifdef HAVE_XFT_MENUBARS + XGlyphInfo glyphinfo; +- XftTextExtents8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) s, ++ XftTextExtentsUtf8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) s, + strlen (s), &glyphinfo); + return glyphinfo.xOff; + #else +@@ -435,11 +435,11 @@ string_width_u (XlwMenuWidget mw, + return width; + #else + # ifdef USE_XFONTSET +- XmbTextExtents (mw->menu.font_set, newchars, j, &ri, &rl); ++ Xutf8TextExtents (mw->menu.font_set, newchars, j, &ri, &rl); + return rl.width; + # else /* ! USE_XFONTSET */ + #ifdef HAVE_XFT_MENUBARS +- XftTextExtents8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) newchars, ++ XftTextExtentsUtf8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) newchars, + j, &glyphinfo); + return glyphinfo.xOff; + #else +@@ -769,7 +769,7 @@ x_xft_text_width (Display *dpy, XftFont + { + static XGlyphInfo glyphinfo; + +- XftTextExtents8 (dpy, ++ XftTextExtentsUtf8 (dpy, + xft_font, + (FcChar8 *) run, len, &glyphinfo); + return glyphinfo.xOff; +@@ -816,12 +816,12 @@ string_draw (XlwMenuWidget mw, + x_xft_text_width (display, renderFont, string, strlen (string)), + renderFont->ascent + renderFont->descent); /* XXX */ + /* draw text */ +- XftDrawString8 (xftDraw, color, renderFont, x, y + mw->menu.font_ascent, ++ XftDrawStringUtf8 (xftDraw, color, renderFont, x, y + mw->menu.font_ascent, + (FcChar8 *) string, strlen (string)); + XftDrawDestroy (xftDraw); + # else + # ifdef USE_XFONTSET +- XmbDrawString (XtDisplay (mw), window, mw->menu.font_set, gc, ++ Xutf8DrawString (XtDisplay (mw), window, mw->menu.font_set, gc, + x, y + mw->menu.font_ascent, string, strlen (string)); + # else + XDrawString (XtDisplay (mw), window, gc, +@@ -877,10 +877,10 @@ string_draw_range ( + + if (end <= start) + return 0; +- XmbDrawString ( ++ Xutf8DrawString ( + XtDisplay (mw), window, mw->menu.font_set, gc, + x, y + mw->menu.font_ascent, &string[start], end - start); +- XmbTextExtents ( ++ Xutf8TextExtents ( + mw->menu.font_set, &string[start], end - start, &ri, &rl); + return rl.width; + # else +@@ -903,12 +903,12 @@ string_draw_range ( + renderFont, &string[start], end - start), + renderFont->ascent + renderFont->descent); /* XXX */ + /* draw text */ +- XftDrawString8 (xftDraw, color, renderFont, ++ XftDrawStringUtf8 (xftDraw, color, renderFont, + x, y + mw->menu.font_ascent, + (FcChar8 *) &string[start], end - start); + +- XftTextExtents8 (display, renderFont, (FcChar8 *) &string[start], +- end - start, &glyphinfo); ++ XftTextExtentsUtf8 (display, renderFont, (FcChar8 *) &string[start], ++ end - start, &glyphinfo); + + /* #### should use parent frame's .xftDraw */ + XftDrawDestroy (xftDraw); +Index: xemacs-21.5.31/src/faces.c +=================================================================== +--- xemacs-21.5.31/src/faces.c ++++ xemacs-21.5.31/src/faces.c +@@ -2484,7 +2484,7 @@ complex_vars_of_faces (void) + Fcons + (Fcons + (list1 (device_symbol), +- build_ascstring ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")), ++ build_ascstring ("-*-fixed-medium-r-*--*-120-*-*-*-*-*-*")), + inst_list); + + #endif /* !HAVE_XFT */ diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..9844c1f --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,23 @@ +Date: 2017-08-16 +Author: Bernhard M. Wiedemann + +drop timestamp and build host name from .elc files + +Index: xemacs-21.5.34/lisp/bytecomp.el +=================================================================== +--- xemacs-21.5.34.orig/lisp/bytecomp.el ++++ xemacs-21.5.34/lisp/bytecomp.el +@@ -2156,11 +2156,8 @@ docstrings code.") + finally return res))) + (setq comments + (with-string-as-buffer-contents "" +- (insert "\n;;; compiled by " +- (or (and (boundp 'user-mail-address) user-mail-address) +- (concat (user-login-name) "@" (system-name))) +- " on " +- (current-time-string) "\n;;; from file " filename "\n") ++ (insert "\n;;; compiled" ++ "\n;;; from file " filename "\n") + (insert ";;; emacs version " emacs-version ".\n") + (insert ";;; bytecomp version " byte-compile-version "\n;;; " + (cond diff --git a/set-language-unicode-precedence-list.patch b/set-language-unicode-precedence-list.patch new file mode 100644 index 0000000..36623ff --- /dev/null +++ b/set-language-unicode-precedence-list.patch @@ -0,0 +1,87 @@ +Index: xemacs-21.5.29/lisp/mule/chinese.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/mule/chinese.el ++++ xemacs-21.5.29/lisp/mule/chinese.el +@@ -223,7 +223,24 @@ G2: Sisheng (PinYin - ZhuYin)" + + (set-language-info-alist + "Chinese-GB" '((setup-function . setup-chinese-gb-environment-internal) +- (charset chinese-gb2312 chinese-sisheng) ++ (charset ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-15 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ chinese-gb2312 ++ chinese-sisheng ++ chinese-big5-1 ++ chinese-big5-2 ++ korean-ksc5601 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201) + (coding-system cn-gb-2312 iso-2022-7bit hz-gb-2312) + (coding-priority cn-gb-2312 big5 iso-2022-7bit) + (cygwin-locale "zh") +@@ -297,7 +314,24 @@ of a Chinese character\".")) + (set-charset-ccl-program 'chinese-big5-2 'ccl-encode-big5-font) + + (set-language-info-alist +- "Chinese-BIG5" '((charset chinese-big5-1 chinese-big5-2) ++ "Chinese-BIG5" '((charset ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-15 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ chinese-big5-1 ++ chinese-big5-2 ++ chinese-gb2312 ++ chinese-sisheng ++ korean-ksc5601 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201) + (coding-system big5 iso-2022-7bit) + (coding-priority big5 cn-gb-2312 iso-2022-7bit) + (cygwin-locale "zh_TW") +Index: xemacs-21.5.29/lisp/mule/japanese.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/mule/japanese.el ++++ xemacs-21.5.29/lisp/mule/japanese.el +@@ -378,8 +378,24 @@ a similar structure: + "Japanese" '((setup-function . setup-japanese-environment-internal) + (exit-function . exit-japanese-environment) + (tutorial . "TUTORIAL.ja") +- (charset japanese-jisx0208 japanese-jisx0208-1978 +- japanese-jisx0212 latin-jisx0201 katakana-jisx0201) ++ (charset ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-15 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201 ++ korean-ksc5601 ++ chinese-big5-1 ++ chinese-big5-2 ++ chinese-gb2312 ++ chinese-sisheng) + (coding-system iso-2022-jp euc-jp + shift-jis iso-2022-jp-2) + (coding-priority iso-2022-jp euc-jp diff --git a/set-locale-to-c-when-not-supported-by-x.patch b/set-locale-to-c-when-not-supported-by-x.patch new file mode 100644 index 0000000..5d4682f --- /dev/null +++ b/set-locale-to-c-when-not-supported-by-x.patch @@ -0,0 +1,17 @@ +Index: xemacs-21.5.29/src/intl.c +=================================================================== +--- xemacs-21.5.29.orig/src/intl.c ++++ xemacs-21.5.29/src/intl.c +@@ -84,8 +84,10 @@ Otherwise, returns the locale, or possib + #ifdef HAVE_X_WINDOWS + if (!init_x_locale (locale)) + { +- /* Locale not supported under X. Put it back. */ +- setlocale (LC_ALL, loc); ++ /* Locale not supported under X. Set locale to "C" and print a warning. */ ++ warn_when_safe (Qwarning, Qwarning, ++ "locale not supported by Xlib, setting locale to C."); ++ setlocale (LC_ALL, "C"); + setlocale (LC_NUMERIC, "C"); + free (loc); + return Qnil; diff --git a/site-start.el b/site-start.el new file mode 100644 index 0000000..1f10f3e --- /dev/null +++ b/site-start.el @@ -0,0 +1,454 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; File name: ` /usr/share/xemacs/site-lisp/site-start.el ' +;;; System wide start file for xemacs. +;;; Copyright 1999 (c) S.u.S.E. Gmbh Fuerth, Germany. All rights reserved. +;;; Author: Werner Fink , 1999 +;;; Mike Fabian , 2004, 2005 +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(setq load-path (delete (concat lisp-directory + "site-packages/lisp/term/") + load-path)) + +;; +;; Preload dynamic (i)Spell menu +;; -------------- +(load "/usr/lib/ispell/ispell-emacs-menu.el" t t) +(load "fix-load-history.el" t t) + +;; +;; Enable mouse wheel support +;; + +(when window-system + (mwheel-install)) + +;; Let gnus save articles in mbox format +(defvar gnus-default-article-saver 'gnus-summary-save-in-file) + +;; This system use terminfo +(defvar system-uses-terminfo t) + +;; Syntax highlighting +(when (fboundp 'turn-on-lazy-lock) + (require 'font-lock) + ;; use lazy-lock by default if lazy-shot is not enabled + (remove-hook 'font-lock-mode-hook 'turn-on-lazy-lock) + (add-hook 'font-lock-mode-hook + (function + (lambda () + (unless (and (boundp 'lazy-shot-mode) lazy-shot-mode) + (turn-on-lazy-lock)))) + t)) + +;; +;; i18n setup (encoding, language-environment, ...) +;; ------------------------------------------------- + +(if (locate-library "latin-unity") (require 'latin-unity)) +(if (locate-library "latin-euro-input") (require 'latin-euro-input)) +(if (and (<= emacs-major-version 21) + (<= emacs-minor-version 4) + (locate-library "un-define")) + (require 'un-define) + (provide 'un-define)) + +;; Setting the language-environment +;; +;; fix unicode-precedence-list if setting the language environment +;; screws it up. +;; +;; Unfortunately 'set-language-environment' also changes the locale. +;; For example (set-language-environment "Japanese") sets the locale +;; to ja_JP.eucJP. That is nonsense and should not be done. +;; Therefore we remember the original value of LANG and restore the +;; locale after 'set-language-environment'. + +;; create missing UTF-8 language environments: +(mapcar + (lambda (x) + (let ((langenv (car x))) + (if (not (string-match "UTF-8" langenv)) + (create-variant-language-environment langenv 'utf-8)))) + language-info-alist) + +(set-language-unicode-precedence-list + (get-language-info current-language-environment 'charset)) + +;; (when (emacs-version>= 21 5 6) +;; (let ((old-lang (getenv "LANG")) +;; (case-fold-search nil)) +;; (when (getenv "LANG") +;; (cond ((string-match "af" (getenv "LANG")) +;; (set-language-environment "Afrikaans")) +;; ((string-match "sq" (getenv "LANG")) +;; (set-language-environment "Albanian")) +;; ((string-match "ca" (getenv "LANG")) +;; (set-language-environment "Catalan")) +;; ((string-match "zh_TW" (getenv "LANG")) +;; (set-language-environment "Chinese-BIG5") +;; (set-language-unicode-precedence-list +;; '(ascii +;; latin-iso8859-1 +;; latin-iso8859-2 +;; latin-iso8859-3 +;; latin-iso8859-4 +;; latin-iso8859-13 +;; latin-iso8859-15 +;; latin-iso8859-16 +;; cyrillic-iso8859-5 +;; greek-iso8859-7 +;; chinese-big5-1 +;; chinese-big5-2 +;; chinese-gb2312 +;; chinese-sisheng +;; korean-ksc5601 +;; japanese-jisx0208 +;; japanese-jisx0208-1978 +;; japanese-jisx0212 +;; latin-jisx0201 +;; katakana-jisx0201))) +;; ((string-match "zh_HK" (getenv "LANG")) +;; (set-language-environment "Chinese-BIG5") +;; (set-language-unicode-precedence-list +;; '(ascii +;; latin-iso8859-1 +;; latin-iso8859-2 +;; latin-iso8859-3 +;; latin-iso8859-4 +;; latin-iso8859-13 +;; latin-iso8859-15 +;; latin-iso8859-16 +;; cyrillic-iso8859-5 +;; greek-iso8859-7 +;; chinese-big5-1 +;; chinese-big5-2 +;; chinese-gb2312 +;; chinese-sisheng +;; korean-ksc5601 +;; japanese-jisx0208 +;; japanese-jisx0208-1978 +;; japanese-jisx0212 +;; latin-jisx0201 +;; katakana-jisx0201))) +;; ((string-match "zh_CN" (getenv "LANG")) +;; (set-language-environment "Chinese-GB") +;; (set-language-unicode-precedence-list +;; '(ascii +;; latin-iso8859-1 +;; latin-iso8859-2 +;; latin-iso8859-3 +;; latin-iso8859-4 +;; latin-iso8859-13 +;; latin-iso8859-15 +;; latin-iso8859-16 +;; cyrillic-iso8859-5 +;; greek-iso8859-7 +;; chinese-gb2312 +;; chinese-sisheng +;; chinese-big5-1 +;; chinese-big5-2 +;; korean-ksc5601 +;; japanese-jisx0208 +;; japanese-jisx0208-1978 +;; japanese-jisx0212 +;; latin-jisx0201 +;; katakana-jisx0201))) +;; ((string-match "zh_SG" (getenv "LANG")) +;; (set-language-environment "Chinese-GB") +;; (set-language-unicode-precedence-list +;; '(ascii +;; latin-iso8859-1 +;; latin-iso8859-2 +;; latin-iso8859-3 +;; latin-iso8859-4 +;; latin-iso8859-13 +;; latin-iso8859-15 +;; latin-iso8859-16 +;; cyrillic-iso8859-5 +;; greek-iso8859-7 +;; chinese-gb2312 +;; chinese-sisheng +;; chinese-big5-1 +;; chinese-big5-2 +;; korean-ksc5601 +;; japanese-jisx0208 +;; japanese-jisx0208-1978 +;; japanese-jisx0212 +;; latin-jisx0201 +;; katakana-jisx0201))) +;; ((string-match "hr" (getenv "LANG")) +;; (set-language-environment "Croatian")) +;; ((string-match "ru" (getenv "LANG")) +;; (set-language-environment "Cyrillic-KOI8")) +;; ((string-match "cs" (getenv "LANG")) +;; (set-language-environment "Czech")) +;; ((string-match "da" (getenv "LANG")) +;; (set-language-environment "Danish")) +;; ((string-match "nl" (getenv "LANG")) +;; (set-language-environment "Dutch")) +;; ((string-match "et" (getenv "LANG")) +;; (set-language-environment "Estonian")) +;; ((string-match "fi" (getenv "LANG")) +;; (set-language-environment "Finnish")) +;; ((string-match "fr" (getenv "LANG")) +;; (set-language-environment "French")) +;; ((string-match "gl" (getenv "LANG")) +;; (set-language-environment "Galician")) +;; ((string-match "de" (getenv "LANG")) +;; (set-language-environment "German")) +;; ((string-match "el" (getenv "LANG")) +;; (set-language-environment "Greek")) +;; ((string-match "kl" (getenv "LANG")) +;; (set-language-environment "Greenlandic")) +;; ((string-match "he" (getenv "LANG")) +;; (set-language-environment "Hebrew")) +;; ((string-match "iw" (getenv "LANG")) +;; (set-language-environment "Hebrew")) +;; ((string-match "hu" (getenv "LANG")) +;; (set-language-environment "Hungarian")) +;; ((string-match "ga" (getenv "LANG")) +;; (set-language-environment "Irish")) +;; ((string-match "it" (getenv "LANG")) +;; (set-language-environment "Italian")) +;; ((string-match "ja" (getenv "LANG")) +;; (set-language-environment "Japanese") +;; (set-language-unicode-precedence-list +;; '(ascii +;; latin-iso8859-1 +;; latin-iso8859-2 +;; latin-iso8859-3 +;; latin-iso8859-4 +;; latin-iso8859-13 +;; latin-iso8859-15 +;; latin-iso8859-16 +;; cyrillic-iso8859-5 +;; greek-iso8859-7 +;; japanese-jisx0208 +;; japanese-jisx0208-1978 +;; japanese-jisx0212 +;; latin-jisx0201 +;; katakana-jisx0201 +;; korean-ksc5601 +;; chinese-big5-1 +;; chinese-big5-2 +;; chinese-gb2312 +;; chinese-sisheng))) +;; ((string-match "ko" (getenv "LANG")) +;; (set-language-environment "Korean") +;; (set-language-unicode-precedence-list +;; '(ascii +;; latin-iso8859-1 +;; latin-iso8859-2 +;; latin-iso8859-3 +;; latin-iso8859-4 +;; latin-iso8859-13 +;; latin-iso8859-15 +;; latin-iso8859-16 +;; cyrillic-iso8859-5 +;; greek-iso8859-7 +;; korean-ksc5601 +;; japanese-jisx0208 +;; japanese-jisx0208-1978 +;; japanese-jisx0212 +;; latin-jisx0201 +;; katakana-jisx0201 +;; chinese-big5-1 +;; chinese-big5-2 +;; chinese-gb2312 +;; chinese-sisheng))) +;; ((string-match "lt" (getenv "LANG")) +;; (set-language-environment "Lithuanian")) +;; ((string-match "mt" (getenv "LANG")) +;; (set-language-environment "Maltese")) +;; ((string-match "nb" (getenv "LANG")) +;; (set-language-environment "Norwegian")) +;; ((string-match "nn" (getenv "LANG")) +;; (set-language-environment "Norwegian")) +;; ((string-match "no" (getenv "LANG")) +;; (set-language-environment "Norwegian")) +;; ((string-match "pl" (getenv "LANG")) +;; (set-language-environment "Polish")) +;; ((string-match "pt" (getenv "LANG")) +;; (set-language-environment "Portuguese")) +;; ((string-match "ro" (getenv "LANG")) +;; (set-language-environment "Romanian")) +;; ((string-match "sk" (getenv "LANG")) +;; (set-language-environment "Slovak")) +;; ((string-match "sl" (getenv "LANG")) +;; (set-language-environment "Slovenian")) +;; ((string-match "es" (getenv "LANG")) +;; (set-language-environment "Spanish")) +;; ((string-match "sv" (getenv "LANG")) +;; (set-language-environment "Swedish")) +;; ((string-match "th" (getenv "LANG")) +;; (set-language-environment "Thai-XTIS")) +;; ((string-match "tr" (getenv "LANG")) +;; (set-language-environment "Turkish")) +;; ((string-match "vi" (getenv "LANG")) +;; (set-language-environment "Vietnamese")) +;; (t +;; (set-language-environment "English"))) +;; (setenv "LANG" old-lang) +;; (set-current-locale old-lang)))) + +(defun suse-set-coding-systems () + (let* ((tmp (shell-command-to-string "locale charmap")) + (tmp (substring tmp 0 (string-match "\[ \t\n\]" tmp))) + (tmp (downcase tmp))) + (when (find-coding-system (intern tmp)) + ;; set the coding system priorities: + ;; (this is also important to make XIM in utf-8 work + ;; because XEmacs has no variable/function to set the + ;; coding-system for XIM, it is just autodetected which + ;; will work correctly only when the coding-system priorities + ;; are OK.) + (if (coding-system-category (intern tmp)) + ;; if coding-system-category is nil the coding-system is + ;; no-conversion or undecided and prefer-coding system would + ;; fail. + (progn (prefer-coding-system (intern tmp)) + (if (fboundp 'latin-unity-install) (latin-unity-install)))) + (if (emacs-version>= 21 5 6) + ;; XEmacs 21.5 apparently renamed this function: + (set-default-output-coding-systems (intern tmp)) + (set-default-coding-systems (intern tmp))) + (set-keyboard-coding-system (intern tmp)) + (set-terminal-coding-system (intern tmp)) + ;; XEmacs 21.5.16 needs this to be able to use non-ASCII file names: + ;; (according to Aidan, file-name-coding-system is ignored for + ;; XEmacs >= 21.5.26. One may use + ;; (define-coding-system-alias 'file-name 'utf-8) + ;; instead but even this should not be necessary if + ;; LC_CTYPE is already an UTF-8 locale). + (if (and (string-match "XEmacs" emacs-version) + (emacs-version>= 21 5 6)) + (setq file-name-coding-system (intern tmp))) + ;; without the following line, shell buffers are not by default + ;; in UTF-8 when running in an UTF-8 locale in XEmacs 21.5.16: + (setq process-coding-system-alist (cons (cons ".*" (intern tmp)) '())) + ;; these two lines appearently make no difference, if they + ;; are used instead of the above process-coding-system-alist, + ;; shell buffers still have the wrong encoding: + ;; (setq default-process-coding-system-read (intern tmp)) + ;; (setq default-process-coding-system-write (intern tmp)) + ;; and this doesn't seem to work either: + ;; (setq default-process-coding-system '(utf-8 . utf-8)) + ;; + ;; the following is necessary to enable XEmacs to pass + ;; command line arguments to external processes in the correct + ;; encoding. For example this is needed to make + ;; 'M-x grep' work when searching for UTF-8 strings + ;; while running in an UTF-8 locale. + ;; + (if (and (string-match "XEmacs" emacs-version) + (emacs-version>= 21 5 6)) + (define-coding-system-alias 'native (intern tmp)))))) + +(if load-user-init-file-p + (suse-set-coding-systems)) + +;; Set input mode +(let ((value (current-input-mode))) + (set-input-mode (nth 0 value) + (nth 1 value) + (terminal-coding-system) + ;; This quit value is optional + (nth 3 value))) + +;; Hack to support some important Unicode keysyms which are not yet +;; natively supported in XEmacs: + +(defun insert-unicode-keysym () + "Assuming the last typed key has an associated keysym of the form +UXXXX, where XXXX is the hexadecimal code point of a Unicode +character, insert that Unicode character at point. " + (interactive) + (let* ((unicode-codepoint + (string-to-int + (substring (format "%s" (event-key last-command-event)) 1) 16)) + (mule-char (unicode-to-char unicode-codepoint))) + (if mule-char + (insert mule-char) + (error 'text-conversion-error + (format "Could not convert U+%X to a Mule character, sorry" + unicode-codepoint))))) + +(defun suse-global-map-default-binding () + "Workaround to make X11 keysyms of the form UXXXX work. +This is a stopgap until proper translation of these keysyms is +integrated into XEmacs" + + (interactive) + (let* ((keysym + (format "%s" (event-key last-command-event))) + (case-fold-search nil)) + (when (string-match "U[0-9A-F][0-9A-F][0-9A-F][0-9A-F]" keysym) + (insert-unicode-keysym) + (define-key global-map (intern keysym) 'insert-unicode-keysym)))) + +;;; (when (equal (console-type) 'x) +;;; (set-keymap-default-binding global-map 'suse-global-map-default-binding)) + +;; Hack to support some extra Unicode characters which are not in any +;; legacy charset. This hack is not enough to display the characters +;; correctly (should work with the Xft build of XEmacs) but at least +;; it prevents data loss if files containing these characters are read +;; and saved again. + +;; This hack is not needed anymore, something similar has been +;; implemented upstream. +;; Keeping this hack enabled causes problems, for example it often +;; causes error messages when trying to attach .pdf files in Gnus. +;; Therefore I comment it out. +;; Mon Feb 23 12:20:01 2009 + +;; (make-charset 'suse-private +;; "Private character set for SUSE" +;; '(dimension 2 +;; chars 96 +;; columns 1 +;; final ?R ;; Change this--see docs for make-charset +;; long-name "Private charset for some Unicode char support." +;; short-name +;; "Suse-Private")) +;; +;; (defun suse-list-unsupported-codepoints-range (range) +;; (interactive) +;; (let ((unsupported nil) +;; (i (car range)) +;; (j (cadr range))) +;; (while (<= i j) +;; (if (not (unicode-to-char i)) +;; (push i unsupported)) +;; (setq i (1+ i))) +;; unsupported)) +;; +;; (defun suse-fill-charset (charset codepoint-list) +;; (interactive) +;; (let ((n 0)) +;; (dolist (codepoint codepoint-list) +;; (let ((i (mod n 96)) +;; (j (/ n 96))) +;; (if (< j 95) +;; (set-unicode-conversion (make-char charset (+ i #x20) (+ j #x20)) codepoint) +;; (message "charset %s is full" charset)) +;; (setq n (1+ n)))))) +;; +;; (suse-fill-charset +;; 'suse-private +;; (nconc +;; (suse-list-unsupported-codepoints-range '(#x0100 #x06FF)) +;; (suse-list-unsupported-codepoints-range '(#x0900 #x11FF)) +;; (suse-list-unsupported-codepoints-range '(#x1E00 #x27FF)) +;; (suse-list-unsupported-codepoints-range '(#x3000 #x33FF)) +;; (suse-list-unsupported-codepoints-range '(#xE800 #xE8FF)) +;; (suse-list-unsupported-codepoints-range '(#xF000 #xF0FF)) +;; (suse-list-unsupported-codepoints-range '(#xFB00 #xFFFF)) +;; )) + +(if (and (boundp 'xft-version) (eq window-system 'x)) + (load "suse-xft-init.el" t t)) + +;;;;;;;;;; +;; the end diff --git a/skel.init.el b/skel.init.el new file mode 100644 index 0000000..7545675 --- /dev/null +++ b/skel.init.el @@ -0,0 +1,37 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; File name: ` ~/.xemacs/init.el ' +;;; --------------------- +;;; +;;; Copyright (c) 2002,2015 SuSE Gmbh Nuernberg, Germany. +;;; +;;; Author: Werner Fink, 2002,2015 +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; +;; Load custom file +;; ---------------- +(setq custom-file "~/.xemacs/custom.el") +(load-options-file custom-file) + +;; +;; More coding systems (UNICODE) +;; ----------------------------- +(if (locate-library "un-define") (require 'un-define)) + +;; +;; Remember font and more settings +;; ------------------------------- +(setq options-save-faces t) + +;; +;; Load AucTeX by default +;; ---------------------- +(require 'tex-site) +(setq-default TeX-master nil) +;; Users private libaries +;(setq TeX-macro-private '("~/lib/tex-lib/")) +;; AUC-TeX-Macros +;(setq TeX-style-private "~/lib/xemacs/site-lisp/auctex/style/") +;; Autom. Auc-TeX-Macros +;(setq TeX-auto-private "~/lib/xemacs/site-lisp/auctex/auto/") +;;; diff --git a/suse-xft-init.el b/suse-xft-init.el new file mode 100644 index 0000000..0ff1728 --- /dev/null +++ b/suse-xft-init.el @@ -0,0 +1,122 @@ +;;; -*- mode: emacs-lisp -*- + +;;; Fri Jul 13 20:43:53 2007 Mike FABIAN + +(setq xft-debug-level 0) ;; default is 1. Set to 0 to suppress all warnings + +(setq suse-xft-lang-tags + (list "ar" + "en" + "de" + "he" + "ko" + "zh-TW" + "zh-CN" + "ja" + "th" + "vi")) + +(mapcar (lambda (x) (define-specifier-tag (intern x))) suse-xft-lang-tags) + +(defun suse-xft-find-font-for-tag (tag) + "uses fc-match to find a suitable font for tag" + (let* ((fc-match-result (shell-command-to-string + (format "fc-match monospace:lang=%s" tag))) + (family (nth 1 (split-string fc-match-result "\""))) + (style (nth 3 (split-string fc-match-result "\"")))) + (format "%s:style=%s" family style))) + + +(defun suse-xft-make-fonts-alist (tags) + "returns an alist of with the tags as keys and suitable fonts as values" + (let ((fonts-alist nil)) + (mapcar + (lambda (x) + (setq fonts-alist + (cons (cons x (suse-xft-find-font-for-tag x)) + fonts-alist))) + tags) + (reverse fonts-alist))) + +(setq suse-xft-fonts-alist (suse-xft-make-fonts-alist suse-xft-lang-tags)) + +;; tune the defaults returned by fc-match according to taste: +;; For example, I prefer "DejaVu Sans Mono" as the standard +;; font even if another font is the default for "monospace" +;; because "DejaVu Sans Mono" has a lot more special symbols +;; than most other monospaced fonts. + +(if (not (equal "" (shell-command-to-string "fc-list \"DejaVu Sans Mono\""))) + (setf (cdr (assoc "en" suse-xft-fonts-alist)) "DejaVu Sans Mono")) + +(defun suse-xft-set-all-faces (size) + "tries to set reasonable fonts for all faces" + (interactive "nnew size for all faces: ") + (setq suse-xft-current-size size) + (when (console-on-window-system-p) + (mapcar + (lambda (face) + (progn + ;; first set the English font as the standard font for all faces + (set-face-font face + (format "%s:size=%d" + (cdr (assoc "en" suse-xft-fonts-alist)) + size) + 'global + nil + 'remove-all) + ;; then append the fonts for the other languages + (mapcar + (lambda (tag) + (set-face-font face + (format "%s:size=%d" + (cdr (assoc tag suse-xft-fonts-alist)) + size) + 'global + (list (intern tag)) + 'remove-tag-set-append)) + suse-xft-lang-tags) + (if (string-match "bold-italic" (symbol-name face)) + (make-face-bold-italic face) + (if (string-match "bold" (symbol-name face)) + (make-face-bold face)) + (if (string-match "italic" (symbol-name face)) + (make-face-italic face))) + (when (fboundp 'custom-face-get-spec) + (if (and (eq t (plist-get (cadr (assoc t (custom-face-get-spec face))) :bold)) + (eq t (plist-get (cadr (assoc t (custom-face-get-spec face))) :italic))) + (make-face-bold-italic face) + (if (and (eq 'bold (plist-get (cadr (assoc t (custom-face-get-spec face))) :weight)) + (eq 'italic (plist-get (cadr (assoc t (custom-face-get-spec face))) :slant))) + (make-face-bold-italic face) + (if (eq 'bold (plist-get (cadr (assoc t (custom-face-get-spec face))) :weight)) + (make-face-bold face)) + (if (eq 'italic (plist-get (cadr (assoc t (custom-face-get-spec face))) :slant)) + (make-face-italic face)) + (if (eq t (plist-get (cadr (assoc t (custom-face-get-spec face))) :bold)) + (make-face-bold face)) + (if (eq t (plist-get (cadr (assoc t (custom-face-get-spec face))) :italic)) + (make-face-italic face))))) + )) + (face-list)))) + +(defun suse-xft-set-size (size) + (interactive "nset all fonts to point-size: ") + (setq suse-xft-current-size size) + (if (> 1 suse-xft-current-size) + (setq suse-xft-current-size 1)) + (suse-xft-set-all-faces suse-xft-current-size)) + +(defun suse-xft-change-size (delta) + (interactive "nsize change in point (may be negative): ") + (setq suse-xft-current-size (+ delta suse-xft-current-size)) + (if (> 1 suse-xft-current-size) + (setq suse-xft-current-size 1)) + (suse-xft-set-all-faces suse-xft-current-size)) + +(setq suse-xft-current-size 12) + +(suse-xft-set-all-faces suse-xft-current-size) + + + diff --git a/xe-list.el b/xe-list.el new file mode 100644 index 0000000..44ed436 --- /dev/null +++ b/xe-list.el @@ -0,0 +1,60 @@ +(defvar xe-list-file-name "xe-list") + +(defun xe-list-find-el (&optional buffer) + (interactive) + (let ((el-with-elc) + (el-without-elc)) + (save-excursion + (if buffer + (set-buffer buffer)) + (goto-char (point-min)) + (while (re-search-forward "^\\(.*\\.el\\)$" nil t) + (let ((el (match-string 1))) + (save-excursion + (goto-char (point-min)) + (if (re-search-forward (concat "^" (regexp-quote el) "c$") nil t) + (setq el-with-elc (cons el el-with-elc)) + (setq el-without-elc (cons el el-without-elc))))))) + (list (nreverse el-with-elc) (nreverse el-without-elc)))) + +(defun xe-list-find-elc (&optional buffer) + (interactive) + (let ((elc-with-el) + (elc-without-el)) + (save-excursion + (if buffer + (set-buffer buffer)) + (goto-char (point-min)) + (while (re-search-forward "^\\(.*\\.elc\\)$" nil t) + (let ((elc (match-string 1)) + (el (replace-in-string (match-string 1) "\\.elc$" ".el"))) + (save-excursion + (goto-char (point-min)) + (if (re-search-forward (concat "^" (regexp-quote el) "$") nil t) + (setq elc-with-el (cons elc elc-with-el)) + (setq elc-without-el (cons elc elc-without-el))))))) + (list (nreverse elc-with-el) (nreverse elc-without-el)))) + +(defun xe-list-write-list-to-file (list file) + (interactive) + (with-temp-buffer + (mapcar (lambda (x) (insert x) (insert "\n")) + list) + (write-file file))) + +(defun xe-list-generate-list-files () + (interactive) + (let ((el-lists) + (elc-lists)) + (find-file xe-list-file-name) + (setq el-lists (xe-list-find-el xe-list-file-name)) + (setq elc-lists (xe-list-find-elc xe-list-file-name)) + (xe-list-write-list-to-file (car el-lists) + (concat xe-list-file-name "-el-with-elc")) + (xe-list-write-list-to-file (car (cdr el-lists)) + (concat xe-list-file-name "-el-without-elc")) + (xe-list-write-list-to-file (car elc-lists) + (concat xe-list-file-name "-elc-with-el")) + (xe-list-write-list-to-file (car (cdr elc-lists)) + (concat xe-list-file-name "-elc-without-el")))) + diff --git a/xemacs-21.4.13-ppc64.patch b/xemacs-21.4.13-ppc64.patch new file mode 100644 index 0000000..71c03ff --- /dev/null +++ b/xemacs-21.4.13-ppc64.patch @@ -0,0 +1,110 @@ +Index: xemacs-21.5.29/src/m/powerpc64.h +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/src/m/powerpc64.h +@@ -0,0 +1,86 @@ ++/* machine description file for PowerPC 64-bit. ++ Copyright (C) 1994, 2001, 2002 Free Software Foundation, Inc. ++ ++This file is part of GNU Emacs. ++ ++GNU Emacs is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 1, or (at your option) ++any later version. ++ ++GNU Emacs is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GNU Emacs; see the file COPYING. If not, write to ++the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++Boston, MA 02111-1307, USA. */ ++ ++ ++/* Now define a symbol for the cpu type, if your compiler ++ does not define it automatically: ++ Ones defined so far include vax, m68000, ns16000, pyramid, ++ orion, tahoe, APOLLO and many others */ ++ ++/* Use type EMACS_INT rather than a union, to represent Lisp_Object */ ++/* This is desirable for most machines. */ ++ ++#define NO_UNION_TYPE ++ ++/* Define the type to use. */ ++#define EMACS_INT long ++#define EMACS_UINT unsigned long ++#define SPECIAL_EMACS_INT ++ ++/* Data type of load average, as read out of kmem. */ ++ ++#define LOAD_AVE_TYPE long ++ ++/* Convert that into an integer that is 100 for a load average of 1.0 */ ++ ++#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) ++ ++/* Define C_ALLOCA if this machine does not support a true alloca ++ and the one written in C should be used instead. ++ Define HAVE_ALLOCA to say that the system provides a properly ++ working alloca function and it should be used. ++ Define neither one if an assembler-language alloca ++ in the file alloca.s should be used. */ ++ ++#define HAVE_ALLOCA ++ ++/* Some really obscure 4.2-based systems (like Sequent DYNIX) ++ * do not support asynchronous I/O (using SIGIO) on sockets, ++ * even though it works fine on tty's. If you have one of ++ * these systems, define the following, and then use it in ++ * config.h (or elsewhere) to decide when (not) to use SIGIO. ++ * ++ * You'd think this would go in an operating-system description file, ++ * but since it only occurs on some, but not all, BSD systems, the ++ * reasonable place to select for it is in the machine description ++ * file. ++ */ ++ ++/* #define NO_SOCK_SIGIO */ ++ ++#if defined(__OpenBSD__) ++#define ORDINARY_LINK ++#endif ++ ++#if defined (LINUX) || defined (__NetBSD__) || defined (__OpenBSD__) ++# define TEXT_END ({ extern int _etext; &_etext; }) ++#endif ++ ++#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__) ++#define HAVE_TEXT_START ++#endif ++ ++#define PNTR_COMPARISON_TYPE unsigned long ++ ++#undef START_FILES ++#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o ++ ++#undef LIB_STANDARD ++#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o +Index: xemacs-21.5.29/src/vm-limit.c +=================================================================== +--- xemacs-21.5.29.orig/src/vm-limit.c ++++ xemacs-21.5.29/src/vm-limit.c +@@ -61,6 +61,14 @@ check_memory_limits (void) + unsigned long data_size; + void (*save_warn_fun) (const char *); + ++#ifdef __powerpc64__ ++ /* powerpc64 has a different memory layout, which ++ * I would probably need to fake via a linker script. ++ * For now assume we cannot run out of memory. ++ */ ++ return; ++#endif ++ + if (lim_data == 0) + get_lim_data (); + five_percent = lim_data / 20; diff --git a/xemacs-21.4.8-xevent.patch b/xemacs-21.4.8-xevent.patch new file mode 100644 index 0000000..3d58825 --- /dev/null +++ b/xemacs-21.4.8-xevent.patch @@ -0,0 +1,18 @@ +Index: src/event-Xt.c +=================================================================== +--- src/event-Xt.c.orig ++++ src/event-Xt.c +@@ -1224,8 +1224,11 @@ x_event_to_emacs_event (XEvent *x_event, + + if (modifiers & XEMACS_MOD_SHIFT) + { +- int Mode_switch_p = *state & xd->ModeMask; +- KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0); ++ KeySym bot; ++ XKeyEvent tmpev = *ev; ++ ++ tmpev.state = *state & (xd->ModeMask | ~0xff); ++ XLookupString(&tmpev, NULL, 0, &bot, NULL); + if (x_keysym && bot && x_keysym != bot) + modifiers &= ~XEMACS_MOD_SHIFT; + } diff --git a/xemacs-21.5.18-movemail.patch b/xemacs-21.5.18-movemail.patch new file mode 100644 index 0000000..f2d89f4 --- /dev/null +++ b/xemacs-21.5.18-movemail.patch @@ -0,0 +1,72 @@ +diff -ru xemacs-21.5.20.orig/lib-src/movemail.c xemacs-21.5.20/lib-src/movemail.c +--- xemacs-21.5.20.orig/lib-src/movemail.c 2005-02-14 04:40:45.000000000 +0100 ++++ xemacs-21.5.20/lib-src/movemail.c 2005-05-12 12:44:12.000000000 +0200 +@@ -135,7 +135,7 @@ + #undef write + #undef close + +-static void fatal (char *, char*); ++static void fatal (char *, char *, char *); + static void error (char *, char *, char *); + static void usage(int); + static void pfatal_with_name (char *); +@@ -309,7 +309,7 @@ + #endif + + if (*outname == 0) +- fatal ("Destination file name is empty", 0); ++ fatal ("Destination file name is empty", 0, 0); + + VERBOSE(("checking access to output file\n")); + /* Check access to output file. */ +@@ -551,7 +551,7 @@ + return LOCKING; + #endif + else +- fatal("invalid lock method: %s", method_name); ++ fatal("invalid lock method: %s", method_name, 0); + return 0; /* unreached */ + } + +@@ -647,10 +647,10 @@ + /* Print error message and exit. */ + + static void +-fatal (char *s1, char *s2) ++fatal (char *s1, char *s2, char *s3) + { + maybe_unlock_dot(); +- error (s1, s2, NULL); ++ error (s1, s2, s3); + exit (1); + } + +@@ -667,16 +667,15 @@ + static void + pfatal_with_name (char *name) + { +- char *s = concat ("", strerror (errno), " for %s"); +- fatal (s, name); ++ fatal ("%s for %s", strerror (errno), name); + } + + static void + pfatal_and_delete (char *name) + { +- char *s = concat ("", strerror (errno), " for %s"); ++ char *s = strerror (errno); + unlink (name); +- fatal (s, name); ++ fatal ("%s for %s", s, name); + } + + /* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */ +@@ -702,7 +701,7 @@ + { + long *result = (long *) malloc (size); + if (!result) +- fatal ("virtual memory exhausted", 0); ++ fatal ("virtual memory exhausted", 0, 0); + return result; + } + diff --git a/xemacs-21.5.31-array.patch b/xemacs-21.5.31-array.patch new file mode 100644 index 0000000..74c7fd0 --- /dev/null +++ b/xemacs-21.5.31-array.patch @@ -0,0 +1,16 @@ +--- src/events.c ++++ src/events.c 2012-05-31 15:13:06.832009873 +0000 +@@ -1611,8 +1611,11 @@ upshift_event (Lisp_Object event) + XSET_EVENT_KEY_KEYSYM (event, make_char (c + 'A' - 'a')); + else + if (!(XEVENT_KEY_MODIFIERS (event) & XEMACS_MOD_SHIFT)) +- XSET_EVENT_KEY_MODIFIERS +- (event, XEVENT_KEY_MODIFIERS (event) |= XEMACS_MOD_SHIFT); ++ { ++ Lisp_Object tmp = XEVENT_KEY_MODIFIERS (event); ++ tmp |= XEMACS_MOD_SHIFT; ++ XSET_EVENT_KEY_MODIFIERS (event, tmp); ++ } + } + + void diff --git a/xemacs-21.5.34-Xaw3D_I18N.patch b/xemacs-21.5.34-Xaw3D_I18N.patch new file mode 100644 index 0000000..5cf0a2f --- /dev/null +++ b/xemacs-21.5.34-Xaw3D_I18N.patch @@ -0,0 +1,167 @@ +--- + configure | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- + configure.ac | 33 ++++++++++++++++++++++++++++++++- + lwlib/ChangeLog | 8 ++++++++ + lwlib/xt-wrappers.h | 5 +++++ + src/config.h.in | 1 + + 5 files changed, 96 insertions(+), 2 deletions(-) + +--- configure ++++ configure 2015-05-12 00:00:00.000000000 +0000 +@@ -16754,6 +16754,52 @@ fi + + if test -n "$athena_lib" -a -n "$athena_h_path"; then + have_xaw=yes ++ have_athena_i18n=unset ++ if test "$athena_variant" = "Xaw3d"; then ++ save_libs_x=$libs_x ++ libs_x="-lXaw3d $libs_x" && if test "$verbose" = "yes"; then echo " Prepending \"-lXaw3d\" to \$libs_x"; fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"international\" resource in Xaw3d SimpleWidget" >&5 ++$as_echo_n "checking for \"international\" resource in Xaw3d SimpleWidget... " >&6; } ++ if test "$cross_compiling" = yes; then : ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "cannot run test program while cross compiling ++See \`config.log' for more details" "$LINENO" 5; } ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include ++ #include ++ #undef XAW_INTERNATIONALIZATION ++ #include <$athena_h_path/Simple.h> ++ ++int ++main () ++{ ++int i = simpleWidgetClass->core_class.num_resources; ++ while (i-- > 0) ++ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name, ++ "international")) ++ exit(0); ++ exit(253); ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_run "$LINENO"; then : ++ have_athena_i18n=yes ++else ++ have_athena_i18n=no ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++ libs_x=$save_libs_x ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_athena_i18n" >&5 ++$as_echo "$have_athena_i18n" >&6; } ++ fi + else + have_xaw=no + fi +@@ -16958,10 +17004,13 @@ _ACEOF + $as_echo "#define NEED_ATHENA 1" >>confdefs.h + + need_athena="yes" +- + if test "$athena_3d" = "yes"; then + $as_echo "#define HAVE_ATHENA_3D 1" >>confdefs.h + ++ if test "$have_athena_i18n" = "yes"; then ++ $as_echo "#define HAVE_ATHENA_I18N 1" >>confdefs.h ++ ++ fi + fi + ;; + esac +--- configure.ac ++++ configure.ac 2015-05-12 00:00:00.000000000 +0000 +@@ -4028,6 +4028,35 @@ if test "$with_x11" = "yes" -a "$detect_ + dnl Do we actually have a usable Athena widget set? Please? + if test -n "$athena_lib" -a -n "$athena_h_path"; then + have_xaw=yes ++ have_athena_i18n=unset ++ dnl X.org at some point added .international to SimplePart, protected ++ dnl by #ifdef XAW_INTERNATIONALIZATION in Xaw3d (only?). Unfortunately, ++ dnl the distributed headers for Xaw3d don't set this to correspond to ++ dnl the distributed library. (pkg-config does, if present.) ++ if test "$athena_variant" = "Xaw3d"; then ++ save_libs_x=$libs_x ++ XE_PREPEND(-lXaw3d, libs_x) ++ dnl The test below was provided by Ralf Soergel. ++ AC_MSG_CHECKING([for "international" resource in Xaw3d SimpleWidget]) ++ AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#include ++ #include ++ #undef XAW_INTERNATIONALIZATION ++ #include <$athena_h_path/Simple.h> ++ ], ++ [[int i = simpleWidgetClass->core_class.num_resources; ++ while (i-- > 0) ++ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name, ++ "international")) ++ exit(0); ++ exit(253); ++ ]])], ++ [have_athena_i18n=yes], ++ [have_athena_i18n=no]) ++ libs_x=$save_libs_x ++ AC_MSG_RESULT([$have_athena_i18n]) ++ fi + else + have_xaw=no + fi +@@ -4160,9 +4189,11 @@ case "$all_widgets" in + AC_DEFINE(LWLIB_USES_ATHENA) + AC_DEFINE(NEED_ATHENA) + need_athena="yes" +- + if test "$athena_3d" = "yes"; then + AC_DEFINE(HAVE_ATHENA_3D) ++ if test "$have_athena_i18n" = "yes"; then ++ AC_DEFINE(HAVE_ATHENA_I18N) ++ fi + fi + ;; + esac +--- lwlib/ChangeLog ++++ lwlib/ChangeLog 2015-05-12 00:00:00.000000000 +0000 +@@ -1,3 +1,11 @@ ++2015-01-08 Stephen J. Turnbull ++ ++ Fix progress bar crashes. ++ Thanks to Ralf Soergel for diagnosis and a patch. ++ ++ * xt-wrappers.h (HAVE_ATHENA_I18N): ++ Define XAW_INTERNATIONALIZATION when needed. ++ + 2013-06-23 Stephen J. Turnbull + + * XEmacs 21.5.34 "kale" is released. +--- lwlib/xt-wrappers.h ++++ lwlib/xt-wrappers.h 2015-05-12 00:00:00.000000000 +0000 +@@ -21,6 +21,11 @@ along with XEmacs. If not, see +Date: 2023-01-14 +Subject: Fix build in 2038 + +The UNIX Epoch needs more than 31 bits after 2038-01-19 +so we extend the variable to 64 bits + +Index: xemacs-21.5.34/src/buffer.h +=================================================================== +--- xemacs-21.5.34.orig/src/buffer.h ++++ xemacs-21.5.34/src/buffer.h +@@ -246,7 +246,7 @@ struct buffer + -1 means visited file was nonexistent. + 0 means visited file modtime unknown; in no case complain + about any mismatch on next save attempt. */ +- int modtime; ++ long long modtime; + + /* the value of text->modiff at the last auto-save. */ + long auto_save_modified; diff --git a/xemacs-21.5.34-gcc5.patch b/xemacs-21.5.34-gcc5.patch new file mode 100644 index 0000000..9c16e1c --- /dev/null +++ b/xemacs-21.5.34-gcc5.patch @@ -0,0 +1,25 @@ +--- + src/lisp.h | 2 ++ + 1 file changed, 2 insertions(+) + +Index: src/lisp.h +=================================================================== +--- src/lisp.h.orig ++++ src/lisp.h +@@ -1154,6 +1154,8 @@ typedef int Boolint; + + /* ------------------------ alignment definitions ------------------- */ + ++#if (!defined (__STDC_VERSION__) || __STDC_VERSION__ < 201112L) && \ ++ (!defined (__cplusplus) || __cplusplus < 201103L) + /* No type has a greater alignment requirement than max_align_t. + (except perhaps for types we don't use, like long double) */ + typedef union +@@ -1163,6 +1165,7 @@ typedef union + struct { void (*f)(void); } f; + struct { double d; } d; + } max_align_t; ++#endif + + /* ALIGNOF returns the required alignment of a type -- i.e. a value such + that data of this type must begin at a memory address which is a diff --git a/xemacs-21.5.34-sbrk.patch b/xemacs-21.5.34-sbrk.patch new file mode 100644 index 0000000..1118101 --- /dev/null +++ b/xemacs-21.5.34-sbrk.patch @@ -0,0 +1,21 @@ +--- src/gmalloc.c ++++ src/gmalloc.c 2017-03-20 15:02:35.000000000 +0000 +@@ -1199,18 +1199,6 @@ along with the GNU C Library. If not, s + #include + #endif + +-/* #ifndef __GNU_LIBRARY__ */ +-#define __sbrk sbrk +-/* #endif */ +- +-#ifdef __GNU_LIBRARY__ +-/* It is best not to declare this and cast its result on foreign operating +- systems with potentially hostile include files. */ +-#if !(defined(linux) && defined(sparc)) +-extern __ptr_t __sbrk __P ((int increment)); +-#endif +-#endif +- + #ifndef NULL + #define NULL 0 + #endif diff --git a/xemacs-21.5.34-strsignal.patch b/xemacs-21.5.34-strsignal.patch new file mode 100644 index 0000000..9a6cf4e --- /dev/null +++ b/xemacs-21.5.34-strsignal.patch @@ -0,0 +1,15 @@ +--- + src/process.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/process.c ++++ src/process.c 2020-10-09 07:55:43.086125891 +0000 +@@ -1569,7 +1569,7 @@ const char * + signal_name (int signum) + { + if (signum >= 0 && signum < NSIG) +- return (const char *) sys_siglist[signum]; ++ return (const char *) strsignal(signum); + + return (const char *) GETTEXT ("unknown signal"); + } diff --git a/xemacs-21.5.34.tar.gz b/xemacs-21.5.34.tar.gz new file mode 100644 index 0000000..a56387a --- /dev/null +++ b/xemacs-21.5.34.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33cc54a6a9a45224a64b6c57c8138b5a5f0f1be368951a6d9ec8c0aec5993ee5 +size 15816932 diff --git a/xemacs-app-defaults.patch b/xemacs-app-defaults.patch new file mode 100644 index 0000000..ac992dc --- /dev/null +++ b/xemacs-app-defaults.patch @@ -0,0 +1,132 @@ +Index: xemacs-21.5.29/etc/Emacs.ad +=================================================================== +--- xemacs-21.5.29/etc/Emacs.ad ++++ xemacs-21.5.29/etc/Emacs.ad +@@ -65,6 +65,19 @@ + ! Note that by default, the pointer foreground and background are the same + ! as the default face. + ++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ++! Fonts for Xft ONLY: ++XEmacs*Tabs.fcFontName: sans-serif ++XEmacs*menubar.fcFontName: sans-serif:size=10 ++XEmacs.modeline.attributeFont: sans-serif ++XEmacs.default.attributeFont: sans-serif ++ ++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ++!! FontSet for menus when you use --with-xfs or --with-xim=xlib. ++XEmacs*FontSet -*-helvetica-bold-r-*--*-120-*-*-*-*-*-*, \ ++ -*-helvetica-bold-r-*--*-120-*-*-*-*-iso10646-1, \ ++ * ++ + ! Set the menubar colors. This overrides the default foreground and + ! background colors specified above. + *menubar*Foreground: Gray30 +@@ -222,36 +235,36 @@ + ! *menubar*FontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \ + ! -*-*-*-*-*-*-*-120-*-jisx0208.1983-0 + ! +-*menubar*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-* +-*popup*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-* +-*menubar*FontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \ +- -*-*-*-*-*-*-*-120-*-iso10646-1, \ +- -*-*-*-*-*-*-*-120-*-jisx0208.1983-0, \ +- -*-*-*-*-*-*-*-120-*-jisx0201.1976-0 +-*popup*FontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \ +- -*-*-*-*-*-*-*-120-*-iso10646-1, \ +- -*-*-*-*-*-*-*-120-*-jisx0208.1983-0, \ +- -*-*-*-*-*-*-*-120-*-jisx0201.1976-0 ++*menubar*Font: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-* ++*popup*Font: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-* ++*menubar*FontSet: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-*, \ ++ -*-*-*-*-*--*-120-*-iso10646-1, \ ++ -*-*-*-*-*--*-120-*-jisx0208.1983-0, \ ++ -*-*-*-*-*--*-120-*-jisx0201.1976-0 ++*popup*FontSet: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-*, \ ++ -*-*-*-*-*--*-120-*-iso10646-1, \ ++ -*-*-*-*-*--*-120-*-jisx0208.1983-0, \ ++ -*-*-*-*-*--*-120-*-jisx0201.1976-0 + + ! Gui elements share this font + ! +-Emacs.gui-element.attributeFont: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-* ++Emacs.gui-element.attributeFont: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-* + + ! Font in the Motif dialog boxes. + ! (Motif uses `fontList' while most other things use `font' - if you don't + ! know why you probably don't want to.) + ! +-*XmDialogShell*FontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-* +-*XmTextField*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* +-*XmText*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* +-*XmList*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* ++*XmDialogShell*FontList: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-* ++*XmTextField*FontList: -*-fixed-medium-r-*--*-120-*-*-*-*-*-* ++*XmText*FontList: -*-fixed-medium-r-*--*-120-*-*-*-*-*-* ++*XmList*FontList: -*-fixed-medium-r-*--*-120-*-*-*-*-*-* + + ! Font in the Athena dialog boxes. + ! I think 14-point looks nicer than 12-point. + ! Some people use 12-point anyway because you get more text, but + ! there's no purpose at all in doing this for dialog boxes. + +-*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-* ++*Dialog*Font: -*-helvetica-bold-r-*--*-140-*-*-*-*-*-* + + ! Dialog box translations. + ! ======================= +Index: xemacs-21.5.29/etc/sample.Xresources +=================================================================== +--- xemacs-21.5.29/etc/sample.Xresources ++++ xemacs-21.5.29/etc/sample.Xresources +@@ -238,32 +238,35 @@ XEmacs*toolBarShadowThickness: 2 + ! There is no harm in having both resources set, except for the confusion + ! you suffer. Sorry; that's the price of backward compatibility. + ! +-*menubar*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-* +-*popup*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-* +-*menubar*FontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \ +- -*-*-*-*-*-*-*-120-*-iso10646-1, \ +- -*-*-*-*-*-*-*-120-*-jisx0208.1983-0, \ +- -*-*-*-*-*-*-*-120-*-jisx0201.1976-0 +-*popup*FontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \ +- -*-*-*-*-*-*-*-120-*-iso10646-1, \ +- -*-*-*-*-*-*-*-120-*-jisx0208.1983-0, \ +- -*-*-*-*-*-*-*-120-*-jisx0201.1976-0 ++XEmacs*menubar*Font: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-* ++XEmacs*popup*Font: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-* ++XEmacs*FontSet -*-helvetica-bold-r-*--*-120-*-*-*-*-*-*, \ ++ -*-helvetica-bold-r-*--*-120-*-*-*-*-iso10646-1, \ ++ * ++XEmacs*menubar*FontSet: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-*, \ ++ -*-*-*-*-*--*-120-*-iso10646-1, \ ++ -*-*-*-*-*--*-120-*-jisx0208.1983-0, \ ++ -*-*-*-*-*--*-120-*-jisx0201.1976-0 ++XEmacs*popup*FontSet: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-*, \ ++ -*-*-*-*-*--*-120-*-iso10646-1, \ ++ -*-*-*-*-*--*-120-*-jisx0208.1983-0, \ ++ -*-*-*-*-*--*-120-*-jisx0201.1976-0 + + ! Font in the Motif dialog boxes. + ! (Motif uses `fontList' while most other things use `font' - if you don't + ! know why you probably don't want to.) + ! +-XEmacs*XmDialogShell*FontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-* +-XEmacs*XmTextField*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* +-XEmacs*XmText*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* +-XEmacs*XmList*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* ++XEmacs*XmDialogShell*FontList: -*-helvetica-bold-r-*--*-120-*-*-*-*-*-* ++XEmacs*XmTextField*FontList: -*-courier-medium-r-*--*-120-*-*-*-*-*-* ++XEmacs*XmText*FontList: -*-courier-medium-r-*--*-120-*-*-*-*-*-* ++XEmacs*XmList*FontList: -*-courier-medium-r-*--*-120-*-*-*-*-*-* + + ! Font in the Athena dialog boxes. + ! I think 14-point looks nicer than 12-point. + ! Some people use 12-point anyway because you get more text, but + ! there's no purpose at all in doing this for dialog boxes. + +-XEmacs*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-* ++XEmacs*Dialog*Font: -*-helvetica-bold-r-*--*-140-*-*-*-*-*-* + + ! Dialog box translations. + ! ======================= diff --git a/xemacs-level3.patch b/xemacs-level3.patch new file mode 100644 index 0000000..92c09b6 --- /dev/null +++ b/xemacs-level3.patch @@ -0,0 +1,76 @@ +Index: xemacs-21.5.29/src/event-Xt.c +=================================================================== +--- xemacs-21.5.29.orig/src/event-Xt.c ++++ xemacs-21.5.29/src/event-Xt.c +@@ -515,8 +515,17 @@ x_key_is_modifier_p (KeyCode keycode, st + syms = &xd->x_keysym_map [(keycode - xd->x_keysym_map_min_code) * + xd->x_keysym_map_keysyms_per_code]; + for (i = 0; i < xd->x_keysym_map_keysyms_per_code; i++) +- if (IsModifierKey (syms [i]) || +- syms [i] == XK_Mode_switch) /* why doesn't IsModifierKey count this? */ ++ if (IsModifierKey(syms[i]) ++#ifdef XK_Mode_switch ++ || syms[i] == XK_Mode_switch /* why doesn't IsModifierKey count this? */ ++#endif ++#ifdef XK_Num_Lock ++ || syms[i] == XK_Num_Lock ++#endif ++#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock ++ || (syms[i] >= XK_ISO_Lock && syms[i] <= XK_ISO_Last_Group_Lock) ++#endif ++ ) + return 1; + return 0; + } +@@ -872,8 +881,17 @@ x_to_emacs_keysym (XKeyPressedEvent *eve + char dummy[256]; + XLookupString (event, dummy, 200, &keysym, 0); + *x_keysym_out = keysym; +- return (IsModifierKey (keysym) || keysym == XK_Mode_switch ) +- ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); ++ return (IsModifierKey (keysym) ++#ifdef XK_Mode_switch ++ || keysym == XK_Mode_switch ++#endif ++#ifdef XK_Num_Lock ++ || keysym == XK_Num_Lock ++#endif ++#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock ++ || (keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) ++#endif ++ ) ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); + } + #endif /* ! XIM_MOTIF */ + +@@ -932,8 +950,17 @@ x_to_emacs_keysym (XKeyPressedEvent *eve + case XLookupKeySym: + case XLookupBoth: + *x_keysym_out = keysym; +- return (IsModifierKey (keysym) || keysym == XK_Mode_switch ) +- ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); ++ return (IsModifierKey (keysym) ++#ifdef XK_Mode_switch ++ || keysym == XK_Mode_switch ++#endif ++#ifdef XK_Num_Lock ++ || keysym == XK_Num_Lock ++#endif ++#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock ++ || (keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) ++#endif ++ ) ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); + + case XLookupChars: + { +Index: xemacs-21.5.29/src/xintrinsic.h +=================================================================== +--- xemacs-21.5.29.orig/src/xintrinsic.h ++++ xemacs-21.5.29/src/xintrinsic.h +@@ -22,6 +22,7 @@ Boston, MA 02111-1307, USA. */ + #ifndef INCLUDED_xintrinsic_h_ + #define INCLUDED_xintrinsic_h_ + ++#include + #include + + #endif /* INCLUDED_xintrinsic_h_ */ diff --git a/xemacs-libX11-boo1175028.patch b/xemacs-libX11-boo1175028.patch new file mode 100644 index 0000000..f7f4cc4 --- /dev/null +++ b/xemacs-libX11-boo1175028.patch @@ -0,0 +1,15 @@ +--- + src/input-method-xlib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/input-method-xlib.c ++++ src/input-method-xlib.c 2020-08-13 07:54:18.827193037 +0000 +@@ -300,7 +300,7 @@ XIM_init_frame (struct frame *f) + + xim = DEVICE_X_XIM (d); + +- if (!xim) ++ if (!xim || ! DEVICE_X_XIM_STYLES(d)) + { + return; + } diff --git a/xemacs-libpng15.patch b/xemacs-libpng15.patch new file mode 100644 index 0000000..160f162 --- /dev/null +++ b/xemacs-libpng15.patch @@ -0,0 +1,14 @@ +Index: xemacs-21.5.31/glyphs-eimage.c +=================================================================== +--- xemacs-21.5.31/src/glyphs-eimage.c ++++ xemacs-21.5.31/src/glyphs-eimage.c +@@ -911,7 +911,8 @@ png_instantiate (Lisp_Object image_insta + Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + struct png_unwind_data unwind; + int speccount = specpdl_depth (); +- int height, width; ++ png_uint_32 height, width; ++ int bit_depth, color_type; + struct png_memory_storage tbr; /* Data to be read */ + + /* PNG variables */ diff --git a/xemacs-ptmx.dif b/xemacs-ptmx.dif new file mode 100644 index 0000000..632147f --- /dev/null +++ b/xemacs-ptmx.dif @@ -0,0 +1,31 @@ +Index: xemacs-21.5.29/src/process-unix.c +=================================================================== +--- xemacs-21.5.29.orig/src/process-unix.c ++++ xemacs-21.5.29/src/process-unix.c +@@ -236,12 +236,6 @@ allocate_pty (void) + "/dev/ptmx_bsd" /* Tru64 */ + }; + +-#ifdef HAVE_GETPT /* glibc */ +- master_fd = getpt (); +- if (master_fd >= 0) +- goto have_master; +-#endif /* HAVE_GETPT */ +- + + #if defined(HAVE_OPENPTY) /* BSD, Tru64, glibc */ + { +@@ -275,6 +269,13 @@ allocate_pty (void) + goto have_slave_name; + #endif /* HAVE__GETPTY */ + ++#ifdef HAVE_GETPT /* glibc */ ++ master_fd = getpt (); ++ if (master_fd >= 0) ++ goto have_master; ++#endif /* HAVE_GETPT */ ++ ++ + /* Master clone devices are available on most systems */ + { + int i; diff --git a/xemacs-rpmlintrc b/xemacs-rpmlintrc new file mode 100644 index 0000000..0a7e27b --- /dev/null +++ b/xemacs-rpmlintrc @@ -0,0 +1 @@ +addFilter(".*zero-length.*dump-paths\.el.*") diff --git a/xemacs-tinfo.dif b/xemacs-tinfo.dif new file mode 100644 index 0000000..32e716d --- /dev/null +++ b/xemacs-tinfo.dif @@ -0,0 +1,47 @@ +--- configure.ac ++++ configure.ac 2011-11-22 14:21:37.303146192 +0000 +@@ -4946,15 +4946,30 @@ if test "$with_tty" = "yes" ; then + AC_DEFINE(HAVE_TTY) + + dnl Autodetect ncurses. ++ cf_tgetent="" + if test -z "$with_ncurses"; then +- AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no) ++ with_ncurses=no; ++ for lib in tinfo ncurses ncursesw ; do ++ AC_CHECK_LIB($lib, tgetent, [with_ncurses=yes; cf_tgetent="$lib"; break]) ++ done + fi + if test "$with_ncurses" = "yes"; then ++ if test x$cf_tgetent = x ; then ++ for lib in tinfo ncurses ncursesw ; do ++ AC_CHECK_LIB($lib, tgetent, [cf_tgetent="$lib"; break]) ++ done ++ fi + AC_DEFINE(HAVE_NCURSES) +- AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) +- AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) ++ if test "$cf_tgetent" = ncursesw; then ++ AC_DEFINE(HAVE_NCURSESW) ++ AC_CHECK_HEADER(ncursesw/curses.h, curses_h_file=ncursesw/curses.h) ++ AC_CHECK_HEADER(ncursesw/term.h, term_h_file=ncursesw/term.h) ++ else ++ AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) ++ AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) ++ fi + XE_ADD_OBJS(terminfo.o) +- XE_PREPEND(-lncurses, LIBS) ++ XE_PREPEND(-l$cf_tgetent, LIBS) + + if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then + dnl Try again, and check for the bogus ncurses/ include bug. +--- src/config.h.in ++++ src/config.h.in 2011-11-22 14:21:50.939646812 +0000 +@@ -580,6 +580,7 @@ things are arranged in config.h.in. In + + /* Compile in support for ncurses? */ + #undef HAVE_NCURSES ++#undef HAVE_NCURSESW + /* Full #include file paths for ncurses' curses.h and term.h. */ + #undef CURSES_H_FILE + #undef TERM_H_FILE diff --git a/xemacs.changes b/xemacs.changes new file mode 100644 index 0000000..13a6aa2 --- /dev/null +++ b/xemacs.changes @@ -0,0 +1,1858 @@ +------------------------------------------------------------------- +Wed Jul 3 07:21:18 UTC 2024 - Dominique Leuenberger + +- Drop dependency on fwnndev: fwnn is dead and unmaintained. + +------------------------------------------------------------------- +Mon Feb 26 12:05:17 UTC 2024 - Dominique Leuenberger + +- Use %patch -P N instead of deprecated %patchN. + +------------------------------------------------------------------- +Wed Dec 27 03:37:32 UTC 2023 - Bernhard Wiedemann + +- Add reproducible.patch to make ,elc files deterministic + (boo#1084909, boo#1047218) + +------------------------------------------------------------------- +Sat Jan 14 05:04:47 UTC 2023 - Bernhard Wiedemann + +- Add xemacs-21.5.34-fix2038.patch to fix buffers after year 2038 + +------------------------------------------------------------------- +Mon Aug 8 15:32:40 UTC 2022 - Dominique Leuenberger + +- Drop canna support: canna has not been maintained for a long time + and sec issues are not being addressed (bsc#1199280). + +------------------------------------------------------------------- +Fri Oct 9 07:57:26 UTC 2020 - Dr. Werner Fink + +- Add patch xemacs-21.5.34-strsignal.patch as sys_siglist is deprecated + +------------------------------------------------------------------- +Tue Sep 29 11:13:40 UTC 2020 - Cliff Zhao + +- Update xemacs.spec: change source URL since the old is deprecated + Make xemacs can build successfuly. + +------------------------------------------------------------------- +Mon Aug 17 06:40:55 UTC 2020 - Dr. Werner Fink + +- Require par at build time + +------------------------------------------------------------------- +Thu Aug 13 07:55:54 UTC 2020 - Dr. Werner Fink + +- Add patch xemacs-libX11-boo1175028.patch as a try to fix also boo#1175028 + +------------------------------------------------------------------- +Tue Apr 7 14:21:09 UTC 2020 - Dr. Werner Fink + +- Require info and mkeinfo at build time + +------------------------------------------------------------------- +Thu Nov 8 15:56:38 UTC 2018 - Dr. Werner Fink + +- Add patch xemacs-21.5.34-boo1115177.patch to avoid possible + race within build dependencies (boo#1115177) + +------------------------------------------------------------------- +Thu Dec 28 15:46:18 UTC 2017 - crrodriguez@opensuse.org + +- Remove BuildRequires on xorg-x11 metapackages. Use + only the required libraries instead. + +------------------------------------------------------------------- +Thu Jun 29 07:51:21 UTC 2017 - bwiedemann@suse.com + +- use gzip -n to not add timestamps to .gz headers +- use %fdupes macro to create symlinks in a reproducible way + +------------------------------------------------------------------- +Sat May 6 10:34:52 UTC 2017 - meissner@suse.com + +- Global PIE project: Disable PIE support currently, (x)emacs + unique binary build/launch method make this hard. + +------------------------------------------------------------------- +Mon Mar 20 15:21:17 UTC 2017 - werner@suse.de + +- Add patch xemacs-21.5.34-sbrk.patch to avoid redefinition of sbrk + +------------------------------------------------------------------- +Fri Nov 27 13:35:03 UTC 2015 - werner@suse.de + +- Add patch xemacs-21.5.34-alsaplay.patch to wait on pcm handle + +------------------------------------------------------------------- +Fri Nov 27 13:21:20 UTC 2015 - werner@suse.de + +- Change encoding order in application defaults of xemacs and + xemacs-packages to avoid breakdown of FontSet scheme of libX11 + at startup (bsc#952361) + +------------------------------------------------------------------- +Mon Jul 13 11:16:32 UTC 2015 - werner@suse.de + +- Avoid error on not existing custom.el + +------------------------------------------------------------------- +Fri Jul 10 11:23:15 UTC 2015 - werner@suse.de + +- Add patch xemacs-21.5.34-custom-fonts.patch to be able to apply + any custom font/face change at startup (bsc#932321) + +------------------------------------------------------------------- +Tue Jun 23 17:18:48 UTC 2015 - schwab@suse.de + +- xemacs-21.5.34-gcc5.patch: Define max_align_t only for C < 11 + +------------------------------------------------------------------- +Fri Jun 19 15:16:09 UTC 2015 - werner@suse.de + +- Add patch xemacs-21.5.34-gcc5.patch as Gcc 5 use type max_align_t + instead of _max_align_t + +------------------------------------------------------------------- +Fri Jun 19 14:31:38 UTC 2015 - werner@suse.de + +- Modify patch xemacs.patch to make open(2) work with O_CREAT + +------------------------------------------------------------------- +Tue May 12 16:21:05 UTC 2015 - werner@suse.de + +- Update patch xemacs-21.5.34-Xaw3D_I18N.patch from upstream for + xemacs-21.5.34 + +------------------------------------------------------------------- +Tue May 12 14:48:57 UTC 2015 - werner@suse.de + +- Add patch xemacs-21.5.34-Xaw3D_I18N.patch to fix bsc#930170 with + xemacs segmentation fault on syntax highlighting + +------------------------------------------------------------------- +Tue Feb 10 16:58:28 UTC 2015 - werner@suse.de + +- Correct some load paths +- Set progress-feedback-use-echo-area to true to allow some modes + like C-mode and TeX-mode to write messages (boo#905625 and bdc#902003) + +------------------------------------------------------------------- +Sat Aug 9 05:36:13 UTC 2014 - i@marguerite.su + +- Add xemacs-rpmlintrc to SOURCE90 + +------------------------------------------------------------------- +Fri Aug 8 14:08:09 UTC 2014 - fcrozat@suse.com + +- Add Utility category to .desktop file. + +------------------------------------------------------------------- +Fri Aug 23 15:14:41 UTC 2013 - ailin.nemui@gmail.com + +- XEmacs version 21.5.24 "kale" got released + * see http://list-archive.xemacs.org/pipermail/xemacs-beta/2013-August/024401.html + +------------------------------------------------------------------- +Tue Jul 23 08:59:47 UTC 2013 - ailin.nemui@gmail.com + +- remove incorrect patch which breaks XEmacs/wnn introduced by + request 123104 (fix crashbug bnc#830221) + +------------------------------------------------------------------- +Sun Jan 6 15:25:50 UTC 2013 - ailin.nemui@gmail.com + +- update to beta version 21.5.33 "horseradish". + * see http://www.xemacs.org/Releases/21.5.33.html + +------------------------------------------------------------------- +Wed Oct 10 08:56:59 UTC 2012 - werner@suse.de + +- Make sure that some fonts are found + +------------------------------------------------------------------- +Mon Oct 1 09:17:47 UTC 2012 - werner@suse.de + +- ia64 memeory layout is definitly not comparable with i86 nor x86_64 + +------------------------------------------------------------------- +Tue Aug 14 01:35:35 UTC 2012 - i@marguerite.su + +- fix mis-cleaned stuff by spec-cleaner. + +------------------------------------------------------------------- +Sat Aug 11 19:41:21 UTC 2012 - i@marguerite.su + +- removed patch22 destdir.patch + * too old, no longer works. + * the removal doesn't even affect the final RPM at all. +- update License to GPL-3.0+ + * upstream update its license. +- reopen "export CFLAGS LDFAGS". + * nemui's request miscomment it. because it has values, not empty. +- remove miss-added conditional tags. + * nemui said it's used for pdump = 0, but pdump never got enabled at all. +- re-enable COMP --with-gcc. +- spec-clean +- find a wiser and easier way to solve the OBS dump segmentation error. + * just enable pdump and dump_in_exec by set them to 1. + +------------------------------------------------------------------- +Wed Aug 8 21:01:37 UTC 2012 - i@marguerite.su + +- update to beta version 21.5.32 "habanero". + * see http://www.xemacs.org/Releases/21.5.32.html +- regenerated patch with latest source. +- fix spec file, whose build result will cause a sys fault. + * see https://build.opensuse.org/request/show/129964 for desc. + +------------------------------------------------------------------- +Thu Jun 14 14:24:31 UTC 2012 - dmueller@suse.com + +- disable kkcc on arm as well + +------------------------------------------------------------------- +Thu May 31 15:30:38 UTC 2012 - werner@suse.de + +- Fix compiler warnings + +------------------------------------------------------------------- +Thu May 31 14:51:02 UTC 2012 - werner@suse.de + +- Make /var/lib/xemacs/lock/ optional (bnc#764887) + +------------------------------------------------------------------- +Wed May 30 10:58:22 UTC 2012 - werner@suse.de + +- Hard coded attributes for /var/lib/xemacs/lock/ + +------------------------------------------------------------------- +Fri May 25 15:00:21 UTC 2012 - werner@suse.de + +- Job creation scheme (bnc#764122) + +------------------------------------------------------------------- +Fri Mar 2 16:34:50 UTC 2012 - werner@suse.de + +- Update to beta version XEmacs 21.5.31 "ginger" + * this includes 138 fixes including 9 crashes + * this includes 110 improvments + * also include some of our own patches + +------------------------------------------------------------------- +Wed Feb 8 13:32:59 UTC 2012 - werner@suse.de + +- Make it build again + +------------------------------------------------------------------- +Wed Feb 8 13:31:28 UTC 2012 - coolo@suse.com + +- build also against libjpeg-devel to fix Xaw3d support + +------------------------------------------------------------------- +Fri Jan 6 09:49:17 UTC 2012 - pgajdos@suse.com + +- build also against libpng15 + * libpng15.patch + +------------------------------------------------------------------- +Wed Jan 4 16:17:08 CET 2012 - dmueller@suse.de + +- rebuild for ppc64 and ia64 (bnc#726769) + +------------------------------------------------------------------- +Wed Dec 21 13:45:26 UTC 2011 - coolo@suse.com + +- add autoconf as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Wed Dec 21 10:31:54 UTC 2011 - coolo@suse.com + +- remove call to suse_update_config (very old work around) + +------------------------------------------------------------------- +Tue Nov 22 14:24:50 UTC 2011 - werner@suse.de + +- Add patch to use libtinfo if available + +------------------------------------------------------------------- +Fri Jun 3 20:11:46 UTC 2011 - coolo@novell.com + +- fix runtime requires for real + +------------------------------------------------------------------- +Tue May 31 17:46:10 UTC 2011 - coolo@novell.com + +- require gpm at runtime + +------------------------------------------------------------------- +Mon Nov 8 14:13:58 UTC 2010 - coolo@novell.com + +- remove support for pre-9.1 + +------------------------------------------------------------------- +Tue Sep 7 12:47:07 UTC 2010 - aj@suse.de + +- BuildRequire gpm-devel + +------------------------------------------------------------------- +Wed Mar 31 14:56:07 CEST 2010 - werner@suse.de + +- Change version scheme to allow zypper to install newer test + version (bnc#590429) + +------------------------------------------------------------------- +Tue Feb 9 17:12:35 CET 2010 - prusnak@suse.cz + +- build -el and -info as noarch subpackages + +------------------------------------------------------------------- +Fri Dec 4 18:41:30 CET 2009 - werner@suse.de + +- Add patches from upstream to fix bnc#558764 (thenk you Stephen) +- Update to beta version 21.5.b604d235f028 to fix bug bnc#558764 + * lot of changes to make XFontSet work + +------------------------------------------------------------------- +Tue Aug 25 12:27:40 UTC 2009 - aj@suse.de + +- Use "--disable-mc-alloc --disable-kkcc --disable-newgc" on + x86-64 architecture as well. + +------------------------------------------------------------------- +Thu Jul 23 17:05:29 CEST 2009 - werner@suse.de + +- Add patch for security issue bnc#522586 about multiple integer + overflows during parings large images + +------------------------------------------------------------------- +Wed Jul 15 11:43:40 CEST 2009 - werner@suse.de + +- Make XFS the default + +------------------------------------------------------------------- +Wed Jun 24 14:25:42 CEST 2009 - werner@suse.de + +- Disable XFT for now as it does not work well (bnc#502716) + +------------------------------------------------------------------- +Tue Jun 16 15:15:32 CEST 2009 - coolo@novell.com + +- update to beta29 (http://xemacs.org/Releases/21.5.29.html) + no too many changes since the cvs snapshot +- remove patches that went upstream (or where taken from there) +- disable pdump for now + +------------------------------------------------------------------- +Mon Feb 23 12:26:40 CET 2009 - maiku.fabian@gmail.com + +- add menus-always-utf8.patch to make the menus work in UTF-8 + locales with Xft. The patch is not yet perfect, it doesn't yet + work for the non-Xft case. +- disable the hack in site-start.el to support extra Unicode + characters. Something similar has been implemented upstream + and this hack now causes problems when trying to attach some PDF + files in Gnus. +- mark /etc/skel/.xemacs/init.el as %config. +- remove checks for obsolte suse versions. +- set font resources for Xft in /usr/share/X11/app-defaults/XEmacs: + XEmacs*Tabs.fcFontName: sans-serif + XEmacs*menubar.fcFontName: sans-serif + XEmacs*modeline.attributeFont: sans-serif + XEmacs*default.attributeFont: sans-serif + +------------------------------------------------------------------- +Tue Jan 20 12:44:59 CET 2009 - mfabian@suse.de + +- bnc#461244: change menu font set in app-defaults + to use only -*-helvetica-*. This avoids matching the huge Chinese + font from ifntchib by accidents. Languages which need a wider + coverage of glyphs than offered by the adobe-helvetica bitmap + fonts have their own translated app-defaults in "xemacs-packages" + anyway. + +------------------------------------------------------------------- +Thu Dec 04 15:03:37 CET 2008 - mfabian@suse.de + +- bnc#450838: make generic-print-buffer work again. Patch by + Aidan Kehoe from upstream, see + http://article.gmane.org/gmane.emacs.xemacs.patches/9411 + +------------------------------------------------------------------- +Wed Oct 29 12:27:46 CET 2008 - mfabian@suse.de + +- bnc#432404 (XEmacs crashes on loading byte compiled .gnus.elc): + prevent latin-unity from fiddling with the coding system when + byte compiled files are written. Fix from upstream by + Stephen J. Turnbull, see + http://tracker.xemacs.org/XEmacs/its/issue405 + +------------------------------------------------------------------- +Wed Aug 20 14:09:28 CEST 2008 - mfabian@suse.de + +- bnc#418055: check coding-system-category before trying to use + pefer-coding-system, if coding-system-category is nil the + coding-system is no-conversion or undecided and prefer-coding + system would fail. + +------------------------------------------------------------------- +Mon Jun 30 14:24:03 CEST 2008 - schwab@suse.de + +- Fix broken use of autoconf internal macros. + +------------------------------------------------------------------- +Mon Apr 28 14:27:29 CEST 2008 - mfabian@suse.de + +- add fix-window-configuration-problem.patch + (see http://article.gmane.org/gmane.emacs.xemacs.beta/27797) + +------------------------------------------------------------------- +Tue Apr 01 19:47:45 CEST 2008 - mfabian@suse.de + +- update to 21.5.28.20080401 to fix the problem reported here: + http://article.gmane.org/gmane.emacs.xemacs.beta/26999/match=zawinski+save+window+excursion+broken +- use Mercurial repository instead of CVS now. +- remove byte-comp-problem.patch, was from upstream CVS. +- remove bugzilla-358333-kde-font-lock-problem.patch, now included. +- bnc#373930: add 16 pixel Chinese font which is always installed + to the fontSet in the app-defaults to avoid that huge Chinese + fonts like cc40s.pcf.gz and cc48s.pcf.gz are matched first and + destroy the line spacing in the menus. + +------------------------------------------------------------------- +Wed Mar 12 16:35:16 CET 2008 - schwab@suse.de + +- Fix configure check for Xaw3d. + +------------------------------------------------------------------- +Mon Feb 04 22:16:40 CET 2008 - mfabian@suse.de + +- bnc#358333: fix bugs in font-lock-add-keywords and + font-lock-remove-keywords which caused severe problems when + trying to use the kde-emacs lisp files to better support editing + KDE source code: + svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/scripts/kde-emacs + +------------------------------------------------------------------- +Sat Jan 19 15:34:10 CET 2008 - mfabian@suse.de + +- update to 21.5.28.20080119 (fixes bugzilla #354705). + +------------------------------------------------------------------- +Mon Jan 14 16:51:40 CET 2008 - mfabian@suse.de + +- update to 21.5.28.20080107. +- add byte-comp-problem.patch by Aidan Kehoe from + http://hg.debian.org/hg/xemacs/xemacs?cs=e8f448f997ac + to fix bugzilla #352331. + +------------------------------------------------------------------- +Wed Jan 02 19:39:36 CET 2008 - mfabian@suse.de + +- Bugzilla #350554: fix a serious bug in the last change. + +------------------------------------------------------------------- +Fri Dec 21 19:41:57 CET 2007 - mfabian@suse.de + +- some more hacks in the Xft font setup. + +------------------------------------------------------------------- +Fri Dec 21 18:21:34 CET 2007 - mfabian@suse.de + +- improve Xft font setup hacks: clear all settings first when + trying to set new fonts for all faces. + +------------------------------------------------------------------- +Thu Dec 20 16:34:22 CET 2007 - ro@suse.de + +- update to CVS of 20071220 +- deleted bugzilla-294746-support-windows-1252.patch (upstream) + +------------------------------------------------------------------- +Fri Dec 14 16:14:36 CET 2007 - ro@suse.de + +- move /etc/skel/.xemacs/init.el to this package + +------------------------------------------------------------------- +Wed Dec 05 14:58:29 CET 2007 - mfabian@suse.de + +- remove openldap2 from BuildRequires. + +------------------------------------------------------------------- +Tue Sep 04 12:52:19 CEST 2007 - mfabian@suse.de + +- Bugzilla #307313: use (mwheel-install) to enable mouse wheel + support and remove the old hacks for mouse wheel support from + /usr/share/xemacs/site-packages/lisp/term/func-keys.el. + +------------------------------------------------------------------- +Mon Aug 27 15:25:01 CEST 2007 - mfabian@suse.de + +- Bugzilla #299941: don’t use the obsolete GNU Emacs icon, use + an XEmacs specific icon instead. + +------------------------------------------------------------------- +Tue Aug 21 17:45:56 CEST 2007 - mfabian@suse.de + +- Bugzilla #301352: fix wrong incrementing in macros in mule-ccl.c. + +------------------------------------------------------------------- +Tue Aug 07 14:54:13 CEST 2007 - mfabian@suse.de + +- update to 21.5.28.20070807. +- remove w3-xft-problem.patch (included now). +- UTF-8 and UTF-16 handling is now more robust, for example + when a non-UTF-8 file is opened as UTF-8, one change made, + and immediately saved, the non-ASCII characters are not + corrupted. + +------------------------------------------------------------------- +Fri Aug 03 15:56:21 CEST 2007 - mfabian@suse.de + +- update to 21.5.28.20070803. +- add patch by Aidan Kehoe to make ‘w3’ work in an Xft build + (see http://thread.gmane.org/gmane.emacs.xemacs.beta/25191). + +------------------------------------------------------------------- +Wed Aug 01 15:01:20 CEST 2007 - mfabian@suse.de + +- fix build of xemacs-packages +- add missing UTF-8 language environments in site-start.el +- add set-language-unicode-precedence-list.patch to improve + the unicode precedence mapping. Nevertheless it is still + necessary to call ‘set-language-unicode-precedence-list’ + in site-start.el because the call to this function + in startup.el to get '”' U+201D (RIGHT DOUBLE QUOTATION MARK) + treated as single width overrides the call to that function + from the setup of the language environment. + But at least changing language enviromnents later doesn't + mess up the precedence list any more. + +------------------------------------------------------------------- +Mon Jul 30 13:03:37 CEST 2007 - mfabian@suse.de + +- update to 21.5.28.20070730 +- remove bugzilla-293109-w3m-el-under-xemacs-cannot-display-utf-8-encoded-web-pages-containing-fffd.patch + (included upstream). +- set language-unicode-precedence-list in startup.el to get + characters like '”' U+201D (RIGHT DOUBLE QUOTATION MARK) + treated as single width consistently. + +------------------------------------------------------------------- +Thu Jul 26 15:24:35 CEST 2007 - mfabian@suse.de + +- Bugzilla #294746: update to 21.5.28.20070726 to + get support for windows-1252 encoding. +- remove xemacs-vendor.path (included upstream). + +------------------------------------------------------------------- +Wed Jul 25 12:11:40 CEST 2007 - mfabian@suse.de + +- Bugzilla #293109: map the problematic characters in Big5 to + the private use area instead of not mapping them at all. + +------------------------------------------------------------------- +Fri Jul 20 19:18:45 CEST 2007 - mfabian@suse.de + +- Bugzilla #293109: don't map U+FFFD to Big5 to make it display + correctly. + +------------------------------------------------------------------- +Wed Jul 18 19:33:57 CEST 2007 - mfabian@suse.de + +- Bugzilla #292811: make the function 'x-make-font-bold-italic-xft' + work. + +------------------------------------------------------------------- +Wed Jul 18 16:39:12 CEST 2007 - mfabian@suse.de + +- fix the hack in fix-load-history.el to fix the load history + which made it possible to use find-function on functions which + are in dumped lisp files, even if XEmacs was not dumped at the + place where it is finally running. This hack stopped working + because the variable 'build-history' now exists already + and therefore the 'defvar' in fix-load-history failed to set + its value. Renamed the variable to suse-build-directory. + +------------------------------------------------------------------- +Mon Jul 16 15:03:47 CEST 2007 - mfabian@suse.de + +- enable Xft only for openSUSE >= 10.2. + +------------------------------------------------------------------- +Fri Jul 13 19:49:34 CEST 2007 - mfabian@suse.de + +- enable the use of Xft if XEmacs is built in the openSUSE + build service (keep using X11 core fonts when XEmacs is built + in autobuild). +- add some suse-xft-init.el to do some default Xft font setup. + +------------------------------------------------------------------- +Thu Jul 12 12:46:38 CEST 2007 - mfabian@suse.de + +- add "Conflicts: gnuserv" (XEmacs already has it's own version + of gnuserv). + +------------------------------------------------------------------- +Fri Jul 6 08:38:11 CEST 2007 - coolo@suse.de + +- fixing the file list + +------------------------------------------------------------------- +Thu Jul 5 16:33:39 CEST 2007 - coolo@suse.de + +- put desktop file and icon into package + +------------------------------------------------------------------- +Mon Jun 04 12:06:44 CEST 2007 - mfabian@suse.de + +- Bugzilla #279822: fix typo in site-start.el to make XEmacs + start properly in Portuguese locale. Thanks to + Felipe Bugno for the fix. + +------------------------------------------------------------------- +Fri Jun 1 13:51:13 CEST 2007 - dmueller@suse.de + +- adjust BuildRequires + +------------------------------------------------------------------- +Thu May 31 14:18:19 CEST 2007 - mfabian@suse.de + +- update to 21.5.28. +- remove header files to stop RPMLINT complaining about + header files in non-devel packages. + +------------------------------------------------------------------- +Tue May 8 15:45:55 CEST 2007 - schwab@suse.de + +- Repair ia64 configuration. + +------------------------------------------------------------------- +Mon May 07 16:34:41 CEST 2007 - mfabian@suse.de + +- update to 21.5.27.20070507. From the CHANGES-beta file: + • Get X11 window property correctly on 64-bit platforms + (bugzilla #244613) -- Stephen J. Turnbull, Mike Fabian, + Takashi Iwai + • Test for ISO-2022 decoder not choking on invalid UTF-8 + -- Aidan Kehoe + • Get Unicode tables with permissive license + -- Stephen J. Turnbull, Mike Fabian (see bug #212630) +- remove xemacs-autoconf.patch (included upstream). +- remove bugzilla-244613-cut-paste-64bit-non-ascii.patch + (included upstream). + +------------------------------------------------------------------- +Mon Mar 26 15:31:22 CEST 2007 - rguenther@suse.de + +- Add gdbm-devel, gpm and ncurses-devel BuildRequires. + +------------------------------------------------------------------- +Wed Feb 14 19:32:36 CET 2007 - mfabian@suse.de + +- Bugzilla #244613: Fix cut & paste problems on 64 bit platforms + by using XGetWindowProperty() correctly. + +------------------------------------------------------------------- +Mon Sep 25 18:43:30 CEST 2006 - mfabian@suse.de + +- Bugzilla #207941: add "texinfo" to BuildRequires. + +------------------------------------------------------------------- +Mon Aug 07 12:40:12 CEST 2006 - mfabian@suse.de + +- adapt for Xorg X11R7 (paths changed). +- remove b2m and rcs-checkin to avoid conflict with the emacs + package when all binaries are in /usr/bin. + +------------------------------------------------------------------- +Wed Jul 19 12:32:49 CEST 2006 - mfabian@suse.de + +- update to 21.5.27.20060705 + + remove sentinel.patch (included upstream). + + remove suppress-warning-about-undefined-unicode-key-mappings.patch + (obsolete). + + remove fix-wrong-use-of-memset.patch (included upstream). + +------------------------------------------------------------------- +Tue Jul 18 19:08:53 CEST 2006 - schwab@suse.de + +- Fix broken use of autoconf internal macros. + +------------------------------------------------------------------- +Thu Jun 15 00:14:47 CEST 2006 - dmueller@suse.de + +- build parallel + +------------------------------------------------------------------- +Mon Mar 27 16:52:00 CEST 2006 - mfabian@suse.de + +- update to 21.5.25.20060327 to make xemacs build on x86_64 again, + and make xemacs-packages build again on ppc64. + +------------------------------------------------------------------- +Mon Mar 27 12:06:40 CEST 2006 - mfabian@suse.de + +- fix wrong use of memset. +- use "--disable-mc-alloc --disable-kkcc --disable-newgc" on + i386 architecture as well. + +------------------------------------------------------------------- +Mon Mar 06 17:31:53 CET 2006 - mfabian@suse.de + +- update to 21.5.25. Fixes: + + bugzilla #141126 (XEmacs 21.5.24 doesn't read localized + app-defaults) + + bugzilla #145121 (XIM doens't work anymore in XEmacs) + + bugzilla #143515 (XEmacs crashes when loading a UTF-8 encoded + Japanese file) +- Bugzilla #155506: + add configure option "--with-canna", the auto-detection of canna + seems to be broken but when enabling canna explicitly it works. + +------------------------------------------------------------------- +Thu Feb 16 19:00:05 CET 2006 - mfabian@suse.de + +- uninitialized-variables-2.patch, see + http://list-archive.xemacs.org/xemacs-beta/200602/msg00026.html + +------------------------------------------------------------------- +Fri Feb 10 18:16:37 CET 2006 - coolo@suse.de + +- uncommenting workaround for metacity bug (#suse457777) triggering + shrinking loop under KDE (#103040) + +------------------------------------------------------------------- +Wed Jan 25 21:43:03 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Dec 27 19:07:23 CET 2005 - mfabian@suse.de + +- update to 21.5.24. +- remove xemacs-21.5.21-ia64.patch (included upstream). + +------------------------------------------------------------------- +Fri Oct 07 12:27:28 CEST 2005 - mfabian@suse.de + +- add option "-no-site-file" when calling xemacs from the + .spec file (requested by user Dieter Jurzitza). Not necessary + when building in chroot but it cannot hurt. + +------------------------------------------------------------------- +Thu Oct 06 17:06:37 CEST 2005 - mfabian@suse.de + +- add a few directories to the file lists to make sure + that no empty directories below /usr/share/xemacs remain + when xemacs, xemacs-el, and xemacs-info are uninstalled. + +------------------------------------------------------------------- +Wed Oct 5 15:14:26 CEST 2005 - werner@suse.de + +- Use old LDAP interface + +------------------------------------------------------------------- +Mon Sep 19 18:34:32 CEST 2005 - mfabian@suse.de + +- update to 21.5.22. + +------------------------------------------------------------------- +Thu Sep 08 14:51:07 CEST 2005 - mfabian@suse.de + +- Bug 115362 - xemacs startup info not disappearing: + remove X-KDE-WMClass=emacs entry from xemacs.desktop. + +------------------------------------------------------------------- +Tue Sep 6 17:38:53 CEST 2005 - yxu@suse.de + +- fixed conflicting type definition + +------------------------------------------------------------------- +Tue Aug 16 18:04:03 CEST 2005 - mfabian@suse.de + +- Bugzilla #104973: add --disable-mc-alloc --disable-kkcc + configure options again because with these options the build + of "xemacs-packages" fails on x86_64. + +------------------------------------------------------------------- +Mon Aug 01 19:27:39 CEST 2005 - mfabian@suse.de + +- bugzilla #98715: xemacs-*.dmp file is needed again because + 'mc-alloc' is used now and it is wasteful to dump into the + executable when using mc-alloc. +- add extents.c.diffs by Darryl Okahata to fix some crashes + in the garbage collector on 64 bit systems. See also: + http://list-archive.xemacs.org/xemacs-beta/200507/msg00346.html +- avoid compiler warnings about uninitalized variables. + +------------------------------------------------------------------- +Thu Jul 21 13:04:07 CEST 2005 - mfabian@suse.de + +- update to 21.5.21.20050721. + + remove --disable-mc-alloc --disable-kkcc configure options. + +------------------------------------------------------------------- +Tue Jul 12 19:22:53 CEST 2005 - mfabian@suse.de + +- update Aidan's keysym-handling patch to latest version. + +------------------------------------------------------------------- +Thu Jun 23 17:08:14 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: support UXXXX keysyms better by applying + aidan-kehoe-clean-up-keysym-handling.patch instead of the hack + in site-start.el. Aidan's patch has the advantage that the + cursor keep working in a terminal even when XEmacs was started + under X11 and later another frame was opened in a terminal + with 'gnuclient -nw'. See also: + http://list-archive.xemacs.org/xemacs-patches/200505/msg00127.html + +------------------------------------------------------------------- +Fri Jun 17 12:57:29 CEST 2005 - mfabian@suse.de + +- Improve workaround to support more Unicode characters. + (more systematic approach which increases the number of + supported characters a lot). + +------------------------------------------------------------------- +Wed Jun 15 21:14:17 CEST 2005 - mfabian@suse.de + +- With the hack to fix Bugzilla #77957 better, the cursor keys + stop working when xemacs is started in a terminal. Apply that + hack only when running under X11. + +------------------------------------------------------------------- +Mon Jun 13 15:38:44 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: Better solution, add all keysyms of the type + UXXXX to the global-map when they are first used. +- suppress warning about "Undefined Unicode key mappings" because + all of them are defined now. +- Bugzilla #90350: xemacs should not crash when a locale is not + supported by Xlib. Set locale to C instead and show a warning. + +------------------------------------------------------------------- +Thu Jun 09 17:18:16 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: I forgot to add some characters from U+00A1 to + U+00FF to preloaded-unicode-key-translations, for example U+00FC + (LATIN SMALL LETTER U WITH DIAERESIS) was missing. Thanks + to Reinhard Max for reporting. + +------------------------------------------------------------------- +Tue Jun 07 21:27:23 CEST 2005 - mfabian@suse.de + +- Bugzilla #87362: "xemacs cannot edit crontabs": + add do-not-create-backups-in-temp-directories.patch. + +------------------------------------------------------------------- +Thu Jun 02 15:40:51 CEST 2005 - mfabian@suse.de + +- update to 21.5.21. +- remove always-load-correct-app-defaults.patch, XEmacs + uses the application class "XEmacs" by default now. +- update destdir.patch +- use configure options "--disable-mc-alloc" "--disable-kkcc" + for now, when using the new allocation scheme and the new + garbage collector, I cannot build XEmacs anymore on x86_64. + +------------------------------------------------------------------- +Tue May 17 15:48:52 CEST 2005 - schwab@suse.de + +- Update ia64 patch. + +------------------------------------------------------------------- +Fri May 13 15:03:06 CEST 2005 - mfabian@suse.de + +- update to 21.5.20. +- jamie-zawinski-selection-fix.patch, aidan-kehoe-iso8859-16.patch + not necessary anymore. + +------------------------------------------------------------------- +Tue Apr 26 00:27:38 CEST 2005 - mfabian@suse.de + +- add workaround support for more unicode characters, + especially for those needed for IPA. + +------------------------------------------------------------------- +Thu Apr 14 17:02:00 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: add all characters from U+00A1 to U+00FF to + preloaded-unicode-key-translations. + +------------------------------------------------------------------- +Mon Apr 4 00:01:41 CEST 2005 - aj@suse.de + +- Fix GCC4 sentinel warnings. + +------------------------------------------------------------------- +Mon Mar 07 17:58:36 CET 2005 - mfabian@suse.de + +- add a few more characters to preloaded-unicode-key-translations + in site-start.el to be able to input all common quotation-marks. + +------------------------------------------------------------------- +Fri Mar 04 16:42:18 CET 2005 - mfabian@suse.de + +- add workaround to support some Unicode characters which are in + no legacy charset. See also: + http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/src/unicode.c.diff?r1=1.25&r2=1.26 + +------------------------------------------------------------------- +Wed Mar 02 17:43:52 CET 2005 - mfabian@suse.de + +- add workaround for input of characters like + U+201E DOUBLE LOW-9 QUOTATION MARK. + +------------------------------------------------------------------- +Thu Feb 17 12:35:06 CET 2005 - mfabian@suse.de + +- fix cut-and-paste problem when pasting Japanese + from xpdf to XEmacs. Patch by Jamie Zawinski, slighly adapted + for XEmacs 21.5.18, see also: + http://list-archive.xemacs.org/xemacs-beta/200407/msg00158.html + +------------------------------------------------------------------- +Sun Feb 13 22:32:49 CET 2005 - ro@suse.de + +- remove .orig file for xemacs-faq + +------------------------------------------------------------------- +Fri Feb 11 12:43:57 CET 2005 - mfabian@suse.de + +- improve i18n-setup in site-start.el: + + try to set a useful language-environment by default and + fix the unicode-precedence-list if it is broken after + set-language-environment. + + more encoding setup necessary for XEmacs >= 21.5.6 +- add patch from upstream CVS by Aidan Kehoe to support + iso8859-16 (adds support for characters like + U+201E DOUBLE LOW-9 QUOTATION MARK) + +------------------------------------------------------------------- +Thu Feb 10 12:01:36 CET 2005 - mfabian@suse.de + +- remove configure option "--rel-alloc" because it makes + XEmacs 21.5.18 often crash when using 'compile-goto-error'. + +------------------------------------------------------------------- +Fri Feb 4 23:29:36 CET 2005 - schwab@suse.de + +- Fix format string bug in movemail. + +------------------------------------------------------------------- +Fri Feb 4 16:04:54 CET 2005 - werner@suse.de + +- Security fix for movemail applied (bug #50237) + +------------------------------------------------------------------- +Tue Feb 01 13:43:56 CET 2005 - mfabian@suse.de + +- don't use LDFLAGS="-s", otherwise the xemacs-debuginfo package + will be empty. +- improve fontSet in app-defaults to avoid the warning + "Missing charsets in String to FontSet conversion". +- remove unused utf8-problem.patch + +------------------------------------------------------------------- +Fri Dec 31 14:59:33 CET 2004 - mfabian@suse.de + +- improve DESTDIR patch. + +------------------------------------------------------------------- +Tue Dec 14 13:53:31 CET 2004 - werner@suse.de + +- Make it build + +------------------------------------------------------------------- +Fri Dec 10 12:34:24 CET 2004 - mfabian@suse.de + +- update to 21.5.18. +- remove xemacs-lim_data.patch (now included). +- include the fixes Werner Fink made for XEmacs 21.4.15 + (see changelog entries below from Tue Sep 28 to Wed Nov 17). + +------------------------------------------------------------------- +Wed Nov 17 12:51:03 CET 2004 - werner@suse.de + +- Add emacs.png pixmap to file list + +------------------------------------------------------------------- +Wed Oct 13 18:26:34 CEST 2004 - werner@suse.de + +- Add workaround for XKey modifier detection even if the keys + are not marked as modifiers (bug #47192) + +------------------------------------------------------------------- +Mon Oct 4 18:51:45 CEST 2004 - werner@suse.de + +- Do not break KDE resize back call with GNOME fix (bug #46751) + +------------------------------------------------------------------- +Tue Sep 28 17:09:46 CEST 2004 - werner@suse.de, mfabian@suse.de + +- Bugzilla #45777 (xemacs in metacity can not be maximized). +- Bugzilla #46313 (mouse wheel broken in XEmacs). + +------------------------------------------------------------------- +Fri Sep 24 22:55:08 CEST 2004 - mfabian@suse.de + +- Bugzilla #46085: move encoding setup code from func-keys.el + to site-start.el and clean it up a bit. site-start.el is + *always* read and it is read late enough for the encoding setup, + there is no need for using hooks when doing this in + site-start.el. + +------------------------------------------------------------------- +Mon Sep 6 01:03:41 CEST 2004 - schwab@suse.de + +- Fix ia64 patch. + +------------------------------------------------------------------- +Mon Mar 22 19:57:07 CET 2004 - mfabian@suse.de + +- Bugzilla: #36720 read correct app-defaults. I.e., *always* + read /usr/X11R6/lib/app-defaults/XEmacs and never read + /usr/X11R6/lib/app-defaults/Emacs. Until now, XEmacs did read + /usr/X11R6/lib/app-defaults/XEmacs if any "XEmacs" resources + were set in ~/.Xresources, otherwise it did read + /usr/X11R6/lib/app-defaults/Emacs. But the latter file is + incompatible to XEmacs and should never be read. +- use -adobe-helvetica-bold-* instead of -gnu-unifont- by default + for the menus because most users like it better. + +------------------------------------------------------------------- +Mon Mar 8 23:43:03 CET 2004 - mfabian@suse.de + +- adapt Werner's patch for xemacs 21.5.16. + +------------------------------------------------------------------- +Mon Mar 8 19:21:12 CET 2004 - werner@suse.de + +- Make workaround to a real fix: autoconf 2.59 does not accept + comments after cpp undef macro within config.h.in + +------------------------------------------------------------------- +Fri Mar 5 18:03:01 CET 2004 - werner@suse.de + +- Add workaround for stat64 kernel problem and failing + (auto)configure sed parser. + +------------------------------------------------------------------- +Fri Feb 27 14:32:24 CET 2004 - mfabian@suse.de + +- don't require 'un-define anymore in the site specific startup + code, XEmacs >= 21.5.6 has internal Unicode support. Add a + (provide 'un-define) because a user might have a + (require 'un-define) in his own startup files. + +------------------------------------------------------------------- +Tue Feb 24 18:16:08 CET 2004 - mfabian@suse.de + +- move site-start.el and other SuSE specific startup files from + /usr/share/xemacs/%{version}/site-packages/lisp to + /usr/share/xemacs/site-packages/lisp because site-start.el + is not loaded anymore automatically from the old location. +- change 'set-default-coding-systems to + 'set-default-output-coding-systems in func-keys.el, apparently + this function has been renamed upstream. + +------------------------------------------------------------------- +Mon Feb 23 17:08:28 CET 2004 - mfabian@suse.de + +- update to 21.5.16. + +------------------------------------------------------------------- +Sun Feb 22 14:45:29 CET 2004 - mfabian@suse.de + +- add missing directories to file list of xemacs-el. + This makes it possible to use "build" instead of + "build --clean". + +------------------------------------------------------------------- +Fri Feb 20 19:29:49 CET 2004 - mfabian@suse.de + +- add destdir.patch and use buildroot and norootforbuild. +- some cleanup of the .spec file. + +------------------------------------------------------------------- +Mon Feb 16 19:31:07 CET 2004 - mfabian@suse.de + +- disable patch for Bugzilla #34430, it does have nasty side + effects (xemacs-packages doesn't build anymore because an + "out of memory" error while byte-compiling Mule-UCS, ...) +- use a better workaround to fix the load-history instead of + dumping XEmacs twice. + +------------------------------------------------------------------- +Sat Feb 14 00:24:51 CET 2004 - mfabian@suse.de + +- fix Bugzilla #34430 (I hope). + +------------------------------------------------------------------- +Thu Feb 12 00:14:29 CET 2004 - mfabian@suse.de + +- update to 21.4.15. +- use -fno-strict-aliasing + +------------------------------------------------------------------- +Wed Jan 21 15:02:01 CET 2004 - meissner@suse.de + +- ppc64 fully fixed. + +------------------------------------------------------------------- +Tue Jan 20 16:02:51 CET 2004 - meissner@suse.de + +- Fixed ppc linker script, added ppc64 patch from emacs. + ppc32 working, ppc64 now fails a bit later. + +------------------------------------------------------------------- +Mon Nov 3 16:22:04 CET 2003 - schwab@suse.de + +- Don't use "portable" dumper on ia64. +- Fix permissions. + +------------------------------------------------------------------- +Tue Sep 2 19:40:10 CEST 2003 - werner@suse.de + +- Fix the fix: make function keys work again (bug #29654) + +------------------------------------------------------------------- +Mon Aug 25 19:30:25 CEST 2003 - werner@suse.de + +- Fix key modifier handling, there is no slot handling + anymore but every symbol has a type (e.g. Ctr-Alt) (bug #28995) + +------------------------------------------------------------------- +Sat Aug 23 18:57:59 CEST 2003 - mfabian@suse.de + +- install desktop file only %if %suse_version > 820 + to make it build on older distributions as well. + +------------------------------------------------------------------- +Fri Aug 22 17:38:14 CEST 2003 - mfabian@suse.de + +- update to 21.4.13 "Rational FORTRAN". + +------------------------------------------------------------------- +Fri Aug 22 12:50:09 CEST 2003 - mfabian@suse.de + +- remove mule-ucs-xemacs and Mule-UCS-xemacs from "Provides:" + and "Obsoletes:" (moved to xemacs-packages). + +------------------------------------------------------------------- +Thu Aug 21 14:11:13 CEST 2003 - mfabian@suse.de + +- split new packages out of xemacs{,-el,-info}: + xemacs-packages{,-el,-info} + +------------------------------------------------------------------- +Sat Aug 16 16:14:13 CEST 2003 - adrian@suse.de + +- install desktop file from kappfinder + +------------------------------------------------------------------- +Fri Jul 25 17:06:57 CEST 2003 - mfabian@suse.de + +- fix race condition when generating the file list. + +------------------------------------------------------------------- +Tue Jun 24 14:21:20 CEST 2003 - ro@suse.de + +- added directories to filelist + +------------------------------------------------------------------- +Tue Jun 24 00:33:26 CEST 2003 - ro@suse.de + +- fixed filelist + +------------------------------------------------------------------- +Thu Mar 13 14:31:22 CET 2003 - mfabian@suse.de + +- Bug #25300: call 'latin-unity-install' for non-UTF-8 locales in + site-packages/lisp/term/func-keys.el to write files in + iso-8859-15 encoding correctly without inserting + ISO-2022 escape sequences. Don't call it in UTF-8 locales! + If 'latin-unity-install' is called in a UTF-8 locale, + the behaviour of the coding systems "binary" and "no-conversion" + becomes strange, they convert to UTF-8 when writing files + with German umlauts, which is surprising for "binary". + +------------------------------------------------------------------- +Thu Mar 6 17:07:52 CET 2003 - kukuk@suse.de + +- Remove cyrus-sasl from neededforbuild + +------------------------------------------------------------------- +Fri Feb 28 18:44:47 CET 2003 - mfabian@suse.de + +- fix Bugzilla #23472: + generate /usr/share/xemacs/xemacs-packages/info/dir and + /usr/share/xemacs/mule-packages/info/dir and include them + in the xemacs-info package. + +------------------------------------------------------------------- +Fri Feb 28 00:09:48 CET 2003 - mfabian@suse.de + +- include latest changes by Ben to edebug + to make it work again. The edebug as included in + sumo-2003-02-05 doesn't work at all. +- improve Werner's func-keys.el + (make XIM work right ja_JP.UTF-8 locale, load latin-unity + and latin-euro-input, append the coding-system setup stuff to + 'before-init-hook instead of adding it at the beginning because + 'mule-init is already in 'before-init-hook) + +------------------------------------------------------------------- +Wed Feb 26 18:56:35 CET 2003 - werner@suse.de + +- Fix coding system settings: use the correct value + +------------------------------------------------------------------- +Fri Feb 14 20:43:23 CET 2003 - schwab@suse.de + +- Fix data limit check. + +------------------------------------------------------------------- +Thu Feb 6 18:40:54 CET 2003 - mfabian@suse.de + +- update packages to sumo-2003-02-05 + (fixes the problem that XEmacs didn't automatically switch + to c++-mode, perl-mode, etc. anymore. The initial values of + interpreter-mode-alist and auto-mode-alist are rather short + now and are dynamically changed when a package is loaded. To + make this work a sufficiently uptodate Sumo was necessary). +- disable packages-cvs-sumo-2002-09-19-comint.patch again, XEmacs + shell-mode works better with TERM=emacs and Werner added the + emacs entry to terminfo again. +- remove hunks which are included upstream from + packages-cvs-xemacs-sumo-2002-05-22-locale-start.patch + packages-cvs-sumo-2002-09-19-xslt-process.patch + +------------------------------------------------------------------- +Thu Jan 30 14:39:14 CET 2003 - mfabian@suse.de + +- update to 21.4.12 +- add packages-cvs-sumo-2002-09-19-comint.patch: + (defvar system-suse-terminfo t) to use TERM=dumb by default + like GNU Emacs does. The previous default was TERM=emacs, which + doesn't exist in the latest terminfo. + +------------------------------------------------------------------- +Mon Dec 16 17:01:31 CET 2002 - mfabian@suse.de + +- workaround for fontSet problem in app-defaults: + use "XEmacs*fontSet:" instead of just "*fontSet:" in the + app-defaults files. +- workaround to avoid dumping the paths to lisp files + as /usr/src/packages/BUILD/... into the xemacs executable adapted + for the portable dumper + +------------------------------------------------------------------- +Fri Dec 13 18:36:00 CET 2002 - mfabian@suse.de + +- add /usr/X11R6/bin/xemacs-%{version}-*.dmp to file list. + +------------------------------------------------------------------- +Fri Dec 13 17:45:26 CET 2002 - mfabian@suse.de + +- update to 21.4.11rc1 +- update Sumo to 2002-09-19 +- remove parts of packages-cvs-xemacs-sumo-2002-03-29-ps-print.patch + which are included upstream +- use portable dumper by default +- fix Makefiles of xslt-process + +------------------------------------------------------------------- +Thu Dec 12 14:15:02 CET 2002 - coolo@suse.de + +- use libndbm instead of libgdbm for non-GNU dbm + +------------------------------------------------------------------- +Wed Nov 20 19:55:15 CET 2002 - schwab@suse.de + +- More autoconf fixes. + +------------------------------------------------------------------- +Tue Sep 17 18:47:59 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Mon Aug 19 21:35:05 CEST 2002 - mfabian@suse.de + +- quick and dirty fix to make it build again. + The Makefile in the 'locale' package lists 3 .elc files with + the same name in different subdirectories. 'make install' + tries to copy them all into the same destination directory: + cp -af {ja,ro,fr}/locale-start.elc \ + /usr/share/xemacs/mule-packages/lisp/locale/ + The 'cp' from latest fileutils cowardly refuses to overwrite + the Japanese and Romanian versions of locale-start.elc with + the French version, as it did until now. + But the files in /usr/share/xemacs/mule-packages/lisp/locale/ + are apparently never read anyway, only the files from + /usr/share/xemacs/mule-packages/etc/start-files/{ja,ro,fr}/ + are read. Therefore I fixed this temporarily by not building + any locale-start.elc files which prevents installing anything + into /usr/share/xemacs/mule-packages/lisp/locale/. +- use the correct encoding for the output of + 'LC_ALL=ja_JP.eucJP xemacs --help', + 'LC_ALL=ja_JP.UTF-8 xemacs --help', and + 'LC_ALL=ja_JP.SJIS xemacs --help'. +- similar problem with 'cp' fixed in mule-ucs package + +------------------------------------------------------------------- +Fri Aug 16 21:55:16 CEST 2002 - mfabian@suse.de + +- add packages-cvs-xemacs-sumo-2002-05-22-gnus-5.8.8-utf-8.patch + to make it possible to send Mails in UTF-8 with Gnus 5.8.8. + +------------------------------------------------------------------- +Sun Aug 11 21:02:05 CEST 2002 - mfabian@suse.de + +- change # neededforbuild: + cannadev -> canna canna-devel canna-libs + +------------------------------------------------------------------- +Mon Jul 22 21:07:36 CEST 2002 - werner@suse.de + +- diff-mode: check on hunk even if file diff starts (bug #17035) + +------------------------------------------------------------------- +Mon Jul 22 16:15:30 CEST 2002 - werner@suse.de + +- Fix path expansion in apel/install.el of sumo tar ball +- Enable RPM_OPT_FLAGS for SuSE Linux version > 8.0 + +------------------------------------------------------------------- +Fri Jul 5 10:56:36 CEST 2002 - kukuk@suse.de + +- Use %ix86 macro + +------------------------------------------------------------------- +Mon Jun 10 14:11:37 CEST 2002 - mfabian@suse.de + +- small improvement in ps-mule.el patch: + keep hanglm24.bdf as a fallback if gulim24.bdf doesn't exist. + +------------------------------------------------------------------- +Wed May 29 16:00:32 CEST 2002 - mfabian@suse.de + +- update to 21.4.8 + sumo-2002-05-22 +- remove lib64.patch, xemacs-21.4.4-printer.el.patch, + xemacs-21.4.4-moduledir.patch, + packages-cvs-xemacs-sumo-2002-03-29-xslide.patch, and + packages-cvs-xemacs-sumo-2002-03-29-liece.patch + (included upstream) +- add UTF-8 versions of translated app-defaults +- add *fontSet definitions including iso10646-1 fonts to all + app-defaults. +- add default app-defaults file + /usr/X11R6/lib/X11/app-defaults/XEmacs to get the same *fontSet + settings when starting XEmacs in an UTF-8 locale which has no + translated app-defaults file (e.g. en_US.UTF-8). +- generate the file lists for the .el and .elc files automatically + in the .spec file + +------------------------------------------------------------------- +Mon May 6 23:21:20 CEST 2002 - schwab@suse.de + +- Readd ia64 patch, suitably adapted. +- Fix lib64 configuration. + +------------------------------------------------------------------- +Thu May 2 17:29:48 CEST 2002 - mfabian@suse.de + +- fix printing with when (setq ps-multibyte-buffer 'bdf-font) + is used + +------------------------------------------------------------------- +Thu Apr 25 11:52:58 CEST 2002 - mfabian@suse.de + +- update to 21.4.6 + sumo-2002-03-29 +- the update broke the build on ppc and axp, fix it. +- Provides += mule-ucs-xemacs Mule-UCS-xemacs, + Obsoletes += mule-ucs-xemacs Mule-UCS-xemacs + (Mule-UCS 0.84 is already part of the sumos now). +- remove packages-cvs-xemacs-sumo-2001-07-09-ia64.patch, patched + file doesn't exist anymore. +- add packages-cvs-xemacs-sumo-2002-03-29-liece.patch and + packages-cvs-xemacs-sumo-2002-03-29-xslide.patch to fix build + problems in packages. +- add packages-cvs-xemacs-sumo-2002-03-29-ps-print.patch (some + fixes for CJK printing and printing with bdf fonts) +- fix file list: some new lisp packages have been added, some + old ones were removed and there were some mistakes in the file + list as well. + +------------------------------------------------------------------- +Tue Apr 23 09:44:23 CEST 2002 - aj@suse.de + +- Enable building on architectures with lib64. +- Fix compiler flags for x86. + +------------------------------------------------------------------- +Thu Apr 4 15:54:34 CEST 2002 - schwab@suse.de + +- Fix missing quotes in configure script. + +------------------------------------------------------------------- +Fri Mar 8 13:16:23 CET 2002 - kukuk@suse.de + +- Fix file list + +------------------------------------------------------------------- +Fri Feb 22 16:12:35 CET 2002 - werner@suse.de + +- Fix bug #13340: use correct lisp macro name of mouse wheel + screen scrolling. + +------------------------------------------------------------------- +Fri Feb 1 00:26:11 CET 2002 - ro@suse.de + +- changed neededforbuild to + +------------------------------------------------------------------- +Thu Oct 25 18:54:40 CEST 2001 - mfabian@suse.de + +- remove "/site-packages/lisp/term/" directory from load-path +- add --moduledir configure option +- add workaround to avoid dumping the paths to lisp files + as /usr/src/packages/BUILD/... into the xemacs executable +- add pattch for big-menubar.el (thanks to ) + +------------------------------------------------------------------- +Thu Oct 18 21:35:51 CEST 2001 - mfabian@suse.de + +- fix printer.el to make 'generic-print-region' work again + under Linux like operating systems + +------------------------------------------------------------------- +Fri Sep 21 12:25:33 CEST 2001 - mfabian@suse.de + +- fix font-menu.el to make changing fonts with the menu + possible again. + +------------------------------------------------------------------- +Mon Sep 10 13:09:32 CEST 2001 - aj@suse.de + +- Remove extra space in LDFLAGS to allow building on PowerPC and + alpha. + +------------------------------------------------------------------- +Wed Sep 5 15:04:05 CEST 2001 - werner@suse.de + +- FHS: /var/state/xemacs -> /var/lib/xemacs (bug #8678) + +------------------------------------------------------------------- +Mon Sep 3 09:19:41 CEST 2001 - aj@suse.de + +- Don't sort relocation entries, otherwise dumping breaks. + +------------------------------------------------------------------- +Mon Jul 2 18:30:27 CEST 2001 - mfabian@suse.de + +- update to 21.4.4 +- remove redisplay patch (included upstream) +- remove xemacs-sumo-2000-09-04-jde.patch (jde doesn't exist + anymore in the current sumos) +- remove xemacs-sumo-2000-09-04-mc.patch (included upstream) +- remove xemacs-db3.patch (included upstream) +- rebuild XEmacs packages from the CVS tree instead of using + the sumo tarballs. This enables us to easily apply patches + and rebuild all .elc files, which is difficult with the sumos +- remove xemacs-sumo-2000-01-24-vm.patch, + xemacs-sumo-2000-09-04-ilisp.patch + (was only needed to fix problems in rebuilding the .elc files, + not necessary anymore when rebuilding the .elc from CVS). +- move xemacs-sumo-2000-09-04-ispell.patch into + packages-cvs-xemacs-sumo-2001-07-09.patch +- removed xemacs-ia64.dif (not needed anymore) +- add gpp libgpp to "# neededforbuild" (the packages contain C++ + sources) +- remove "xemacs-21.4.4-info.tar.bz2" to save some space in the + source rpm (All these info files can be rebuild from the texinfo + sources in the main source tar ball "xemacs-21.4.4.tar.bz2") + +------------------------------------------------------------------- +Thu Jun 7 22:21:00 CEST 2001 - werner@suse.de + +- A long way: Fix trouble with new autoconf + +------------------------------------------------------------------- +Thu Jun 7 16:20:07 CEST 2001 - werner@suse.de + +- Make autoconf work again + +------------------------------------------------------------------- +Mon May 14 17:06:19 CEST 2001 - werner@suse.de + +- Add mail crypt patch (bug#8300) + +------------------------------------------------------------------- +Tue May 8 19:45:00 CEST 2001 - werner@suse.de + +- Move [(shift home)] and [(shift end)] to [(control home)] and + [(control end)] to be more common with WIN XY. +- Move func-keys load from window-setup-hook to init function of + xfree of xemacs. + +------------------------------------------------------------------- +Thu May 3 15:19:58 CEST 2001 - werner@suse.de + +- Fix typo in crypt.el (bug#7525) + +------------------------------------------------------------------- +Fri Apr 6 16:51:56 CEST 2001 - mfabian@suse.de + +- commented out 'ascii-character property changes for 'delete + and 'backspace in func-keys.el, because this causes problems + when using the XEmacs <-> Canna interface (Backspace didn't + cancel the henkan anymore) + +------------------------------------------------------------------- +Sun Apr 1 16:35:21 CEST 2001 - schwab@suse.de + +- Fix ia64 support. +- Add support for Berkeley DB3 from CVS. + +------------------------------------------------------------------- +Fri Mar 30 17:46:19 CEST 2001 - werner@suse.de + +- Keybinding + Change [(home)] from beginning-of-buffer to beginning-of-line + Change [(end)] from end-of-buffer to end-of-line + Add [(shift home)] for beginning-of-buffer + Add [(shift end)] for end-of-buffer +- Basic wheel mouse support + +------------------------------------------------------------------- +Thu Mar 15 14:48:34 CET 2001 - ro@suse.de + +- changed neededforbuild for openldap2 + +------------------------------------------------------------------- +Thu Mar 15 01:08:35 CET 2001 - ro@suse.de + +- fixed neededforbuild for openldap + +------------------------------------------------------------------- +Mon Feb 5 17:23:59 CET 2001 - werner@suse.de + +- Add LDAP on configuration + +------------------------------------------------------------------- +Mon Feb 5 17:15:55 CET 2001 - werner@suse.de + +- Security update to 21.1.14 + +------------------------------------------------------------------- +Mon Jan 22 02:20:38 CET 2001 - mfabian@suse.de + +- installed pcl-cvs package as well (it was disabled due to + problems with this packages, but it seems to work fine now, + so it can be enabled again). + +------------------------------------------------------------------- +Tue Nov 21 18:50:47 CET 2000 - werner@suse.de + +- Remove swapping of kp-separator/kp-decimal because it's + done in xkbd map for german keyboards + +------------------------------------------------------------------- +Tue Nov 21 15:14:27 CET 2000 - werner@suse.de + +- Move package names + * from xe_exec to xemacs + * from xe_lisp to xemacs-el + * from xe_info to xemacs-info +- Add kvt.el and gnome.el for the terminal kvt and gnome-terminal +- Make ispell.el compatible ispell-emacs-menu.el + +------------------------------------------------------------------- +Fri Nov 17 20:06:08 CET 2000 - mfabian@suse.de + +- Build with support for FreeWnn. +- added redisplay patch important for Japanese + (see http://www.xemacs.org/list-archives/xemacs-beta/199912/msg00376.html) + +------------------------------------------------------------------- +Tue Oct 24 12:16:54 CEST 2000 - werner@suse.de + +- Replace `@AUCDIR' kludge from lisp/auctex/tex-site.el by the + location of the auctex data directory (etc/auctex/). +- Use a more generally printer setup for auctex. + +------------------------------------------------------------------- +Mon Oct 23 14:20:27 CEST 2000 - aj@suse.de + +- Build with X-Face support. + +------------------------------------------------------------------- +Sun Sep 17 19:12:52 CEST 2000 - schwab@suse.de + +- Add support for ia64. +- Fix typo in configure.in. + +------------------------------------------------------------------- +Fri Sep 15 16:08:21 CEST 2000 - werner@suse.de + +- Dump cl-macs into xemacs to avoid nasty loading messages +- Fix byte compiling of jde, mew, and ilisp packages + +------------------------------------------------------------------- +Fri Sep 8 20:15:28 CEST 2000 - werner@suse.de + +- Correct file list +- make tar's bzip2ed +- add xterm Ctrl+cursor keys +- move dif from 2.1.10 to 2.1.12 + +------------------------------------------------------------------- +Thu Sep 7 13:03:08 CEST 2000 - aj@suse.de + +- Update to XEmacs 21.1.12 and Sumo packages from 2000-09-04. + +------------------------------------------------------------------- +Thu Jul 13 11:57:39 CEST 2000 - mfabian@suse.de + +- cannadev is needed for build to get Canna support compiled in. +- added support for international menubars. + +------------------------------------------------------------------- +Thu Jun 29 13:19:11 CEST 2000 - werner@suse.de + +- remove circular dependency between xe_exec and xe_info + +------------------------------------------------------------------- +Mon May 29 19:09:37 CEST 2000 - aj@suse.de + +- Update to XEmacs 21.1.10 and current packages (except pcl-cvs + which has some problems) + +------------------------------------------------------------------- +Wed Apr 5 19:36:21 MEST 2000 - bk@suse.de + +- needs automake for update config.{sub,guess} macro + +------------------------------------------------------------------- +Tue Apr 4 12:27:08 CEST 2000 - bk@suse.de + +- s390 team added support for s390 + +------------------------------------------------------------------- +Thu Feb 17 16:03:35 CET 2000 - aj@suse.de + +- Added Y2k patch for vc, fixed scaled font handling. + +------------------------------------------------------------------- +Mon Feb 7 17:40:49 CET 2000 - kasal@suse.de + +- app-defaults files should be %config + +------------------------------------------------------------------- +Thu Jan 27 16:31:07 CET 2000 - ro@suse.de + +- specfile: re-done %setup section for new tar + +------------------------------------------------------------------- +Tue Jan 25 18:33:39 CET 2000 - werner@suse.de + + - New version 21.1.8 + - New tarballs 2000-01-24 + - New fix for vm package + - /usr/man -> /usr/share/man + +------------------------------------------------------------------- +Fri Jan 14 17:05:22 CET 2000 - werner@suse.de + + - Fix vm package: macros arn't autoloadable by xemacs 21.x + +------------------------------------------------------------------- +Wed Dec 22 18:39:06 CET 1999 - werner@suse.de + + - Uh: install and pack some missed scripts + +------------------------------------------------------------------- +Wed Dec 1 17:02:14 CET 1999 - werner@suse.de + + - Fix pty handling: use glibc extension + +------------------------------------------------------------------- +Thu Nov 11 18:35:59 CET 1999 - werner@suse.de + + - Fix the site-package extension + * ispell menus + * xterm/console key mappings + - Fix font menu: set `ignore scaled fonts' to nil + +------------------------------------------------------------------- +Fri Nov 5 23:43:43 CET 1999 - werner@suse.de + + - Change file list of xe_info and xe_lisp + +------------------------------------------------------------------- +Thu Nov 4 18:01:32 CET 1999 - werner@suse.de + + - Remove libgif from required packages + +------------------------------------------------------------------- +Sat Oct 30 12:06:55 CEST 1999 - ro@suse.de + +- modified filelist for nonx86 +- removed libz from neededforbuild: it's default + +------------------------------------------------------------------- +Fri Oct 29 17:22:56 CEST 1999 - werner@suse.de + + - Remove `with system malloc' because the last patch seems + to help. Without system malloc we see more speed + +------------------------------------------------------------------- +Thu Oct 28 19:00:09 CEST 1999 - werner@suse.de + + - Add patch for glibc and __malloc_hook + +------------------------------------------------------------------- +Tue Oct 26 17:32:59 CEST 1999 - werner@suse.de + + - New glibc requires `with system malloc' + +------------------------------------------------------------------- +Wed Oct 20 23:56:32 CEST 1999 - werner@suse.de + + - Last checks + +------------------------------------------------------------------- +Wed Oct 20 22:01:53 CEST 1999 - werner@suse.de + + - New version 21.1.7 + * avoid locale problems due to lisp formats of time e.g. + - Use xemacs-mule-sumo-1999-05-27.tar.gz to avoid trouble + with not synched mule versions of xemacs and mule-sumo + - Use xemacs-sumo-1999-07-29.tar.gz + * Many bug fixes due to missed load statements and + minor version comparision: (19.)13 > (21.)1 + - Add the already used bug fixes and changes + * security + * ispell menu + * dinbrief.el for auctex + * ... + - Store xemacs in /usr/share/xemacs// + and /usr//xemacs// + - Move info to /usr/share/xemacs/info/ + - Enable site-lisp and move it to /usr/share/xemacs/site-lisp/ + - Make configured in paths work + +------------------------------------------------------------------- +Mon Sep 27 16:31:01 CEST 1999 - bs@suse.de + +- fixed requirements for sub packages + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Fri Aug 13 20:41:44 CEST 1999 - werner@suse.de + + - fix locale handling of xemacs + * overwrite LC_NUMERIC, LC_TIME, and LC_MESSAGES to + "C" to get something what can xemacs can handle + - fix dinbrief.el + +------------------------------------------------------------------- +Mon Apr 5 14:26:29 MEST 1999 - bs@suse.de + + - fixed date strings in .changes. + +------------------------------------------------------------------- +Mon Mar 8 21:37:20 MET 1999 - werner@suse.de + + - Remove site-lisp/ispell.el* to use the dynamic + rebuild of the Spell menu of the ispell package + - Create a site-start.el to do that + +------------------------------------------------------------------- +Thu Nov 12 15:15:48 MET 1998 - bs@suse.de + +- fixed spec file for new rpm. + +---------------------------------------------------------------------------- +Tue Nov 3 21:40:59 MET 1998 - werner@suse.de + - Change names of languages and encoding style in ispell + from `language (encod)' to `language-encod' +---------------------------------------------------------------------------- +Tue Jul 28 23:10:38 MEST 1998 - werner@suse.de + - Do not use system malloc ... some parts of xemacs arn't + smart enough for that. + - Disable const +---------------------------------------------------------------------------- +Mon Jul 27 14:42:02 MET DST 1998 - werner@suse.de + - Use redhat patch for alpha ... means make it work for all + arch's. This because I do not want use ordinary linkage which + may causes the troubles seen with xemacs and shared libs. +---------------------------------------------------------------------------- +Mon Jul 20 17:01:06 MET DST 1998 - werner@suse.de + - use mktemp if avaliable +---------------------------------------------------------------------------- +Fri Jul 10 12:15:02 MEST 1998 - werner@suse.de + - Check all script in lib-src against tmp exploits + - Fix pstogif (exploit and uninitialized variables) + - Add disp-table to site-load +---------------------------------------------------------------------------- +Thu Jul 9 12:57:56 MET DST 1998 - werner@suse.de + - Add american to the (i)spell menu + - Use -fno-force-mem (egcs-bug) + - Use -rpath-link /usr/X11R6/lib + - Avoid multiple common + - Remove and set some CONST +---------------------------------------------------------------------------- +Wed May 27 23:20:41 MET DST 1998 - werner@suse.de + - Use Xaw3d instead of Xaw to avoid trouble with xaw3dd + - Change pop service "pop" to "pop3" +---------------------------------------------------------------------------- +Tue Mar 3 19:30:34 MET 1998 - werner@suse.de + - New version 20.4 + - Same changes done for 20.3 (hacked ispell.el for our new ditcs) + - Fix the change doe for viper-ex.el + - Remove ctags (own package), send-pr and install-sid (gnats) + out of /usr/X11R6/bin/ +---------------------------------------------------------------------------- +Wed Feb 11 17:04:07 MET 1998 - werner@suse.de + - New version 20.3 + * Dead keys seems to work + * Now BS and DEL are distinct + - Some changes, e.g. hacked ispell.el for our new ditcs +---------------------------------------------------------------------------- +Thu Nov 6 20:16:15 MET 1997 - werner@suse.de + - New version 20.2 + - Add XFree86 deadlock keys to x-compose.el and x-iso8859-1.el + - Some changes +---------------------------------------------------------------------------- +Fri Jul 18 13:12:55 MET DST 1997 - werner@suse.de + - New patchlevel 19.15pl7 + - Remove one change of a patch to save choosen fonts in + `save options' + - Add deadlock keys to x-compose.el and x-iso8859-1.el +---------------------------------------------------------------------------- +Sun May 25 22:47:16 MET DST 1997 - werner@suse.de + - New version: 19.15 + - some changes in keycode under TERM=xterm (term/xterm.el) + - info goes to /usr/X11R6/lib/xemacs/info/ +---------------------------------------------------------------------------- +Tue Feb 4 20:32:54 MET 1997 - werner@suse.de + - Aufraeumen von term/linux.el und term/xterm.el: + Statt setzten von delete/backspace wird nun + delbackspace.el verwendet. + - Fix in einer Info-Seite +---------------------------------------------------------------------------- +Wed Aug 28 00:00:00 MET 1996 - werner@suse.de + - Neue Version von Xemacs: 19.14 + - Anpassungen an TERM=linux, TERM=xterm + - Delete loescht Zeichen unter dem Cursor + diff --git a/xemacs.desktop b/xemacs.desktop new file mode 100644 index 0000000..f077a13 --- /dev/null +++ b/xemacs.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=X Emacs +GenericName=Text Editor +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +Exec=xemacs %f +Icon=xemacs +Type=Application +Terminal=false +X-KDE-StartupNotify=true +X-KDE-AuthorizeAction=shell_access diff --git a/xemacs.patch b/xemacs.patch new file mode 100644 index 0000000..6956bc4 --- /dev/null +++ b/xemacs.patch @@ -0,0 +1,907 @@ +Index: xemacs-21.5.29/.pkgextract +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/.pkgextract +@@ -0,0 +1,12 @@ ++(cd ../; tar xkfI xemacs-21.4.3-info.tar.bz2) ++rm -f mule-packages ++rm -f xemacs-packages ++tar xkfI ../xemacs-mule-sumo-2001-04-08.tar.bz2 ++rm -f lib-src/pstogif ++tar xkfI ../xemacs-sumo-2001-04-08.tar.bz2 ++patch -p0 -s --suffix=.vm < ../xemacs-sumo-2000-01-24-vm.patch ++patch -p0 -s --suffix=.ilisp < ../xemacs-sumo-2000-09-04-ilisp.patch ++patch -p0 -s --suffix=.ispell < ../xemacs-sumo-2000-09-04-ispell.patch ++patch -p0 -s --suffix=.mc < ../xemacs-sumo-2000-09-04-mc.patch ++patch -p0 -s --suffix=.conf < ../xemacs-21.4.3-autoconf.patch ++find lisp/ etc/ -name '*.elc' | xargs -r rm -f +Index: xemacs-21.5.29/lib-src/gnuclient.c +=================================================================== +--- xemacs-21.5.29.orig/lib-src/gnuclient.c ++++ xemacs-21.5.29/lib-src/gnuclient.c +@@ -226,7 +226,7 @@ filename_expand (char *fullpath, char *f + /* Encase the string in quotes, escape all the backslashes and quotes + in string. */ + static char * +-clean_string (const char *s) ++clean_string (char *s) + { + int i = 0; + char *p, *res; +Index: xemacs-21.5.29/lib-src/mmencode.c +=================================================================== +--- xemacs-21.5.29.orig/lib-src/mmencode.c ++++ xemacs-21.5.29/lib-src/mmencode.c +@@ -23,6 +23,11 @@ WITHOUT ANY EXPRESS OR IMPLIED WARRANTIE + #include + #include + ++#include ++#include ++#include ++#include ++ + static void + output64chunk(int c1, int c2, int c3, int pads, FILE *outfile); + +@@ -430,6 +435,32 @@ fromqp(FILE *infile, FILE *outfile, char + } + } + ++/* not safe on nfs filesystems, but this is close */ ++FILE * ++safeopen(char *filename, char *mode) ++{ ++#ifdef MSDOS ++ return fopen(filename, mode); ++#else ++ int fd; ++ int flags; ++ ++ if(mode[0] == 'w') { ++ flags = O_EXCL | O_CREAT | O_WRONLY; ++ fd = open(filename, flags, 00666); ++ } ++ else { ++ flags = O_RDONLY; ++ fd = open(filename, flags); ++ } ++ ++ if(fd == -1) { ++ return (FILE *)0; ++ } ++ ++ return fdopen(fd, mode); ++#endif ++} + + /* + Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore) +@@ -456,6 +487,7 @@ WITHOUT ANY EXPRESS OR IMPLIED WARRANTIE + int main(int argc, char *argv[]) + { + int encode = 1, which = BASE64, i, portablenewlines = 0; ++ struct stat fpstat; + FILE *fp = stdin; + FILE *fpo = stdout; + +@@ -467,7 +499,7 @@ int main(int argc, char *argv[]) + fprintf(stderr, "mimencode: -o requires a file name.\n"); + exit(-1); + } +- fpo = fopen(argv[i], "w"); ++ fpo = safeopen(argv[i], "w"); + if (!fpo) { + perror(argv[i]); + exit(-1); +@@ -500,7 +532,7 @@ int main(int argc, char *argv[]) + setmode(fileno(fpo), O_BINARY); + } /* else */ + #else +- fp = fopen(argv[i], "r"); ++ fp = safeopen(argv[i], "r"); + #endif /* WIN32_NATIVE */ + if (!fp) { + perror(argv[i]); +@@ -510,6 +542,12 @@ int main(int argc, char *argv[]) + } + #ifdef WIN32_NATIVE + if (fp == stdin) setmode(fileno(fp), O_BINARY); ++#else ++ if(fstat(fileno(fp), &fpstat) == -1) { ++ perror("fstat"); ++ exit(3); ++ } ++ fchmod(fileno(fpo), fpstat.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO)); + #endif /* WIN32_NATIVE */ + if (which == BASE64) { + if (encode) { +Index: xemacs-21.5.29/lib-src/pop.c +=================================================================== +--- xemacs-21.5.29.orig/lib-src/pop.c ++++ xemacs-21.5.29/lib-src/pop.c +@@ -129,16 +129,20 @@ static char *find_crlf (char *, int); + #define POP_PORT 110 + #define KPOP_PORT 1109 + #if defined(WIN32_NATIVE) || defined(CYGWIN) +-#define POP_SERVICE "pop3" /* we don't want the POP2 port! */ ++# define POP_SERVICE "pop3" /* we don't want the POP2 port! */ + #else +-#define POP_SERVICE "pop" ++# ifdef linux ++# define POP_SERVICE "pop3" ++# else ++# define POP_SERVICE "pop" ++# endif + #endif + #ifdef KERBEROS +-#ifdef KRB5 +-#define KPOP_SERVICE "k5pop" +-#else +-#define KPOP_SERVICE "kpop" +-#endif ++# ifdef KRB5 ++# define KPOP_SERVICE "k5pop" ++# else ++# define KPOP_SERVICE "kpop" ++# endif + #endif + + char pop_error[ERROR_MAX]; +Index: xemacs-21.5.29/lib-src/vcdiff +=================================================================== +--- xemacs-21.5.29.orig/lib-src/vcdiff ++++ xemacs-21.5.29/lib-src/vcdiff +@@ -75,7 +75,10 @@ case $# in + esac + + +-rev1= rev2= status=0 ++if ! type -p mktemp > /dev/null 2>&1 ; then ++ echo "$0: can not create temporary files." 1>&2 ++ exit 1 ++fi + trap 'status=2; exit' 1 2 13 15 + trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0 + +@@ -86,14 +89,14 @@ do + case $f in + s.* | */s.*) + if +- rev1=`mktemp /tmp/geta.XXXXXXXX` ++ rev1=`mktemp /tmp/geta.XXXXXXXX` || exit 1 + sccs get -s -p -k $sid1 "$f" > $rev1 && + case $sid2 in + '') + workfile=`expr " /$f" : '.*/s.\(.*\)'` + ;; + *) +- rev2=`mktemp /tmp/getb.XXXXXXXX` ++ rev2=`mktemp /tmp/getb.XXXXXXXX` || exit 1 + sccs get -s -p -k $sid2 "$f" > $rev2 + workfile=$rev2 + esac +Index: xemacs-21.5.29/lisp/default.el +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/lisp/default.el +@@ -0,0 +1,9 @@ ++;(require 'tex-site) ++(setq-default TeX-master nil) ++; Users private libaries ++; (setq TeX-macro-private '("~/lib/tex-lib/")) ++; AUC-TeX-Macros ++; (setq TeX-style-private "~/lib/xemacs/site-lisp/auctex/style/") ++; Autom. Auc-TeX-Macros ++; (setq TeX-auto-private "~/lib/xemacs/site-lisp/auctex/auto/") ++ +Index: xemacs-21.5.29/lisp/dumped-lisp.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/dumped-lisp.el ++++ xemacs-21.5.29/lisp/dumped-lisp.el +@@ -42,6 +42,7 @@ in dumped-lisp.el and is not itself list + "cl" + "cl-extra" ; also loads cl-macs if we're running interpreted. + "cl-seq" ++ "cl-macs" ; Avoid autoloading of kernel functions + "post-gc" + "version" + "custom" ; Before the world so everything can be customized +@@ -300,6 +301,7 @@ in dumped-lisp.el and is not itself list + ;; "sun-eos-debugger-extra" + ;; "sun-eos-menubar")) + "loaddefs" ; <=== autoloads get loaded here ++ "disp-table" + )) + + (setq preloaded-file-list +Index: xemacs-21.5.29/lisp/find-paths.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/find-paths.el ++++ xemacs-21.5.29/lisp/find-paths.el +@@ -338,7 +338,7 @@ DEFAULT is the preferred value." + + (defun construct-emacs-version-name () + "Construct a string from the raw XEmacs version number." +- (concat emacs-program-name "-" emacs-program-version)) ++ (concat emacs-program-name "/" emacs-program-version)) + + (defun paths-directories-which-exist (directories) + "Return the directories among DIRECTORIES. +Index: xemacs-21.5.29/lisp/mule/cyrillic.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/mule/cyrillic.el ++++ xemacs-21.5.29/lisp/mule/cyrillic.el +@@ -31,6 +31,9 @@ + ;; converted to ISO8859-5 internally. + + ;;; Code: ++(eval-when-compile ++ (setq max-lisp-eval-depth (+ 800 max-lisp-eval-depth)) ++ (setq max-specpdl-size (+ 2000 max-specpdl-size))) + + ;; Case table: + (loop +Index: xemacs-21.5.29/lisp/site-init.el +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/lisp/site-init.el +@@ -0,0 +1,18 @@ ++;;;; ++;;; xemacs-21.1.14/lisp/site-init.el ++;;; Author: Werner Fink ++;; CONFIGURATION see source code ++;;;; ++(garbage-collect) ++ ++(setq gnus-default-nntp-server "news") ++(setq w3-directory (concat lisp-directory "w3")) ++(setq progress-feedback-use-echo-area t) ;; boo#905625 and bsc#902003 ++ ++(garbage-collect) ++(garbage-collect) ++(garbage-collect) ++(garbage-collect) ++(garbage-collect) ++ ++;;; site-init.el ends here +Index: xemacs-21.5.29/lisp/x-win-xfree86.el +=================================================================== +--- xemacs-21.5.29.orig/lisp/x-win-xfree86.el ++++ xemacs-21.5.29/lisp/x-win-xfree86.el +@@ -99,6 +99,11 @@ + ;; define also the control, meta, and meta-control versions. + (loop for mods in '(() (control) (meta) (meta control)) do + (define-key function-key-map `[(,@mods ,key)] +- `[(shift ,@mods ,sane-key)]))))) ++ `[(shift ,@mods ,sane-key)])))) ++;; Begin insert ++;; set Symbol delete == [delete] to delete-char ++ (load "term/func-keys" t t) ++;; End insert ++) + + ;;; x-win-xfree86.el ends here +Index: xemacs-21.5.29/site-packages/lisp/term/func-keys.el +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/site-packages/lisp/term/func-keys.el +@@ -0,0 +1,101 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/func-keys.el for site-lisp path in xemacs-21.4.12 ++;;; Copyright (c) 1996-2003 SuSE Gmbh Nuernberg, Germany ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; num block ++;; kp-f1 .. kp-f4 and kp-tab not found on MF-102 ++ (global-set-key [(kp-f1)] esc-map) ; Escape ++ (global-set-key [(kp-f2)] 'undo) ; Undo ++ (global-set-key [(kp-f3)] 'isearch-forward) ; Search ++ (global-set-key [(kp-f4)] 'kill-line) ; Kill-Line ++ (global-set-key [(kp-tab)] 'indent-for-tab-command) ++ (global-set-key [(kp-0)] "0") ; 0 ++ (global-set-key [(kp-1)] "1") ; 1 ++ (global-set-key [(kp-2)] "2") ; 2 ++ (global-set-key [(kp-3)] "3") ; 3 ++ (global-set-key [(kp-4)] "4") ; 4 ++ (global-set-key [(kp-5)] "5") ; 5 ++ (global-set-key [(kp-6)] "6") ; 6 ++ (global-set-key [(kp-7)] "7") ; 7 ++ (global-set-key [(kp-8)] "8") ; 8 ++ (global-set-key [(kp-9)] "9") ; 9 ++ (global-set-key [(kp-multiply)] "*") ; `+' ++ (global-set-key [(kp-add)] "+") ; `+' ++ (global-set-key [(kp-divide)] "/") ; `/' ++;; german fault: ++(defvar lang-environment "en_us" ++ "The value of the environment variable \"LANG\" ++used to set appropriate keypad. Default value is \"en_us\". ++If \"LANG\" is set to \"de\" or some other aliases ++(see /usr/X11R6/lib/X11/locale/) the keypad decimal is ++chosen to \",\". ++ Your SuSE-Team") ++; ++(let ((lang (getenv "LANG"))) ++ (if (null lang) ++ (setq lang-environment "en_us") ++ (setq lang-environment lang))) ++;; ++; (if (string-match "^\\(de$\\|de_\\|GER_DE\\|german\\)" lang-environment) ++; (progn ++; (global-set-key [(kp-decimal)] ",") ; `,' german decimal ++; (global-set-key [(kp-separator)] ".")) ; `.' german separator ++; (global-set-key [(kp-decimal)] ".") ++; (global-set-key [(kp-separator)] ",")) ++ (global-set-key [(kp-decimal)] ".") ++ (global-set-key [(kp-separator)] ",") ++ (global-set-key [(kp-subtract)] "-") ; `-' ++ (global-set-key [(kp-enter)] 'newline) ; Linefeed ++ (global-set-key [(kp-home)] 'beginning-of-line) ; home ++ (global-set-key [(kp-up)] 'previous-line) ; up ++ (global-set-key [(kp-prior)] 'scroll-down) ; ppg ++ (global-set-key [(kp-left)] 'backward-char) ; left ++ (global-set-key [(kp-begin)] 'beginning-of-line) ; first ++ (global-set-key [(kp-right)] 'forward-char) ; right ++ (global-set-key [(kp-end)] 'end-of-line) ; end ++ (global-set-key [(kp-down)] 'next-line) ; down ++ (global-set-key [(kp-next)] 'scroll-up) ; npg ++ (global-set-key [(kp-insert)] 'overwrite-mode) ; insert/ovwrt ++;; ++;; Backspace, Delete and any thing else ++;; ++(if (not (eq 'x (console-type))) ++ nil ++ ;; ++ ;; Overriding the BS/DEL/KP_DEL mapping for Xemacs-20.4: ++ ;; ... Hey they have done a good job: DEL and BS ++ ;; now are distinct. ++ ;; ++ (global-unset-key 'kp-delete) ++ (local-unset-key 'kp-delete) ++ ;; ++ ;; What will be inserted `on quoted-insert' ++ ;;(remprop 'delete 'ascii-character) ++ ;;(remprop 'backspace 'ascii-character) ++ ;;(put 'backspace 'ascii-character 127) ++ ;; ++; (load "delbs" t t) ++ (load "x-compose" t t) ++ ;; ++ ;; Set the keyboard macro [(kp-delete)] ++ ;; to the same action as for [(delete-char)] ++ ;; ++ (global-set-key [(kp-delete)] 'backward-or-forward-delete-char) ++ (local-set-key [(kp-delete)] 'backward-or-forward-delete-char) ++ ;; ++ ;; Switch DEL/KP_DEL to delete-char ++ ;; ++ (setq delete-key-deletes-forward t) ++) ++;; ++;; Most new users like this, but common emacs users? ++;; ++(global-set-key [(home)] 'beginning-of-line) ++(global-set-key [(control home)] 'beginning-of-buffer) ++(global-set-key [(end)] 'end-of-line) ++(global-set-key [(control end)] 'end-of-buffer) ++;; ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; End of func-keys.el +Index: xemacs-21.5.29/site-packages/lisp/term/gnome.el +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/site-packages/lisp/term/gnome.el +@@ -0,0 +1,97 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/gnome.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 1996 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; (define-key function-key-map "\e[1~" [(find)]) ++; (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\e[1~" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++; (define-key function-key-map "\e[4~" [(select)]) ++; (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[4~" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\eOP" [(f1)]) ++ (define-key function-key-map "\eOQ" [(f2)]) ++ (define-key function-key-map "\eOR" [(f3)]) ++ (define-key function-key-map "\eOS" [(f4)]) ++ (define-key function-key-map "\e[15~" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; num block ++;; [(home)] and [(end)] found in num block ++; (define-key function-key-map "\eOH" [(home)]) ++; (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[1~" [(home)]) ++ (define-key function-key-map "\e[4~" [(end)]) ++;; ++;; Locked num block ++ (define-key function-key-map "\eOI" [(kp-tab)]) ++ (define-key function-key-map "\eOj" [(kp-multiply)]) ++ (define-key function-key-map "\eOk" [(kp-add)]) ++ (define-key function-key-map "\eOl" [(kp-separator)]) ++ (define-key function-key-map "\eOM" [(kp-enter)]) ++ (define-key function-key-map "\eOm" [(kp-subtract)]) ++ (define-key function-key-map "\eOn" [(kp-decimal)]) ++; (define-key function-key-map "\eOn" [(kp-period)]) ; [kp-decimal] ++ (define-key function-key-map "\eOo" [(kp-divide)]) ++ (define-key function-key-map "\eOp" [(kp-0)]) ++ (define-key function-key-map "\eOq" [(kp-1)]) ++ (define-key function-key-map "\eOr" [(kp-2)]) ++ (define-key function-key-map "\eOs" [(kp-3)]) ++ (define-key function-key-map "\eOt" [(kp-4)]) ++ (define-key function-key-map "\eOu" [(kp-5)]) ++ (define-key function-key-map "\eOv" [(kp-6)]) ++ (define-key function-key-map "\eOw" [(kp-7)]) ++ (define-key function-key-map "\eOx" [(kp-8)]) ++ (define-key function-key-map "\eOy" [(kp-9)]) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\eOD" [(left)]) ++ (define-key function-key-map "\eOC" [(right)]) ++ (define-key function-key-map "\eOA" [(up)]) ++ (define-key function-key-map "\eOB" [(down)]) ++;; ++ (define-key function-key-map "\e\eOD" [(meta left)]) ++ (define-key function-key-map "\e\eOC" [(meta right)]) ++ (define-key function-key-map "\e\eOA" [(meta up)]) ++ (define-key function-key-map "\e\eOB" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\eOD" [(control left)]) ++ (define-key function-key-map "\C-?\eOC" [(control right)]) ++ (define-key function-key-map "\C-?\eOA" [(control up)]) ++ (define-key function-key-map "\C-?\eOB" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von gnome.el +Index: xemacs-21.5.29/site-packages/lisp/term/kvt.el +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/site-packages/lisp/term/kvt.el +@@ -0,0 +1,97 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/kvt.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 2000 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ (define-key function-key-map "\e[1~" [(find)]) ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++ (define-key function-key-map "\e[4~" [(select)]) ++ (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\e[11~" [(f1)]) ++ (define-key function-key-map "\e[12~" [(f2)]) ++ (define-key function-key-map "\e[13~" [(f3)]) ++ (define-key function-key-map "\e[14~" [(f4)]) ++ (define-key function-key-map "\e[15~" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; num block ++;; [(home)] and [(end)] found in num block ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\eOF" [(end)]) ++;; ++;; Locked num block ++ (define-key function-key-map "\eOP" [(kp-f1)]) ++ (define-key function-key-map "\eOQ" [(kp-f2)]) ++ (define-key function-key-map "\eOR" [(kp-f3)]) ++ (define-key function-key-map "\eOS" [(kp-f4)]) ++ (define-key function-key-map "\eOI" [(kp-tab)]) ++ (define-key function-key-map "\eOj" [(kp-multiply)]) ++ (define-key function-key-map "\eOk" [(kp-add)]) ++ (define-key function-key-map "\eOl" [(kp-separator)]) ++ (define-key function-key-map "\eOM" [(kp-enter)]) ++ (define-key function-key-map "\eOm" [(kp-subtract)]) ++ (define-key function-key-map "\eOn" [(kp-decimal)]) ++; (define-key function-key-map "\eOn" [(kp-period)]) ; [kp-decimal] ++ (define-key function-key-map "\eOo" [(kp-divide)]) ++ (define-key function-key-map "\eOp" [(kp-0)]) ++ (define-key function-key-map "\eOq" [(kp-1)]) ++ (define-key function-key-map "\eOr" [(kp-2)]) ++ (define-key function-key-map "\eOs" [(kp-3)]) ++ (define-key function-key-map "\eOt" [(kp-4)]) ++ (define-key function-key-map "\eOu" [(kp-5)]) ++ (define-key function-key-map "\eOv" [(kp-6)]) ++ (define-key function-key-map "\eOw" [(kp-7)]) ++ (define-key function-key-map "\eOx" [(kp-8)]) ++ (define-key function-key-map "\eOy" [(kp-9)]) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\eOD" [(left)]) ++ (define-key function-key-map "\eOC" [(right)]) ++ (define-key function-key-map "\eOA" [(up)]) ++ (define-key function-key-map "\eOB" [(down)]) ++;; ++ (define-key function-key-map "\e\eOD" [(meta left)]) ++ (define-key function-key-map "\e\eOC" [(meta right)]) ++ (define-key function-key-map "\e\eOA" [(meta up)]) ++ (define-key function-key-map "\e\eOB" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\eOD" [(control left)]) ++ (define-key function-key-map "\C-?\eOC" [(control right)]) ++ (define-key function-key-map "\C-?\eOA" [(control up)]) ++ (define-key function-key-map "\C-?\eOB" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von kvt.el +Index: xemacs-21.5.29/site-packages/lisp/term/linux.el +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/site-packages/lisp/term/linux.el +@@ -0,0 +1,79 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/linux.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 1996 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ (define-key function-key-map "\e[1~" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++ (define-key function-key-map "\e[4~" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\e[[A" [(f1)]) ++ (define-key function-key-map "\e[[B" [(f2)]) ++ (define-key function-key-map "\e[[C" [(f3)]) ++ (define-key function-key-map "\e[[D" [(f4)]) ++ (define-key function-key-map "\e[[E" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; Not in Use? ++;; ---------------------------------- ++;; Console-Setting for Linux ??? ++ (define-key function-key-map "\e[H" [(meta up)]) ++ (define-key function-key-map "\e[Y" [(meta down)]) ++ (define-key function-key-map "\e[M" [(menu)]) ++ (define-key function-key-map "\e?\e[M" [(meta menu)]) ++ (define-key function-key-map "\e[P" [(pause)]) ++;; ++;; num block ++ (define-key function-key-map "\e[G" [(begin)]) ++;; ++;; Locked num block Nothing to do :-) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\e[D" [(left)]) ++ (define-key function-key-map "\e[C" [(right)]) ++ (define-key function-key-map "\e[A" [(up)]) ++ (define-key function-key-map "\e[B" [(down)]) ++;; ++ (define-key function-key-map "\e\e[D" [(meta left)]) ++ (define-key function-key-map "\e\e[C" [(meta right)]) ++ (define-key function-key-map "\e\e[A" [(meta up)]) ++ (define-key function-key-map "\e\e[B" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\e[D" [(control left)]) ++ (define-key function-key-map "\C-?\e[C" [(control right)]) ++ (define-key function-key-map "\C-?\e[A" [(control up)]) ++ (define-key function-key-map "\C-?\e[B" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von linux.el +Index: xemacs-21.5.29/site-packages/lisp/term/xterm.el +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/site-packages/lisp/term/xterm.el +@@ -0,0 +1,120 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/xterm.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 1996 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; MF-102: on linux console \033[1~ is not [(find)] but [(home)] ++;; in xterm [(home)] is \033[H (app-keypad off) or \033OH (app-keypad on) ++;; and [(find)] is \033[1~ ++;; Note: this must be consistent with app-defaults of xterm, ++;; terminfo/termcap, and all of inputrc, csh.cshrc, exrc ++ (define-key function-key-map "\e[1~" [(find)]) ++ (define-key function-key-map "\e[H" [(home)]) ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++;; MF-102: on linux console \033[4~ is not [(select)] but [(end)] ++;; in xterm [(end] should be \033[F (app-keypad off) or \033OF (app-keypad on) ++;; and [(select)] is \033[4~ ++;; Note: this must be consistent with app-defaults of xterm, ++;; terminfo/termcap, and all of inputrc, csh.cshrc, exrc ++ (define-key function-key-map "\e[4~" [(select)]) ++ (define-key function-key-map "\e[F" [(end)]) ++ (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\e[11~" [(f1)]) ++ (define-key function-key-map "\e[12~" [(f2)]) ++ (define-key function-key-map "\e[13~" [(f3)]) ++ (define-key function-key-map "\e[14~" [(f4)]) ++ (define-key function-key-map "\eOP" [(f1)]) ++ (define-key function-key-map "\eOQ" [(f2)]) ++ (define-key function-key-map "\eOR" [(f3)]) ++ (define-key function-key-map "\eOS" [(f4)]) ++ (define-key function-key-map "\e[15~" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; num block ++;; [(home)] and [(end)] found in num block ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\eOE" [(begin)]) ++;; ++;; Locked num block ++;; kp-f1 .. kp-f4 and kp-tab not found on MF-102 ++;; For xterm on xfree we use f1 .. f4, see above ++; (define-key function-key-map "\eOP" [(kp-f1)]) ++; (define-key function-key-map "\eOQ" [(kp-f2)]) ++; (define-key function-key-map "\eOR" [(kp-f3)]) ++; (define-key function-key-map "\eOS" [(kp-f4)]) ++ (define-key function-key-map "\eOI" [(kp-tab)]) ++ (define-key function-key-map "\eOj" [(kp-multiply)]) ++ (define-key function-key-map "\eOk" [(kp-add)]) ++ (define-key function-key-map "\eOl" [(kp-separator)]) ++ (define-key function-key-map "\eOM" [(kp-enter)]) ++ (define-key function-key-map "\eOm" [(kp-subtract)]) ++ (define-key function-key-map "\eOn" [(kp-decimal)]) ++; (define-key function-key-map "\eOn" [(kp-period)]) ; [kp-decimal] ++ (define-key function-key-map "\eOo" [(kp-divide)]) ++ (define-key function-key-map "\eOp" [(kp-0)]) ++ (define-key function-key-map "\eOq" [(kp-1)]) ++ (define-key function-key-map "\eOr" [(kp-2)]) ++ (define-key function-key-map "\eOs" [(kp-3)]) ++ (define-key function-key-map "\eOt" [(kp-4)]) ++ (define-key function-key-map "\eOu" [(kp-5)]) ++ (define-key function-key-map "\eOv" [(kp-6)]) ++ (define-key function-key-map "\eOw" [(kp-7)]) ++ (define-key function-key-map "\eOx" [(kp-8)]) ++ (define-key function-key-map "\eOy" [(kp-9)]) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\eOD" [(left)]) ++ (define-key function-key-map "\eOC" [(right)]) ++ (define-key function-key-map "\eOA" [(up)]) ++ (define-key function-key-map "\eOB" [(down)]) ++;; ++ (define-key function-key-map "\e\eOD" [(meta left)]) ++ (define-key function-key-map "\e\eOC" [(meta right)]) ++ (define-key function-key-map "\e\eOA" [(meta up)]) ++ (define-key function-key-map "\e\eOB" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\eOD" [(control left)]) ++ (define-key function-key-map "\C-?\eOC" [(control right)]) ++ (define-key function-key-map "\C-?\eOA" [(control up)]) ++ (define-key function-key-map "\C-?\eOB" [(control down)]) ++ (define-key function-key-map "\eO5D" [(control left)]) ++ (define-key function-key-map "\eO5C" [(control right)]) ++ (define-key function-key-map "\eO5A" [(control up)]) ++ (define-key function-key-map "\eO5B" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von xterm.el +Index: xemacs-21.5.29/src/Makefile.in.in +=================================================================== +--- xemacs-21.5.29.orig/src/Makefile.in.in ++++ xemacs-21.5.29/src/Makefile.in.in +@@ -574,7 +574,7 @@ $(RAW_EXE): $(link_deps) $(DUMP_ID) + else \ + $(CC) -c $(cflags) -DMAX_SIZE=0 $(SRC)/dump-data.c ;\ + fi +- $(LD) $(start_flags) $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) dump-data.o $(LIBES) ++ $(LD) $(start_flags) -Wl,-rpath-link,/usr/X11R6/lib $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) dump-data.o $(LIBES) + #endif + + ## (3) Update the .elc's needed for dumping +@@ -604,7 +604,7 @@ $(LIB_SRC)/DOC: $(LIB_SRC)/make-docfile + $(TEMACS_BATCH) -l $(LISP)/make-docfile.el -- \ + -o $(LIB_SRC)/DOC -d $(SRC) -i $(LIB_SRC)/../site-packages \ + $(obj_src) $(mallocdocsrc) $(rallocdocsrc) \ +- $(extra_doc_files) ; fi ++ $(extra_doc_files) ${lispdir}disp-table.elc ; fi + + ## (5) Dump + +Index: xemacs-21.5.29/src/print.c +=================================================================== +--- xemacs-21.5.29.orig/src/print.c ++++ xemacs-21.5.29/src/print.c +@@ -1104,6 +1104,40 @@ float_to_string (char *buf, double data) + Ibyte *cp, c; + int width; + ++ /* Check for plus infinity in a way that won't lose ++ if there is no plus infinity. */ ++ if (data == data / 2 && data > 1.0) ++ { ++ strcpy (buf, "1.0e+INF"); ++ return; ++ } ++ /* Likewise for minus infinity. */ ++ if (data == data / 2 && data < -1.0) ++ { ++ strcpy (buf, "-1.0e+INF"); ++ return; ++ } ++ /* Check for NaN in a way that won't fail if there are no NaNs. */ ++ if (! (data * 0.0 >= 0.0)) ++ { ++ /* Prepend "-" if the NaN's sign bit is negative. ++ The sign bit of a double is the bit that is 1 in -0.0. */ ++ int i; ++ double zero = 0.0; ++ union { double d; char c[sizeof (double)]; } u_data, u_minus_zero; ++ u_data.d = data; ++ u_minus_zero.d = - zero; ++ for (i = 0; i < sizeof (double); i++) ++ if (u_data.c[i] & u_minus_zero.c[i]) ++ { ++ *buf++ = '-'; ++ break; ++ } ++ ++ strcpy (buf, "0.0e+NaN"); ++ return; ++ } ++ + if (NILP (Vfloat_output_format) + || !STRINGP (Vfloat_output_format)) + lose: +Index: xemacs-21.5.29/src/regex.c +=================================================================== +--- xemacs-21.5.29.orig/src/regex.c ++++ xemacs-21.5.29/src/regex.c +@@ -1154,6 +1154,9 @@ print_double_string (re_char *where, re_ + syntax, so it can be changed between regex compilations. */ + /* This has no initializer because initialized variables in Emacs + become read-only after dumping. */ ++#ifdef __linux__ /* libc and glibc including this */ ++extern ++#endif + reg_syntax_t re_syntax_options; + + +Index: xemacs-21.5.29/suse/README.SUSE +=================================================================== +--- /dev/null ++++ xemacs-21.5.29/suse/README.SUSE +@@ -0,0 +1,18 @@ ++ ++ XEmacs-21.5.34 ++ ++ * Sie finden eine Referenz-Karte im Verzeichnis etc/ ++ in der Datei refcard.ps, die Sie ausdrucken können. ++ ++ * Weitere Hilfe zum XEmacs findet sich ebenfalls unter etc/ ++ und natürlich auch Online im Editor selbst im Help-Menü. ++ ++--- ++ ++ * You find a reference card refcard.ps in the directory etc/ ++ which can be printed. ++ ++ * More help for XEmacs will can be found in etc/ and ++ clearly online in the menu help ++ ++ diff --git a/xemacs.png b/xemacs.png new file mode 100644 index 0000000..4f6e2f6 --- /dev/null +++ b/xemacs.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7b39100b15b0fea1e44c4980d9984f77e08407c733742e9b9ae10801c7ff911 +size 968 diff --git a/xemacs.spec b/xemacs.spec new file mode 100644 index 0000000..e92f844 --- /dev/null +++ b/xemacs.spec @@ -0,0 +1,639 @@ +# +# spec file for package xemacs +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: xemacs +# this is tricky to fix for PIE support. revisit to remove occasionaly after 21.5.34 version +#!BuildIgnore: gcc-PIE +#!BuildIgnore: diffstat +BuildRequires: alsa-lib-devel +BuildRequires: autoconf +BuildRequires: compface +BuildRequires: db-devel +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: gdbm-devel +BuildRequires: info +BuildRequires: krb5 +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: libtiff-devel +BuildRequires: makeinfo +BuildRequires: ncurses-devel +BuildRequires: openldap2-devel +BuildRequires: par +BuildRequires: texinfo +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xau) +BuildRequires: pkgconfig(xaw3d) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xmu) +BuildRequires: pkgconfig(xpm) +BuildRequires: pkgconfig(xt) + +%if 0%{?suse_version} > 1130 +BuildRequires: gpm-devel +%else +BuildRequires: gpm +%endif +%define _id 995257d0c590 +%define _hg hg%{_id} +Version: 21.5.34 +Release: 0 +Summary: XEmacs +License: GPL-3.0-or-later +Group: Productivity/Editors/Emacs +%define appdefdir /usr/share/X11 +%define xbindir /usr/bin +%define xincludes /usr/include +%define xlibraries /usr/%{_lib} +URL: http://www.xemacs.org +# Howto get the Mercurial tree of XEmacs: +# See: http://xemacs.digimirror.nl/Develop/hgaccess.html +# hg clone http://hg.debian.org/hg/xemacs/xemacs-beta +# +# delete the .hg directory before creating the tarball in order +# not to make the source rpm huge. +Source0: http://ftp.xemacs.org/pub/xemacs/xemacs-21.5/%{name}-%{version}.tar.gz +Source1: xe-list.el +Source2: fix-load-history.el +Source3: xemacs.desktop +Source4: xemacs.png +Source5: suse-xft-init.el +Source6: site-start.el +Source7: skel.init.el +Source90: xemacs-rpmlintrc +Patch0: xemacs.patch +# keep in sync with the similar patch to the app-defaults in the main xemacs-packages package: +Patch3: xemacs-app-defaults.patch +Patch18: xemacs-21.4.8-xevent.patch +Patch20: xemacs-21.4.13-ppc64.patch +Patch23: xemacs-ptmx.dif +Patch27: xemacs-level3.patch +Patch28: xemacs-21.5.18-movemail.patch +Patch32: do-not-create-backups-in-temp-directories.patch +Patch33: set-locale-to-c-when-not-supported-by-x.patch +Patch39: xemacs-tinfo.dif +Patch43: set-language-unicode-precedence-list.patch +Patch45: fix-defface-custom-modified-face.patch +Patch50: menus-always-utf8.patch +Patch51: bnc502716-fontmenu.patch +Patch52: bnc502716-xft.patch +Patch53: xemacs-21.5.31-array.patch +Patch54: xemacs-21.5.34-gcc5.patch +Patch56: xemacs-libpng15.patch +Patch292811: bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch +Patch301352: bugzilla-301352-fix-wrong-incrementing-in-macros.patch +# PATCH-FIX-UPSTREAM bsc#930170 +Patch57: xemacs-21.5.34-Xaw3D_I18N.patch +# PATCH-FIX-SUSE bsc#932321 +Patch58: xemacs-21.5.34-custom-fonts.patch +# PATCH-FIX-SUSE do wait on alsa +Patch59: xemacs-21.5.34-alsaplay.patch +# PATCH-FIX-SUSE avoid redefinition of sbrk +Patch60: xemacs-21.5.34-sbrk.patch +# PATCH-FIX-SUSE fix make build race +Patch61: xemacs-21.5.34-boo1115177.patch +Patch62: xemacs-libX11-boo1175028.patch +# PATCH-FIX-SUSE sys_siglist is deprecated +Patch63: xemacs-21.5.34-strsignal.patch +Patch64: xemacs-21.5.34-fix2038.patch +# PATCH-FIX-SUSE drop hostname+timestamp from .elc +Patch65: reproducible.patch +Requires(pre): permissions +Requires: ctags +Requires: efont-unicode +Requires: ifnteuro +Requires: xemacs-info +Requires: xemacs-packages +Requires: xorg-x11-fonts +Requires: xorg-x11-fonts-core +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Conflicts: gnuserv +%define _default_patch_fuzz 2 + +%bcond_with lock + +%description +This is the current version of XEmacs, formerly known as Lucid-Emacs. +It is related to other versions of Emacs, in particular GNU Emacs. Its +emphasis is on modern graphical user interface support and an open +software development model, similar to Linux. + +Lisp macros are not necessarily interchangeable between GNU-Emacs and +XEmacs. This is mainly important for translated .elc files and the key +macros. + +%package -n xemacs-el +Summary: Emacs-Lisp source files for XEmacs +Group: Productivity/Editors/Emacs +Requires: xemacs = %{version} +Requires: xemacs-packages-el +%if 0%{?suse_version} >= 1120 +BuildArch: noarch +%endif + +%description -n xemacs-el +Most Emacs-Lisp source files are not needed for running XEmacs. Most of +them are also available in byte compiled form and therefore not +necessary at runtime. The true XEmacs addict will install them +nevertheless because it is often useful and enlightening to have a look +at the Lisp sources. + +%package -n xemacs-info +Summary: Info Files for XEmacs +Group: Productivity/Editors/Emacs +Requires: xemacs-packages-info +%if 0%{?suse_version} >= 1120 +BuildArch: noarch +%endif + +%description -n xemacs-info +This package contains all info files for XEmacs. All these files can be +read online with XEmacs and describe XEmacs and some of its modes. + +%prep +%ifarch ia64 +# ia64 has different memory laylout then x86 or x86_64 have! +%global pdump_broken 1 +%endif +# Currently XEmacs is not fully usable for Xfreetype support +# therefore we use XFontSet support: +%{!?enable_xfs:%global enable_xfs 1} +%{!?pdump_broken:%global pdump_broken 0} +%{!?kkcc_broken:%global kkcc_broken 0} +%if ! %enable_xfs +echo Use xft, requires X11, Xft, Xrender, freetype, and fontconfig support. +%else +echo Use xfs, that is XFontSet support for internationalized menubar. +%endif +%setup -q +%patch -P 3 -p1 +%patch -P 18 -p0 -b .xevent +%patch -P 20 -p1 +%patch -P 23 -p1 +%patch -P 27 -p1 -b .lvl3 +%patch -P 28 -p1 -b .movemail +%patch -P 32 -p1 +%patch -P 33 -p1 +%patch -P 39 -p0 +%patch -P 43 -p1 +%patch -P 45 -p0 +%patch -P 50 -p1 +%if ! %enable_xfs +%patch -P 51 -p0 +%patch -P 52 -p0 +%endif +%patch -P 53 -p0 +%patch -P 54 -p0 +%patch -P 56 -p1 +%patch -P 292811 -p1 +%patch -P 301352 -p1 +%patch -P 57 -p0 +%patch -P 58 -p0 +%patch -P 59 -p1 +%patch -P 60 -p0 +%patch -P 61 -p0 +%patch -P 62 -p0 +%patch -P 63 -p0 +%patch -P 0 -p1 +find lisp/ etc/ -name '*.elc' | xargs -r rm -f +find . -name CVS -type d | xargs rm -rf +find . -name .cvsignore -type f | xargs rm -f +chmod -R u+w * +# Without making the timestamps equal here, some files will not be +# byte compiled: +find . | xargs touch -r . + +# make sure that the binaries work (pagesize on build must be the same as on target, bnc#726769) +%if 0%{?suse_version} >= 1110 +%ifarch ppc ppc64 ia64 +%if %(getconf PAGESIZE) != 65536 +%error "Error: wrong build host, PAGESIZE must be 65536" +exit 1 +%endif +%endif +%endif +%patch -P 64 -p1 +%patch -P 65 -p1 + +%build + cflags () + { + local flag=$1; shift + local var=$1; shift + test -n "${flag}" -a -n "${var}" || return + case "${!var}" in + *${flag}*) return + esac + set -o noclobber + case "$flag" in + -Wl,*) + if echo 'int main () { return 0; }' | \ + ${CC:-gcc} -Werror $flag -o /dev/null -xc ldtest.c > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + ;; + *) + if ${CC:-gcc} -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then + eval $var=\${$var:+\$$var\ }$flag + fi + esac + set +o noclobber + } + +# libtoolize --force +# autoreconf --force --install --verbose +# rm configure +autoconf --force +VERSION=%{version} + SHARE=/usr/share + LIB=/usr/lib + SYS=${RPM_ARCH}-suse-linux +%ifarch %ix86 + cflags -fprefetch-loop-arrays LOOP + cflags -funroll-loops LOOP +%endif + cflags -Wno-unused-but-set-variable RPM_OPT_FLAGS + cflags -Wno-unused-value RPM_OPT_FLAGS + cflags -Wno-switch RPM_OPT_FLAGS + cflags -fno-strict-aliasing RPM_OPT_FLAGS + INFO=${SHARE}/xemacs/info +LIBEXEC=${LIB}/xemacs/${VERSION} + ARCH=${LIBEXEC}/${SYS} + DATA=${SHARE} + LISP=${DATA}/xemacs/${VERSION}/lisp + ETC=${DATA}/xemacs/${VERSION}/etc + MOD=${ARCH}/modules + STATE=/var/lib/xemacs + MAN=/usr/share/man/man1 + CFLAGS="-Wall ${RPM_OPT_FLAGS} -pipe ${LOOP} -DLDAP_DEPRECATED " +%ifarch s390x + CFLAGS="$CFLAGS -O1" +%endif +# To to the menu translations, add: +# $CFLAGS="$CFLAGS -DPRINT_XLWMENU_RESOURCE_CONVERSIONS " +# this prints the Xresources used for the Menus to stdout +# when the Menus are used. +# +# Maybe there are emacs and xemacs on the +# same system, therefore put binaries into /usr/X11R6/bin +# +PREFIX="--prefix=/usr \ + --exec-prefix=/usr \ + --bindir=%{xbindir} \ + --datadir=${SHARE} \ + --with-archlibdir=${ARCH} \ + --with-docdir=${ARCH} \ + --with-lispdir=${LISP} \ + --with-etcdir=${ETC} \ + --with-statedir=${STATE} \ + --with-moduledir=${MOD} \ + --infodir=${INFO} \ + --mandir=${MAN} \ +" +# +# --with-sound=both requires NAS (Network Audio System) +# +# --with-socks and --with-term needs some nonexisting libs +# (maybe included in {g}libc) +# --with-tooltalk needs tt_c.h +# --with-canna needs X11 canna support +# --with-wnn needs X11 wnn support +# +# We need site-lisp because the long time (x)emacs users +# expect something like this. +# +# --with-system-malloc only for libc.5.4.3x and higher +# +# when using "--rel-alloc, XEmacs 21.5.18 crashes often when using +# 'compile-goto-error'. +SPECIAL="--with-database=berkdb,gdbm \ + --with-ncurses \ + --with-tty=yes \ + --with-site-lisp \ +%if %kkcc_broken + --disable-kkcc \ +%endif +%if 0%{?suse_version} > 1320 + --with-system-malloc \ +%endif +%ifnarch s390 + --enable-sound=native \ + --with-gpm \ +%else + --with-sound=nonative,alsa \ +%endif +%if %pdump_broken + --without-pdump \ +%endif +" +# +# * --with-xfs Compile with XFontSet support for bilingual menubar. +# Can't use this option with --with-xim=motif or xlib. +# And should have --with-menubars=lucid. +# (this is necessary to get German, French, Japanese +# and Romanian texts in the menus. +# +FONTS="\ +%if %enable_xfs + --with-xfs \ +%else + --with-xft=all \ +%endif +" +# +# Graphics and X window system +# * --with-cde needs Motif +# +X11="--with-xpm \ + --with-gif \ + --with-tiff \ + --with-jpeg \ + --with-png \ + --with-x \ + --with-athena=3d \ + --with-menubars=lucid \ + --with-widgets=athena \ + --with-dialogs=athena \ + --with-scrollbars=lucid \ + --x-includes=%{xincludes} \ + --x-libraries=%{xlibraries} \ + --with-xim=xlib \ +" +# +# Mail +# * --mail-locking should be self detected +# * --with-xface requires compface library +# +MAIL="--enable-clash-detection \ + --with-ldap \ + --with-pop +" +# +# Mule +# +MULE="--with-mule" +# +# Compilation +# +COMP="--with-gcc \ + --with-dynamic \ + --with-debug \ + --enable-error-checking=none \ + --with-cflags=\"${CFLAGS}\" \ +" +eval ./configure $SYS $COMP $PREFIX $SPECIAL $X11 $MULE $FONTS $MAIL +if grep -q _DEFAULT_SOURCE /usr/include/features.h ; then + sed -ri '/^(#[[:blank:]]*define[[:blank:]]+_(BSD|SVID)_SOURCE)/{ + s/_BSD_SOURCE/_DEFAULT_SOURCE/ + s/_SVID_SOURCE/_DEFAULT_SOURCE/ + }' src/config.h +fi +make %{?_smp_mflags} + +%install +set +o posix +# +mkdir -p %{buildroot}%{_datadir}/xemacs/site-lisp/lisp +mkdir -p %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term +%if %{with lock} +mkdir -p %{buildroot}%{_localstatedir}/lib/xemacs/lock +chmod 1777 %{buildroot}%{_localstatedir}/lib/xemacs/lock +%endif +make install DESTDIR=%{buildroot} +mv %{buildroot}%{xbindir}/xemacs-21.?-??? %{buildroot}%{xbindir}/xemacs +# fix up the load-history to make it possible to use find-function +# on functions which are in dumped lisp files, even if XEmacs was not +# dumped at the place where it is finally running. +# +# Suggested by Jeff Mincy , see: +# +# http://list-archive.xemacs.org/xemacs-design/200204/msg00365.html +# +# Test whether this works by evaluating (find-function 'next-line) +# +install -m 644 %{_sourcedir}/fix-load-history.el \ + %{buildroot}%{_datadir}/xemacs/site-packages/lisp/ +rm -rf %{buildroot}%{_datadir}/xemacs/%{version}/src/ +rm -rf %{buildroot}%{_datadir}/xemacs/%{version}/lib-src/ +rm -f %{buildroot}%{_datadir}/xemacs/%{version}/Installation +###################################################################### +test -L %{buildroot}%{xbindir}/xemacs && \ + rm %{buildroot}%{xbindir}/xemacs +ver=%{version} +test -x %{buildroot}%{xbindir}/xemacs-${ver%%.*}-b${ver##*.} && \ + mv %{buildroot}%{xbindir}/xemacs-${ver%%.*}-b${ver##*.} %{buildroot}%{xbindir}/xemacs +chmod 755 %{buildroot}%{xbindir}/xemacs +rm -f %{buildroot}%{xbindir}/xemacs-script +rm -rf %{buildroot}%{_datadir}/xemacs/%{version}/etc/tests +for f in %{buildroot}%{_prefix}/man/man1/*.1 \ + %{buildroot}%{_mandir}/man1/*.1 \ + %{buildroot}%{_datadir}/xemacs/info/*info* \ + %{buildroot}%{_datadir}/xemacs/%{version}/etc/*.1 \ + %{buildroot}%{_datadir}/xemacs/%{version}/etc/mule/*.1 +do + test "${f##*.}" = "gz" && continue + test -e $f || continue + gzip -9nf $f +done +find %{buildroot}%{_datadir}/xemacs/%{version}/ -name '*.orig' | xargs -r rm -f +find %{buildroot}%{_datadir}/xemacs/%{version}/ -name '*.el.ediff' | xargs -r rm -f +find %{buildroot}%{_datadir}/xemacs/%{version}/ -name '*.el.vm' | xargs -r rm -f +# ctags and etags are part of the ctags package +# b2m and rcs-checkin are in the emacs package. +# As all binaries are in /usr/bin/ with X11R7, xemacs would conflict +# with emacs if xemacs packaged b2m and rcs-checkin as well. +# Therefore we remove them from the xemacs package here. +# They are rarely needed anyway. +rm -f %{buildroot}%{xbindir}/ctags \ + %{buildroot}%{xbindir}/etags \ + %{buildroot}%{xbindir}/b2m \ + %{buildroot}%{xbindir}/rcs-checkin \ + %{buildroot}%{_mandir}/man1/ctags.1.gz \ + %{buildroot}%{_mandir}/man1/etags.1.gz \ + %{buildroot}%{_datadir}/xemacs/%{version}/etc/ctags.1.gz \ + %{buildroot}%{_datadir}/xemacs/%{version}/etc/etags.1.gz +# Some .elc's are not needed: +find %{buildroot}%{_datadir}/xemacs/ -name '_pkg.elc' | xargs -r rm -f +find %{buildroot}%{_datadir}/xemacs/ -name 'auto-autoloads.el?' | xargs -r rm -f +find %{buildroot}%{_prefix}/lib/xemacs/ -name 'auto-autoloads.el?' | xargs -r rm -f +rm -f %{buildroot}%{_datadir}/xemacs/%{version}/lisp/default.elc +rm -f %{buildroot}%{_datadir}/xemacs/%{version}/lisp/vm/vm.elc +#if test -e /usr/share/xemacs/%{version}/lisp/xpm-button.el -a \ +# -e /usr/share/xemacs/%{version}/lisp/xemacs-base/xpm-button.el +#then +# rm -f /usr/share/xemacs/%{version}/lisp/xpm-button.el +# rm -f /usr/share/xemacs/%{version}/lisp/xpm-button.elc +#fi +# no .origs +rm -f %{buildroot}%{_datadir}/xemacs/info/xemacs-faq.info.orig* +# +# Make TUTORIAL's visible +for t in %{buildroot}%{_datadir}/xemacs/%{version}/etc/mule/TUTORIAL.* ; do + test -e $t || break + test -e %{buildroot}%{_datadir}/xemacs/%{version}/etc/${t##*/} && rm -f $t + test -e $t && mv $t %{buildroot}%{_datadir}/xemacs/%{version}/etc/${t##*/} +done +# install the standard app-defaults file used for all languages +# which don't have their own app-defaults file above: +mkdir -p %{buildroot}%{appdefdir}/app-defaults/ +install -m 644 etc/Emacs.ad %{buildroot}%{appdefdir}/app-defaults/XEmacs +# SuSE extension +install -m 0644 %{_sourcedir}/site-start.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/ +install -m 0644 %{_sourcedir}/suse-xft-init.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/ +install -m 0644 site-packages/lisp/term/func-keys.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/linux.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/xterm.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/gnome.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/kvt.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/ +./src/xemacs -batch -no-site-file -vanilla -f batch-byte-compile %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/*.el +mkdir -p %{buildroot}/%{_docdir}/xemacs +install -m 0644 suse/README.SUSE %{buildroot}/%{_docdir}/xemacs/README.SUSE +ln -sf /usr/share/xemacs/%{version}/etc %{buildroot}/%{_docdir}/xemacs/etc +mkdir -p %{buildroot}%{_sysconfdir}/skel/.xemacs +install -m 0644 %{_sourcedir}/skel.init.el %{buildroot}%{_sysconfdir}/skel/.xemacs/init.el +%fdupes -s %{buildroot}%{_datadir} +# +# replace buildroot in comments in .elc files by spaces with the same total length: +REPLACEMENT=$(echo %{buildroot} | tr '[:print:]' ' ') +for i in $(find %{buildroot} -name "*.elc") +do + perl -pi -e "s|(;;; from file )%{buildroot}(/usr/share/xemacs/.*)|\1$REPLACEMENT\2|" $i +done +# +# gzip .el files: (doesn't completely work for me yet -> later) +#for i in $(find %{buildroot} -name "*.el") +#do +# gzip --best $i +#done +# +( find %{buildroot} \ + \( \( \( -not -type d \) -a \( -not -type l \) \) -printf '%%p\n' \) -o \ + \( -type d -printf '%%p/\n' \) -o \( -type l -printf '%%p\n' \) ; \ + find %{buildroot}%{_datadir}/xemacs/ %{buildroot}%{_prefix}/lib/xemacs/ -type f -o -type l ) | \ + grep -v "/usr/share/xemacs/%{version}/etc" | \ + sort -t /| uniq | perl -p -e "s|%{buildroot}||" > xe-list +./src/xemacs -batch -no-site-file -l %{_sourcedir}/xe-list.el -f xe-list-generate-list-files +cat xe-list-el-without-elc xe-list-elc-without-el xe-list-elc-with-el \ + >> xe-list-el-without-elc_xe-list-elc-without-el_xe-list-elc-with-el +## +# install desktop file +%suse_update_desktop_file -i xemacs TextEditor Utility +## +# do no include header files because RPMLINT complains about header files in non-devel +# packages: +rm -rf %{buildroot}%{_prefix}/lib/xemacs/%{version}/*-suse-linux/include/ + +%if %{with lock} +%if %{defined verify_permissions} +%verifyscript +%verify_permissions -e /var/lib/xemacs/lock +%endif + +%if %{defined set_permissions} + +%post +%set_permissions /var/lib/xemacs/lock +%endif +%endif + +%files -f xe-list-el-without-elc_xe-list-elc-without-el_xe-list-elc-with-el +%defattr(-,root,root) +%dir %{_sysconfdir}/skel/.xemacs +%config %{_sysconfdir}/skel/.xemacs/init.el +%{_datadir}/applications/xemacs.desktop +%{_datadir}/pixmaps/xemacs.png +%{xbindir}/ellcc +%{xbindir}/gnuattach +%{xbindir}/gnuclient +%{xbindir}/gnudoit +%{xbindir}/ootags +%verify(not mode) %{xbindir}/xemacs +%if %pdump_broken +%{xbindir}/xemacs*.dmp +%endif +%{appdefdir}/app-defaults/XEmacs +%dir %{_prefix}/lib/xemacs +%dir %{_prefix}/lib/xemacs/%{version} +%dir %{_prefix}/lib/xemacs/%{version}/*-suse-linux/ +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/DOC +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/add-big-package.sh +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/config.values +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/cvtmail +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/digest-doc +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/fakemail +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/gnuserv +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/gzip-el.sh +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/hexl +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/make-docfile +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/mmencode +%dir %{_prefix}/lib/xemacs/%{version}/*-suse-linux/modules/ +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/modules/*.ell +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/movemail +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/profile +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/rcs2log +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/sorted-doc +%{_prefix}/lib/xemacs/%{version}/*-suse-linux/vcdiff +%dir %{_prefix}/lib/xemacs/site-modules/ +%dir %{_docdir}/xemacs/ +%doc %{_docdir}/xemacs/README.SUSE +%{_docdir}/xemacs/etc +%doc %{_mandir}/man1/gnuattach.1.gz +%doc %{_mandir}/man1/gnuclient.1.gz +%doc %{_mandir}/man1/gnudoit.1.gz +%doc %{_mandir}/man1/gnuserv.1.gz +%doc %{_mandir}/man1/xemacs.1.gz +%dir %{_datadir}/xemacs/ +%dir %{_datadir}/xemacs/%{version}/ +%dir %{_datadir}/xemacs/%{version}/etc/ +%{_datadir}/xemacs/%{version}/etc/* +%dir %{_datadir}/xemacs/%{version}/lisp/ +%doc %{_datadir}/xemacs/%{version}/lisp/ChangeLog* +%doc %{_datadir}/xemacs/%{version}/lisp/README +%dir %{_datadir}/xemacs/%{version}/lisp/mule/ +%doc %{_datadir}/xemacs/%{version}/lisp/mule/mule-locale.txt +%dir %{_datadir}/xemacs/%{version}/lisp/term +%doc %{_datadir}/xemacs/%{version}/lisp/term/README +%dir %{_datadir}/xemacs/site-packages/ +%dir %{_datadir}/xemacs/site-packages/lisp/ +%dir %{_datadir}/xemacs/site-packages/lisp/term/ +%dir %{_datadir}/xemacs/site-lisp/ +%dir %{_datadir}/xemacs/site-lisp/lisp/ +%if %{with lock} +%dir %{_localstatedir}/lib/xemacs/ +%dir %verify(not mode group) %attr(1775,root,trusted) /var/lib/xemacs/lock +%endif + +%files -n xemacs-info +%defattr(-,root,root) +%dir %{_datadir}/xemacs/ +%dir %{_datadir}/xemacs/info/ +%doc %{_datadir}/xemacs/info/* + +%files -n xemacs-el -f xe-list-el-with-elc +%defattr(-,root,root) +%dir %{_datadir}/xemacs/ +%dir %{_datadir}/xemacs/%{version}/lisp/ +%dir %{_datadir}/xemacs/%{version}/lisp/mule/ +%dir %{_datadir}/xemacs/%{version}/lisp/term/ +%dir %{_datadir}/xemacs/site-packages/ +%dir %{_datadir}/xemacs/site-packages/lisp/ +%dir %{_datadir}/xemacs/site-packages/lisp/term/ + +%changelog diff --git a/xemacs.test b/xemacs.test new file mode 100644 index 0000000..fd8925d --- /dev/null +++ b/xemacs.test @@ -0,0 +1,31 @@ + Testform fr xemacs + =================== + +08.09.2000: Version 21.1.12 +Maintainer: werner + +Vorraussetzungen: +================= + +X _und_ libz, libjpeg, libpng, libgbdm, libdb, libtiff sollten installiert sein. + +Starten: +======== + + xemacs + xemacs -nw + xemacs -q -vanilla + xemacs -nw -q -vanilla + als Editor von mailx/elm/pine ... + + + Testen mit verschiedensten File-Typen (*.tex, man-pages. + *.html, info-mode, gnus, rmail, ...) + + Testen von pop-mail (?) + + +Ergebnisse: +=========== + +Hngt von der gewhlten mode ab.