forked from pool/xemacs
- Drop dependency on fwnndev: fwnn is dead and unmaintained.
OBS-URL: https://build.opensuse.org/package/show/M17N/xemacs?expand=0&rev=120
This commit is contained in:
commit
2804065d97
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
52
bnc502716-fontmenu.patch
Normal file
52
bnc502716-fontmenu.patch
Normal file
@ -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)
|
66
bnc502716-xft.patch
Normal file
66
bnc502716-xft.patch
Normal file
@ -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."
|
22
bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch
Normal file
22
bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch
Normal file
@ -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)
|
40
bugzilla-301352-fix-wrong-incrementing-in-macros.patch
Normal file
40
bugzilla-301352-fix-wrong-incrementing-in-macros.patch
Normal file
@ -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)
|
||||
{
|
20
check-build.sh
Normal file
20
check-build.sh
Normal file
@ -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
|
||||
|
15
do-not-create-backups-in-temp-directories.patch
Normal file
15
do-not-create-backups-in-temp-directories.patch
Normal file
@ -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))
|
13
fix-defface-custom-modified-face.patch
Normal file
13
fix-defface-custom-modified-face.patch
Normal file
@ -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)
|
||||
|
29
fix-load-history.el
Normal file
29
fix-load-history.el
Normal file
@ -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 <jeff@delphioutpost.com>, 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)))))))
|
||||
|
108
menus-always-utf8.patch
Normal file
108
menus-always-utf8.patch
Normal file
@ -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 */
|
23
reproducible.patch
Normal file
23
reproducible.patch
Normal file
@ -0,0 +1,23 @@
|
||||
Date: 2017-08-16
|
||||
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||
|
||||
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
|
87
set-language-unicode-precedence-list.patch
Normal file
87
set-language-unicode-precedence-list.patch
Normal file
@ -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
|
17
set-locale-to-c-when-not-supported-by-x.patch
Normal file
17
set-locale-to-c-when-not-supported-by-x.patch
Normal file
@ -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;
|
454
site-start.el
Normal file
454
site-start.el
Normal file
@ -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 <werner@suse.de>, 1999
|
||||
;;; Mike Fabian <mfabian@suse.de>, 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 <mike.fabian@gmx.de>
|
||||
|
||||
;; (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
|
37
skel.init.el
Normal file
37
skel.init.el
Normal file
@ -0,0 +1,37 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; File name: ` ~/.xemacs/init.el '
|
||||
;;; ---------------------
|
||||
;;;
|
||||
;;; Copyright (c) 2002,2015 SuSE Gmbh Nuernberg, Germany.
|
||||
;;;
|
||||
;;; Author: Werner Fink, <feedback@suse.de> 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/")
|
||||
;;;
|
122
suse-xft-init.el
Normal file
122
suse-xft-init.el
Normal file
@ -0,0 +1,122 @@
|
||||
;;; -*- mode: emacs-lisp -*-
|
||||
|
||||
;;; Fri Jul 13 20:43:53 2007 Mike FABIAN <mfabian@suse.de>
|
||||
|
||||
(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)
|
||||
|
||||
|
||||
|
60
xe-list.el
Normal file
60
xe-list.el
Normal file
@ -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"))))
|
||||
|
110
xemacs-21.4.13-ppc64.patch
Normal file
110
xemacs-21.4.13-ppc64.patch
Normal file
@ -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;
|
18
xemacs-21.4.8-xevent.patch
Normal file
18
xemacs-21.4.8-xevent.patch
Normal file
@ -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;
|
||||
}
|
72
xemacs-21.5.18-movemail.patch
Normal file
72
xemacs-21.5.18-movemail.patch
Normal file
@ -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;
|
||||
}
|
||||
|
16
xemacs-21.5.31-array.patch
Normal file
16
xemacs-21.5.31-array.patch
Normal file
@ -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
|
167
xemacs-21.5.34-Xaw3D_I18N.patch
Normal file
167
xemacs-21.5.34-Xaw3D_I18N.patch
Normal file
@ -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 <stdlib.h>
|
||||
+ #include <string.h>
|
||||
+ #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 <stdlib.h>
|
||||
+ #include <string.h>
|
||||
+ #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 <stephen@xemacs.org>
|
||||
+
|
||||
+ 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 <stephen@xemacs.org>
|
||||
|
||||
* 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 <http://
|
||||
|
||||
/* Original author: Stephen J. Turnbull for 21.5.29 */
|
||||
|
||||
+/* #### Factor out into xaw-wrappers (which would #include this file)? */
|
||||
+#ifdef HAVE_ATHENA_I18N
|
||||
+#define XAW_INTERNATIONALIZATION 1
|
||||
+#endif
|
||||
+
|
||||
/* Generic utility macros, including coping with G++ whining.
|
||||
Used in lwlib via lwlib.h and X consoles via console-x.h.
|
||||
|
||||
--- src/config.h.in
|
||||
+++ src/config.h.in 2015-05-12 00:00:00.000000000 +0000
|
||||
@@ -860,6 +860,7 @@ things are arranged in config.h.in. In
|
||||
#undef LWLIB_WIDGETS_MOTIF
|
||||
#undef LWLIB_WIDGETS_ATHENA
|
||||
#undef HAVE_ATHENA_3D
|
||||
+#undef HAVE_ATHENA_I18N
|
||||
|
||||
/* Other things that can be disabled by configure. */
|
||||
#undef HAVE_MENUBARS
|
13
xemacs-21.5.34-alsaplay.patch
Normal file
13
xemacs-21.5.34-alsaplay.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- xemacs-21.5.34/src/alsaplay.c
|
||||
+++ xemacs-21.5.34/src/alsaplay.c
|
||||
@@ -375,6 +375,10 @@ alsa_play_sound_data (const Binbyte *dat
|
||||
if ((err = snd_pcm_writei (pcm_handle, data, length)) < 0)
|
||||
goto error_mixer;
|
||||
|
||||
+ /* Wait for it to finish */
|
||||
+ if ((err = snd_pcm_drain (pcm_handle)) < 0)
|
||||
+ goto error_mixer;
|
||||
+
|
||||
/* Put the volume back the way it used to be */
|
||||
reset_volume (&mix);
|
||||
|
25
xemacs-21.5.34-boo1115177.patch
Normal file
25
xemacs-21.5.34-boo1115177.patch
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
src/Makefile.in.in | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
--- src/Makefile.in.in
|
||||
+++ src/Makefile.in.in 2018-11-08 15:47:11.423581279 +0000
|
||||
@@ -537,6 +537,9 @@ link_deps = $(start_files) $(objs) $(oth
|
||||
$(LIB_SRC)/make-dump-id:
|
||||
cd $(LIB_SRC) && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-dump-id
|
||||
|
||||
+$(LIB_SRC)/insert-data-in-exec:
|
||||
+ cd $(LIB_SRC) && $(MAKE) $(RECURSIVE_MAKE_ARGS) insert-data-in-exec
|
||||
+
|
||||
dump-id.c: $(LIB_SRC)/make-dump-id $(link_deps)
|
||||
$(LIB_SRC)/make-dump-id
|
||||
|
||||
@@ -586,7 +589,7 @@ $(LIB_SRC)/DOC: $(LIB_SRC)/make-docfile
|
||||
|
||||
## (5) Dump
|
||||
|
||||
-$(DUMP_TARGET): $(RAW_EXE) $(BLDSRC)/NEEDTODUMP $(LIB_SRC)/DOC
|
||||
+$(DUMP_TARGET): $(RAW_EXE) $(BLDSRC)/NEEDTODUMP $(LIB_SRC)/DOC $(LIB_SRC)/insert-data-in-exec
|
||||
#ifdef HEAP_IN_DATA
|
||||
@$(RM) $@ && touch SATISFIED
|
||||
$(dump_temacs)
|
38
xemacs-21.5.34-custom-fonts.patch
Normal file
38
xemacs-21.5.34-custom-fonts.patch
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
lisp/cus-face.el | 6 +++++-
|
||||
lisp/startup.el | 2 +-
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
--- lisp/cus-face.el
|
||||
+++ lisp/cus-face.el 2015-07-10 10:52:20.177518702 +0000
|
||||
@@ -42,6 +42,9 @@
|
||||
(eval-when-compile
|
||||
(require 'font))
|
||||
|
||||
+;; Simply to apply any custom faces
|
||||
+(autoload 'initialize-custom-faces "faces")
|
||||
+
|
||||
;;; Declaring a face.
|
||||
|
||||
;;;###autoload
|
||||
@@ -336,7 +339,8 @@ and non-nil, FACE will also be created a
|
||||
COMMENT is a string comment about FACE.
|
||||
|
||||
See `defface' for the format of SPEC."
|
||||
- (apply #'custom-theme-set-faces 'user args))
|
||||
+ (apply #'custom-theme-set-faces 'user args)
|
||||
+ (initialize-custom-faces))
|
||||
|
||||
;;;###autoload
|
||||
(defun custom-theme-set-faces (theme &rest args)
|
||||
--- lisp/startup.el
|
||||
+++ lisp/startup.el 2015-07-13 11:14:12.609518333 +0000
|
||||
@@ -1101,7 +1101,7 @@ exact problem."
|
||||
Currently this does nothing but call `load', but it might be redefined
|
||||
in the future to support automatically converting older options files to
|
||||
a new format, when variables have changed, etc."
|
||||
- (load filename))
|
||||
+ (load filename t))
|
||||
|
||||
(defun command-line-1 ()
|
||||
(cond
|
20
xemacs-21.5.34-fix2038.patch
Normal file
20
xemacs-21.5.34-fix2038.patch
Normal file
@ -0,0 +1,20 @@
|
||||
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||
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;
|
25
xemacs-21.5.34-gcc5.patch
Normal file
25
xemacs-21.5.34-gcc5.patch
Normal file
@ -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
|
21
xemacs-21.5.34-sbrk.patch
Normal file
21
xemacs-21.5.34-sbrk.patch
Normal file
@ -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 <malloc.h>
|
||||
#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
|
15
xemacs-21.5.34-strsignal.patch
Normal file
15
xemacs-21.5.34-strsignal.patch
Normal file
@ -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");
|
||||
}
|
3
xemacs-21.5.34.tar.gz
Normal file
3
xemacs-21.5.34.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:33cc54a6a9a45224a64b6c57c8138b5a5f0f1be368951a6d9ec8c0aec5993ee5
|
||||
size 15816932
|
132
xemacs-app-defaults.patch
Normal file
132
xemacs-app-defaults.patch
Normal file
@ -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.
|
||||
! =======================
|
76
xemacs-level3.patch
Normal file
76
xemacs-level3.patch
Normal file
@ -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 <X11/keysym.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
|
||||
#endif /* INCLUDED_xintrinsic_h_ */
|
15
xemacs-libX11-boo1175028.patch
Normal file
15
xemacs-libX11-boo1175028.patch
Normal file
@ -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;
|
||||
}
|
14
xemacs-libpng15.patch
Normal file
14
xemacs-libpng15.patch
Normal file
@ -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 */
|
31
xemacs-ptmx.dif
Normal file
31
xemacs-ptmx.dif
Normal file
@ -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;
|
1
xemacs-rpmlintrc
Normal file
1
xemacs-rpmlintrc
Normal file
@ -0,0 +1 @@
|
||||
addFilter(".*zero-length.*dump-paths\.el.*")
|
47
xemacs-tinfo.dif
Normal file
47
xemacs-tinfo.dif
Normal file
@ -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
|
1858
xemacs.changes
Normal file
1858
xemacs.changes
Normal file
File diff suppressed because it is too large
Load Diff
11
xemacs.desktop
Normal file
11
xemacs.desktop
Normal file
@ -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
|
907
xemacs.patch
Normal file
907
xemacs.patch
Normal file
@ -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 <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
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 <werner@suse.de>
|
||||
+;; 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
|
||||
+;; <werner@suse.de> 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 <werner@suse.de>, 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 <werner@suse.de>, 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 <werner@suse.de>, 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 <werner@suse.de>, 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 <werner@suse.de>, 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
|
||||
+
|
||||
+
|
3
xemacs.png
Normal file
3
xemacs.png
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b7b39100b15b0fea1e44c4980d9984f77e08407c733742e9b9ae10801c7ff911
|
||||
size 968
|
639
xemacs.spec
Normal file
639
xemacs.spec
Normal file
@ -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 <jeff@delphioutpost.com>, 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
|
31
xemacs.test
Normal file
31
xemacs.test
Normal file
@ -0,0 +1,31 @@
|
||||
Testform für 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:
|
||||
===========
|
||||
|
||||
Hängt von der gewählten mode ab.
|
Loading…
Reference in New Issue
Block a user