Compare commits

..

No commits in common. "rawhide" and "f29" have entirely different histories.

20 changed files with 1559 additions and 1 deletions

6
.gitignore vendored Normal file
View file

@ -0,0 +1,6 @@
/xemacs-20170114hgd0e8ec0fe015.tar.xz
/xemacs-20170124hgf412e9f093d4.tar.xz
/xemacs-20170628hg97140cfdeca7.tar.xz
/xemacs-20171125hg700dd03e6a31.tar.xz
/xemacs-20171227hg27f66ce6ab71.tar.xz
/xemacs-20171230hg92757c2b8239.tar.xz

View file

@ -1 +0,0 @@
Unmaintained upstream

28
default.el Normal file
View file

@ -0,0 +1,28 @@
;;; default.el - loaded at startup after "~/.xemacs/init.el" by default
;;;
;;; Setting `inhibit-default-init' to non-nil in "~/.xemacs/init.el"
;;; prevents loading of this file. The "-q" option to xemacs
;;; prevents "~/.xemacs/init.el" *and* this file from being loaded
;;; at startup.
;; enable wheel mouse support by default
(when window-system
(mwheel-install))
;; make gnus save articles be mbox format not rmail format
(defvar gnus-default-article-saver 'gnus-summary-save-in-file)
;; use terminfo by default
(defvar system-uses-terminfo t)
;; turn on syntax highlighting by default if lazy-lock is available
(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))

4
dotxemacs-init.el Normal file
View file

@ -0,0 +1,4 @@
;;; ~/.xemacs/init.el
;;; uncomment this line to disable loading of "default.el" at startup
;(setq inhibit-default-init t)

11
gnuclient.desktop Normal file
View file

@ -0,0 +1,11 @@
[Desktop Entry]
Name=Gnuclient
GenericName=Text Editor
Comment=Edit text
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=gnuclient %f
Icon=xemacs
Type=Application
Terminal=false
Categories=Application;Utility;TextEditor;
StartupWMClass=XEmacs

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (xemacs-20171230hg92757c2b8239.tar.xz) = 280f83e8b9ab184801351ccf8987034e81dabdef439ffabf87477e47e2685a8c3b277ba6d8d781e9e2dd8657a7f25b5485e1efc3ecaf9fbc69eb48f89be6dd5e

View file

@ -0,0 +1,11 @@
--- Makefile.in.in.orig 2017-04-18 09:36:15.000000000 -0600
+++ Makefile.in.in 2017-04-18 09:38:44.769709731 -0600
@@ -402,7 +402,7 @@ etc/PROBLEMS: $(srcdir)/PROBLEMS
install-only: ${MAKE_SUBDIR} check-features install-arch-dep install-arch-indep
-install: all check-features install-arch-dep install-arch-indep
+install: all install-arch-dep install-arch-indep
install-arch-dep: mkdir
for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \

View file

@ -0,0 +1,61 @@
--- src/mule-wnnfns.c.orig 2011-04-29 07:31:16.000000000 -0600
+++ src/mule-wnnfns.c 2011-05-03 14:00:02.625969757 -0600
@@ -316,7 +316,7 @@
Lisp_Object Qwnn_jisho, Qwnn_sbn, Qwnn_dbn_len, Qwnn_sbn_cnt, Qwnn_suuji;
Lisp_Object Qwnn_kana, Qwnn_eisuu, Qwnn_kigou, Qwnn_toji_kakko, Qwnn_fuzokogo, Qwnn_kaikakko;
Lisp_Object Vwnn_server_type;
-Lisp_Object Vcwnn_zhuyin;
+//Lisp_Object Vcwnn_zhuyin;
Lisp_Object Vwnnenv_sticky;
Lisp_Object Vwnn_uniq_level;
Lisp_Object Qchinese_sisheng;
@@ -1914,9 +1914,11 @@
DEFVAR_LISP ("wnn-server-type", &Vwnn_server_type /*
*jserver, cserver ..
*/ );
- DEFVAR_LISP ("cwnn-zhuyin", &Vcwnn_zhuyin /*
+#if 0
+ DEFVAR_LISP ("cwnn-zhuyin", &Vcwnn_zhuyin /*
*pinyin or zhuyin
*/ );
+#endif
DEFVAR_LISP ("wnnenv-sticky", &Vwnnenv_sticky /*
*If non-nil, make environment sticky
*/ );
@@ -1925,7 +1927,7 @@
*/ );
Vwnn_server_type = Qjserver;
- Vcwnn_zhuyin = Qnil;
+ //Vcwnn_zhuyin = Qnil;
Vwnnenv_sticky = Qnil;
DEFSYMBOL (Qchinese_sisheng);
@@ -1952,10 +1954,14 @@
case 0x80:
if (EQ(Vwnn_server_type, Qcserver))
{
+#if 0
len = cwnn_yincod_pzy (pzy, wc,
NILP (Vcwnn_zhuyin)
? CWNN_PINYIN
: CWNN_ZHUYIN);
+#else
+ len = 0;
+#endif
for (i = 0; i < len; i++)
{
if (pzy[i] & 0x80)
@@ -2055,8 +2061,12 @@
else *pin = *w;
w++; pin++;
}
+#if 0
len = cwnn_pzy_yincod (ybuf, pbuf,
NILP (Vcwnn_zhuyin) ? CWNN_PINYIN : CWNN_ZHUYIN);
+#else
+ return;
+#endif
if (len <= 0)
return;

View file

@ -0,0 +1,28 @@
--- aclocal.m4.orig 2017-12-27 09:57:56.000000000 -0700
+++ aclocal.m4 2017-12-27 09:59:53.773320170 -0700
@@ -533,7 +533,10 @@ if test "$xe_gnu_ld" = yes -a "$ld_shlib
;;
*)
- ld_dynamic_link_flags="${wl}-export-dynamic"
+ # avoid -export-dynamic on ia64
+ if test "$xehost_cpu" != "ia64"; then
+ ld_dynamic_link_flags="${wl}-export-dynamic"
+ fi
;;
esac
fi
--- configure.orig 2017-12-27 09:57:56.000000000 -0700
+++ configure 2017-12-27 09:59:53.778320152 -0700
@@ -15058,7 +15058,10 @@ if test "$xe_gnu_ld" = yes -a "$ld_shlib
;;
*)
- ld_dynamic_link_flags="${wl}-export-dynamic"
+ # avoid -export-dynamic on ia64
+ if test "$xehost_cpu" != "ia64"; then
+ ld_dynamic_link_flags="${wl}-export-dynamic"
+ fi
;;
esac
fi

View file

@ -0,0 +1,11 @@
--- src/faces.c.orig 2017-12-27 10:00:10.468259293 -0700
+++ src/faces.c 2017-12-27 10:01:24.744988448 -0700
@@ -2524,7 +2524,7 @@ complex_vars_of_faces (void)
Fcons
(Fcons
(list1 (device_symbol),
- build_ascstring ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-m-*-*-*")),
+ build_ascstring ("-*-courier-medium-r-*-*-*-120-*-*-m-*-*-*")),
inst_list);
#endif /* HAVE_GTK */
#endif /* !HAVE_XFT */

View file

@ -0,0 +1,11 @@
--- ./lisp/x-init.el.orig 2012-08-02 12:38:28.000000000 -0600
+++ ./lisp/x-init.el 2012-08-06 20:31:09.330411828 -0600
@@ -154,7 +154,7 @@ it was previously unaware of, the predic
(string-equal "X Consortium" vendor))
;; Ok, we think this could be a Sun keyboard. Run the Sun code.
(x-win-init-sun device))
- ((string-match #r"XFree86\|Cygwin/X\|The X\.Org Foundation" vendor)
+ ((string-match #r"XFree86\|Cygwin/X\|The X\.Org Foundation\|Fedora Project" vendor)
;; Those XFree86 people do some weird keysym stuff, too.
(x-win-init-xfree86 device)))))

View file

@ -0,0 +1,13 @@
--- src/alsaplay.c.orig 2011-05-02 21:22:30.000000000 -0600
+++ src/alsaplay.c 2015-10-03 10:33:52.961671169 -0600
@@ -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);

View file

@ -0,0 +1,12 @@
--- src/sysdep.c.orig 2017-12-28 13:34:54.000000000 -0700
+++ src/sysdep.c 2017-12-28 17:06:55.763497550 -0700
@@ -1969,7 +1969,8 @@ start_of_data (void)
if (!initialized)
return static_heap_base;
#endif
- return ((char *) &environ);
+ extern char _end;
+ return &_end;
#else
extern int data_start;
return ((char *) &data_start);

View file

@ -0,0 +1,20 @@
--- src/alloca.c.orig 2017-12-28 13:34:54.000000000 -0700
+++ src/alloca.c 2017-12-28 13:39:44.078644647 -0700
@@ -177,15 +177,14 @@ xemacs_c_alloca (size_t size)
{
#ifdef emacs
- size_t total_size = sizeof (header) + size;
register pointer new_;
- if (total_size < size || ((Bytecount) (total_size) < 0))
+ if (SIZE_MAX - size < sizeof(header))
{
memory_full ();
}
- new_ = xmalloc ((Bytecount) total_size);
+ new_ = xmalloc ((Bytecount) (size + sizeof(header)));
#else
register pointer new_ = malloc (sizeof (header) + size);
#endif

View file

@ -0,0 +1,64 @@
--- etc/Emacs.ad.orig 2013-08-21 11:43:43.000000000 -0600
+++ etc/Emacs.ad 2013-10-24 20:00:00.000000000 -0600
@@ -222,36 +222,40 @@
! *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-*, \
+*menubar*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*
+*popup*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*
+
+XEmacs*FontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso10646-1, \
+ -*-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-*-*-*-*-iso8859-*, \
+*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: -*-courier-medium-r-*-*-*-120-*-*-*-*-*-*
+*XmText*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-*-*
+*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.
-*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*
+*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*
! Dialog box translations.
! =======================
--- lwlib/xlwmenu.c.orig 2013-08-21 11:43:43.000000000 -0600
+++ lwlib/xlwmenu.c 2013-10-24 20:00:00.000000000 -0600
@@ -108,7 +108,7 @@
/* 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-*-*-*-*-*-1"),
#else
fontres (XtNfont, XtCFont, XtRFontStruct, XFontStruct *, font,
"XtDefaultFont"),

156
xemacs-sitestart.el Normal file
View file

@ -0,0 +1,156 @@
;;; site-start.el - loaded at startup before "~/.xemacs/init.el"
;;;
;;; The "-no-site-file" option to xemacs prevents this file from being loaded.
;;; psgml catalog list
(setq sgml-catalog-files
(if (getenv "SGML_CATALOG_FILES")
(split-path (getenv "SGML_CATALOG_FILES"))
(list "CATALOG" "catalog"
"/etc/sgml/catalog"
"/etc/xml/catalog"
(locate-data-file "CATALOG"))))
;; default to non-kerberos ftp
(setq efs-ftp-program-name "/usr/bin/ftp")
;; default to unified diffs
(setq-default diff-switches "-u")
;; decrease lazy-lock default threshold
(setq-default lazy-lock-minimum-size (* 2 1024))
;; load .el files in "site-start.d/"
(let ((files (directory-files
"/usr/share/xemacs/site-packages/lisp/site-start.d" t "\\.el$")))
(mapc 'load-file files))
;; fix default courier italics
;; for courier, oblique usually produces better results than italic
(setq try-oblique-before-italic-fonts t)
(when window-system
(make-face-italic 'italic)
(make-face-italic 'bold-italic))
;; Set up language environment and coding systems
(when (featurep 'mule)
(let* ((locale (getenv "LANG"))
(lang-region (and locale
(substring locale 0 (min 5 (length locale)))))
(lang (and lang-region
(substring lang-region 0 (min 2 (length lang-region))))))
(cond ((equal lang "af")
(set-language-environment "Afrikaans"))
((equal lang "sq")
(set-language-environment "Albanian"))
((equal lang "ca")
(set-language-environment "Catalan"))
((or (equal lang-region "zh_TW") (equal lang-region "zh_HK"))
(set-language-environment "Chinese-BIG5"))
((or (equal lang-region "zh_CN") (equal lang-region "zh_SG"))
(set-language-environment "Chinese-GB"))
((equal lang "hr")
(set-language-environment "Croatian"))
((equal lang "ru")
(set-language-environment "Cyrillic-KOI8"))
((equal lang "cs")
(set-language-environment "Czech"))
((equal lang "da")
(set-language-environment "Danish"))
((equal lang "nl")
(set-language-environment "Dutch"))
((equal lang "et")
(set-language-environment "Estonian"))
((equal lang "fi")
(set-language-environment "Finnish"))
((equal lang "fr")
(set-language-environment "French"))
((equal lang "gl")
(set-language-environment "Galician"))
((equal lang "de")
(set-language-environment "German"))
((equal lang "el")
(set-language-environment "Greek"))
((equal lang "kl")
(set-language-environment "Greenlandic"))
((or (equal lang "he") (equal lang "iw"))
(set-language-environment "Hebrew"))
((equal lang "hu")
(set-language-environment "Hungarian"))
((equal lang "ga")
(set-language-environment "Irish"))
((equal lang "it")
(set-language-environment "Italian"))
((equal lang "ja")
(set-language-environment "Japanese"))
((equal lang "ko")
(set-language-environment "Korean"))
((equal lang "lt")
(set-language-environment "Lithuanian"))
((equal lang "mt")
(set-language-environment "Maltese"))
((or (equal lang "nb") (equal lang "nn") (equal lang "no"))
(set-language-environment "Norwegian"))
((equal lang "pl")
(set-language-environment "Polish"))
((equal lang "pt")
(set-language-environment "Portuguese"))
((equal lang "ro")
(set-language-environment "Romanian"))
((equal lang "sk")
(set-language-environment "Slovak"))
((equal lang "sl")
(set-language-environment "Slovenian"))
((equal lang "es")
(set-language-environment "Spanish"))
((equal lang "sv")
(set-language-environment "Swedish"))
((equal lang "th")
(set-language-environment "Thai-XTIS"))
((equal lang "tr")
(set-language-environment "Turkish"))
((equal lang "vi")
(set-language-environment "Vietnamese"))
(t
(set-language-environment "English")))
;; set-language-environment changes the locale; restore it.
(setenv "LANG" locale)
(set-current-locale (or locale "C"))
(let* ((tmp (shell-command-to-string "locale charmap"))
(tmp (substring tmp 0 (string-match "\[ \t\n\]" tmp)))
(tmp (intern (downcase tmp))))
(when (find-coding-system tmp)
(let ((cat (or (coding-system-category tmp) tmp)))
(set-coding-priority-list (list cat))
(set-coding-category-system cat tmp))
(set-default-output-coding-systems tmp)
(set-keyboard-coding-system tmp)
(set-terminal-coding-system tmp)
(setq file-name-coding-system tmp)
(setq process-coding-system-alist (cons (cons ".*" tmp) '()))
(define-coding-system-alias 'native tmp)))
;; Register available Input Methods.
(load "leim-list" t)
(when (member lang '("ja" "ko" "zh"))
;; ispell doesn't support CJK
(setq-default ispell-local-dictionary "english"))))
;; 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)))
;; try to preserve user/group when saving files
(setq-default backup-by-copying-when-mismatch t)
;; when saving a buffer always end it with a newline
(setq-default require-final-newline t)
;; the graphical progress bar is buggy - disable it by default (#188973)
(setq-default progress-feedback-use-echo-area t)

34
xemacs-snapshot.sh Executable file
View file

@ -0,0 +1,34 @@
#!/bin/bash
set -e
if [ -z "$1" -o $# -ne 1 ]; then
echo "Usage: $0 <hg-revision>"
exit 2
fi
rev="$1"
tmp=$(mktemp -d)
tarball="xemacs-$(date +%Y%m%d)hg$rev.tar"
trap cleanup EXIT
cleanup() {
set +e
[ -z "$tmp" -o ! -d "$tmp" ] || rm -rf "$tmp"
}
unset CDPATH
pwd=$(pwd)
now=$(date +%Y%m%d)
cd "$tmp"
hg clone https://bitbucket.org/xemacs/xemacs xemacs-beta
cd xemacs-beta
hg update -r "$rev"
# Hack to avoid needing .hg/ around but still getting xemacs-extra-name right
hg identify | cut -d " " -f 1 >> version.sh.in # see configure.ac
rm -r .hg*
cd ..
tar cf "$pwd/$tarball" xemacs-beta
xz -9f "$pwd/$tarball"
cd - >/dev/null

32
xemacs.appdata.xml Normal file
View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>xemacs.desktop</id>
<metadata_license>CC0</metadata_license>
<project_license>GPL-3.0+</project_license>
<name>XEmacs</name>
<summary>Different version of Emacs</summary>
<description>
<p>
XEmacs is a highly customizable open source text editor and application
development system.
</p>
<p>XEmacs is protected under the GNU General Public License. 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.
</p>
</description>
<screenshots>
<screenshot type="default">
<image>http://www.xemacs.org/Images/gnus.png</image>
<caption>Gnus in XEmacs</caption>
</screenshot>
<screenshot>
<image>http://www.xemacs.org/Images/custom.png</image>
<caption>Customize buffer</caption>
</screenshot>
</screenshots>
<update_contact>james@xemacs.org</update_contact>
<url type="homepage">http://www.xemacs.org/</url>
<url type="bugtracker">http://tracker.xemacs.org/XEmacs/its/</url>
</component>

34
xemacs.desktop Normal file
View file

@ -0,0 +1,34 @@
[Desktop Entry]
Name=XEmacs Text Editor
Name[bg]=редактор XEmacs
Name[ca]=Editor XEmacs
Name[cs]=Editor XEmacs
Name[da]=XEmacs tekstredigerer
Name[de]=XEmacs Texteditor
Name[eo]=La redaktilo XEmakso
Name[es]=Emacs para X
Name[et]=Emacs X'i kasutajaliidesega
Name[fi]=XEmacs editori
Name[fr]=Éditeur XEmacs
Name[hu]=XEmacs szövegszerkesztő
Name[is]=XEmacs-ritill
Name[it]=Emacs per X
Name[ja]=XEmacs
Name[mk]=Софистицираниот XEmacs уредувач
Name[no]=XEmacs-tekstredigerer
Name[pt]=Editor XEmacs
Name[ro]=Editorul XEmacs
Name[ru]=Редактор XEmacs
Name[sk]=Editor XEmacs
Name[sl]=Urejevalnik XEmacs
Name[uk]=Редактор XEmacs
GenericName=Text Editor
Comment=Edit text
Comment[zh_TW]=
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
Categories=Application;Utility;TextEditor;
StartupWMClass=XEmacs

1022
xemacs.spec Normal file

File diff suppressed because it is too large Load diff