Compare commits

..

2 commits

Author SHA1 Message Date
Jerry James
eeed99e8f6 Update to fix NSS breakage. Drop upstreamed -setsid patch. 2016-06-03 15:33:24 -06:00
Jerry James
15051a614f Update to latest mercurial snapshot.
Also:
- Fix M-x shell under tcsh (bz 1222897, 1260785)
- Use system malloc on 32-bit MIPS (bz 1294893)
2016-05-28 19:41:58 -06:00
19 changed files with 1499 additions and 1 deletions

7
.gitignore vendored Normal file
View file

@ -0,0 +1,7 @@
/xemacs-21.5.34.tar.gz
/xemacs-20140605hgacf1c26e3019.tar.xz
/xemacs-20150420hg23178aa71f8b.tar.xz
/xemacs-20150929hga76c9268bb72.tar.xz
/xemacs-20160104hg4d03958b4080.tar.xz
/xemacs-20160507hgd5b51c618ef8.tar.xz
/xemacs-20160603hga561e02bb626.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 @@
04a0b49ae238fb84b5ae928a8e216cf2 xemacs-20160603hga561e02bb626.tar.xz

View file

@ -0,0 +1,11 @@
--- ./Makefile.in.in.orig 2012-08-02 12:38:27.000000000 -0600
+++ ./Makefile.in.in 2012-08-06 20:27:16.084145753 -0600
@@ -394,7 +394,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 2012-08-02 12:38:27.000000000 -0600
+++ ./aclocal.m4 2012-08-06 20:28:23.842705270 -0600
@@ -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 2012-08-02 12:39:01.000000000 -0600
+++ ./configure 2012-08-06 20:28:23.841705350 -0600
@@ -15045,7 +15045,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 2012-08-02 12:38:29.000000000 -0600
+++ ./src/faces.c 2012-08-06 20:29:33.659097709 -0600
@@ -2484,7 +2484,7 @@ complex_vars_of_faces (void)
Fcons
(Fcons
(list1 (device_symbol),
- build_ascstring ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")),
+ build_ascstring ("-*-courier-medium-r-*-*-*-120-*-*-*-*-*-*")),
inst_list);
#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,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

25
xemacs.appdata.xml Normal file
View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<application>
<id type="desktop">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">http://www.xemacs.org/Images/gnus.png</screenshot>
<screenshot>http://www.xemacs.org/Images/custom.png</screenshot>
</screenshots>
<url type="homepage">http://www.xemacs.org/</url>
<updatecontact>james@xemacs.org</updatecontact>
</application>

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

BIN
xemacs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

1000
xemacs.spec Normal file

File diff suppressed because it is too large Load diff