Support IBM038 (a.k.a. "EBCDIC-INT") encoding

* lisp/international/mule-conf.el (ibm038): New charset.
(ebcdic-int, cp038): Alias charsets of ibm038.
* lisp/language/english.el (ibm038): New coding-system.
(ebcdic-int, cp038): Alias coding-systems of ibm038.
(Bug#33612)

* etc/NEWS: Announce the new coding system ibm038.
This commit is contained in:
Eli Zaretskii 2018-12-04 20:27:20 +02:00
parent 8e28aee664
commit 6d89891898
3 changed files with 22 additions and 0 deletions

View file

@ -1307,6 +1307,11 @@ a multibyte string even if its second argument is an ASCII character.
** '(format "%d" X)' no longer mishandles a floating-point number X that
does not fit in a machine integer.
---
** New coding-system 'ibm038'.
This is the International EBCDIC encoding, also available as aliases
'ebcdic-int' and 'cp038'.
+++
** In the DST slot, 'encode-time' and 'parse-time-string' now return -1
if it is not known whether daylight saving time is in effect.

View file

@ -1066,6 +1066,15 @@
:mime-charset 'ebcdic-uk
:map "EBCDICUK")
(define-charset 'ibm038
"International version of EBCDIC"
:short-name "IBM038"
:code-space [0 255]
:mime-charset 'ibm038
:map "IBM038")
(define-charset-alias 'ebcdic-int 'ibm038)
(define-charset-alias 'cp038 'ibm038)
(define-charset 'ibm1047
;; Says groff:
"IBM1047, `EBCDIC Latin 1/Open Systems' used by OS/390 Unix."

View file

@ -62,6 +62,14 @@ Nothing special is needed to handle English.")
:mnemonic ?*)
(define-coding-system-alias 'cp1047 'ibm1047)
(define-coding-system 'ibm038
"International version of EBCDIC"
:coding-type 'charset
:charset-list '(ibm038)
:mnemonic ?*)
(define-coding-system-alias 'ebcdic-int 'ibm038)
(define-coding-system-alias 'cp038 'ibm038)
;; Make "ASCII" an alias of "English" language environment.
(set-language-info-alist
"ASCII" (cdr (assoc "English" language-info-alist)))