auto-import changelog data from emacs-21.2-33.src.rpm
Thu Feb 20 2003 Jens Petersen <petersen@redhat.com> - 21.2-33 - default browse-url to use htmlview (#84262) - remove info dir file rather than excluding it Sat Feb 08 2003 Jens Petersen <petersen@redhat.com> - 21.2-32 - set X copy'n'paste encoding to extended compound-text (#74100) by default in .emacs file [suggested by olonho@hotmail.com] - .emacs file cleanup (xemacs now has a separate init file) Fri Feb 07 2003 Jens Petersen <petersen@redhat.com> - 21.2-31 - block input in allocate_vectorlike to prevent malloc hangs (#83600) [thanks to Jim Blandy] - set startup wmclass notify in desktop file Wed Jan 22 2003 Tim Powers <timp@redhat.com> - rebuilt Wed Jan 15 2003 Jens Petersen <petersen@redhat.com> 21.2-29 - update to newer po-mode.el and po-compat.el from gettext-0.11.4 - patch po-mode's po-replace-revision-date for when po-auto-replace-revision-date is nil (#71264) - update po-mode-init.el - examine LC_ALL before LC_CTYPE in site-start.el for utf-8 (#79535) - don't install etc/DOC files explicitly by hand - make sure all lisp .elc files are up to date - pass _smp_mflags to make - remove games that we shouldn't ship Mon Jan 13 2003 Karsten Hopp <karsten@redhat.de> 21.2-28 - s390x lib64 fix Fri Jan 03 2003 Jens Petersen <petersen@redhat.com> 21.2-27 - look at LANG after LC_CTYPE when checking for UTF-8 locale encoding in site-start.el (#79535) - don't set desktop file config(noreplace) Fri Dec 20 2002 Jens Petersen <petersen@redhat.com> 21.2-26 - unset the sticky bit of emacs in bindir (#80049) Wed Dec 18 2002 Jens Petersen <petersen@redhat.com> 21.2-25 - no need to patch config.{sub,guess} Tue Dec 03 2002 Tim Waugh <twaugh@redhat.com> - Fix python-mode-init.el (bug #78910). Sun Dec 01 2002 Jens Petersen <petersen@redhat.com> 21.2-24 - rpm-spec-mode update fixes - patch in XEmacs compat functions rather than defining them with apel macros in init file (#78764) - autoload "rpm-spec-mode" not "rpm-spec-mode.el" in same file - let emacs base also own leim dir to avoid startup warning about missing dir when -el and -leim aren't installed (#78764) Thu Nov 28 2002 Jens Petersen <petersen@redhat.com> - use LC_CTYPE rather than LANG to determine default encoding (#78678) [reported by starback@stp.ling.uu.se] Wed Nov 27 2002 Jens Petersen <petersen@redhat.com> 21.2-23 - set transient-mark-mode in dotemacs for Emacs not XEmacs (#75440) - update rpm-spec-mode.el to 0.12 - define needed XEmacs compat functions in new rpm-spec-mode-init.el - tidy site-start.el - move python-mode setup to python-mode - don't build with sbin in path - use _libexecdir, _bindir and _sysconfdir - don't gzip info files explicitly - use tar's C and j options - generate lisp file-lists in single find sweeps over lisp and leim dirs - use -fprint and -fprintf - correct more dir ownerships Sun Nov 24 2002 Florian La Roche <Florian.LaRoche@redhat.de> 21.2-22 - add correct alloca defines for s390 Wed Nov 06 2002 Jens Petersen <petersen@redhat.com> 21.2-21 - uses patches for x86_64 and s390 support and config.{guess,sub} updating Tue Nov 05 2002 Jens Petersen <petersen@redhat.com> 21.2-20 - add support for x86_64 and merge in s390 support from cvs - add alloca defines to amdx86-64.h (from SuSE) Wed Oct 30 2002 Jens Petersen <petersen@redhat.com> 21.2-19 - own our libexec dir (#73984) - only set transient-mark-mode in dotemacs for Emacs (#75440) - update to latest config.{guess,sub} - use _datadir macro
This commit is contained in:
parent
43fd20cb91
commit
d31aa3654e
@ -31,5 +31,4 @@ Terminal=0
|
|||||||
MapNotify=false
|
MapNotify=false
|
||||||
Categories=TextEditor;Development;X-Red-Hat-Base;Application;
|
Categories=TextEditor;Development;X-Red-Hat-Base;Application;
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
|
StartupWMClass=Emacs
|
||||||
|
|
||||||
|
331
emacs.spec
331
emacs.spec
@ -1,8 +1,9 @@
|
|||||||
# [for (x)emacs] -*- coding: utf-8 -*-
|
# This file is encoded in UTF-8. -*- coding: utf-8 -*-
|
||||||
|
|
||||||
Summary: The libraries needed to run the GNU Emacs text editor.
|
Summary: The libraries needed to run the GNU Emacs text editor.
|
||||||
Name: emacs
|
Name: emacs
|
||||||
Version: 21.2
|
Version: 21.2
|
||||||
Release: 18
|
Release: 33
|
||||||
License: GPL
|
License: GPL
|
||||||
URL: http://www.gnu.org/software/emacs/
|
URL: http://www.gnu.org/software/emacs/
|
||||||
Group: Applications/Editors
|
Group: Applications/Editors
|
||||||
@ -20,17 +21,26 @@ Source10: ftp://ftp.gnu.org/gnu/emacs/elisp-manual-21-2.8.tar.bz2
|
|||||||
Source11: php-mode.el
|
Source11: php-mode.el
|
||||||
Source12: php-mode-init.el
|
Source12: php-mode-init.el
|
||||||
Source13: ssl.el
|
Source13: ssl.el
|
||||||
Source14: po-mode.el
|
Source16: python-mode-init.el
|
||||||
Source15: po-mode-init.el
|
Source17: rpm-spec-mode-init.el
|
||||||
|
Source18: rpm-spec-mode.el-0.14-xemacs-compat.patch
|
||||||
|
Source20: po-mode.el
|
||||||
|
Source21: po-compat.el
|
||||||
|
Source22: po-mode-init.el
|
||||||
|
Source23: po-mode-auto-replace-date-71264.patch
|
||||||
Patch1: emacs-21.2-pop.patch
|
Patch1: emacs-21.2-pop.patch
|
||||||
Patch50: emacs-21.2-s390.patch
|
Patch2: emacs-21.2-s390.patch
|
||||||
|
Patch3: emacs-21.2-x86_64.patch
|
||||||
|
Patch4: emacs-21.2-sticky-bit-80049.patch
|
||||||
|
Patch5: emacs-21.2-s390x.patch
|
||||||
|
Patch6: emacs-21.2-menubar-games.patch
|
||||||
|
Patch7: emacs-21.2-alloc-blockinput-83600.patch
|
||||||
|
Patch8: browse-url-htmlview-84262.patch
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
||||||
Prereq: /sbin/install-info
|
Prereq: /sbin/install-info, dev
|
||||||
BuildRequires: glibc-devel gcc XFree86-devel bzip2 ncurses-devel
|
BuildRequires: glibc-devel, gcc, XFree86-devel, bzip2, ncurses-devel, zlib-devel, libpng-devel, libjpeg-devel, libungif-devel, libtiff-devel
|
||||||
BuildRequires: zlib-devel libpng-devel libjpeg-devel libungif-devel libtiff-devel
|
Obsoletes: emacs-nox, emacs-X11
|
||||||
Obsoletes: emacs-nox emacs-X11
|
|
||||||
Conflicts: gettext < 0.10.40
|
Conflicts: gettext < 0.10.40
|
||||||
Prereq: dev
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||||
@ -69,133 +79,102 @@ non-English character set. Input methods for many different character
|
|||||||
sets are included in this package.
|
sets are included in this package.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
|
||||||
%setup -q -b 1
|
%setup -q -b 1
|
||||||
|
%patch1 -p1 -b .pop
|
||||||
%patch1 -p1
|
%patch2 -p1 -b .s390
|
||||||
|
%patch3 -p1 -b .hammer
|
||||||
%ifarch s390 s390x
|
%patch4 -p1 -b .sticky
|
||||||
%patch50 -p1 -b .s390
|
%patch5 -p1 -b .s390x
|
||||||
%endif
|
# remove game we can't ship
|
||||||
|
%patch6 -p1
|
||||||
|
rm lisp/finder-inf.el lisp/play/tetris.el*
|
||||||
|
# block input in `allocate_vectorlike' (alloc.c)
|
||||||
|
%patch7 -p1 -b .block
|
||||||
|
# make browse-url default to htmlview not netscape
|
||||||
|
%patch8 -p1 -b .htmlview
|
||||||
|
# patches 2 and 3 touch configure.in
|
||||||
|
autoconf-2.13
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
|
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
|
||||||
#to find installinfo
|
|
||||||
export PATH="$PATH:/sbin:/usr/sbin"
|
|
||||||
|
|
||||||
%configure --with-gcc --with-pop --with-sound
|
%configure --with-gcc --with-pop --with-sound
|
||||||
make
|
make %{?_smp_mflags}
|
||||||
|
# remove versioned file so that we end up with .1 suffix and only one DOC file
|
||||||
|
rm src/emacs-%{version}.*
|
||||||
|
# make sure patched lisp files get byte-compiled
|
||||||
|
src/emacs -batch -f batch-byte-recompile-directory lisp
|
||||||
|
make %{?_smp_mflags} -C lisp updates
|
||||||
|
|
||||||
|
%define emacsbatch src/emacs -batch --no-init-file --no-site-file
|
||||||
%define recompile src/emacs -batch --no-init-file --no-site-file -f batch-byte-compile
|
|
||||||
|
|
||||||
# recompile patched .el files
|
|
||||||
%{recompile} lisp/mail/mh-utils.el lisp/progmodes/make-mode.el
|
|
||||||
|
|
||||||
# bytecompile python-mode, ssl, php-mode and rpm-spec-mode
|
# bytecompile python-mode, ssl, php-mode and rpm-spec-mode
|
||||||
cp %SOURCE7 %SOURCE8 %SOURCE11 %SOURCE13 %SOURCE14 .
|
cp %SOURCE7 %SOURCE8 %SOURCE11 %SOURCE13 %SOURCE20 %SOURCE21 .
|
||||||
%{recompile} python-mode.el rpm-spec-mode.el php-mode.el ssl.el po-mode.el
|
|
||||||
|
|
||||||
|
|
||||||
|
# xemacs compat patch
|
||||||
|
patch < %SOURCE18
|
||||||
|
# fix po-auto-replace-revision-date nil
|
||||||
|
patch < %SOURCE23
|
||||||
|
%{emacsbatch} -f batch-byte-compile *.el
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
|
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_infodir}
|
|
||||||
|
|
||||||
%makeinstall
|
%makeinstall
|
||||||
|
|
||||||
#install lisp files for Japanese and other Asian languages
|
# make sure movemail isn't setgid
|
||||||
pushd $RPM_BUILD_ROOT
|
chmod 755 $RPM_BUILD_ROOT%{_libexecdir}/emacs/%{version}/*/movemail
|
||||||
tar --use-compress-program=bzip2 -xf %{SOURCE9}
|
|
||||||
popd
|
|
||||||
|
|
||||||
rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
|
# install lisp files for Japanese and other Asian languages
|
||||||
gzip -9nf $RPM_BUILD_ROOT/%{_infodir}/*
|
tar jxC $RPM_BUILD_ROOT -f %{SOURCE9}
|
||||||
|
|
||||||
install -m 644 %SOURCE6 $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.el
|
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
|
||||||
|
install -m 0644 %SOURCE6 $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.el
|
||||||
|
|
||||||
mv $RPM_BUILD_ROOT%{_mandir}/man1/ctags.1 $RPM_BUILD_ROOT%{_mandir}/man1/gctags.1
|
mv $RPM_BUILD_ROOT%{_mandir}/man1/ctags.1 $RPM_BUILD_ROOT%{_mandir}/man1/gctags.1
|
||||||
mv $RPM_BUILD_ROOT/usr/bin/ctags $RPM_BUILD_ROOT/usr/bin/gctags
|
mv $RPM_BUILD_ROOT%{_bindir}/ctags $RPM_BUILD_ROOT%{_bindir}/gctags
|
||||||
|
|
||||||
|
|
||||||
# GNOME / KDE files
|
# GNOME / KDE files
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/applications
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
|
||||||
install -c -m 0644 %SOURCE3 $RPM_BUILD_ROOT/usr/share/applications/gnu-emacs.desktop
|
install -m 0644 %SOURCE3 $RPM_BUILD_ROOT%{_datadir}/applications/gnu-emacs.desktop
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
|
||||||
install -c -m 0644 %SOURCE4 $RPM_BUILD_ROOT/usr/share/pixmaps/
|
install -m 0644 %SOURCE4 $RPM_BUILD_ROOT%{_datadir}/pixmaps/
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/%{version}/etc
|
# install site-lisp files
|
||||||
install -c -m644 etc/DOC-* $RPM_BUILD_ROOT/usr/share/emacs/%{version}/etc
|
install -m 0644 *.el *.elc $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/
|
||||||
|
|
||||||
# Python mode, php mode and rpm-spec mode
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
|
||||||
|
install -m 0644 $RPM_SOURCE_DIR/*-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
|
||||||
install -c -m0644 po-mode.el po-mode.elc php-mode.el php-mode.elc python-mode.el python-mode.elc rpm-spec-mode.el rpm-spec-mode.elc ssl.el ssl.elc $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/
|
|
||||||
install -m0644 %SOURCE12 $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d/php-mode-init.el
|
|
||||||
install -m0644 %SOURCE15 $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d/po-mode-init.el
|
|
||||||
|
|
||||||
# default initialization file
|
# default initialization file
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/skel
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/skel
|
||||||
install -c -m0644 %SOURCE5 $RPM_BUILD_ROOT/etc/skel/.emacs
|
install -m 0644 %SOURCE5 $RPM_BUILD_ROOT%{_sysconfdir}/skel/.emacs
|
||||||
|
|
||||||
|
# elisp reference manual
|
||||||
|
tar jxf %{SOURCE10}
|
||||||
|
pushd elisp-manual-21-2.8
|
||||||
|
install -m 644 elisp elisp-? elisp-?? $RPM_BUILD_ROOT%{_infodir}
|
||||||
|
popd
|
||||||
|
|
||||||
#
|
#
|
||||||
# create file lists
|
# create file lists
|
||||||
#
|
#
|
||||||
|
SRC_TOP=$PWD
|
||||||
|
rm -f *-filelist {base,el,leim}-*-files
|
||||||
|
pushd $RPM_BUILD_ROOT
|
||||||
|
|
||||||
# Remove ctags
|
find .%{_datadir}/emacs/%{version}/lisp \( -type f -not -name '*.el' -fprint $SRC_TOP/base-lisp-none-elc-files \) -o \( -type d -fprintf $SRC_TOP/base-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el' \( -exec test -e '{}'c \; -fprint $SRC_TOP/el-bytecomped-files -o -fprint $SRC_TOP/base-not-comped-files \) \)
|
||||||
|
|
||||||
rm -f $RPM_BUILD_ROOT/usr/bin/ctags
|
find .%{_datadir}/emacs/%{version}/leim \( -name '*.elc' -fprint $SRC_TOP/leim-elc-files \) -o \( -type d -fprintf $SRC_TOP/leim-dir-files "%%%%dir %%p\n" -fprintf $SRC_TOP/el-leim-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el' \( -exec test -e '{}'c \; -fprint $SRC_TOP/el-leim-bytecomped-files -o -fprint $SRC_TOP/leim-not-comped-files \) \)
|
||||||
rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/*ctags*
|
|
||||||
rm -f $RPM_BUILD_ROOT/usr/share/emacs/%{version}/etc/ctags*
|
|
||||||
|
|
||||||
# The elisp reference manual
|
|
||||||
bzcat %{SOURCE10} | tar xf -
|
|
||||||
pushd elisp-manual-21-2.8
|
|
||||||
install -m 644 elisp elisp-? elisp-?? $RPM_BUILD_ROOT/%{_infodir}
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/lisp -type f\
|
# put the lists together filtering ./usr to /usr
|
||||||
-not -name '*.el' -print | sed "s^$RPM_BUILD_ROOT^^" > core-filelist
|
cat base-*-files | sed "s|\.%{_prefix}|%{_prefix}|" > base-filelist
|
||||||
find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/lisp \
|
cat el-*-files | sed "s|\.%{_prefix}|%{_prefix}|" > el-filelist
|
||||||
-type d -printf "%%%%dir %%p\n" | sed "s^$RPM_BUILD_ROOT^^" >> core-filelist
|
cat leim-*-files | sed "s|\.%{_prefix}|%{_prefix}|" > leim-filelist
|
||||||
|
|
||||||
# Include .el files which lack a corresponding byte compiled form
|
|
||||||
for I in `find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/lisp \
|
|
||||||
-name '*.el'`; do
|
|
||||||
if [ ! -e `dirname $I`/`basename $I .el`.elc ]; then
|
|
||||||
echo $I | sed "s^$RPM_BUILD_ROOT^^"
|
|
||||||
fi
|
|
||||||
done >> core-filelist
|
|
||||||
|
|
||||||
# Include all non elisp files which emacs installs
|
|
||||||
#find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/lisp -type f | \
|
|
||||||
# sed "s^$RPM_BUILD_ROOT^^" | grep -v "\.el\(c\)\?$" >> core-filelist
|
|
||||||
|
|
||||||
|
|
||||||
find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/leim \
|
|
||||||
-name '*.elc' -print | sed "s^$RPM_BUILD_ROOT^^" > leim-filelist
|
|
||||||
find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/leim \
|
|
||||||
-mindepth 1 -type d -printf "%%%%dir %%p\n" | \
|
|
||||||
sed "s^$RPM_BUILD_ROOT^^" >> leim-filelist
|
|
||||||
|
|
||||||
#
|
|
||||||
# be sure to exclude some files which are needed in the core package
|
|
||||||
#
|
|
||||||
for I in `find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/lisp \
|
|
||||||
-name '*.el'`; do
|
|
||||||
if [ -e `dirname $I`/`basename $I .el`.elc ]; then
|
|
||||||
echo $I | sed "s^$RPM_BUILD_ROOT^^"
|
|
||||||
fi
|
|
||||||
done >> el-filelist
|
|
||||||
|
|
||||||
find $RPM_BUILD_ROOT/usr/share/emacs/%{version}/leim \
|
|
||||||
-name '*.el' -print | sed "s^$RPM_BUILD_ROOT^^" |\
|
|
||||||
grep -v "leim\/leim-list.el" >> el-filelist
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -215,51 +194,133 @@ done
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
%files -f core-filelist
|
%files -f base-filelist
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%config(noreplace) /etc/skel/.emacs
|
%config(noreplace) %{_sysconfdir}/skel/.emacs
|
||||||
%doc etc/NEWS BUGS README
|
%doc etc/NEWS BUGS README
|
||||||
/usr/bin/*
|
%{_bindir}/*
|
||||||
%{_mandir}/*/*
|
%{_mandir}/*/*
|
||||||
%{_infodir}/*
|
%{_infodir}/*
|
||||||
/usr/share/emacs/site-lisp/python-mode.elc
|
%dir %{_datadir}/emacs
|
||||||
/usr/share/emacs/site-lisp/php-mode.elc
|
%dir %{_datadir}/emacs/site-lisp
|
||||||
/usr/share/emacs/site-lisp/po-mode.elc
|
%{_datadir}/emacs/site-lisp/python-mode.elc
|
||||||
/usr/share/emacs/site-lisp/rpm-spec-mode.elc
|
%{_datadir}/emacs/site-lisp/php-mode.elc
|
||||||
/usr/share/emacs/site-lisp/ssl.elc
|
%{_datadir}/emacs/site-lisp/po-*.elc
|
||||||
/usr/share/emacs/site-lisp/subdirs.el
|
%{_datadir}/emacs/site-lisp/rpm-spec-mode.elc
|
||||||
/usr/share/emacs/site-lisp/site-start.d/lang.emacs.el
|
%{_datadir}/emacs/site-lisp/ssl.elc
|
||||||
/usr/share/emacs/site-lisp/site-start.d/php-mode-init.el
|
%{_datadir}/emacs/site-lisp/subdirs.el
|
||||||
/usr/share/emacs/site-lisp/site-start.d/po-mode-init.el
|
%{_datadir}/emacs/site-lisp/site-start.d/*.el
|
||||||
/usr/share/emacs/site-lisp/lang
|
%{_datadir}/emacs/site-lisp/lang
|
||||||
/usr/share/emacs/%{version}/site-lisp/subdirs.el
|
%dir %{_datadir}/emacs/%{version}
|
||||||
|
%{_datadir}/emacs/%{version}/etc
|
||||||
%dir /usr/share/emacs
|
# quieten startup when -leim and -el aren't installed
|
||||||
%dir /usr/share/emacs/site-lisp
|
%dir %{_datadir}/emacs/%{version}/leim
|
||||||
%dir /usr/share/emacs/%{version}
|
%{_datadir}/emacs/%{version}/site-lisp
|
||||||
%dir /usr/share/emacs/%{version}/*
|
%{_libexecdir}/emacs
|
||||||
/usr/share/emacs/%{version}/etc/*
|
%attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/site-start.el
|
||||||
/usr/libexec/emacs/%{version}/*/*
|
%dir %{_datadir}/emacs/site-lisp/site-start.d
|
||||||
%attr(0755,root,root) /usr/libexec/emacs/%{version}/*/movemail
|
%{_datadir}/applications/gnu-emacs.desktop
|
||||||
%attr(0644,root,root) %config /usr/share/emacs/site-lisp/site-start.el
|
%{_datadir}/pixmaps/emacs.png
|
||||||
%dir /usr/share/emacs/site-lisp/site-start.d
|
|
||||||
%config(noreplace) /usr/share/applications/gnu-emacs.desktop
|
|
||||||
/usr/share/pixmaps/emacs.png
|
|
||||||
|
|
||||||
%files -f el-filelist el
|
%files -f el-filelist el
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
/usr/share/emacs/site-lisp/python-mode.el
|
%{_datadir}/emacs/site-lisp/python-mode.el
|
||||||
/usr/share/emacs/site-lisp/php-mode.el
|
%{_datadir}/emacs/site-lisp/php-mode.el
|
||||||
/usr/share/emacs/site-lisp/po-mode.el
|
%{_datadir}/emacs/site-lisp/po-*.el
|
||||||
/usr/share/emacs/site-lisp/ssl.el
|
%{_datadir}/emacs/site-lisp/ssl.el
|
||||||
/usr/share/emacs/site-lisp/rpm-spec-mode.el
|
%{_datadir}/emacs/site-lisp/rpm-spec-mode.el
|
||||||
|
|
||||||
%files -f leim-filelist leim
|
%files -f leim-filelist leim
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
/usr/share/emacs/%{version}/leim/leim-list.el
|
|
||||||
%dir /usr/share/emacs/%{version}/leim
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Feb 20 2003 Jens Petersen <petersen@redhat.com> - 21.2-33
|
||||||
|
- default browse-url to use htmlview (#84262)
|
||||||
|
- remove info dir file rather than excluding it
|
||||||
|
|
||||||
|
* Sat Feb 8 2003 Jens Petersen <petersen@redhat.com> - 21.2-32
|
||||||
|
- set X copy'n'paste encoding to extended compound-text (#74100)
|
||||||
|
by default in .emacs file [suggested by olonho@hotmail.com]
|
||||||
|
- .emacs file cleanup (xemacs now has a separate init file)
|
||||||
|
|
||||||
|
* Fri Feb 7 2003 Jens Petersen <petersen@redhat.com> - 21.2-31
|
||||||
|
- block input in allocate_vectorlike to prevent malloc hangs (#83600)
|
||||||
|
[thanks to Jim Blandy]
|
||||||
|
- set startup wmclass notify in desktop file
|
||||||
|
|
||||||
|
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Wed Jan 15 2003 Jens Petersen <petersen@redhat.com> 21.2-29
|
||||||
|
- update to newer po-mode.el and po-compat.el from gettext-0.11.4
|
||||||
|
- patch po-mode's po-replace-revision-date for when
|
||||||
|
po-auto-replace-revision-date is nil (#71264)
|
||||||
|
- update po-mode-init.el
|
||||||
|
- examine LC_ALL before LC_CTYPE in site-start.el for utf-8 (#79535)
|
||||||
|
- don't install etc/DOC files explicitly by hand
|
||||||
|
- make sure all lisp .elc files are up to date
|
||||||
|
- pass _smp_mflags to make
|
||||||
|
- remove games that we shouldn't ship
|
||||||
|
|
||||||
|
* Mon Jan 13 2003 Karsten Hopp <karsten@redhat.de> 21.2-28
|
||||||
|
- s390x lib64 fix
|
||||||
|
|
||||||
|
* Fri Jan 3 2003 Jens Petersen <petersen@redhat.com> 21.2-27
|
||||||
|
- look at LANG after LC_CTYPE when checking for UTF-8 locale encoding
|
||||||
|
in site-start.el (#79535)
|
||||||
|
- don't set desktop file config(noreplace)
|
||||||
|
|
||||||
|
* Fri Dec 20 2002 Jens Petersen <petersen@redhat.com> 21.2-26
|
||||||
|
- unset the sticky bit of emacs in bindir (#80049)
|
||||||
|
|
||||||
|
* Wed Dec 18 2002 Jens Petersen <petersen@redhat.com> 21.2-25
|
||||||
|
- no need to patch config.{sub,guess}
|
||||||
|
|
||||||
|
* Tue Dec 3 2002 Tim Waugh <twaugh@redhat.com>
|
||||||
|
- Fix python-mode-init.el (bug #78910).
|
||||||
|
|
||||||
|
* Sun Dec 1 2002 Jens Petersen <petersen@redhat.com> 21.2-24
|
||||||
|
- rpm-spec-mode update fixes
|
||||||
|
- patch in XEmacs compat functions rather than defining them with apel
|
||||||
|
macros in init file (#78764)
|
||||||
|
- autoload "rpm-spec-mode" not "rpm-spec-mode.el" in same file
|
||||||
|
- let emacs base also own leim dir to avoid startup warning about missing dir
|
||||||
|
when -el and -leim aren't installed (#78764)
|
||||||
|
|
||||||
|
* Thu Nov 28 2002 Jens Petersen <petersen@redhat.com>
|
||||||
|
- use LC_CTYPE rather than LANG to determine default encoding (#78678)
|
||||||
|
[reported by starback@stp.ling.uu.se]
|
||||||
|
|
||||||
|
* Wed Nov 27 2002 Jens Petersen <petersen@redhat.com> 21.2-23
|
||||||
|
- set transient-mark-mode in dotemacs for Emacs not XEmacs (#75440)
|
||||||
|
- update rpm-spec-mode.el to 0.12
|
||||||
|
- define needed XEmacs compat functions in new rpm-spec-mode-init.el
|
||||||
|
- tidy site-start.el
|
||||||
|
- move python-mode setup to python-mode
|
||||||
|
- don't build with sbin in path
|
||||||
|
- use _libexecdir, _bindir and _sysconfdir
|
||||||
|
- don't gzip info files explicitly
|
||||||
|
- use tar's C and j options
|
||||||
|
- generate lisp file-lists in single find sweeps over lisp and leim dirs
|
||||||
|
- use -fprint and -fprintf
|
||||||
|
- correct more dir ownerships
|
||||||
|
|
||||||
|
* Sun Nov 24 2002 Florian La Roche <Florian.LaRoche@redhat.de> 21.2-22
|
||||||
|
- add correct alloca defines for s390
|
||||||
|
|
||||||
|
* Wed Nov 6 2002 Jens Petersen <petersen@redhat.com> 21.2-21
|
||||||
|
- uses patches for x86_64 and s390 support and config.{guess,sub} updating
|
||||||
|
|
||||||
|
* Tue Nov 5 2002 Jens Petersen <petersen@redhat.com> 21.2-20
|
||||||
|
- add support for x86_64 and merge in s390 support from cvs
|
||||||
|
- add alloca defines to amdx86-64.h (from SuSE)
|
||||||
|
|
||||||
|
* Wed Oct 30 2002 Jens Petersen <petersen@redhat.com> 21.2-19
|
||||||
|
- own our libexec dir (#73984)
|
||||||
|
- only set transient-mark-mode in dotemacs for Emacs (#75440)
|
||||||
|
- update to latest config.{guess,sub}
|
||||||
|
- use _datadir macro
|
||||||
|
|
||||||
* Wed Aug 28 2002 Trond Eivind Glomsrød <teg@redhat.com> 21.2-18
|
* Wed Aug 28 2002 Trond Eivind Glomsrød <teg@redhat.com> 21.2-18
|
||||||
- Desktop file fix - add Application to make it show up
|
- Desktop file fix - add Application to make it show up
|
||||||
- DNS lookup fix for pop (#64802)
|
- DNS lookup fix for pop (#64802)
|
||||||
@ -271,7 +332,7 @@ fi
|
|||||||
- Handle UTF-8 input (#70855).
|
- Handle UTF-8 input (#70855).
|
||||||
|
|
||||||
* Tue Aug 6 2002 Trond Eivind Glomsrød <teg@redhat.com> 21.2-15
|
* Tue Aug 6 2002 Trond Eivind Glomsrød <teg@redhat.com> 21.2-15
|
||||||
- Don't use canna by default (# 70870)
|
- Don't use canna by default (#70870)
|
||||||
|
|
||||||
* Thu Aug 1 2002 Trond Eivind Glomsrød <teg@redhat.com> 21.2-14
|
* Thu Aug 1 2002 Trond Eivind Glomsrød <teg@redhat.com> 21.2-14
|
||||||
- Fixes to desktop file (add encoding, add missing a ";")
|
- Fixes to desktop file (add encoding, add missing a ";")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;; Use php-mode for .php,.php3,.php4 and .phtml files
|
;; Use php-mode for .php,.php3,.php4 and .phtml files
|
||||||
|
|
||||||
(autoload 'php-mode "php-mode")
|
(autoload 'php-mode "php-mode")
|
||||||
(setq auto-mode-alist (cons '("\\.php[34]\\'\\|\\.php\\'\\|\\.phtml\\'" . php-mode)
|
(add-to-list 'auto-mode-alist
|
||||||
auto-mode-alist))
|
'("\\.php[34]\\'\\|\\.php\\'\\|\\.phtml\\'" . php-mode))
|
||||||
|
|
||||||
|
13
po-mode-auto-replace-date-71264.patch
Normal file
13
po-mode-auto-replace-date-71264.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -u po-mode.el~ po-mode.el
|
||||||
|
--- po-mode.el~ 2003-01-16 01:44:50.000000000 +0900
|
||||||
|
+++ po-mode.el 2003-01-16 01:44:50.000000000 +0900
|
||||||
|
@@ -1267,8 +1267,7 @@
|
||||||
|
(concat "\"PO-Revision-Date: "
|
||||||
|
(format-time-string "%Y-%m-%d %H:%M" time)
|
||||||
|
zone "\\n\"")
|
||||||
|
- t t))))
|
||||||
|
- (message ""))
|
||||||
|
+ t t)))))
|
||||||
|
(message (_"PO-Revision-Date should be adjusted..."))))
|
||||||
|
|
||||||
|
;;; Handling span of entry, entry type and entry attributes.
|
@ -1,12 +1,9 @@
|
|||||||
;; Use po-mode for translation files
|
;; Use po-mode for translation files
|
||||||
|
|
||||||
(autoload 'po-mode "po-mode")
|
(autoload 'po-mode "po-mode"
|
||||||
(setq auto-mode-alist (cons '("\\.po[tx]?\\'\\|\\.po\\." . po-mode)
|
"Major mode for translators to edit PO files" t)
|
||||||
auto-mode-alist))
|
(add-to-list 'auto-mode-alist '("\\.po\\'\\|\\.po\\." . po-mode))
|
||||||
|
|
||||||
;;; To automatically use proper fonts under Emacs 20, also add:
|
|
||||||
|
|
||||||
(autoload 'po-find-file-coding-system "po-mode")
|
|
||||||
(modify-coding-system-alist 'file "\\.po[tx]?\\'\\|\\.po\\."
|
|
||||||
'po-find-file-coding-system)
|
|
||||||
|
|
||||||
|
(autoload 'po-find-file-coding-system "po-compat")
|
||||||
|
(modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
|
||||||
|
'po-find-file-coding-system)
|
||||||
|
447
po-mode.el
447
po-mode.el
@ -38,9 +38,10 @@
|
|||||||
;; (setq auto-mode-alist (cons '("\\.po\\'\\|\\.po\\." . po-mode)
|
;; (setq auto-mode-alist (cons '("\\.po\\'\\|\\.po\\." . po-mode)
|
||||||
;; auto-mode-alist))
|
;; auto-mode-alist))
|
||||||
;;
|
;;
|
||||||
;; To use the right coding system automatically under Emacs 20, also add:
|
;; To use the right coding system automatically under Emacs 20 or newer,
|
||||||
|
;; also add:
|
||||||
;;
|
;;
|
||||||
;; (autoload 'po-find-file-coding-system "po-mode")
|
;; (autoload 'po-find-file-coding-system "po-compat")
|
||||||
;; (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
|
;; (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
|
||||||
;; 'po-find-file-coding-system)
|
;; 'po-find-file-coding-system)
|
||||||
;;
|
;;
|
||||||
@ -49,6 +50,9 @@
|
|||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(defconst po-mode-version-string "2.01" "\
|
||||||
|
Version number of this version of po-mode.el.")
|
||||||
|
|
||||||
;;; Emacs portability matters - part I.
|
;;; Emacs portability matters - part I.
|
||||||
;;; Here is the minimum for customization to work. See part II.
|
;;; Here is the minimum for customization to work. See part II.
|
||||||
|
|
||||||
@ -133,6 +137,23 @@ msgstr \"\"
|
|||||||
:type 'string
|
:type 'string
|
||||||
:group 'po)
|
:group 'po)
|
||||||
|
|
||||||
|
(defcustom po-translation-project-address
|
||||||
|
"translation@iro.umontreal.ca"
|
||||||
|
"*Electronic mail address of the Translation Project.
|
||||||
|
Typing \\[po-send-mail] (normally bound to `M') the user will send the PO file
|
||||||
|
to this email address."
|
||||||
|
:type 'string
|
||||||
|
:group 'po)
|
||||||
|
|
||||||
|
(defcustom po-translation-project-mail-label "TP-Robot"
|
||||||
|
"*Subject label when sending the PO file to `po-translation-project-address'.
|
||||||
|
Don't change it when you send PO files to \"translation@iro.umontreal.ca\", the
|
||||||
|
Translation Project Robot at http://www.iro.umontreal.ca/contrib/po/HTML/. If
|
||||||
|
the label is different, your submission will be consiedered as a regular mail
|
||||||
|
and not stored at the TP site and also not forwarded to the package maintainer."
|
||||||
|
:type 'string
|
||||||
|
:group 'po)
|
||||||
|
|
||||||
(defcustom po-highlighting (or po-EMACS20 po-XEMACS)
|
(defcustom po-highlighting (or po-EMACS20 po-XEMACS)
|
||||||
"*Highlight text whenever appropriate, when non-nil.
|
"*Highlight text whenever appropriate, when non-nil.
|
||||||
However, on older Emacses, a yet unexplained highlighting bug causes files
|
However, on older Emacses, a yet unexplained highlighting bug causes files
|
||||||
@ -160,6 +181,7 @@ slightly different."
|
|||||||
("Albanian" . "sq")
|
("Albanian" . "sq")
|
||||||
("Amharic" . "am")
|
("Amharic" . "am")
|
||||||
("Arabic" . "ar")
|
("Arabic" . "ar")
|
||||||
|
("Argentinian" . "es_AR")
|
||||||
("Armenian" . "hy")
|
("Armenian" . "hy")
|
||||||
("Assamese" . "as")
|
("Assamese" . "as")
|
||||||
("Avestan" . "ae")
|
("Avestan" . "ae")
|
||||||
@ -180,6 +202,8 @@ slightly different."
|
|||||||
("Chamorro" . "ch")
|
("Chamorro" . "ch")
|
||||||
("Chechen" . "ce")
|
("Chechen" . "ce")
|
||||||
("Chinese" . "zh")
|
("Chinese" . "zh")
|
||||||
|
("Chinese (simplified)" . "zh_CN")
|
||||||
|
("Chinese (traditional)" . "zh_TW")
|
||||||
("Church Slavic" . "cu")
|
("Church Slavic" . "cu")
|
||||||
("Chuvash" . "cv")
|
("Chuvash" . "cv")
|
||||||
("Cornish" . "kw")
|
("Cornish" . "kw")
|
||||||
@ -210,6 +234,7 @@ slightly different."
|
|||||||
("Hiri Motu" . "ho")
|
("Hiri Motu" . "ho")
|
||||||
("Hungarian" . "hu")
|
("Hungarian" . "hu")
|
||||||
("Icelandic" . "is")
|
("Icelandic" . "is")
|
||||||
|
("Ido" . "io")
|
||||||
("Indonesian" . "id")
|
("Indonesian" . "id")
|
||||||
("Interlingua" . "ia")
|
("Interlingua" . "ia")
|
||||||
("Interlingue" . "ie")
|
("Interlingue" . "ie")
|
||||||
@ -218,7 +243,7 @@ slightly different."
|
|||||||
("Irish" . "ga")
|
("Irish" . "ga")
|
||||||
("Italian" . "it")
|
("Italian" . "it")
|
||||||
("Japanese" . "ja")
|
("Japanese" . "ja")
|
||||||
("Javanese" . "jw")
|
("Javanese" . "jv")
|
||||||
("Kalaallisut" . "kl")
|
("Kalaallisut" . "kl")
|
||||||
("Kannada" . "kn")
|
("Kannada" . "kn")
|
||||||
("Kashmiri" . "ks")
|
("Kashmiri" . "ks")
|
||||||
@ -315,6 +340,7 @@ slightly different."
|
|||||||
("Uzbek" . "uz")
|
("Uzbek" . "uz")
|
||||||
("Vietnamese" . "vi")
|
("Vietnamese" . "vi")
|
||||||
("Volapuk" . "vo")
|
("Volapuk" . "vo")
|
||||||
|
("Walloon" . "wa")
|
||||||
("Welsh" . "cy")
|
("Welsh" . "cy")
|
||||||
("Wolof" . "wo")
|
("Wolof" . "wo")
|
||||||
("Xhosa" . "xh")
|
("Xhosa" . "xh")
|
||||||
@ -618,8 +644,7 @@ No doubt that highlighting, when Emacs does not allow it, is a kludge."
|
|||||||
(defun po-mode-version ()
|
(defun po-mode-version ()
|
||||||
"Show Emacs PO mode version."
|
"Show Emacs PO mode version."
|
||||||
(interactive)
|
(interactive)
|
||||||
(message (_"Emacs PO mode, version %s")
|
(message (_"Emacs PO mode, version %s") po-mode-version-string))
|
||||||
(substring "$Revision: 1.1.1.1 $" 11 -2)))
|
|
||||||
|
|
||||||
(defconst po-help-display-string
|
(defconst po-help-display-string
|
||||||
(_"\
|
(_"\
|
||||||
@ -650,55 +675,122 @@ M-S Ignore path M-A Ignore PO file *M-L Ignore lexicon
|
|||||||
"Help page for PO mode.")
|
"Help page for PO mode.")
|
||||||
|
|
||||||
(defconst po-mode-menu-layout
|
(defconst po-mode-menu-layout
|
||||||
'("PO"
|
`("PO"
|
||||||
("Moving around"
|
("Moving around"
|
||||||
["Auto select" po-auto-select-entry t]
|
["Auto select" po-auto-select-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to next interesting entry"))]
|
||||||
"---"
|
"---"
|
||||||
"Forward"
|
"Forward"
|
||||||
["Any next" po-next-entry t]
|
["Any next" po-next-entry
|
||||||
["Next translated" po-next-translated-entry t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Next fuzzy" po-next-fuzzy-entry t]
|
'(:help "Jump to next entry"))]
|
||||||
["Next obsolete" po-next-obsolete-entry t]
|
["Next translated" po-next-translated-entry
|
||||||
["Next untranslated" po-next-untranslated-entry t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Last file entry" po-last-entry t]
|
'(:help "Jump to next translated entry"))]
|
||||||
|
["Next fuzzy" po-next-fuzzy-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to next fuzzy entry"))]
|
||||||
|
["Next obsolete" po-next-obsolete-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to next obsolete entry"))]
|
||||||
|
["Next untranslated" po-next-untranslated-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to next untranslated entry"))]
|
||||||
|
["Last file entry" po-last-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to last entry"))]
|
||||||
"---"
|
"---"
|
||||||
"Backward"
|
"Backward"
|
||||||
["Any previous" po-previous-entry t]
|
["Any previous" po-previous-entry
|
||||||
["Previous translated" po-previous-translated-entry t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Previous fuzzy" po-previous-fuzzy-entry t]
|
'(:help "Jump to previous entry"))]
|
||||||
["Previous obsolete" po-previous-obsolete-entry t]
|
["Previous translated" po-previous-translated-entry
|
||||||
["Previous untranslated" po-previous-untranslated-entry t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["First file entry" po-first-entry t]
|
'(:help "Jump to previous translated entry"))]
|
||||||
|
["Previous fuzzy" po-previous-fuzzy-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to previous fuzzy entry"))]
|
||||||
|
["Previous obsolete" po-previous-obsolete-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to previous obsolete entry"))]
|
||||||
|
["Previous untranslated" po-previous-untranslated-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to previous untranslated entry"))]
|
||||||
|
["First file entry" po-first-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to first entry"))]
|
||||||
"---"
|
"---"
|
||||||
"Position stack"
|
"Position stack"
|
||||||
["Mark and push current" po-push-location t]
|
["Mark and push current" po-push-location
|
||||||
["Pop and return" po-pop-location t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Exchange current/top" po-exchange-location t]
|
'(:help "Remember current location"))]
|
||||||
|
["Pop and return" po-pop-location
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to last remembered location and forget about it"))]
|
||||||
|
["Exchange current/top" po-exchange-location
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Jump to last remembered location and remember current location"))]
|
||||||
"---"
|
"---"
|
||||||
["Redisplay" po-current-entry t]
|
["Redisplay" po-current-entry
|
||||||
["Current index" po-statistics t])
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Make current entry properly visible"))]
|
||||||
|
["Current index" po-statistics
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Statistical info on current translation file"))])
|
||||||
("Modifying entries"
|
("Modifying entries"
|
||||||
["Undo" po-undo t]
|
["Undo" po-undo
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Revoke last changed entry"))]
|
||||||
"---"
|
"---"
|
||||||
"Msgstr"
|
"Msgstr"
|
||||||
["Edit msgstr" po-edit-msgstr t]
|
["Edit msgstr" po-edit-msgstr
|
||||||
["Ediff and merge msgstr" po-edit-msgstr-and-ediff t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Kill msgstr" po-kill-msgstr t]
|
'(:help "Edit current translation"))]
|
||||||
["Save msgstr" po-kill-ring-save-msgstr t]
|
["Ediff and merge msgstr" po-edit-msgstr-and-ediff
|
||||||
["Yank msgstr" po-yank-msgstr t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Call `ediff' on current translation for merging"))]
|
||||||
|
["Cut msgstr" po-kill-msgstr
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Cut (kill) current translation"))]
|
||||||
|
["Copy msgstr" po-kill-ring-save-msgstr
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Copy current translation"))]
|
||||||
|
["Paste msgstr" po-yank-msgstr
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Paste (yank) text most recently cut/copied translation"))]
|
||||||
"---"
|
"---"
|
||||||
"Comments"
|
"Comments"
|
||||||
["Edit comment" po-edit-comment t]
|
["Edit comment" po-edit-comment
|
||||||
["Ediff and merge comment" po-edit-comment-and-ediff t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Kill comment" po-kill-comment t]
|
'(:help "Edit current comment"))]
|
||||||
["Save comment" po-kill-ring-save-comment t]
|
["Ediff and merge comment" po-edit-comment-and-ediff
|
||||||
["Yank comment" po-yank-comment t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Call `ediff' on current comment for merging"))]
|
||||||
|
["Cut comment" po-kill-comment
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Cut (kill) current comment"))]
|
||||||
|
["Copy comment" po-kill-ring-save-comment
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Copy current translation"))]
|
||||||
|
["Paste comment" po-yank-comment
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Paste (yank) text most recently cut/copied"))]
|
||||||
"---"
|
"---"
|
||||||
["Remove fuzzy mark" po-unfuzzy t]
|
["Remove fuzzy mark" po-unfuzzy
|
||||||
["Fuzzy or fade out" po-fade-out-entry t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Init with msgid" po-msgid-to-msgstr t])
|
'(:help "Remove \"#, fuzzy\""))]
|
||||||
|
["Fuzzy or fade out" po-fade-out-entry
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Set current entry fuzzy, or if already fuzzy delete it"))]
|
||||||
|
["Init with msgid" po-msgid-to-msgstr
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "\
|
||||||
|
Initialize or replace current translation with the original message"))])
|
||||||
("Other files"
|
("Other files"
|
||||||
["Other window" po-other-window t]
|
["Other window" po-other-window
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Select other window; if necessay split current frame"))]
|
||||||
"---"
|
"---"
|
||||||
"Program sources"
|
"Program sources"
|
||||||
["Cycle reference" po-cycle-source-reference t]
|
["Cycle reference" po-cycle-source-reference t]
|
||||||
@ -729,120 +821,55 @@ M-S Ignore path M-A Ignore PO file *M-L Ignore lexicon
|
|||||||
["Mark preferred" po-mark-translatable t]
|
["Mark preferred" po-mark-translatable t]
|
||||||
["Mark with keyword" po-select-mark-and-mark t]
|
["Mark with keyword" po-select-mark-and-mark t]
|
||||||
"---"
|
"---"
|
||||||
["Version info" po-mode-version t]
|
["Version info" po-mode-version
|
||||||
["Help page" po-help t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
["Validate" po-validate t]
|
'(:help "Display version number of PO mode"))]
|
||||||
["Mail officially" po-send-mail t]
|
["Help page" po-help
|
||||||
["Edit out full" po-edit-out-full t]
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Show the PO mode help screen"))]
|
||||||
|
["Validate" po-validate
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Check validity of current translation file using `msgfmt'"))]
|
||||||
|
["Mail officially" po-send-mail
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Send current translation file to the Translation Robot by mail"))]
|
||||||
|
["Edit out full" po-edit-out-full
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Leave PO mode to edit translation file using fundamental mode"))]
|
||||||
"---"
|
"---"
|
||||||
["Forceful quit" po-quit t]
|
["Forceful quit" po-quit
|
||||||
["Soft quit" po-confirm-and-quit t])
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Close (kill) current translation file without saving"))]
|
||||||
|
["Soft quit" po-confirm-and-quit
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Save current translation file, than close (kill) it"))])
|
||||||
"Menu layout for PO mode.")
|
"Menu layout for PO mode.")
|
||||||
|
|
||||||
(defconst po-subedit-mode-menu-layout
|
(defconst po-subedit-mode-menu-layout
|
||||||
'("PO-Edit"
|
`("PO-Edit"
|
||||||
["Ediff and merge translation variants" po-subedit-ediff t]
|
["Ediff and merge translation variants" po-subedit-ediff
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Call `ediff' for merging variants"))]
|
||||||
["Cycle through auxiliary files" po-subedit-cycle-auxiliary t]
|
["Cycle through auxiliary files" po-subedit-cycle-auxiliary t]
|
||||||
"---"
|
"---"
|
||||||
["Abort edit" po-subedit-abort t]
|
["Abort edit" po-subedit-abort
|
||||||
["Exit edit" po-subedit-exit t])
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Don't change the translation"))]
|
||||||
|
["Exit edit" po-subedit-exit
|
||||||
|
,@(if (featurep 'xemacs) '(t)
|
||||||
|
'(:help "Use this text as the translation and close current edit buffer"))])
|
||||||
"Menu layout for PO subedit mode.")
|
"Menu layout for PO subedit mode.")
|
||||||
|
|
||||||
(defconst po-subedit-message
|
(defconst po-subedit-message
|
||||||
(_"Type 'C-c C-c' once done, or 'C-c C-k' to abort edit")
|
(_"Type 'C-c C-c' once done, or 'C-c C-k' to abort edit")
|
||||||
"Message to post in the minibuffer when an edit buffer is displayed.")
|
"Message to post in the minibuffer when an edit buffer is displayed.")
|
||||||
|
|
||||||
; Make the cpnnn codesets available.
|
|
||||||
(if po-EMACS20
|
|
||||||
(mapc #'codepage-setup (mapcar #'car (cp-supported-codepages))))
|
|
||||||
|
|
||||||
(defconst po-content-type-charset-alist
|
|
||||||
'(; Note: Emacs 21 doesn't support all encodings, thus the missing entries.
|
|
||||||
(ASCII . undecided)
|
|
||||||
(ANSI_X3.4-1968 . undecided)
|
|
||||||
(US-ASCII . undecided)
|
|
||||||
(ISO-8859-1 . iso-8859-1)
|
|
||||||
(ISO_8859-1 . iso-8859-1)
|
|
||||||
(ISO-8859-2 . iso-8859-2)
|
|
||||||
(ISO_8859-2 . iso-8859-2)
|
|
||||||
(ISO-8859-3 . iso-8859-3)
|
|
||||||
(ISO_8859-3 . iso-8859-3)
|
|
||||||
(ISO-8859-4 . iso-8859-4)
|
|
||||||
(ISO_8859-4 . iso-8859-4)
|
|
||||||
(ISO-8859-5 . iso-8859-5)
|
|
||||||
(ISO_8859-5 . iso-8859-5)
|
|
||||||
;(ISO-8859-6 . ??)
|
|
||||||
;(ISO_8859-6 . ??)
|
|
||||||
(ISO-8859-7 . iso-8859-7)
|
|
||||||
(ISO_8859-7 . iso-8859-7)
|
|
||||||
(ISO-8859-8 . iso-8859-8)
|
|
||||||
(ISO_8859-8 . iso-8859-8)
|
|
||||||
(ISO-8859-9 . iso-8859-9)
|
|
||||||
(ISO_8859-9 . iso-8859-9)
|
|
||||||
;(ISO-8859-13 . ??)
|
|
||||||
;(ISO_8859-13 . ??)
|
|
||||||
(ISO-8859-15 . iso-8859-15) ; requires Emacs 21
|
|
||||||
(ISO_8859-15 . iso-8859-15) ; requires Emacs 21
|
|
||||||
(KOI8-R . koi8-r)
|
|
||||||
;(KOI8-U . ??)
|
|
||||||
(CP437 . cp437) ; requires Emacs 20
|
|
||||||
(CP775 . cp775) ; requires Emacs 20
|
|
||||||
(CP850 . cp850) ; requires Emacs 20
|
|
||||||
(CP852 . cp852) ; requires Emacs 20
|
|
||||||
(CP855 . cp855) ; requires Emacs 20
|
|
||||||
;(CP856 . ??)
|
|
||||||
(CP857 . cp857) ; requires Emacs 20
|
|
||||||
(CP861 . cp861) ; requires Emacs 20
|
|
||||||
(CP862 . cp862) ; requires Emacs 20
|
|
||||||
(CP864 . cp864) ; requires Emacs 20
|
|
||||||
(CP865 . cp865) ; requires Emacs 20
|
|
||||||
(CP866 . cp866) ; requires Emacs 21
|
|
||||||
(CP869 . cp869) ; requires Emacs 20
|
|
||||||
;(CP874 . ??)
|
|
||||||
;(CP922 . ??)
|
|
||||||
;(CP932 . ??)
|
|
||||||
;(CP943 . ??)
|
|
||||||
;(CP949 . ??)
|
|
||||||
;(CP950 . ??)
|
|
||||||
;(CP1046 . ??)
|
|
||||||
;(CP1124 . ??)
|
|
||||||
;(CP1129 . ??)
|
|
||||||
(CP1250 . cp1250) ; requires Emacs 20
|
|
||||||
(CP1251 . cp1251) ; requires Emacs 20
|
|
||||||
(CP1252 . iso-8859-1) ; approximation
|
|
||||||
(CP1253 . cp1253) ; requires Emacs 20
|
|
||||||
(CP1254 . iso-8859-9) ; approximation
|
|
||||||
(CP1255 . iso-8859-8) ; approximation
|
|
||||||
;(CP1256 . ??)
|
|
||||||
(CP1257 . cp1257) ; requires Emacs 20
|
|
||||||
(GB2312 . cn-gb-2312) ; also named 'gb2312' in XEmacs 21 or Emacs 21
|
|
||||||
; also named 'euc-cn' in Emacs 20 or Emacs 21
|
|
||||||
(EUC-JP . euc-jp)
|
|
||||||
(EUC-KR . euc-kr)
|
|
||||||
;(EUC-TW . ??)
|
|
||||||
(BIG5 . big5)
|
|
||||||
;(BIG5-HKSCS . ??)
|
|
||||||
;(GBK . ??)
|
|
||||||
;(GB18030 . ??)
|
|
||||||
(SHIFT_JIS . shift_jis)
|
|
||||||
;(JOHAB . ??)
|
|
||||||
(TIS-620 . tis-620) ; requires Emacs 20 or Emacs 21
|
|
||||||
(VISCII . viscii) ; requires Emacs 20 or Emacs 21
|
|
||||||
(UTF-8 . utf-8) ; requires Mule-UCS in Emacs 20, or Emacs 21
|
|
||||||
)
|
|
||||||
"How to convert a GNU libc/libiconv canonical charset name as seen in
|
|
||||||
Content-Type into a Mule coding system.")
|
|
||||||
|
|
||||||
(defvar po-auxiliary-list nil
|
(defvar po-auxiliary-list nil
|
||||||
"List of auxiliary PO files, in completing read format.")
|
"List of auxiliary PO files, in completing read format.")
|
||||||
|
|
||||||
(defvar po-auxiliary-cursor nil
|
(defvar po-auxiliary-cursor nil
|
||||||
"Cursor into the 'po-auxiliary-list'.")
|
"Cursor into the 'po-auxiliary-list'.")
|
||||||
|
|
||||||
(defvar po-translation-project-address
|
|
||||||
"translation@iro.umontreal.ca"
|
|
||||||
"Electronic mail address of the Translation Project.")
|
|
||||||
|
|
||||||
(defvar po-compose-mail-function
|
(defvar po-compose-mail-function
|
||||||
(let ((functions '(compose-mail-other-window
|
(let ((functions '(compose-mail-other-window
|
||||||
message-mail-other-window
|
message-mail-other-window
|
||||||
@ -913,70 +940,10 @@ Content-Type into a Mule coding system.")
|
|||||||
|
|
||||||
;;; Mode activation.
|
;;; Mode activation.
|
||||||
|
|
||||||
(defun po-find-charset (filename)
|
;; Emacs 21.2 comes with po-find-file-coding-system. We give preference
|
||||||
"Return PO file charset value."
|
;; to the version shipped with Emacs.
|
||||||
(interactive)
|
(if (not (fboundp 'po-find-file-coding-system))
|
||||||
(let ((charset-regexp
|
(require 'po-compat))
|
||||||
"^\"Content-Type: text/plain;[ \t]*charset=\\(.*\\)\\\\n\"")
|
|
||||||
(short-read nil))
|
|
||||||
;; Try the first 4096 bytes. In case we cannot find the charset value
|
|
||||||
;; within the first 4096 bytes (the PO file might start with a long
|
|
||||||
;; comment) try the next 4096 bytes repeatedly until we'll know for sure
|
|
||||||
;; we've checked the empty header entry entirely.
|
|
||||||
(while (not (or short-read (re-search-forward "^msgid" nil t)))
|
|
||||||
(save-excursion
|
|
||||||
(goto-char (point-max))
|
|
||||||
(let ((pair (insert-file-contents-literally filename nil
|
|
||||||
(1- (point))
|
|
||||||
(1- (+ (point) 4096)))))
|
|
||||||
(setq short-read (< (nth 1 pair) 4096)))))
|
|
||||||
(cond (short-read nil)
|
|
||||||
((re-search-forward charset-regexp nil t) (match-string 1))
|
|
||||||
;; We've found the first msgid; maybe, only a part of the msgstr
|
|
||||||
;; value was loaded. Load the next 1024 bytes; if charset still
|
|
||||||
;; isn't available, give up.
|
|
||||||
(t (save-excursion
|
|
||||||
(goto-char (point-max))
|
|
||||||
(insert-file-contents-literally filename nil
|
|
||||||
(1- (point))
|
|
||||||
(1- (+ (point) 1024))))
|
|
||||||
(if (re-search-forward charset-regexp nil t)
|
|
||||||
(match-string 1))))))
|
|
||||||
|
|
||||||
(eval-and-compile
|
|
||||||
(if (or po-EMACS20 po-XEMACS)
|
|
||||||
(defun po-find-file-coding-system-guts (operation filename)
|
|
||||||
"\
|
|
||||||
Return a Mule (DECODING . ENCODING) pair, according to PO file charset.
|
|
||||||
Called through file-coding-system-alist, before the file is visited for real."
|
|
||||||
(and (eq operation 'insert-file-contents)
|
|
||||||
(po-with-temp-buffer
|
|
||||||
(let ((coding-system-for-read 'no-conversion))
|
|
||||||
(let* ((charset (or (po-find-charset filename)
|
|
||||||
"ascii"))
|
|
||||||
(charset-upper (intern (upcase charset)))
|
|
||||||
(charset-lower (intern (downcase charset))))
|
|
||||||
(list (or (cdr (assq charset-upper
|
|
||||||
po-content-type-charset-alist))
|
|
||||||
(if (memq charset-lower (coding-system-list))
|
|
||||||
charset-lower
|
|
||||||
'no-conversion)))))))))
|
|
||||||
|
|
||||||
(if po-EMACS20
|
|
||||||
(defun po-find-file-coding-system (arg-list)
|
|
||||||
"\
|
|
||||||
Return a Mule (DECODING . ENCODING) pair, according to PO file charset.
|
|
||||||
Called through file-coding-system-alist, before the file is visited for real."
|
|
||||||
(po-find-file-coding-system-guts (car arg-list) (car (cdr arg-list)))))
|
|
||||||
|
|
||||||
(if po-XEMACS
|
|
||||||
(defun po-find-file-coding-system (operation filename)
|
|
||||||
"\
|
|
||||||
Return a Mule (DECODING . ENCODING) pair, according to PO file charset.
|
|
||||||
Called through file-coding-system-alist, before the file is visited for real."
|
|
||||||
(po-find-file-coding-system-guts operation filename)))
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
(defvar po-mode-abbrev-table nil
|
(defvar po-mode-abbrev-table nil
|
||||||
"Abbrev table used while in PO mode.")
|
"Abbrev table used while in PO mode.")
|
||||||
@ -1127,8 +1094,12 @@ all reachable through 'M-x customize', in group 'Emacs.Editing.I18n.Po'."
|
|||||||
|
|
||||||
;; Insert MODE-LINE-ENTRY in mode line, but on first load only.
|
;; Insert MODE-LINE-ENTRY in mode line, but on first load only.
|
||||||
(or (member po-mode-line-entry mode-line-format)
|
(or (member po-mode-line-entry mode-line-format)
|
||||||
(let ((entry (member 'global-mode-string mode-line-format)))
|
;; mode-line-format usually contains global-mode-string, but some
|
||||||
(setcdr entry (cons po-mode-line-entry (cdr entry)))))
|
;; people customize this variable. As a last resort, append at the end.
|
||||||
|
(let ((prev-entry (or (member 'global-mode-string mode-line-format)
|
||||||
|
(member " " mode-line-format)
|
||||||
|
(last mode-line-format))))
|
||||||
|
(setcdr prev-entry (cons po-mode-line-entry (cdr prev-entry)))))
|
||||||
|
|
||||||
(defun po-update-mode-line-string ()
|
(defun po-update-mode-line-string ()
|
||||||
"Compute a new statistics string to display in mode line."
|
"Compute a new statistics string to display in mode line."
|
||||||
@ -1182,33 +1153,34 @@ Then, update the mode line counters."
|
|||||||
;; While counting, skip the header entry, for consistency with msgfmt.
|
;; While counting, skip the header entry, for consistency with msgfmt.
|
||||||
(po-find-span-of-entry)
|
(po-find-span-of-entry)
|
||||||
(if (string-equal (po-get-msgid nil) "")
|
(if (string-equal (po-get-msgid nil) "")
|
||||||
(if (po-next-entry)
|
(goto-char po-end-of-entry))
|
||||||
(progn
|
(if (re-search-forward "^msgid" (point-max) t)
|
||||||
;; Start counting
|
(progn
|
||||||
(while (re-search-forward po-any-msgstr-regexp nil t)
|
;; Start counting
|
||||||
(and (= (% total 20) 0)
|
(while (re-search-forward po-any-msgstr-regexp nil t)
|
||||||
(if flag
|
(and (= (% total 20) 0)
|
||||||
(message (_"Position %d/%d") position total)
|
(if flag
|
||||||
(message (_"Position %d") total)))
|
(message (_"Position %d/%d") position total)
|
||||||
(setq here (point))
|
(message (_"Position %d") total)))
|
||||||
(goto-char (match-beginning 0))
|
(setq here (point))
|
||||||
(setq total (1+ total))
|
(goto-char (match-beginning 0))
|
||||||
(and flag (eq (point) current) (setq position total))
|
(setq total (1+ total))
|
||||||
(cond ((eq (following-char) ?#)
|
(and flag (eq (point) current) (setq position total))
|
||||||
(setq po-obsolete-counter (1+ po-obsolete-counter)))
|
(cond ((eq (following-char) ?#)
|
||||||
((looking-at po-untranslated-regexp)
|
(setq po-obsolete-counter (1+ po-obsolete-counter)))
|
||||||
(setq po-untranslated-counter (1+ po-untranslated-counter)))
|
((looking-at po-untranslated-regexp)
|
||||||
(t (setq po-translated-counter (1+ po-translated-counter))))
|
(setq po-untranslated-counter (1+ po-untranslated-counter)))
|
||||||
(goto-char here))
|
(t (setq po-translated-counter (1+ po-translated-counter))))
|
||||||
|
(goto-char here))
|
||||||
|
|
||||||
;; Make another pass just for the fuzzy entries, kind of kludgey.
|
;; Make another pass just for the fuzzy entries, kind of kludgey.
|
||||||
;; FIXME: Counts will be wrong if untranslated entries are fuzzy, yet
|
;; FIXME: Counts will be wrong if untranslated entries are fuzzy, yet
|
||||||
;; this should not normally happen.
|
;; this should not normally happen.
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(while (re-search-forward po-fuzzy-regexp nil t)
|
(while (re-search-forward po-fuzzy-regexp nil t)
|
||||||
(setq po-fuzzy-counter (1+ po-fuzzy-counter)))
|
(setq po-fuzzy-counter (1+ po-fuzzy-counter)))
|
||||||
(setq po-translated-counter (- po-translated-counter po-fuzzy-counter)))
|
(setq po-translated-counter (- po-translated-counter po-fuzzy-counter)))
|
||||||
'())))
|
'()))
|
||||||
|
|
||||||
;; Push the results out.
|
;; Push the results out.
|
||||||
(if flag
|
(if flag
|
||||||
@ -2078,8 +2050,10 @@ For more info cf. `po-subedit-ediff'."
|
|||||||
(defun po-subedit-ediff ()
|
(defun po-subedit-ediff ()
|
||||||
"Edit the subedit buffer using `ediff'.
|
"Edit the subedit buffer using `ediff'.
|
||||||
`po-subedit-ediff' calls `po-ediff-buffers-exit-recursive' to edit translation
|
`po-subedit-ediff' calls `po-ediff-buffers-exit-recursive' to edit translation
|
||||||
variants side by side. `msgcat' is able to produce those variants; every
|
variants side by side if they are actually different; if variants are equal just
|
||||||
variant is marked with:
|
delete the first one.
|
||||||
|
|
||||||
|
`msgcat' is able to produce those variants; every variant is marked with:
|
||||||
|
|
||||||
#-#-#-#-# file name reference #-#-#-#-#
|
#-#-#-#-# file name reference #-#-#-#-#
|
||||||
|
|
||||||
@ -2124,7 +2098,12 @@ When done with the `ediff' session press \\[exit-recursive-edit] exit to
|
|||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(insert-buffer-substring oldbuf start-2 end-2))
|
(insert-buffer-substring oldbuf start-2 end-2))
|
||||||
|
|
||||||
(po-ediff-buffers-exit-recursive buf1 buf2 oldbuf end-2)))))
|
(if (not (string-equal (buffer-substring-no-properties start-1 end-1)
|
||||||
|
(buffer-substring-no-properties start-2 end-2)))
|
||||||
|
(po-ediff-buffers-exit-recursive buf1 buf2 oldbuf end-2)
|
||||||
|
(message "Variants are equal; delete %s" buf1)
|
||||||
|
(forward-line -1)
|
||||||
|
(delete-region (point-min) (point)))))))
|
||||||
|
|
||||||
(defun po-subedit-abort ()
|
(defun po-subedit-abort ()
|
||||||
"Exit the subedit buffer, merely discarding its contents."
|
"Exit the subedit buffer, merely discarding its contents."
|
||||||
@ -3260,11 +3239,13 @@ Write to your team? ('n' if writing to the Translation Project robot) ")))
|
|||||||
po-obsolete-counter))))
|
po-obsolete-counter))))
|
||||||
(let ((buffer (current-buffer))
|
(let ((buffer (current-buffer))
|
||||||
(name (po-guess-archive-name))
|
(name (po-guess-archive-name))
|
||||||
(transient-mark-mode nil))
|
(transient-mark-mode nil)
|
||||||
|
(coding-system-for-read buffer-file-coding-system)
|
||||||
|
(coding-system-for-write buffer-file-coding-system))
|
||||||
(apply po-compose-mail-function address
|
(apply po-compose-mail-function address
|
||||||
(if team-flag
|
(if team-flag
|
||||||
(read-string (_"Subject? "))
|
(read-string (_"Subject? "))
|
||||||
(format "TP-Robot %s" name))
|
(format "%s %s" po-translation-project-mail-label name))
|
||||||
nil)
|
nil)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(re-search-forward
|
(re-search-forward
|
||||||
@ -3328,4 +3309,6 @@ strings remain."
|
|||||||
(save-buffer)
|
(save-buffer)
|
||||||
(kill-buffer (current-buffer)))))))
|
(kill-buffer (current-buffer)))))))
|
||||||
|
|
||||||
|
(provide 'po-mode)
|
||||||
|
|
||||||
;;; po-mode.el ends here
|
;;; po-mode.el ends here
|
||||||
|
6
python-mode-init.el
Normal file
6
python-mode-init.el
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
;; setup python support
|
||||||
|
|
||||||
|
(autoload 'python-mode "python-mode" "Python mode." t)
|
||||||
|
(autoload 'py-shell "python-mode" "Python shell mode." t)
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.py$" . python-mode))
|
||||||
|
(add-to-list 'interpreter-mode-alist '("python" . python-mode))
|
4
rpm-spec-mode-init.el
Normal file
4
rpm-spec-mode-init.el
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
;; rpm-spec-mode for spec files
|
||||||
|
|
||||||
|
(autoload 'rpm-spec-mode "rpm-spec-mode" "RPM spec mode." t)
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.spec$" . rpm-spec-mode))
|
629
rpm-spec-mode.el
629
rpm-spec-mode.el
File diff suppressed because it is too large
Load Diff
43
rpm-spec-mode.el-0.14-xemacs-compat.patch
Normal file
43
rpm-spec-mode.el-0.14-xemacs-compat.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
diff -u rpm-spec-mode.el~ rpm-spec-mode.el
|
||||||
|
--- rpm-spec-mode.el~ 2002-12-02 12:00:38.000000000 +0900
|
||||||
|
+++ rpm-spec-mode.el 2002-12-02 12:00:38.000000000 +0900
|
||||||
|
@@ -105,6 +105,10 @@
|
||||||
|
:type 'string
|
||||||
|
:group 'rpm-spec)
|
||||||
|
|
||||||
|
+;; XEmacs compatibility function
|
||||||
|
+(unless (fboundp 'define-obsolete-variable-alias)
|
||||||
|
+ (defalias 'define-obsolete-variable-alias 'make-obsolete-variable))
|
||||||
|
+
|
||||||
|
(define-obsolete-variable-alias
|
||||||
|
'rpm-completion-ignore-case 'rpm-spec-completion-ignore-case)
|
||||||
|
|
||||||
|
@@ -597,6 +601,14 @@
|
||||||
|
|
||||||
|
;;------------------------------------------------------------
|
||||||
|
|
||||||
|
+;; XEmacs compatibility function
|
||||||
|
+(unless (fboundp 'user-mail-address)
|
||||||
|
+ (defun user-mail-address ()
|
||||||
|
+ "Return value of `user-mail-address'.
|
||||||
|
+
|
||||||
|
+XEmacs sendmail compatibility function."
|
||||||
|
+ user-mail-address))
|
||||||
|
+
|
||||||
|
(defun rpm-add-change-log-entry (&optional change-log-entry)
|
||||||
|
"Find change log and add an entry for today."
|
||||||
|
(interactive "sChange log entry: ")
|
||||||
|
@@ -1117,6 +1129,13 @@
|
||||||
|
|
||||||
|
;;------------------------------------------------------------
|
||||||
|
|
||||||
|
+;; XEmacs compatibility function
|
||||||
|
+(unless (fboundp 'ignore-errors)
|
||||||
|
+ (defmacro ignore-errors (&rest body)
|
||||||
|
+ "Execute FORMS; if an error occurs, return nil.
|
||||||
|
+Otherwise, return result of last FORM."
|
||||||
|
+ `(condition-case nil (progn ,@body) (error nil))))
|
||||||
|
+
|
||||||
|
(defun rpm-spec-field-value (field max)
|
||||||
|
"Get the value of FIELD, searching up to buffer position MAX.
|
||||||
|
See `search-forward-regexp'."
|
@ -1,33 +1,20 @@
|
|||||||
;; Aspell is a replacement for ispell
|
;; aspell is a replacement for ispell (this duplicates of aspell-init.el)
|
||||||
(setq-default ispell-program-name "aspell")
|
(setq-default ispell-program-name "aspell")
|
||||||
|
|
||||||
;; Add python support
|
;; load ".el" files in "/usr/share/emacs/site-lisp/site-start.d/" on startup
|
||||||
(require 'python-mode)
|
(mapc 'load
|
||||||
(setq auto-mode-alist
|
(directory-files "/usr/share/emacs/site-lisp/site-start.d" t "\\.el\\'"))
|
||||||
(cons '("\\.py$" . python-mode) auto-mode-alist))
|
|
||||||
(setq interpreter-mode-alist
|
|
||||||
(cons '("python" . python-mode) interpreter-mode-alist))
|
|
||||||
|
|
||||||
;; run functions from the /usr/share/emacs/site-lisp/site-start.d directory
|
|
||||||
;; Files in this directory ending with ".el" are run on startup
|
|
||||||
|
|
||||||
(mapc 'load (directory-files "/usr/share/emacs/site-lisp/site-start.d" t "\\.el\\'"))
|
|
||||||
|
|
||||||
;; Use the rpm-spec-mode for spec files
|
|
||||||
(require 'rpm-spec-mode)
|
|
||||||
(setq auto-mode-alist
|
|
||||||
(cons '("\\.spec$" . rpm-spec-mode) auto-mode-alist))
|
|
||||||
|
|
||||||
;; Enable utf-8 in locales using utf-8. In RHL, all of these end in .UTF-8
|
|
||||||
;; The utf-8 support in emacs is limited, problems can be expected - especially
|
|
||||||
;; outside latin1
|
|
||||||
|
|
||||||
(cond ((equal (substring (concat " " (getenv "LANG")) -5) "UTF-8")
|
|
||||||
(setq locale-coding-system 'utf-8)
|
|
||||||
(set-terminal-coding-system 'utf-8)
|
|
||||||
(set-keyboard-coding-system 'utf-8)
|
|
||||||
(set-selection-coding-system 'utf-8)
|
|
||||||
(prefer-coding-system 'utf-8)))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;; Enable utf-8 in locales using utf-8. In RHL, all of these end in ".UTF-8".
|
||||||
|
;; The utf-8 support in Emacs is limited, problems can be expected - especially
|
||||||
|
;; outside latin-1
|
||||||
|
(cond ((equal (substring (concat " " (or (getenv "LC_ALL")
|
||||||
|
(getenv "LC_CTYPE")
|
||||||
|
(getenv "LANG")))
|
||||||
|
-5)
|
||||||
|
"UTF-8")
|
||||||
|
(setq locale-coding-system 'utf-8)
|
||||||
|
(set-terminal-coding-system 'utf-8)
|
||||||
|
(set-keyboard-coding-system 'utf-8)
|
||||||
|
(set-selection-coding-system 'utf-8)
|
||||||
|
(prefer-coding-system 'utf-8)))
|
||||||
|
Loading…
Reference in New Issue
Block a user