comparison lisp/mule/mule-cmds.el @ 801:2b676dc88c66

[xemacs-hg @ 2002-04-01 03:58:02 by ben] bug fixes (e.g. ballooning on X windows) Makefile.in.in: Try to make the Makefile notice if its source Makefile.in.in is changed, and regenerate and run itself. Use a bigger default SHEAP_ADJUSTMENT on Cygwin; otherwise you can't compile under Mule if a Lisp file has changed. (can't run temacs) TODO.ben-mule-21-5: update. mule/mule-cmds.el: Hash the result of mswindows-get-language-environment-from-locale, since it's very expensive (and causes huge ballooning of memory under X Windows, since it's called from x-get-resource). cl-extra.el, code-files.el, files.el, simple.el, subr.el, x-faces.el: Create new string-equal-ignore-case, based on built-in compare-strings -- compare strings ignoring case without the need to generate garbage by calling downcase. Use it in equalp and elsewhere. alloc.c, bytecode.c, chartab.c, data.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-unixoid.c, extents.c, file-coding.c, fileio.c, fns.c, glyphs.c, gutter.c, lisp-union.h, lisp.h, mule-charset.c, nt.c, process-unix.c, process.c, specifier.c, symbols.c, sysdep.c, sysdep.h, text.c, toolbar.c: Try to implement GC triggering based on percentage of total memory usage. Not currently activated (percentage set to 0) because not quite working. Add `memory-usage' primitive to return XEmacs' idea of its memory usage. Add primitive compare-strings, compatible with FSF 21.1 -- can compare any part of two strings, optionally ignoring case. Improve qxe() functions in text.c for text comparison. Use RETURN_NOT_REACHED to try to avoid warnings about unreachable code. Add volatile_make_int() to fix warning in unix_send_process().
author ben
date Mon, 01 Apr 2002 03:59:04 +0000
parents 2923009caf47
children c10d0c3f965f
comparison
equal deleted inserted replaced
800:a5954632b187 801:2b676dc88c66
1007 ;; Init code. 1007 ;; Init code.
1008 1008
1009 ;; auto-language-alist deleted. We have a more sophisticated system, 1009 ;; auto-language-alist deleted. We have a more sophisticated system,
1010 ;; with the locales stored in the language data. 1010 ;; with the locales stored in the language data.
1011 1011
1012 (defconst langenv-to-locale-hash (make-hash-table :test 'equal))
1013
1012 (defun get-language-environment-from-locale (locale) 1014 (defun get-language-environment-from-locale (locale)
1013 "Convert LOCALE into a language environment. 1015 "Convert LOCALE into a language environment.
1014 LOCALE is a C library locale string, as returned by `current-locale'. 1016 LOCALE is a C library locale string, as returned by `current-locale'.
1015 Uses the `locale' property of the language environment." 1017 Uses the `locale' property of the language environment."
1016 (block langenv 1018 (or (gethash locale langenv-to-locale-hash)
1017 (dolist (langcons language-info-alist) 1019 (let ((retval
1018 (let* ((lang (car langcons)) 1020 (block langenv
1019 (locs (get-language-info lang 'locale)) 1021 (dolist (langcons language-info-alist)
1020 (case-fold-search t)) 1022 (let* ((lang (car langcons))
1021 (dolist (loc (if (listp locs) locs (list locs))) 1023 (locs (get-language-info lang 'locale))
1022 (if (cond ((functionp loc) 1024 (case-fold-search t))
1023 (funcall loc locale)) 1025 (dolist (loc (if (listp locs) locs (list locs)))
1024 ((stringp loc) 1026 (if (cond ((functionp loc)
1025 (string-match (concat "^" loc "\\([^A-Za-z0-9]\\|$\\)") 1027 (funcall loc locale))
1026 locale))) 1028 ((stringp loc)
1027 (return-from langenv lang))))))) 1029 (string-match
1030 (concat "^" loc "\\([^A-Za-z0-9]\\|$\\)")
1031 locale)))
1032 (return-from langenv lang))))))))
1033 (puthash locale retval langenv-to-locale-hash)
1034 retval)))
1028 1035
1029 (defun mswindows-get-language-environment-from-locale (ms-locale) 1036 (defun mswindows-get-language-environment-from-locale (ms-locale)
1030 "Convert MS-LOCALE (an MS Windows locale) into a language environment. 1037 "Convert MS-LOCALE (an MS Windows locale) into a language environment.
1031 MS-LOCALE is in the format recognized by `set-mswindows-current-locale' -- 1038 MS-LOCALE is in the format recognized by `set-mswindows-current-locale' --
1032 i.e. a language string or a cons (LANG . SUBLANG). Note: This is NOT the 1039 i.e. a language string or a cons (LANG . SUBLANG). Note: This is NOT the