Package: emacs;
Reported by: Robert Nikander <robert.nikander <at> icloud.com>
Date: Tue, 22 Apr 2025 22:52:01 UTC
Severity: normal
Found in version 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Robert Nikander <robert.nikander <at> icloud.com> Subject: bug#77998: closed (Re: bug#77998: 30.0.50; thai-pattachote input method is missing characters?) Date: Sat, 26 Apr 2025 13:49:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report #77998: 30.0.50; thai-pattachote input method is missing characters? which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 77998 <at> debbugs.gnu.org. -- 77998: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77998 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org> To: Robert Nikander <robert.nikander <at> icloud.com> Cc: 77998-done <at> debbugs.gnu.org Subject: Re: bug#77998: 30.0.50; thai-pattachote input method is missing characters? Date: Sat, 26 Apr 2025 16:48:26 +0300> From: Robert Nikander <robert.nikander <at> icloud.com> > Date: Wed, 23 Apr 2025 18:30:55 -0600 > Cc: Eli Zaretskii <eliz <at> gnu.org> > > > > On Apr 23, 2025, at 6:11 AM, Eli Zaretskii <eliz <at> gnu.org> wrote: > > > > Thanks. Can you try identifying additional missing characters, if > > there are any? An input method might omit some characters, but not if > > they are used frequently enough. So I think we would like to add any > > missing characters, if that is possible. > > > Okay, I've taken a closer look at this, and I think I see a way to fix it, or at least improve it significantly. There are two input methods for Thai: > > 1. thai-pattachote > 2. thai-kesmanee > > The second one works better, and includes most of the characters, except a couple more exotic ones as explained in the Help displayed by `describe-input-method`. This `thai-kesmanee` method may be misspelled [1], but I don't care much about that. > > It appears that the `thai-pattachote` method has both missing chars and duplicate chars. I compared the keyboard displayed by `describe-input-method` with the keyboard shown here: [2]. There are three duplicates that shouldn't be there, and those line up exactly with the three missing chars. > > These characters are difficult to see, especially with a small font, so I can see why someone apparently made these mistakes. > > Here are the missing characters: > > 1. ฉ > 2. ฌ > 3. ฏ > > These are duplicated characters: > > 1. ฒ - It can be typed 3 ways: ], .+shift, p+shift > 2. ั - It can be typed 2 ways: g, b+shift > 3. ฎ - It can be typed 2 ways: z+shift, x+shift > > Now the #2 duplicate appears to be consistent with the Pattachote keyboard. But #1 and #3 provide us with the 3 new spaces to use for the missing letters. > > = Changes = > > 1. The shifted '.' key ('>') should map to 'ฉ', not 'ฒ' as it does now. So '>' -> 'ฉ' fixes missing char #1. > > 2. The ']' key should be inserting 'ฌ', not 'ฒ' as it does now. So ']' -> 'ฌ' fixes missing char #2. > > 3. The shifted 'x' key should be inserting 'ฏ', not 'ฎ' as it is now. That fixes missing char #3. > > A bit of a disclaimer… I don’t know Thai. Ideally someone who does would check this. But I’m pretty confident this is correct because the way the duped keys lined up exactly with the missing ones, when looking at the keyboard at [2]. Thanks, I've made your proposed changes, and I'm therefore closing this bug.
[Message part 3 (message/rfc822, inline)]
From: Robert Nikander <robert.nikander <at> icloud.com> To: bug-gnu-emacs <at> gnu.org Subject: 30.0.50; thai-pattachote input method is missing characters? Date: Tue, 22 Apr 2025 16:51:09 -0600Hi, I've been learning how to read Thai. I tried the input method `thai-pattachote`. I'm a beginner so not 100% sure about this, but it seems to be missing the character ฉ (THAI CHARACTER CHO CHING). Is that a bug? An input method should have all the characters in the alphabet, no? When you do `describe-input-method` it shows you a keyboard, like this: +----------------------------------------------------------------+ | = + | ๒ " | ๓ / | ๔ , | ๕ ? | ู ุ | ๗ _ | ๘ . | ๙ ( | ๐ ) | ๑ - | ๖ % | ฃ ฅ | +----------------------------------------------------------------+ | ็ ๊ | ต ฤ | ย ๆ | อ ญ | ร ษ | ่ ึ | ด ฝ | ม ซ | ว ถ | แ ฒ | ใ ฯ | ฒ ฦ | +------------------------------------------------------------+ | ้ ๋ | ท ธ | ง ำ | ก ณ | ั ์ | ี ื | า ผ | น ช | เ โ | ไ ฆ | ข ฑ | ฺ ํ | +-----------------------------------------------------------+ | บ ฎ | ป ฎ | ล ฐ | ห ภ | ิ ั | ค ศ | ส ฮ | ะ ฟ | จ ฒ | พ ฬ | +-------------------------------------------------+ The character is not there. There may be more missing characters. This is just the first one I hit as I’m working through the alphabet. Rob In GNU Emacs 30.0.50 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G9323)) of 2023-06-26 built on builder10-14.lan Windowing system distributor 'Apple', version 10.3.2575 System Description: macOS 15.4.1 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules --with-x-toolkit=no' Configured features: ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: shell-dirtrack-mode: t org-bullets-mode: t org-indent-mode: t org-roam-db-autosync-mode: t ivy-mode: t desktop-save-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /Users/rob/.emacs.d/elpa/emacsql-sqlite-module-20240415.1535/emacsql-sqlite-module hides /Users/rob/.emacs.d/elpa/emacsql-20240415.1535/emacsql-sqlite-module /Users/rob/.emacs.d/elpa/transient-20230315.1520/transient hides /Applications/Emacs.app/Contents/Resources/lisp/transient Features: (shadow sort emacsbug hangul hanja-util descr-text crm face-remap help-fns radix-tree thai-util thai-word cus-start quail misearch multi-isearch mail-extr ffap tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell macrostep-c cmacexp macrostep octave sh-script smie executable js c-ts-common imenu slime-autodoc slime-parse cmake-mode rst python treesit nroff-mode rust-utils rust-mode rust-rustfmt rust-playpen rust-compile rust-cargo sql view conf-mode swift-mode swift-mode-imenu swift-mode-repl swift-mode-beginning-of-defun swift-mode-font-lock swift-mode-standard-types swift-mode-indent swift-mode-lexer markdown-mode yasnippet cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln nxml-rap sgml-mode facemenu logview datetime vc-git diff-mode vc-dispatcher dired-aux org-bullets org-indent oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range message sendmail yank-media rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range ol-docview doc-view filenotify jka-compr image-mode exif dired dired-loaddefs ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi org-link-doi org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id org-roam-node org-roam-db emacsql-sqlite-builtin sqlite org-roam-utils org-roam-compat org-roam org-capture emacsql-sqlite emacsql-sqlite-common emacsql emacsql-compiler magit-section compat dash org-download org-attach url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny async org-extra-emphasis pcase htmlfontify cus-edit cus-load wid-edit ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist xdg org-id org-refile avl-tree org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date ob-emacs-lisp ob-core ob-eval org-cycle org-table ol rx org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs format-spec slime easy-mmode apropos compile text-property-search etags fileloop generator xref project arc-mode archive-mode noutline outline icons pp comint ansi-osc ansi-color hyperspec thingatpt extmap bindat cap-words superword subword ivy delsel ring ivy-faces ivy-overlay colir color cl-extra help-mode use-package-ensure use-package-core desktop frameset dap-mode-autoloads bui-autoloads emacsql-sqlite-module-autoloads idris-mode-autoloads leaf-autoloads logview-autoloads datetime-autoloads extmap-autoloads lsp-docker-autoloads lsp-ivy-autoloads lsp-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads f-autoloads magit-autoloads git-commit-autoloads markdown-mode-autoloads ob-async-autoloads org-drill-autoloads org-roam-autoloads magit-section-autoloads emacsql-autoloads persist-autoloads prop-menu-autoloads racket-mode-autoloads realgud-recursive-autoloads rust-mode-autoloads slime-autoloads macrostep-autoloads sqlite3-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads dash-autoloads with-editor-autoloads info compat-autoloads yaml-autoloads yaml-mode-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 1463213 243662) (symbols 48 75269 19) (strings 32 268863 26350) (string-bytes 1 8738716) (vectors 16 107845) (vector-slots 8 2757941 118017) (floats 8 576 1947) (intervals 56 95729 650) (buffers 984 828))
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.