This commit is contained in:
parent
85ba744178
commit
0949e0e1c3
12
build-fix-ccl-load-problem.patch
Normal file
12
build-fix-ccl-load-problem.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -ru xemacs-21.5.28.20070730.orig/lisp/setup-paths.el xemacs-21.5.28.20070730/lisp/setup-paths.el
|
||||||
|
--- xemacs-21.5.28.20070730.orig/lisp/setup-paths.el 2007-05-07 16:27:21.000000000 +0200
|
||||||
|
+++ xemacs-21.5.28.20070730/lisp/setup-paths.el 2007-07-31 18:16:38.000000000 +0200
|
||||||
|
@@ -46,7 +46,7 @@
|
||||||
|
;(setq debug-paths t)
|
||||||
|
|
||||||
|
|
||||||
|
-(defvar paths-core-load-path-depth 0
|
||||||
|
+(defvar paths-core-load-path-depth 1
|
||||||
|
"Depth of load-path searches in core Lisp paths.")
|
||||||
|
|
||||||
|
(defvar paths-site-load-path-depth 1
|
85
set-language-unicode-precedence-list.patch
Normal file
85
set-language-unicode-precedence-list.patch
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
diff -ru xemacs-21.5.28.20070730.orig/lisp/mule/chinese.el xemacs-21.5.28.20070730/lisp/mule/chinese.el
|
||||||
|
--- xemacs-21.5.28.20070730.orig/lisp/mule/chinese.el 2007-07-30 12:55:39.000000000 +0200
|
||||||
|
+++ xemacs-21.5.28.20070730/lisp/mule/chinese.el 2007-08-01 14:58:39.000000000 +0200
|
||||||
|
@@ -221,7 +221,24 @@
|
||||||
|
|
||||||
|
(set-language-info-alist
|
||||||
|
"Chinese-GB" '((setup-function . setup-chinese-gb-environment-internal)
|
||||||
|
- (charset chinese-gb2312 chinese-sisheng)
|
||||||
|
+ (charset ascii
|
||||||
|
+ latin-iso8859-1
|
||||||
|
+ latin-iso8859-2
|
||||||
|
+ latin-iso8859-3
|
||||||
|
+ latin-iso8859-4
|
||||||
|
+ latin-iso8859-15
|
||||||
|
+ cyrillic-iso8859-5
|
||||||
|
+ greek-iso8859-7
|
||||||
|
+ chinese-gb2312
|
||||||
|
+ chinese-sisheng
|
||||||
|
+ chinese-big5-1
|
||||||
|
+ chinese-big5-2
|
||||||
|
+ korean-ksc5601
|
||||||
|
+ japanese-jisx0208
|
||||||
|
+ japanese-jisx0208-1978
|
||||||
|
+ japanese-jisx0212
|
||||||
|
+ latin-jisx0201
|
||||||
|
+ katakana-jisx0201)
|
||||||
|
(coding-system cn-gb-2312 iso-2022-7bit hz-gb-2312)
|
||||||
|
(coding-priority cn-gb-2312 big5 iso-2022-7bit)
|
||||||
|
(cygwin-locale "zh")
|
||||||
|
@@ -291,7 +310,24 @@
|
||||||
|
(set-charset-ccl-program 'chinese-big5-2 'ccl-encode-big5-font)
|
||||||
|
|
||||||
|
(set-language-info-alist
|
||||||
|
- "Chinese-BIG5" '((charset chinese-big5-1 chinese-big5-2)
|
||||||
|
+ "Chinese-BIG5" '((charset ascii
|
||||||
|
+ latin-iso8859-1
|
||||||
|
+ latin-iso8859-2
|
||||||
|
+ latin-iso8859-3
|
||||||
|
+ latin-iso8859-4
|
||||||
|
+ latin-iso8859-15
|
||||||
|
+ cyrillic-iso8859-5
|
||||||
|
+ greek-iso8859-7
|
||||||
|
+ chinese-big5-1
|
||||||
|
+ chinese-big5-2
|
||||||
|
+ chinese-gb2312
|
||||||
|
+ chinese-sisheng
|
||||||
|
+ korean-ksc5601
|
||||||
|
+ japanese-jisx0208
|
||||||
|
+ japanese-jisx0208-1978
|
||||||
|
+ japanese-jisx0212
|
||||||
|
+ latin-jisx0201
|
||||||
|
+ katakana-jisx0201)
|
||||||
|
(coding-system big5 iso-2022-7bit)
|
||||||
|
(coding-priority big5 cn-gb-2312 iso-2022-7bit)
|
||||||
|
(cygwin-locale "zh_TW")
|
||||||
|
diff -ru xemacs-21.5.28.20070730.orig/lisp/mule/japanese.el xemacs-21.5.28.20070730/lisp/mule/japanese.el
|
||||||
|
--- xemacs-21.5.28.20070730.orig/lisp/mule/japanese.el 2007-07-26 15:22:13.000000000 +0200
|
||||||
|
+++ xemacs-21.5.28.20070730/lisp/mule/japanese.el 2007-08-01 14:54:11.000000000 +0200
|
||||||
|
@@ -368,8 +368,24 @@
|
||||||
|
"Japanese" '((setup-function . setup-japanese-environment-internal)
|
||||||
|
(exit-function . exit-japanese-environment)
|
||||||
|
(tutorial . "TUTORIAL.ja")
|
||||||
|
- (charset japanese-jisx0208 japanese-jisx0208-1978
|
||||||
|
- japanese-jisx0212 latin-jisx0201 katakana-jisx0201)
|
||||||
|
+ (charset ascii
|
||||||
|
+ latin-iso8859-1
|
||||||
|
+ latin-iso8859-2
|
||||||
|
+ latin-iso8859-3
|
||||||
|
+ latin-iso8859-4
|
||||||
|
+ latin-iso8859-15
|
||||||
|
+ cyrillic-iso8859-5
|
||||||
|
+ greek-iso8859-7
|
||||||
|
+ japanese-jisx0208
|
||||||
|
+ japanese-jisx0208-1978
|
||||||
|
+ japanese-jisx0212
|
||||||
|
+ latin-jisx0201
|
||||||
|
+ katakana-jisx0201
|
||||||
|
+ korean-ksc5601
|
||||||
|
+ chinese-big5-1
|
||||||
|
+ chinese-big5-2
|
||||||
|
+ chinese-gb2312
|
||||||
|
+ chinese-sisheng)
|
||||||
|
(coding-system iso-2022-jp euc-jp
|
||||||
|
shift-jis iso-2022-jp-2)
|
||||||
|
(coding-priority iso-2022-jp euc-jp
|
420
site-start.el
Normal file
420
site-start.el
Normal file
@ -0,0 +1,420 @@
|
|||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;;; File name: ` /usr/share/xemacs/site-lisp/site-start.el '
|
||||||
|
;;; System wide start file for xemacs.
|
||||||
|
;;; Copyright 1999 (c) S.u.S.E. Gmbh Fuerth, Germany. All rights reserved.
|
||||||
|
;;; Author: Werner Fink <werner@suse.de>, 1999
|
||||||
|
;;; Mike Fabian <mfabian@suse.de>, 2004, 2005
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(setq load-path (delete (concat "/usr/share/xemacs/"
|
||||||
|
emacs-program-version
|
||||||
|
"/site-packages/lisp/term/")
|
||||||
|
load-path))
|
||||||
|
|
||||||
|
;;
|
||||||
|
;; Preload dynamic (i)Spell menu
|
||||||
|
;; --------------
|
||||||
|
(load "/usr/lib/ispell/ispell-emacs-menu.el" t t)
|
||||||
|
(load "fix-load-history.el" t t)
|
||||||
|
|
||||||
|
;;
|
||||||
|
;; i18n setup (encoding, language-environment, ...)
|
||||||
|
;; -------------------------------------------------
|
||||||
|
|
||||||
|
(if (locate-library "latin-unity") (require 'latin-unity))
|
||||||
|
(if (locate-library "latin-euro-input") (require 'latin-euro-input))
|
||||||
|
(if (and (<= emacs-major-version 21)
|
||||||
|
(<= emacs-minor-version 4)
|
||||||
|
(locate-library "un-define"))
|
||||||
|
(require 'un-define)
|
||||||
|
(provide 'un-define))
|
||||||
|
|
||||||
|
;; Setting the language-environment
|
||||||
|
;;
|
||||||
|
;; fix unicode-precedence-list if setting the language environment
|
||||||
|
;; screws it up.
|
||||||
|
;;
|
||||||
|
;; Unfortunately 'set-language-environment' also changes the locale.
|
||||||
|
;; For example (set-language-environment "Japanese") sets the locale
|
||||||
|
;; to ja_JP.eucJP. That is nonsense and should not be done.
|
||||||
|
;; Therefore we remember the original value of LANG and restore the
|
||||||
|
;; locale after 'set-language-environment'.
|
||||||
|
|
||||||
|
;; create missing UTF-8 language environments:
|
||||||
|
(mapcar
|
||||||
|
(lambda (x)
|
||||||
|
(let ((langenv (car x)))
|
||||||
|
(if (not (string-match "UTF-8" langenv))
|
||||||
|
(create-variant-language-environment langenv 'utf-8))))
|
||||||
|
language-info-alist)
|
||||||
|
|
||||||
|
(set-language-unicode-precedence-list
|
||||||
|
(get-language-info current-language-environment 'charset))
|
||||||
|
|
||||||
|
;; (when (emacs-version>= 21 5 6)
|
||||||
|
;; (let ((old-lang (getenv "LANG"))
|
||||||
|
;; (case-fold-search nil))
|
||||||
|
;; (when (getenv "LANG")
|
||||||
|
;; (cond ((string-match "af" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Afrikaans"))
|
||||||
|
;; ((string-match "sq" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Albanian"))
|
||||||
|
;; ((string-match "ca" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Catalan"))
|
||||||
|
;; ((string-match "zh_TW" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Chinese-BIG5")
|
||||||
|
;; (set-language-unicode-precedence-list
|
||||||
|
;; '(ascii
|
||||||
|
;; latin-iso8859-1
|
||||||
|
;; latin-iso8859-2
|
||||||
|
;; latin-iso8859-3
|
||||||
|
;; latin-iso8859-4
|
||||||
|
;; latin-iso8859-13
|
||||||
|
;; latin-iso8859-15
|
||||||
|
;; latin-iso8859-16
|
||||||
|
;; cyrillic-iso8859-5
|
||||||
|
;; greek-iso8859-7
|
||||||
|
;; chinese-big5-1
|
||||||
|
;; chinese-big5-2
|
||||||
|
;; chinese-gb2312
|
||||||
|
;; chinese-sisheng
|
||||||
|
;; korean-ksc5601
|
||||||
|
;; japanese-jisx0208
|
||||||
|
;; japanese-jisx0208-1978
|
||||||
|
;; japanese-jisx0212
|
||||||
|
;; latin-jisx0201
|
||||||
|
;; katakana-jisx0201)))
|
||||||
|
;; ((string-match "zh_HK" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Chinese-BIG5")
|
||||||
|
;; (set-language-unicode-precedence-list
|
||||||
|
;; '(ascii
|
||||||
|
;; latin-iso8859-1
|
||||||
|
;; latin-iso8859-2
|
||||||
|
;; latin-iso8859-3
|
||||||
|
;; latin-iso8859-4
|
||||||
|
;; latin-iso8859-13
|
||||||
|
;; latin-iso8859-15
|
||||||
|
;; latin-iso8859-16
|
||||||
|
;; cyrillic-iso8859-5
|
||||||
|
;; greek-iso8859-7
|
||||||
|
;; chinese-big5-1
|
||||||
|
;; chinese-big5-2
|
||||||
|
;; chinese-gb2312
|
||||||
|
;; chinese-sisheng
|
||||||
|
;; korean-ksc5601
|
||||||
|
;; japanese-jisx0208
|
||||||
|
;; japanese-jisx0208-1978
|
||||||
|
;; japanese-jisx0212
|
||||||
|
;; latin-jisx0201
|
||||||
|
;; katakana-jisx0201)))
|
||||||
|
;; ((string-match "zh_CN" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Chinese-GB")
|
||||||
|
;; (set-language-unicode-precedence-list
|
||||||
|
;; '(ascii
|
||||||
|
;; latin-iso8859-1
|
||||||
|
;; latin-iso8859-2
|
||||||
|
;; latin-iso8859-3
|
||||||
|
;; latin-iso8859-4
|
||||||
|
;; latin-iso8859-13
|
||||||
|
;; latin-iso8859-15
|
||||||
|
;; latin-iso8859-16
|
||||||
|
;; cyrillic-iso8859-5
|
||||||
|
;; greek-iso8859-7
|
||||||
|
;; chinese-gb2312
|
||||||
|
;; chinese-sisheng
|
||||||
|
;; chinese-big5-1
|
||||||
|
;; chinese-big5-2
|
||||||
|
;; korean-ksc5601
|
||||||
|
;; japanese-jisx0208
|
||||||
|
;; japanese-jisx0208-1978
|
||||||
|
;; japanese-jisx0212
|
||||||
|
;; latin-jisx0201
|
||||||
|
;; katakana-jisx0201)))
|
||||||
|
;; ((string-match "zh_SG" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Chinese-GB")
|
||||||
|
;; (set-language-unicode-precedence-list
|
||||||
|
;; '(ascii
|
||||||
|
;; latin-iso8859-1
|
||||||
|
;; latin-iso8859-2
|
||||||
|
;; latin-iso8859-3
|
||||||
|
;; latin-iso8859-4
|
||||||
|
;; latin-iso8859-13
|
||||||
|
;; latin-iso8859-15
|
||||||
|
;; latin-iso8859-16
|
||||||
|
;; cyrillic-iso8859-5
|
||||||
|
;; greek-iso8859-7
|
||||||
|
;; chinese-gb2312
|
||||||
|
;; chinese-sisheng
|
||||||
|
;; chinese-big5-1
|
||||||
|
;; chinese-big5-2
|
||||||
|
;; korean-ksc5601
|
||||||
|
;; japanese-jisx0208
|
||||||
|
;; japanese-jisx0208-1978
|
||||||
|
;; japanese-jisx0212
|
||||||
|
;; latin-jisx0201
|
||||||
|
;; katakana-jisx0201)))
|
||||||
|
;; ((string-match "hr" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Croatian"))
|
||||||
|
;; ((string-match "ru" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Cyrillic-KOI8"))
|
||||||
|
;; ((string-match "cs" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Czech"))
|
||||||
|
;; ((string-match "da" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Danish"))
|
||||||
|
;; ((string-match "nl" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Dutch"))
|
||||||
|
;; ((string-match "et" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Estonian"))
|
||||||
|
;; ((string-match "fi" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Finnish"))
|
||||||
|
;; ((string-match "fr" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "French"))
|
||||||
|
;; ((string-match "gl" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Galician"))
|
||||||
|
;; ((string-match "de" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "German"))
|
||||||
|
;; ((string-match "el" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Greek"))
|
||||||
|
;; ((string-match "kl" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Greenlandic"))
|
||||||
|
;; ((string-match "he" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Hebrew"))
|
||||||
|
;; ((string-match "iw" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Hebrew"))
|
||||||
|
;; ((string-match "hu" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Hungarian"))
|
||||||
|
;; ((string-match "ga" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Irish"))
|
||||||
|
;; ((string-match "it" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Italian"))
|
||||||
|
;; ((string-match "ja" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Japanese")
|
||||||
|
;; (set-language-unicode-precedence-list
|
||||||
|
;; '(ascii
|
||||||
|
;; latin-iso8859-1
|
||||||
|
;; latin-iso8859-2
|
||||||
|
;; latin-iso8859-3
|
||||||
|
;; latin-iso8859-4
|
||||||
|
;; latin-iso8859-13
|
||||||
|
;; latin-iso8859-15
|
||||||
|
;; latin-iso8859-16
|
||||||
|
;; cyrillic-iso8859-5
|
||||||
|
;; greek-iso8859-7
|
||||||
|
;; japanese-jisx0208
|
||||||
|
;; japanese-jisx0208-1978
|
||||||
|
;; japanese-jisx0212
|
||||||
|
;; latin-jisx0201
|
||||||
|
;; katakana-jisx0201
|
||||||
|
;; korean-ksc5601
|
||||||
|
;; chinese-big5-1
|
||||||
|
;; chinese-big5-2
|
||||||
|
;; chinese-gb2312
|
||||||
|
;; chinese-sisheng)))
|
||||||
|
;; ((string-match "ko" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Korean")
|
||||||
|
;; (set-language-unicode-precedence-list
|
||||||
|
;; '(ascii
|
||||||
|
;; latin-iso8859-1
|
||||||
|
;; latin-iso8859-2
|
||||||
|
;; latin-iso8859-3
|
||||||
|
;; latin-iso8859-4
|
||||||
|
;; latin-iso8859-13
|
||||||
|
;; latin-iso8859-15
|
||||||
|
;; latin-iso8859-16
|
||||||
|
;; cyrillic-iso8859-5
|
||||||
|
;; greek-iso8859-7
|
||||||
|
;; korean-ksc5601
|
||||||
|
;; japanese-jisx0208
|
||||||
|
;; japanese-jisx0208-1978
|
||||||
|
;; japanese-jisx0212
|
||||||
|
;; latin-jisx0201
|
||||||
|
;; katakana-jisx0201
|
||||||
|
;; chinese-big5-1
|
||||||
|
;; chinese-big5-2
|
||||||
|
;; chinese-gb2312
|
||||||
|
;; chinese-sisheng)))
|
||||||
|
;; ((string-match "lt" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Lithuanian"))
|
||||||
|
;; ((string-match "mt" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Maltese"))
|
||||||
|
;; ((string-match "nb" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Norwegian"))
|
||||||
|
;; ((string-match "nn" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Norwegian"))
|
||||||
|
;; ((string-match "no" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Norwegian"))
|
||||||
|
;; ((string-match "pl" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Polish"))
|
||||||
|
;; ((string-match "pt" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Portuguese"))
|
||||||
|
;; ((string-match "ro" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Romanian"))
|
||||||
|
;; ((string-match "sk" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Slovak"))
|
||||||
|
;; ((string-match "sl" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Slovenian"))
|
||||||
|
;; ((string-match "es" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Spanish"))
|
||||||
|
;; ((string-match "sv" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Swedish"))
|
||||||
|
;; ((string-match "th" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Thai-XTIS"))
|
||||||
|
;; ((string-match "tr" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Turkish"))
|
||||||
|
;; ((string-match "vi" (getenv "LANG"))
|
||||||
|
;; (set-language-environment "Vietnamese"))
|
||||||
|
;; (t
|
||||||
|
;; (set-language-environment "English")))
|
||||||
|
;; (setenv "LANG" old-lang)
|
||||||
|
;; (set-current-locale old-lang))))
|
||||||
|
|
||||||
|
(defun suse-set-coding-systems ()
|
||||||
|
(let* ((tmp (shell-command-to-string "locale charmap"))
|
||||||
|
(tmp (substring tmp 0 (string-match "\[ \t\n\]" tmp)))
|
||||||
|
(tmp (downcase tmp)))
|
||||||
|
(when (find-coding-system (intern tmp))
|
||||||
|
;; set the coding system priorities:
|
||||||
|
;; (this is also important to make XIM in utf-8 work
|
||||||
|
;; because XEmacs has no variable/function to set the
|
||||||
|
;; coding-system for XIM, it is just autodetected which
|
||||||
|
;; will work correctly only when the coding-system priorities
|
||||||
|
;; are OK.)
|
||||||
|
(if (not (string-match "utf-8" tmp))
|
||||||
|
(progn (prefer-coding-system (intern tmp))
|
||||||
|
(if (fboundp 'latin-unity-install) (latin-unity-install)))
|
||||||
|
;; it's strange, but (prefer-coding-system 'utf-8) doesn't
|
||||||
|
;; work in XEmacs.
|
||||||
|
;; use 'set-coding-priority-list instead, which achieves
|
||||||
|
;; the same and works for 'utf-8 as well:
|
||||||
|
(set-coding-priority-list (list (intern tmp)))
|
||||||
|
(set-coding-category-system (intern tmp) (intern tmp)))
|
||||||
|
(if (emacs-version>= 21 5 6)
|
||||||
|
;; XEmacs 21.5 apparently renamed this function:
|
||||||
|
(set-default-output-coding-systems (intern tmp))
|
||||||
|
(set-default-coding-systems (intern tmp)))
|
||||||
|
(set-keyboard-coding-system (intern tmp))
|
||||||
|
(set-terminal-coding-system (intern tmp))
|
||||||
|
;; XEmacs 21.5.16 needs this to be able to use non-ASCII file names:
|
||||||
|
(if (and (string-match "XEmacs" emacs-version)
|
||||||
|
(emacs-version>= 21 5 6))
|
||||||
|
(setq file-name-coding-system (intern tmp)))
|
||||||
|
;; without the following line, shell buffers are not by default
|
||||||
|
;; in UTF-8 when running in an UTF-8 locale in XEmacs 21.5.16:
|
||||||
|
(setq process-coding-system-alist (cons (cons ".*" (intern tmp)) '()))
|
||||||
|
;; these two lines appearently make no difference, if they
|
||||||
|
;; are used instead of the above process-coding-system-alist,
|
||||||
|
;; shell buffers still have the wrong encoding:
|
||||||
|
;; (setq default-process-coding-system-read (intern tmp))
|
||||||
|
;; (setq default-process-coding-system-write (intern tmp))
|
||||||
|
;; and this doesn't seem to work either:
|
||||||
|
;; (setq default-process-coding-system '(utf-8 . utf-8))
|
||||||
|
;;
|
||||||
|
;; the following is necessary to enable XEmacs to pass
|
||||||
|
;; command line arguments to external processes in the correct
|
||||||
|
;; encoding. For example this is needed to make
|
||||||
|
;; 'M-x grep' work when searching for UTF-8 strings
|
||||||
|
;; while running in an UTF-8 locale.
|
||||||
|
;;
|
||||||
|
(if (and (string-match "XEmacs" emacs-version)
|
||||||
|
(emacs-version>= 21 5 6))
|
||||||
|
(define-coding-system-alias 'native (intern tmp))))))
|
||||||
|
|
||||||
|
(suse-set-coding-systems)
|
||||||
|
|
||||||
|
;; Set input mode
|
||||||
|
(let ((value (current-input-mode)))
|
||||||
|
(set-input-mode (nth 0 value)
|
||||||
|
(nth 1 value)
|
||||||
|
(terminal-coding-system)
|
||||||
|
;; This quit value is optional
|
||||||
|
(nth 3 value)))
|
||||||
|
|
||||||
|
;; Hack to support some important Unicode keysyms which are not yet
|
||||||
|
;; natively supported in XEmacs:
|
||||||
|
|
||||||
|
(defun insert-unicode-keysym ()
|
||||||
|
"Assuming the last typed key has an associated keysym of the form
|
||||||
|
UXXXX, where XXXX is the hexadecimal code point of a Unicode
|
||||||
|
character, insert that Unicode character at point. "
|
||||||
|
(interactive)
|
||||||
|
(let* ((unicode-codepoint
|
||||||
|
(string-to-int
|
||||||
|
(substring (format "%s" (event-key last-command-event)) 1) 16))
|
||||||
|
(mule-char (unicode-to-char unicode-codepoint)))
|
||||||
|
(if mule-char
|
||||||
|
(insert mule-char)
|
||||||
|
(error 'text-conversion-error
|
||||||
|
(format "Could not convert U+%X to a Mule character, sorry"
|
||||||
|
unicode-codepoint)))))
|
||||||
|
|
||||||
|
(defun suse-global-map-default-binding ()
|
||||||
|
"Workaround to make X11 keysyms of the form UXXXX work.
|
||||||
|
This is a stopgap until proper translation of these keysyms is
|
||||||
|
integrated into XEmacs"
|
||||||
|
|
||||||
|
(interactive)
|
||||||
|
(let* ((keysym
|
||||||
|
(format "%s" (event-key last-command-event)))
|
||||||
|
(case-fold-search nil))
|
||||||
|
(when (string-match "U[0-9A-F][0-9A-F][0-9A-F][0-9A-F]" keysym)
|
||||||
|
(insert-unicode-keysym)
|
||||||
|
(define-key global-map (intern keysym) 'insert-unicode-keysym))))
|
||||||
|
|
||||||
|
;;; (when (equal (console-type) 'x)
|
||||||
|
;;; (set-keymap-default-binding global-map 'suse-global-map-default-binding))
|
||||||
|
|
||||||
|
;; Hack to support some extra Unicode characters which are not in any
|
||||||
|
;; legacy charset. This hack is not enough to display the characters
|
||||||
|
;; correctly (should work with the Xft build of XEmacs) but at least
|
||||||
|
;; it prevents data loss if files containing these characters are read
|
||||||
|
;; and saved again.
|
||||||
|
|
||||||
|
(make-charset 'suse-private
|
||||||
|
"Private character set for SUSE"
|
||||||
|
'(dimension 2
|
||||||
|
chars 96
|
||||||
|
columns 1
|
||||||
|
final ?R ;; Change this--see docs for make-charset
|
||||||
|
long-name "Private charset for some Unicode char support."
|
||||||
|
short-name
|
||||||
|
"Suse-Private"))
|
||||||
|
|
||||||
|
(defun suse-list-unsupported-codepoints-range (range)
|
||||||
|
(interactive)
|
||||||
|
(let ((unsupported nil)
|
||||||
|
(i (car range))
|
||||||
|
(j (cadr range)))
|
||||||
|
(while (<= i j)
|
||||||
|
(if (not (unicode-to-char i))
|
||||||
|
(push i unsupported))
|
||||||
|
(setq i (1+ i)))
|
||||||
|
unsupported))
|
||||||
|
|
||||||
|
(defun suse-fill-charset (charset codepoint-list)
|
||||||
|
(interactive)
|
||||||
|
(let ((n 0))
|
||||||
|
(dolist (codepoint codepoint-list)
|
||||||
|
(let ((i (mod n 96))
|
||||||
|
(j (/ n 96)))
|
||||||
|
(if (< j 95)
|
||||||
|
(set-unicode-conversion (make-char charset (+ i #x20) (+ j #x20)) codepoint)
|
||||||
|
(message "charset %s is full" charset))
|
||||||
|
(setq n (1+ n))))))
|
||||||
|
|
||||||
|
(suse-fill-charset
|
||||||
|
'suse-private
|
||||||
|
(nconc
|
||||||
|
(suse-list-unsupported-codepoints-range '(#x0100 #x06FF))
|
||||||
|
(suse-list-unsupported-codepoints-range '(#x0900 #x11FF))
|
||||||
|
(suse-list-unsupported-codepoints-range '(#x1E00 #x27FF))
|
||||||
|
(suse-list-unsupported-codepoints-range '(#x3000 #x33FF))
|
||||||
|
(suse-list-unsupported-codepoints-range '(#xE800 #xE8FF))
|
||||||
|
(suse-list-unsupported-codepoints-range '(#xF000 #xF0FF))
|
||||||
|
(suse-list-unsupported-codepoints-range '(#xFB00 #xFFFF))
|
||||||
|
))
|
||||||
|
|
||||||
|
(if (and (boundp 'xft-version) (eq window-system 'x))
|
||||||
|
(load "suse-xft-init.el" t t))
|
||||||
|
|
||||||
|
;;;;;;;;;;
|
||||||
|
;; the end
|
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 01 15:01:20 CEST 2007 - mfabian@suse.de
|
||||||
|
|
||||||
|
- fix build of xemacs-packages
|
||||||
|
- add missing UTF-8 language environments in site-start.el
|
||||||
|
- add set-language-unicode-precedence-list.patch to improve
|
||||||
|
the unicode precedence mapping. Nevertheless it is still
|
||||||
|
necessary to call ‘set-language-unicode-precedence-list’
|
||||||
|
in site-start.el because the call to this function
|
||||||
|
in startup.el to get '”' U+201D (RIGHT DOUBLE QUOTATION MARK)
|
||||||
|
treated as single width overrides the call to that function
|
||||||
|
from the setup of the language environment.
|
||||||
|
But at least changing language enviromnents later doesn't
|
||||||
|
mess up the precedence list any more.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jul 30 13:03:37 CEST 2007 - mfabian@suse.de
|
Mon Jul 30 13:03:37 CEST 2007 - mfabian@suse.de
|
||||||
|
|
||||||
|
413
xemacs.patch
413
xemacs.patch
@ -305,419 +305,6 @@ diff -Nru xemacs-21.5.20.orig/lisp/x-win-xfree86.el xemacs-21.5.20/lisp/x-win-xf
|
|||||||
+;; End insert
|
+;; End insert
|
||||||
+)
|
+)
|
||||||
;;; x-win-xfree86.el ends here
|
;;; x-win-xfree86.el ends here
|
||||||
diff -Nru xemacs-21.5.21.orig/site-packages/lisp/site-start.el xemacs-21.5.21/site-packages/lisp/site-start.el
|
|
||||||
--- xemacs-21.5.21.orig/site-packages/lisp/site-start.el 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ xemacs-21.5.21/site-packages/lisp/site-start.el 2005-06-17 12:48:11.000000000 +0200
|
|
||||||
@@ -0,0 +1,409 @@
|
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
+;;; File name: ` /usr/share/xemacs/site-lisp/site-start.el '
|
|
||||||
+;;; System wide start file for xemacs.
|
|
||||||
+;;; Copyright 1999 (c) S.u.S.E. Gmbh Fuerth, Germany. All rights reserved.
|
|
||||||
+;;; Author: Werner Fink <werner@suse.de>, 1999
|
|
||||||
+;;; Mike Fabian <mfabian@suse.de>, 2004, 2005
|
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
+
|
|
||||||
+(setq load-path (delete (concat "/usr/share/xemacs/"
|
|
||||||
+ emacs-program-version
|
|
||||||
+ "/site-packages/lisp/term/")
|
|
||||||
+ load-path))
|
|
||||||
+
|
|
||||||
+;;
|
|
||||||
+;; Preload dynamic (i)Spell menu
|
|
||||||
+;; --------------
|
|
||||||
+(load "/usr/lib/ispell/ispell-emacs-menu.el" t t)
|
|
||||||
+(load "fix-load-history.el" t t)
|
|
||||||
+
|
|
||||||
+;;
|
|
||||||
+;; i18n setup (encoding, language-environment, ...)
|
|
||||||
+;; -------------------------------------------------
|
|
||||||
+
|
|
||||||
+(if (locate-library "latin-unity") (require 'latin-unity))
|
|
||||||
+(if (locate-library "latin-euro-input") (require 'latin-euro-input))
|
|
||||||
+(if (and (<= emacs-major-version 21)
|
|
||||||
+ (<= emacs-minor-version 4)
|
|
||||||
+ (locate-library "un-define"))
|
|
||||||
+ (require 'un-define)
|
|
||||||
+ (provide 'un-define))
|
|
||||||
+
|
|
||||||
+;; Setting the language-environment
|
|
||||||
+;;
|
|
||||||
+;; fix unicode-precedence-list if setting the language environment
|
|
||||||
+;; screws it up.
|
|
||||||
+;;
|
|
||||||
+;; Unfortunately 'set-language-environment' also changes the locale.
|
|
||||||
+;; For example (set-language-environment "Japanese") sets the locale
|
|
||||||
+;; to ja_JP.eucJP. That is nonsense and should not be done.
|
|
||||||
+;; Therefore we remember the original value of LANG and restore the
|
|
||||||
+;; locale after 'set-language-environment'.
|
|
||||||
+
|
|
||||||
+(when (emacs-version>= 21 5 6)
|
|
||||||
+ (let ((old-lang (getenv "LANG"))
|
|
||||||
+ (case-fold-search nil))
|
|
||||||
+ (when (getenv "LANG")
|
|
||||||
+ (cond ((string-match "af" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Afrikaans"))
|
|
||||||
+ ((string-match "sq" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Albanian"))
|
|
||||||
+ ((string-match "ca" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Catalan"))
|
|
||||||
+ ((string-match "zh_TW" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Chinese-BIG5")
|
|
||||||
+ (set-language-unicode-precedence-list
|
|
||||||
+ '(ascii
|
|
||||||
+ latin-iso8859-1
|
|
||||||
+ latin-iso8859-2
|
|
||||||
+ latin-iso8859-3
|
|
||||||
+ latin-iso8859-4
|
|
||||||
+ latin-iso8859-13
|
|
||||||
+ latin-iso8859-15
|
|
||||||
+ latin-iso8859-16
|
|
||||||
+ cyrillic-iso8859-5
|
|
||||||
+ greek-iso8859-7
|
|
||||||
+ chinese-big5-1
|
|
||||||
+ chinese-big5-2
|
|
||||||
+ chinese-gb2312
|
|
||||||
+ chinese-sisheng
|
|
||||||
+ korean-ksc5601
|
|
||||||
+ japanese-jisx0208
|
|
||||||
+ japanese-jisx0208-1978
|
|
||||||
+ japanese-jisx0212
|
|
||||||
+ latin-jisx0201
|
|
||||||
+ katakana-jisx0201)))
|
|
||||||
+ ((string-match "zh_HK" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Chinese-BIG5")
|
|
||||||
+ (set-language-unicode-precedence-list
|
|
||||||
+ '(ascii
|
|
||||||
+ latin-iso8859-1
|
|
||||||
+ latin-iso8859-2
|
|
||||||
+ latin-iso8859-3
|
|
||||||
+ latin-iso8859-4
|
|
||||||
+ latin-iso8859-13
|
|
||||||
+ latin-iso8859-15
|
|
||||||
+ latin-iso8859-16
|
|
||||||
+ cyrillic-iso8859-5
|
|
||||||
+ greek-iso8859-7
|
|
||||||
+ chinese-big5-1
|
|
||||||
+ chinese-big5-2
|
|
||||||
+ chinese-gb2312
|
|
||||||
+ chinese-sisheng
|
|
||||||
+ korean-ksc5601
|
|
||||||
+ japanese-jisx0208
|
|
||||||
+ japanese-jisx0208-1978
|
|
||||||
+ japanese-jisx0212
|
|
||||||
+ latin-jisx0201
|
|
||||||
+ katakana-jisx0201)))
|
|
||||||
+ ((string-match "zh_CN" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Chinese-GB")
|
|
||||||
+ (set-language-unicode-precedence-list
|
|
||||||
+ '(ascii
|
|
||||||
+ latin-iso8859-1
|
|
||||||
+ latin-iso8859-2
|
|
||||||
+ latin-iso8859-3
|
|
||||||
+ latin-iso8859-4
|
|
||||||
+ latin-iso8859-13
|
|
||||||
+ latin-iso8859-15
|
|
||||||
+ latin-iso8859-16
|
|
||||||
+ cyrillic-iso8859-5
|
|
||||||
+ greek-iso8859-7
|
|
||||||
+ chinese-gb2312
|
|
||||||
+ chinese-sisheng
|
|
||||||
+ chinese-big5-1
|
|
||||||
+ chinese-big5-2
|
|
||||||
+ korean-ksc5601
|
|
||||||
+ japanese-jisx0208
|
|
||||||
+ japanese-jisx0208-1978
|
|
||||||
+ japanese-jisx0212
|
|
||||||
+ latin-jisx0201
|
|
||||||
+ katakana-jisx0201)))
|
|
||||||
+ ((string-match "zh_SG" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Chinese-GB")
|
|
||||||
+ (set-language-unicode-precedence-list
|
|
||||||
+ '(ascii
|
|
||||||
+ latin-iso8859-1
|
|
||||||
+ latin-iso8859-2
|
|
||||||
+ latin-iso8859-3
|
|
||||||
+ latin-iso8859-4
|
|
||||||
+ latin-iso8859-13
|
|
||||||
+ latin-iso8859-15
|
|
||||||
+ latin-iso8859-16
|
|
||||||
+ cyrillic-iso8859-5
|
|
||||||
+ greek-iso8859-7
|
|
||||||
+ chinese-gb2312
|
|
||||||
+ chinese-sisheng
|
|
||||||
+ chinese-big5-1
|
|
||||||
+ chinese-big5-2
|
|
||||||
+ korean-ksc5601
|
|
||||||
+ japanese-jisx0208
|
|
||||||
+ japanese-jisx0208-1978
|
|
||||||
+ japanese-jisx0212
|
|
||||||
+ latin-jisx0201
|
|
||||||
+ katakana-jisx0201)))
|
|
||||||
+ ((string-match "hr" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Croatian"))
|
|
||||||
+ ((string-match "ru" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Cyrillic-KOI8"))
|
|
||||||
+ ((string-match "cs" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Czech"))
|
|
||||||
+ ((string-match "da" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Danish"))
|
|
||||||
+ ((string-match "nl" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Dutch"))
|
|
||||||
+ ((string-match "et" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Estonian"))
|
|
||||||
+ ((string-match "fi" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Finnish"))
|
|
||||||
+ ((string-match "fr" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "French"))
|
|
||||||
+ ((string-match "gl" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Galician"))
|
|
||||||
+ ((string-match "de" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "German"))
|
|
||||||
+ ((string-match "el" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Greek"))
|
|
||||||
+ ((string-match "kl" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Greenlandic"))
|
|
||||||
+ ((string-match "he" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Hebrew"))
|
|
||||||
+ ((string-match "iw" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Hebrew"))
|
|
||||||
+ ((string-match "hu" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Hungarian"))
|
|
||||||
+ ((string-match "ga" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Irish"))
|
|
||||||
+ ((string-match "it" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Italian"))
|
|
||||||
+ ((string-match "ja" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Japanese")
|
|
||||||
+ (set-language-unicode-precedence-list
|
|
||||||
+ '(ascii
|
|
||||||
+ latin-iso8859-1
|
|
||||||
+ latin-iso8859-2
|
|
||||||
+ latin-iso8859-3
|
|
||||||
+ latin-iso8859-4
|
|
||||||
+ latin-iso8859-13
|
|
||||||
+ latin-iso8859-15
|
|
||||||
+ latin-iso8859-16
|
|
||||||
+ cyrillic-iso8859-5
|
|
||||||
+ greek-iso8859-7
|
|
||||||
+ japanese-jisx0208
|
|
||||||
+ japanese-jisx0208-1978
|
|
||||||
+ japanese-jisx0212
|
|
||||||
+ latin-jisx0201
|
|
||||||
+ katakana-jisx0201
|
|
||||||
+ korean-ksc5601
|
|
||||||
+ chinese-big5-1
|
|
||||||
+ chinese-big5-2
|
|
||||||
+ chinese-gb2312
|
|
||||||
+ chinese-sisheng)))
|
|
||||||
+ ((string-match "ko" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Korean")
|
|
||||||
+ (set-language-unicode-precedence-list
|
|
||||||
+ '(ascii
|
|
||||||
+ latin-iso8859-1
|
|
||||||
+ latin-iso8859-2
|
|
||||||
+ latin-iso8859-3
|
|
||||||
+ latin-iso8859-4
|
|
||||||
+ latin-iso8859-13
|
|
||||||
+ latin-iso8859-15
|
|
||||||
+ latin-iso8859-16
|
|
||||||
+ cyrillic-iso8859-5
|
|
||||||
+ greek-iso8859-7
|
|
||||||
+ korean-ksc5601
|
|
||||||
+ japanese-jisx0208
|
|
||||||
+ japanese-jisx0208-1978
|
|
||||||
+ japanese-jisx0212
|
|
||||||
+ latin-jisx0201
|
|
||||||
+ katakana-jisx0201
|
|
||||||
+ chinese-big5-1
|
|
||||||
+ chinese-big5-2
|
|
||||||
+ chinese-gb2312
|
|
||||||
+ chinese-sisheng)))
|
|
||||||
+ ((string-match "lt" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Lithuanian"))
|
|
||||||
+ ((string-match "mt" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Maltese"))
|
|
||||||
+ ((string-match "nb" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Norwegian"))
|
|
||||||
+ ((string-match "nn" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Norwegian"))
|
|
||||||
+ ((string-match "no" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Norwegian"))
|
|
||||||
+ ((string-match "pl" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Polish"))
|
|
||||||
+ ((string-match "pt" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Portuguese"))
|
|
||||||
+ ((string-match "ro" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Romanian"))
|
|
||||||
+ ((string-match "sk" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Slovak"))
|
|
||||||
+ ((string-match "sl" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Slovenian"))
|
|
||||||
+ ((string-match "es" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Spanish"))
|
|
||||||
+ ((string-match "sv" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Swedish"))
|
|
||||||
+ ((string-match "th" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Thai-XTIS"))
|
|
||||||
+ ((string-match "tr" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Turkish"))
|
|
||||||
+ ((string-match "vi" (getenv "LANG"))
|
|
||||||
+ (set-language-environment "Vietnamese"))
|
|
||||||
+ (t
|
|
||||||
+ (set-language-environment "English")))
|
|
||||||
+ (setenv "LANG" old-lang)
|
|
||||||
+ (set-current-locale old-lang))))
|
|
||||||
+
|
|
||||||
+(defun suse-set-coding-systems ()
|
|
||||||
+ (let* ((tmp (shell-command-to-string "locale charmap"))
|
|
||||||
+ (tmp (substring tmp 0 (string-match "\[ \t\n\]" tmp)))
|
|
||||||
+ (tmp (downcase tmp)))
|
|
||||||
+ (when (find-coding-system (intern tmp))
|
|
||||||
+ ;; set the coding system priorities:
|
|
||||||
+ ;; (this is also important to make XIM in utf-8 work
|
|
||||||
+ ;; because XEmacs has no variable/function to set the
|
|
||||||
+ ;; coding-system for XIM, it is just autodetected which
|
|
||||||
+ ;; will work correctly only when the coding-system priorities
|
|
||||||
+ ;; are OK.)
|
|
||||||
+ (if (not (string-match "utf-8" tmp))
|
|
||||||
+ (progn (prefer-coding-system (intern tmp))
|
|
||||||
+ (if (fboundp 'latin-unity-install) (latin-unity-install)))
|
|
||||||
+ ;; it's strange, but (prefer-coding-system 'utf-8) doesn't
|
|
||||||
+ ;; work in XEmacs.
|
|
||||||
+ ;; use 'set-coding-priority-list instead, which achieves
|
|
||||||
+ ;; the same and works for 'utf-8 as well:
|
|
||||||
+ (set-coding-priority-list (list (intern tmp)))
|
|
||||||
+ (set-coding-category-system (intern tmp) (intern tmp)))
|
|
||||||
+ (if (emacs-version>= 21 5 6)
|
|
||||||
+ ;; XEmacs 21.5 apparently renamed this function:
|
|
||||||
+ (set-default-output-coding-systems (intern tmp))
|
|
||||||
+ (set-default-coding-systems (intern tmp)))
|
|
||||||
+ (set-keyboard-coding-system (intern tmp))
|
|
||||||
+ (set-terminal-coding-system (intern tmp))
|
|
||||||
+ ;; XEmacs 21.5.16 needs this to be able to use non-ASCII file names:
|
|
||||||
+ (if (and (string-match "XEmacs" emacs-version)
|
|
||||||
+ (emacs-version>= 21 5 6))
|
|
||||||
+ (setq file-name-coding-system (intern tmp)))
|
|
||||||
+ ;; without the following line, shell buffers are not by default
|
|
||||||
+ ;; in UTF-8 when running in an UTF-8 locale in XEmacs 21.5.16:
|
|
||||||
+ (setq process-coding-system-alist (cons (cons ".*" (intern tmp)) '()))
|
|
||||||
+ ;; these two lines appearently make no difference, if they
|
|
||||||
+ ;; are used instead of the above process-coding-system-alist,
|
|
||||||
+ ;; shell buffers still have the wrong encoding:
|
|
||||||
+ ;; (setq default-process-coding-system-read (intern tmp))
|
|
||||||
+ ;; (setq default-process-coding-system-write (intern tmp))
|
|
||||||
+ ;; and this doesn't seem to work either:
|
|
||||||
+ ;; (setq default-process-coding-system '(utf-8 . utf-8))
|
|
||||||
+ ;;
|
|
||||||
+ ;; the following is necessary to enable XEmacs to pass
|
|
||||||
+ ;; command line arguments to external processes in the correct
|
|
||||||
+ ;; encoding. For example this is needed to make
|
|
||||||
+ ;; 'M-x grep' work when searching for UTF-8 strings
|
|
||||||
+ ;; while running in an UTF-8 locale.
|
|
||||||
+ ;;
|
|
||||||
+ (if (and (string-match "XEmacs" emacs-version)
|
|
||||||
+ (emacs-version>= 21 5 6))
|
|
||||||
+ (define-coding-system-alias 'native (intern tmp))))))
|
|
||||||
+
|
|
||||||
+(suse-set-coding-systems)
|
|
||||||
+
|
|
||||||
+;; Set input mode
|
|
||||||
+(let ((value (current-input-mode)))
|
|
||||||
+ (set-input-mode (nth 0 value)
|
|
||||||
+ (nth 1 value)
|
|
||||||
+ (terminal-coding-system)
|
|
||||||
+ ;; This quit value is optional
|
|
||||||
+ (nth 3 value)))
|
|
||||||
+
|
|
||||||
+;; Hack to support some important Unicode keysyms which are not yet
|
|
||||||
+;; natively supported in XEmacs:
|
|
||||||
+
|
|
||||||
+(defun insert-unicode-keysym ()
|
|
||||||
+ "Assuming the last typed key has an associated keysym of the form
|
|
||||||
+UXXXX, where XXXX is the hexadecimal code point of a Unicode
|
|
||||||
+character, insert that Unicode character at point. "
|
|
||||||
+ (interactive)
|
|
||||||
+ (let* ((unicode-codepoint
|
|
||||||
+ (string-to-int
|
|
||||||
+ (substring (format "%s" (event-key last-command-event)) 1) 16))
|
|
||||||
+ (mule-char (unicode-to-char unicode-codepoint)))
|
|
||||||
+ (if mule-char
|
|
||||||
+ (insert mule-char)
|
|
||||||
+ (error 'text-conversion-error
|
|
||||||
+ (format "Could not convert U+%X to a Mule character, sorry"
|
|
||||||
+ unicode-codepoint)))))
|
|
||||||
+
|
|
||||||
+(defun suse-global-map-default-binding ()
|
|
||||||
+ "Workaround to make X11 keysyms of the form UXXXX work.
|
|
||||||
+This is a stopgap until proper translation of these keysyms is
|
|
||||||
+integrated into XEmacs"
|
|
||||||
+
|
|
||||||
+ (interactive)
|
|
||||||
+ (let* ((keysym
|
|
||||||
+ (format "%s" (event-key last-command-event)))
|
|
||||||
+ (case-fold-search nil))
|
|
||||||
+ (when (string-match "U[0-9A-F][0-9A-F][0-9A-F][0-9A-F]" keysym)
|
|
||||||
+ (insert-unicode-keysym)
|
|
||||||
+ (define-key global-map (intern keysym) 'insert-unicode-keysym))))
|
|
||||||
+
|
|
||||||
+;;; (when (equal (console-type) 'x)
|
|
||||||
+;;; (set-keymap-default-binding global-map 'suse-global-map-default-binding))
|
|
||||||
+
|
|
||||||
+;; Hack to support some extra Unicode characters which are not in any
|
|
||||||
+;; legacy charset. This hack is not enough to display the characters
|
|
||||||
+;; correctly (should work with the Xft build of XEmacs) but at least
|
|
||||||
+;; it prevents data loss if files containing these characters are read
|
|
||||||
+;; and saved again.
|
|
||||||
+
|
|
||||||
+(make-charset 'suse-private
|
|
||||||
+ "Private character set for SUSE"
|
|
||||||
+ '(dimension 2
|
|
||||||
+ chars 96
|
|
||||||
+ columns 1
|
|
||||||
+ final ?R ;; Change this--see docs for make-charset
|
|
||||||
+ long-name "Private charset for some Unicode char support."
|
|
||||||
+ short-name
|
|
||||||
+ "Suse-Private"))
|
|
||||||
+
|
|
||||||
+(defun suse-list-unsupported-codepoints-range (range)
|
|
||||||
+ (interactive)
|
|
||||||
+ (let ((unsupported nil)
|
|
||||||
+ (i (car range))
|
|
||||||
+ (j (cadr range)))
|
|
||||||
+ (while (<= i j)
|
|
||||||
+ (if (not (unicode-to-char i))
|
|
||||||
+ (push i unsupported))
|
|
||||||
+ (setq i (1+ i)))
|
|
||||||
+ unsupported))
|
|
||||||
+
|
|
||||||
+(defun suse-fill-charset (charset codepoint-list)
|
|
||||||
+ (interactive)
|
|
||||||
+ (let ((n 0))
|
|
||||||
+ (dolist (codepoint codepoint-list)
|
|
||||||
+ (let ((i (mod n 96))
|
|
||||||
+ (j (/ n 96)))
|
|
||||||
+ (if (< j 95)
|
|
||||||
+ (set-unicode-conversion (make-char charset (+ i #x20) (+ j #x20)) codepoint)
|
|
||||||
+ (message "charset %s is full" charset))
|
|
||||||
+ (setq n (1+ n))))))
|
|
||||||
+
|
|
||||||
+(suse-fill-charset
|
|
||||||
+ 'suse-private
|
|
||||||
+ (nconc
|
|
||||||
+ (suse-list-unsupported-codepoints-range '(#x0100 #x06FF))
|
|
||||||
+ (suse-list-unsupported-codepoints-range '(#x0900 #x11FF))
|
|
||||||
+ (suse-list-unsupported-codepoints-range '(#x1E00 #x27FF))
|
|
||||||
+ (suse-list-unsupported-codepoints-range '(#x3000 #x33FF))
|
|
||||||
+ (suse-list-unsupported-codepoints-range '(#xE800 #xE8FF))
|
|
||||||
+ (suse-list-unsupported-codepoints-range '(#xF000 #xF0FF))
|
|
||||||
+ (suse-list-unsupported-codepoints-range '(#xFB00 #xFFFF))
|
|
||||||
+ ))
|
|
||||||
+
|
|
||||||
+(if (and (boundp 'xft-version) (eq window-system 'x))
|
|
||||||
+ (load "suse-xft-init.el" t t))
|
|
||||||
+
|
|
||||||
+;;;;;;;;;;
|
|
||||||
+;; the end
|
|
||||||
diff -Nru xemacs-21.5.20.orig/site-packages/lisp/term/func-keys.el xemacs-21.5.20/site-packages/lisp/term/func-keys.el
|
diff -Nru xemacs-21.5.20.orig/site-packages/lisp/term/func-keys.el xemacs-21.5.20/site-packages/lisp/term/func-keys.el
|
||||||
--- xemacs-21.5.20.orig/site-packages/lisp/term/func-keys.el 1970-01-01 01:00:00.000000000 +0100
|
--- xemacs-21.5.20.orig/site-packages/lisp/term/func-keys.el 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ xemacs-21.5.20/site-packages/lisp/term/func-keys.el 2005-05-12 14:38:20.000000000 +0200
|
+++ xemacs-21.5.20/site-packages/lisp/term/func-keys.el 2005-05-12 14:38:20.000000000 +0200
|
||||||
|
21
xemacs.spec
21
xemacs.spec
@ -37,7 +37,7 @@ Requires: xemacs-info xemacs-packages ctags
|
|||||||
Conflicts: gnuserv
|
Conflicts: gnuserv
|
||||||
Autoreqprov: on
|
Autoreqprov: on
|
||||||
Version: 21.5.28.20070730
|
Version: 21.5.28.20070730
|
||||||
Release: 1
|
Release: 4
|
||||||
Summary: XEmacs
|
Summary: XEmacs
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
# Howto get the cvs tree of XEmacs:
|
# Howto get the cvs tree of XEmacs:
|
||||||
@ -59,6 +59,7 @@ Source2: fix-load-history.el
|
|||||||
Source3: xemacs.desktop
|
Source3: xemacs.desktop
|
||||||
Source4: xemacs.png
|
Source4: xemacs.png
|
||||||
Source5: suse-xft-init.el
|
Source5: suse-xft-init.el
|
||||||
|
Source6: site-start.el
|
||||||
Patch0: xemacs.patch
|
Patch0: xemacs.patch
|
||||||
# keep in sync with the similar patch to the app-defaults in the main xemacs-packages package:
|
# keep in sync with the similar patch to the app-defaults in the main xemacs-packages package:
|
||||||
Patch3: xemacs-21.4.8-app-defaults.patch
|
Patch3: xemacs-21.4.8-app-defaults.patch
|
||||||
@ -79,6 +80,8 @@ Patch34: suppress-warning-about-undefined-unicode-key-mappings.patch
|
|||||||
Patch38: unitialized-variables.patch
|
Patch38: unitialized-variables.patch
|
||||||
Patch40: cast-pointer-integer-different-size.patch
|
Patch40: cast-pointer-integer-different-size.patch
|
||||||
Patch41: bugzilla-294746-set-language-unicode-precedence-list-at-startup.patch
|
Patch41: bugzilla-294746-set-language-unicode-precedence-list-at-startup.patch
|
||||||
|
Patch42: build-fix-ccl-load-problem.patch
|
||||||
|
Patch43: set-language-unicode-precedence-list.patch
|
||||||
Patch292811: bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch
|
Patch292811: bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch
|
||||||
Patch294746: bugzilla-294746-support-windows-1252.patch
|
Patch294746: bugzilla-294746-support-windows-1252.patch
|
||||||
|
|
||||||
@ -166,6 +169,8 @@ Authors:
|
|||||||
%patch38 -p1
|
%patch38 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%patch42 -p1
|
||||||
|
%patch43 -p1
|
||||||
%patch292811 -p1
|
%patch292811 -p1
|
||||||
%patch294746 -p1
|
%patch294746 -p1
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
@ -429,7 +434,7 @@ done
|
|||||||
mkdir -p $RPM_BUILD_ROOT%{appdefdir}/app-defaults/
|
mkdir -p $RPM_BUILD_ROOT%{appdefdir}/app-defaults/
|
||||||
install -m 644 etc/Emacs.ad $RPM_BUILD_ROOT%{appdefdir}/app-defaults/XEmacs
|
install -m 644 etc/Emacs.ad $RPM_BUILD_ROOT%{appdefdir}/app-defaults/XEmacs
|
||||||
# SuSE extension
|
# SuSE extension
|
||||||
install -m 0644 site-packages/lisp/site-start.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/
|
install -m 0644 $RPM_SOURCE_DIR/site-start.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/
|
||||||
install -m 0644 $RPM_SOURCE_DIR/suse-xft-init.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/
|
install -m 0644 $RPM_SOURCE_DIR/suse-xft-init.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/
|
||||||
install -m 0644 site-packages/lisp/term/func-keys.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/
|
install -m 0644 site-packages/lisp/term/func-keys.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/
|
||||||
install -m 0644 site-packages/lisp/term/linux.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/
|
install -m 0644 site-packages/lisp/term/linux.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/
|
||||||
@ -562,6 +567,18 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%dir /usr/share/xemacs/site-packages/lisp/term/
|
%dir /usr/share/xemacs/site-packages/lisp/term/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 01 2007 - mfabian@suse.de
|
||||||
|
- fix build of xemacs-packages
|
||||||
|
- add missing UTF-8 language environments in site-start.el
|
||||||
|
- add set-language-unicode-precedence-list.patch to improve
|
||||||
|
the unicode precedence mapping. Nevertheless it is still
|
||||||
|
necessary to call ‘set-language-unicode-precedence-list’
|
||||||
|
in site-start.el because the call to this function
|
||||||
|
in startup.el to get '”' U+201D (RIGHT DOUBLE QUOTATION MARK)
|
||||||
|
treated as single width overrides the call to that function
|
||||||
|
from the setup of the language environment.
|
||||||
|
But at least changing language enviromnents later doesn't
|
||||||
|
mess up the precedence list any more.
|
||||||
* Mon Jul 30 2007 - mfabian@suse.de
|
* Mon Jul 30 2007 - mfabian@suse.de
|
||||||
- update to 21.5.28.20070730
|
- update to 21.5.28.20070730
|
||||||
- remove bugzilla-293109-w3m-el-under-xemacs-cannot-display-utf-8-encoded-web-pages-containing-fffd.patch
|
- remove bugzilla-293109-w3m-el-under-xemacs-cannot-display-utf-8-encoded-web-pages-containing-fffd.patch
|
||||||
|
Loading…
Reference in New Issue
Block a user