summaryrefslogtreecommitdiff
path: root/lisp/international/characters.el
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
|
* Fix script for some charactersEli Zaretskii2023-12-201-0/+3
| | | | | | | | * lisp/international/characters.el (char-script-table): Fix script for 2 characters. * admin/unidata/blocks.awk: Fix script for Yijing Hexagram Symbols. (Bug#67924)
* Fix the 'C' and 'c' categories of charactersEli Zaretskii2023-09-161-4/+4
| | | | | * lisp/international/characters.el: Fix categories of Chinese characters. (Bug65995)
* Fix rendering of Traditional Mongolian scriptEli Zaretskii2023-04-231-0/+10
| | | | | | | | | * lisp/international/characters.el: Set punctuation syntax for Po characters from the Mongolian block * lisp/international/fontset.el (setup-default-fontset): Add fontset setting for Traditional Mongolic. * lisp/language/misc-lang.el (composition-function-table): Add rules for Traditional Mongolic. (Bug#63028)
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Fix definition of CNS 11643-15 charsetEli Zaretskii2022-12-241-1/+1
| | | | | | | * lisp/international/mule-conf.el (chinese-cns11643-15): Fix :code-offset value. (Bug#60275) * lisp/international/characters.el: Add chinese-cns11643-15 to charsets whose characters have categories c and C.
* Update Unicode support to Unicode version 15.0.0 (bug#57846)समीर सिंह Sameer Singh2022-09-171-18/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/unidata/BidiBrackets.txt * admin/unidata/BidiMirroring.txt * admin/unidata/Blocks.txt * admin/unidata/IVD_Sequences.txt * admin/unidata/IdnaMappingTable.txt * admin/unidata/NormalizationTest.txt * admin/unidata/PropertyValueAliases.txt * admin/unidata/ScriptExtensions.txt * admin/unidata/Scripts.txt * admin/unidata/SpecialCasing.txt * admin/unidata/UnicodeData.txt * admin/unidata/confusables.txt * admin/unidata/copyright.html * admin/unidata/emoji-data.txt * admin/unidata/emoji-sequences.txt * admin/unidata/emoji-test.txt * admin/unidata/emoji-zwj-sequences.txt * test/manual/BidiCharacterTest.txt: Updated files from Unicode 15.0. * admin/unidata/unidata-gen.el (unidata-file-alist): Add new ranges. * lisp/international/fontset.el (script-representative-chars): Add new scripts. (otf-script-alist): Update from latest version. (setup-default-fontset): Add new scripts. * lisp/international/characters.el: Update syntax and category tables for new characters and scripts. (char-width-table): Update for changes in Unicode 15.0. * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-tests--failing-lines-part1) (ucs-normalize-tests--failing-lines-part2): Update per the test results. * doc/lispref/nonascii.texi (Character Properties): Update Unicode version number. * etc/NEWS: Announce support for Unicode 15.0.
* Merge from origin/emacs-28Stefan Kangas2022-09-011-7/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8807a4f532 Enable 256 colors in fbterm. bbc23ca8ab One more fix for find-file.el 0cbcaf5119 ; Yet another doc fix for 'ff-other-file-alist' (bug#57325) 2d9a391727 Recommend using fbterm in the Linux console. a5a92e577c ; * src/window.c (syms_of_window) <window-point-insertion-... 4d52fe6b96 * lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#... d111b5b651 * lisp/info.el (Info-mode): Support the Linux console better. cc945ec0ed ; Fix doc strings in latin1-disp.el 195fcc932e Improve the documentation of glyphless-character display 72ae02377e ; * lisp/jit-lock.el (jit-lock-chunk-size): Doc fix. 3fb69fad49 Fix documentation of 'glyphless-char-display' # Conflicts: # lisp/international/characters.el # src/xdisp.c
| * Improve the documentation of glyphless-character displayEli Zaretskii2022-08-281-2/+6
| | | | | | | | | | | | | | | | | | * lisp/international/characters.el (glyphless-char-display-control): * src/xdisp.c (syms_of_xdisp) <glyphless-char-display>: Mention the 'glyphless-char' face in the doc string. * doc/lispref/display.texi (Glyphless Chars): Index 'glyphless-char' face.
* | Support the full range of variation selectorsAxel Svensson2022-08-111-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/international/characters.el: Provide acronyms for variation selectors. (update-glyphless-char-display): Update display of the full range of variation selectors. (glyphless-char-display-control): Update doc string. (Bug#57072) * doc/lispref/display.texi (Glyphless Chars): Document more variation selectors. Copyright-paperwork-exempt: yes
* | ; * lisp/international/characters.el (#xfb50): Fix last change.Eli Zaretskii2022-05-041-1/+1
| |
* | Fix 'bidi-class' property of unassigned codepointsEli Zaretskii2022-05-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | * admin/unidata/unidata-gen.el (unidata-file-alist): Update the default values of 'bidi-class' according to the latest Unicode Standard. * admin/notes/unicode: Mention possible changes in DerivedBidiClass.txt that need to be reflected in unidata-gen.el. * lisp/international/characters.el (#xfb50, #xfdf0): Fix the Arabic block characters. (Bug#55256)
* | Add new bidi-string-strip-control-characters functionLars Ingebrigtsen2022-01-201-0/+6
| | | | | | | | | | * lisp/international/characters.el (bidi-string-strip-control-characters): New function.
* | Add textsec functions for verifying email addressesLars Ingebrigtsen2022-01-181-5/+8
| | | | | | | | | | | | | | | | | | | | | | * lisp/international/characters.el (bidi-control-characters): Rename from glyphless--bidi-control-characters for use in textsec, and add LRM/RLM/ALM. (update-glyphless-char-display): Adjust the code. * lisp/international/textsec.el (textsec-local-address-suspicious-p) (textsec-name-suspicious-p, textsec-suspicious-nonspacing-p) (textsec-email-suspicious-p): New functions.
* | Fix minor inconsistencies in 'char-script-table'Eli Zaretskii2022-01-171-0/+4
| | | | | | | | | | | | | | | | | | | | * admin/unidata/blocks.awk (name2alias): Map some obscure blocks to their native scripts, to follow Scripts.txt. * lisp/international/characters.el (char-script-table): Add few exceptions. * lisp/international/fontset.el (script-representative-chars): Remove scripts no longer used.
* | Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | Fix characters.el build issueLars Ingebrigtsen2021-12-021-9/+11
| | | | | | | | | | | | * lisp/international/characters.el (glyphless--bidi-control-characters): Don't use names here, because it's too early (bug#52240).
* | ; * lisp/international/characters.el: Fix a typo in last change.Eli Zaretskii2021-12-021-1/+1
| |
* | Fix recent changes related to 'glyphless-display-mode'Eli Zaretskii2021-12-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | * lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Fix spelling of "bidirectional". * lisp/international/characters.el (char-acronym-table): Fix acronyms for LRI and RLI: use their accepted shorthands. (glyphless-char-display-control): Fix spelling of doc string. * doc/lispref/display.texi (Glyphless Chars): Fix spelling and add a cross-reference.
* | Add a bidi-control target for `glyphless-char-display-control'Lars Ingebrigtsen2021-12-021-16/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Glyphless Chars): Document bidi-control. * lisp/international/characters.el (char-acronym-table): Add the ISOLATE characters. (update-glyphless-char-display): Implement bidi-control, and mark all Cf characters we don't know about as UNK. (glyphless--bidi-control-characters): New variable. (glyphless-char-display-control): Add a new type -- bidi-control. * lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Add a new type -- bidi-control.
* | characters.el: remove repetition in glyphless-char-display-controlRobert Pluim2021-12-011-35/+18
| | | | | | | | | | | | | | * lisp/international/characters.el (glyphless-char-display-method): New custom widget for the different options for displaying glyphless characters. (glyphless-char-display-control): Use 'glyphless-char-display-method'.
* | Fix update-glyphless-char-display variable settingLars Ingebrigtsen2021-12-011-1/+1
| | | | | | | | | | * lisp/international/characters.el (update-glyphless-char-display): Only set the variable if given.
* | ; Improve doc string of 'glyphless-char-display-control'Eli Zaretskii2021-11-271-6/+8
| | | | | | | | | | * lisp/international/characters.el (glyphless-char-display-control): Doc fix.
* | Specify initial values for glyphless-char-display-control elementsRobert Pluim2021-11-261-5/+10
|/ | | | | * lisp/international/characters.el (glyphless-char-display-control): Specify :value for all the elements, since nil is not a valid value.
* Fix doc strings of 2 categoriesEli Zaretskii2021-10-081-2/+2
| | | | | * lisp/international/characters.el (?R, ?L): Make the first line of the categories' doc string shorter, to fit into 15 columns.
* Add glyphless-char-display-control for Variation SelectorsRobert Pluim2021-09-261-1/+14
| | | | | | | * lisp/international/characters.el (update-glyphless-char-display): (glyphless-char-display-control): Add control knob for U+FE00 through U+FE0F, defaulting to 'thin-space'. * doc/lispref/display.texi (Glyphless Chars): Document it.
* Support for Unicode emoji sequencesRobert Pluim2021-09-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | This covers both sequences using Zero-Width-Joiner codepoints and those without. Bug#39799, I hope. * .gitignore: Add emoji-zwj.el * admin/notes/unicode: Add emoji-zwj-sequences.txt and emoji-sequences.txt references. Describe how to test after updating to a newer Unicode version. * admin/unidata/Makefile.in (all): add emoji-zwj.el as a dependency. (emoji-zwj.el): Add target plus rules for building. (gen-clean): Add emoji-zwj.el. * admin/unidata/README: Add emoji-zwj-sequences.txt and emoji-sequences.txt references. * admin/unidata/blocks.awk: Force emoji script to be used for certain codepoints that are used by the Unicode sequences. * admin/unidata/emoji-sequences.txt: New file. * admin/unidata/emoji-zwj-sequences.txt: New file. * admin/unidata/emoji-zwj.awk: New file. Derives composition-function-table rules from emoji-zwj-sequences.txt, plus hardcodes some derived manually from emoji-sequences.txt. * etc/NEWS: Announce change. * lisp/international/characters.el: Load the generated emoji-zwj.el * src/Makefile.in (emoji-zwj): New target. (temacs): Add emoji-zwj as a dependency.
* ; Minor stylistic fixes found by checkdocStefan Kangas2021-09-161-1/+1
|
* Update Unicode support to Unicode version 14.0.0Eli Zaretskii2021-09-151-36/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/unidata/copyright.html: * admin/unidata/UnicodeData.txt: * admin/unidata/Blocks.txt: * admin/unidata/BidiBrackets.txt: * admin/unidata/BidiMirroring.txt: * admin/unidata/IVD_Sequences.txt: * admin/unidata/NormalizationTest.txt: * admin/unidata/SpecialCasing.txt: * test/manual/BidiCharacterTest.txt: Updated files from Unicode 14.0. * lisp/international/fontset.el (script-representative-chars): Add new scripts. (otf-script-alist): Update from latest version. (setup-default-fontset): Add new scripts. * lisp/international/characters.el: Update syntax and category tables for new characters and scripts. (char-width-table): Update for changes in Unicode 14.0. * lisp/international/mule-cmds.el (ucs-names): Update used and unused ranges per Unicode 14.0. * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-tests--failing-lines-part1) (ucs-normalize-tests--failing-lines-part2): Update per the test results. * doc/lispref/nonascii.texi (Character Properties): Update Unicode version number. * etc/NEWS: Announce support for Unicode 14.0. * admin/notes/unicode: Minor copyedits.
* Remove redundant #' before lambda in international/*.elStefan Kangas2021-04-011-30/+30
| | | | | | | | | | | | | | | | | * lisp/international/characters.el: (use-cjk-char-width-table, update-glyphless-char-display): * lisp/international/fontset.el (build-default-fontset-data) (generate-fontset-menu): * lisp/international/latin1-disp.el (latin1-display-reset): * lisp/international/mule-cmds.el (select-safe-coding-system-interactively): * lisp/international/mule-diag.el (sort-listed-character-sets) (font-show-log): * lisp/international/mule.el (char-displayable-p): * lisp/international/quail.el (quail-keyboard-layout-type) (quail-update-translation, quail-find-key): * lisp/international/titdic-cnv.el (tsang-quick-converter) (ziranma-converter): Remove redundant #' before lambda.
* Fix syntax category of some charactersEli Zaretskii2021-02-091-1/+1
| | | | | * lisp/international/characters.el (modify-syntax-entry): Fix syntax of numerical subscripts and superscripts. (Bug#46240)
* Fix syntax of space charactersEli Zaretskii2021-01-081-4/+7
| | | | | | * lisp/international/characters.el (tbl): Give all the space characters whose Unicode General Category is Zs the 'space' syntax. (Bug#45660)
* Use lexical-binding in the remaining preloaded filesStefan Monnier2021-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/widget.el: * lisp/w32-fns.el: * lisp/textmodes/fill.el: * lisp/term/common-win.el: * lisp/scroll-bar.el: * lisp/rfn-eshadow.el: * lisp/menu-bar.el: * lisp/language/tibetan.el: * lisp/language/thai.el: * lisp/language/misc-lang.el: * lisp/language/lao.el: * lisp/language/korean.el: * lisp/language/japanese.el: * lisp/language/indian.el: * lisp/language/hebrew.el: * lisp/language/european.el: * lisp/language/ethiopic.el: * lisp/language/english.el: * lisp/language/cyrillic.el: * lisp/language/chinese.el: * lisp/jka-cmpr-hook.el: * lisp/international/ucs-normalize.el: * lisp/international/mule.el: * lisp/international/mule-conf.el: * lisp/international/iso-transl.el: * lisp/international/fontset.el: * lisp/international/characters.el: * lisp/format.el: * lisp/facemenu.el: * lisp/electric.el: * lisp/dos-w32.el: * lisp/dos-fns.el: * lisp/disp-table.el: * lisp/cus-face.el: * lisp/composite.el: * lisp/bindings.el: * admin/unidata/blocks.awk: * admin/charsets/eucjp-ms.awk: * admin/charsets/cp51932.awk: Use `lexical-binding`.
* Fix last change in characters.elEli Zaretskii2021-01-021-0/+12
| | | | | * lisp/international/characters.el: Adjust syntax of more characters to follow that of Unicode properties. (Bug#44974)
* Fix syntax of symbol and punctuation charactersEli Zaretskii2021-01-021-20/+44
| | | | | | * lisp/international/characters.el: Adjust syntax of punctuation and symbol charcaters to follow that of Unicode properties. (Bug#44974)
* Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Recognise ß properly as a lower-case letter (bug#11309)Mattias Engdegård2020-12-091-1/+8
| | | | | | | | | | | | | | ß was incorrectly treated as a caseless character and thus not matched by the regexp [[:lower:]] (or, in case-folding mode, [[:upper:]]). The reason is that the upcase table maps it to itself, which can be remedied by mapping it to ẞ (U+7838) instead. Doing so does not affect upcasing since the special-uppercase property maps it to SS. * lisp/international/characters.el (tbl): Map ß to ẞ in the upcase table. * test/src/regex-emacs-tests.el (regexp-eszett): Uncomment previously failing tests. Add checks to make sure that case transformations remain valid.
* ; Fix more typosStefan Kangas2020-10-031-1/+1
|
* Support Unicode 13.0Eli Zaretskii2020-03-141-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/unidata/BidiBrackets.txt: * admin/unidata/BidiMirroring.txt: * admin/unidata/Blocks.txt: * admin/unidata/NormalizationTest.txt: * admin/unidata/SpecialCasing.txt: * admin/unidata/UnicodeData.txt: * admin/unidata/copyright.html: * test/manual/BidiCharacterTest.txt: Updated files imported from Unicode v13.0. * admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to known aliases. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Add new scripts. * lisp/international/characters.el: Set syntax for Symbols for Legacy Computing characters. Update setting of char-width-table. * lisp/international/mule-cmds.el (ucs-names): Update ranges of characters for which we want names in 'ucs-names'. * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-tests--failing-lines-part1) (ucs-normalize-tests--failing-lines-part2): Update according to 'ucs-normalize-check-failing-lines'.
* Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Merge from origin/emacs-26Glenn Morris2019-08-201-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0b810eb Fix a typo in char-width-table 3f00db7 Minor update in admin/notes/unicode bcd0115 Fix lisp indent infloop on unfinished strings (Bug#37045) 5f992d1 Improve commentary in composite.el 3a04be2 ; Improve commentary in xdisp.c 15de1d1 Fix markup in dired-x.texi bda7fc7 ; Fix typo in a doc string of speedbar.el 6f57ef9 * src/callproc.c (Fcall_process): Doc fix. # Conflicts: # doc/misc/dired-x.texi # lisp/international/characters.el # src/callproc.c
| * Fix a typo in char-width-tableEli Zaretskii2019-08-181-2/+2
| | | | | | | | | | * lisp/international/characters.el (char-width-table): Fix a typo in zero-width characters.
* | Import Unicode 12.0 data filesEli Zaretskii2019-03-091-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/unidata/copyright.html: * admin/unidata/UnicodeData.txt: * admin/unidata/SpecialCasing.txt: * admin/unidata/NormalizationTest.txt: * admin/unidata/Blocks.txt: * admin/unidata/BidiMirroring.txt: * admin/unidata/BidiBrackets.txt: New versions from Unicode 12.0. * admin/unidata/unidata-gen.el (unidata-gen-file): * admin/unidata/blocks.awk (name2alias): Adapt to changes in new data files. * admin/notes/unicode: Update and improve instructions for importing a new Unicode Standard. * lisp/international/characters.el (char-width-table): Update lists of characters according to Unicode 12.0. * lisp/international/fontset.el (script-representative-chars): Add characters from new scripts to 'script-representative-chars'. (otf-script-alist): Update according to data on the MS site. * lisp/international/mule-cmds.el (ucs-names): Update unused ranges of codepoints according to Unicode 12.0. * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-tests--failing-lines-part1) (ucs-normalize-tests--failing-lines-part2): Update for the new NormalizationTest.txt file. * test/manual/BidiCharacterTest.txt: Update with the new version from Unicode 12.0.
* | Add portable dumperDaniel Colascione2019-01-151-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new portable dumper as an alternative to unexec. Use it by default. * src/dmpstruct.awk: New file. * src/doc.c (get_doc_string): use will_dump_p(). * src/editfns.c (styled_format): silence compiler warning with UNINIT. * src/emacs-module.c (syms_of_module): staticpro ltv_mark. * src/emacs.c (gflags): new variable. (init_cmdargs): unwrap (string_starts_with_p, find_argument, dump_error_to_string) (load_pdump): new functions. (main): detect pdumper and --temacs invocation; actually load portable dump when detected; set gflags as appropriate; changes to init functions throughout to avoid passing explicit 'initialized' argument. * src/eval.c (inhibit_lisp_code): remove unused variable. (init_eval_once_for_pdumper): new function. (init_eval_once): call it. * src/filelock.c: CANNOT_DUMP -> will_dump_p() * src/fingerprint-dummy.c: new file * src/fingerprint.h: new file * src/fns.c: CANNOT_DUMP -> will_dump_p(), etc. (weak_hash_tables): remove (hashfn_equal, hashfn_eql): un-staticify (make_hash_table): set new 'next_weak' hash table field; drop global weak_hash_tables logic. (copy_hash_table): drop global weak_hash_tables logic. (hash_table_rehash): new function. (hash_lookup, hash_put, hash_remove_from_table, hash_clear): rehash if needed. (sweep_weak_table): un-staticify; explain logic; bool-ify. (sweep_weak_hash_tables): remove function. * src/font.c (syms_of_font): remember pdumper stuff. * src/fontset.c (syms_of_fontset): remember pdumper stuff. * src/frame.c (make_initial_frame): don't reset Vframe_list. (init_frame_once_for_pdumper, init_frame_once): new functions. (syms_of_frame): remove redundant staticpro. * src/fringe.c (init_fringe_once_for_pdumper): new functin. (init_fringe_once): call it. * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function. (syms_of_ftcrfont): call it. * src/ftfont.c (syms_of_ftfont_for_pdumper): new function. (syms_of_ftfont): call it. * src/ftxont.c (syms_of_ftxfont_for_pdumper): new function. (syms_of_ftxfont): call it. * src/gmalloc.c: adjust for pdumper througout (DUMPED): remove weird custom dumped indicator. * src/gnutls.c (syms_of_gnutls): pdumper note for gnutls_global_initialized. * src/image.c (syms_of_image): add pdumper comment, initializer note. * src/insdel.c (prepare_to_modify_buffer_1): account for buffer contents possibly being in dump image. * src/keyboard.c (syms_of_keyboard_for_pdumper): new function. (syms_of_keyboard): staticpro more; call pdumper syms function. * src/lisp.h: add comments throughout (gflags): declare. (will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p) (dumped_with_pdumper_p, will_dump_with_unexec_p) (dumped_with_unexec_p, definitely_will_not_unexec_p): new functions. (POWER_OF_2, ROUNDUP): move macros. (PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header pointer instead of vector; constify. (Lisp_Hash_Table): add comment about need to rehash on access; add comment for next_weak. (HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify. (hash_table_rehash): declare. (hash_rehash_needed_p, hash_rehash_if_needed): new functions. (finalizers, doomed_finalizers): declare extern. (SUBR_SECTION_ATTRIBUTE): new macro. (staticvec, staticidx): un-static-ify. (sweep_weak_hash_tables): remove declaration. (sweep_weak_table): declare. (hashfn_eql, hashfn_equal): declare. (number_finalizers_run): new variable. (Vdead): externify when ENABLE_CHECKING. (gc_root_type): new enumeration. (gc_root_visitor): new struct. (visit_static_gc_roots): declare. (vectorlike_nbytes): declare. (vector_nbytes): define as trivial inline function wrapper for vectorlike_nbytes. (init_obarray_once): change signature. (primary_thread): extern-ify. (init_buffer): change signature. (init_frame_once): declare. * src/lread.c (readevalloop): adjust for new dumped predicates. (init_obarray_once): new function. (ndefsubr): new variable. (defsubr): increment it. (load_path_check): adjust for pdumper. (load_path_default): use pdumper functions; adjust for dump search. * src/macfont.m (macfont_init_font_change_handler): avoid shadowing global. (syms_of_macfont_for_pdumper): new function. (syms_of_macfont): call it. * src/menu.c (syms_of_menu): staticpro more stuff. * src/minibuf.c (Ftry_completion): rehash if needed. (init_minibuf_once_for_pdumper): new function. (init_minibuf_once): call it. * src/nsfont.m (syms_of_nsfns): staticpro more. * src/nsfont.m (syms_of_nsfont_for_pdumper): new function. (syms_of_nsfont): call it. * src/nsterm.m (syms_of_nsfont): remember pdumper stuff. * src/pdumper.c: new file. * src/pdumper.h: new file. * src/process.c (init_process_emacs): use new pdumper functions instead of CANNOT_DUMP. * src/profiler.c (syms_of_profiler_for_pdumper): new function. (syms_of_profiler_for_pdumper): call it. * src/search.c (syms_of_search_for_pdumper): new function. (syms_of_search_for_pdumper): call it. * src/sheap.c (bss_sbrk_did_unexec): remove. * src/sheap.h (bss_sbrk_did_unexec): remove. * src/syntax.c (syms_of_syntax): don't redundantly staticpro re_match_object. * src/sysdep.c: use will_dump_with_unexec_p() instead of bss hack thing. * src/syssignals.h (init_sigsegv): declare. * src/systime.h (init_timefns): remove bool from signature. * src/textprop.c (syms_of_textprop): move staticpro. * src/thread.c (main_thread_p): constify. * src/thread.h (main_thread_p): constify. * src/timefns.c (init_timefns): remove bool from signature. (syms_of_timefns_for_pdumper): new function. (syms_of_timefns): call it. * src/w32.c: rearrange code. * src/w32.h (w32_relocate): declare. * src/w32fns.c (syms_of_w32fns): add pdumper note. * src/w32font.c (syms_of_w32font_for_pdumper): new function. (syms_of_w32font): call it. * src/w32heap.c (using_dynamic_heap): new variable. (init_heap): use it. * src/w32menu.c (syms_of_w32menu): add pdumper note. * src/w32proc.c (ctrl_c_handler, mainCRTStartup, _start, open_input_file) (rva_to_section, close_file_data): move here. * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): new function. (syms_of_w32uniscribe): call it. * src/window.c (init_window_once_for_pdumper): new function. (init_window_once): call it; staticpro more stuff. * src/xfont.c (syms_of_xfont_for_pdumper): new function. (syms_of_xfont): call it. * src/xftfont.c (syms_of_xftfont_for_pdumper): new function. (syms_of_xftfont): call it. * src/xmenu.c (syms_of_xmenu_for_pdumper): new function. (syms_of_xmenu): call it. * src/xselect.c (syms_of_xselect_for_pdumper): new function. (syms_of_xselect): call it. * src/xsettings.c (syms_of_xsettings): add more pdumper notes. * src/term.c (syms_of_xterm): add pdumper note. * src/dispnew.c (init_faces_initial): new function. (init_display_interactive): rename from init_display; use will_dump_p instead of !initialized. Initialize faces early for pdumper if needed. (init_display): new function. (syms_of_display_for_pdumper): new function. (syms_of_display): call it. * src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset on pdumper load. * src/data.c (Fdefalias): Use will_dump_p instead of Vpurify_flag. (Fmake_variable_buffer_local): silence compiler warning with -Og by making valcontents UNINIT. (arith_driver): silence compiler warning with UNINIT. * src/conf_post.h (ATTRIBUTE_SECTION): new macro. * src/composite.c (composition_gstring_put_cache): rehash hash table if needed. * src/coding.c (init_coding_once, syms_of_coding): remember pdumper stuff. * src/charset.h (charset_table_size, charset_table_user): declare. * src/charset.c (charset_table_used, charset_table_size): un-static. (init_charset_oncem, syms_of_charset): remember pdumper stuff. * src/category.c (category_table_version): remove obsolete variable. * src/callint.c (syms_of_callint): staticpro 'preserved_fns' (init_callproc): use will_dump_p instead of !CANNOT_DUMP. * src/bytecode.c (exec_byte_code): rehash table tables if needed * src/buffer.c (alloc_buffer_text, free_buffer_text): account for pdumper (init_buffer_once): add TODO; remember stuff for pdumper. (init_buffer): don't take initialized argument; adjust for pdumper. * src/atimer.c (init_atimer): initialize subr only if !initialized. * src/alloc.c: (vector_marked_p, set_vector_marked) (vectorlike_marked_p, set_vectorlike_marked, cons_marked_p) (set_cons_marked, string_marked_p, set_string_marked) (symbol_marked_p, set_symbol_marked, interval_marked_p) (set_interval_marked): new accessor routines. Use them instead of raw GC access throughout. (Vdead): make non-static when ENABLE_CHECKING. (vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike header as input instead of a vector. (number_finalizers_run): new internal C variable. (mark_maybe_object): check for pdumper objects. (valid_pointer_p): don't be gratuitously inefficient under rr(1). (make_pure_c_string): add support for size_byte = -2 mode indicating that string data points into Emacs image rodata. (visit_vectorlike_root): visits GC roots embedded in vectorlike objects. (visit_buffer_root): visits GC roots embedded in our totally-not-a-buffer buffer global objects. (visit_static_gc_roots): visit GC roots in the Emacs data section. (mark_object_root_visitor): root callback used for conventional GC marking (weak_hash_tables): new internal variable for tracking found weak hash tables during GC. (mark_and_sweep_weak_table_contents): new weak hash table marking. (garbage_collect_1): use new GC root visitor machinery. (mark_vectorlike): accept a vectorlike_header instead of a Lisp_Vector. (mark_frame, mark_window, mark_hash_table): new functions. (mark_object): initialize 'm'; check for pdumper objects and use new mark-bit accessors throughout. Remove some object-specific marking code and move to helper functions above. (survives_gc_p): check for pdumper objects. (gc-sweep): clear pdumper mark bits. (init_alloc_once_for_pdumper): new helper function for early init called both during normal init and pdumper load. (init_alloc_once): pdumper integration. * src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o; invoke temacs with --temacs command line option; build dmpstruct.h from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper intermediate files during build. * nextstep/Makefile.in: build emacs.pdmp into NS packages * lisp/startup.el: account for new '--temacs' and '--dump-file' command line option. * lisp/loadup.el: rewrite early init to account for pdumper; use injected 'dump-mode' variable (set via the new '--temacs' option) instead of parsing command line. * lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag', since the new 'dump-mode' * lib-src/make-fingerprint.c: new program * lib-src/Makefile.in: built make-fingerprint utility program * configure.ac: Add --with-pdumper toggle to control pdumper support; add --with-unexec toggle to control unexec support. Add --with-dumping option to control which dumping strategy we use by default. Adjust for pdumper throughout. Check for posix_madvise. * Makefile.in: Add @DUMPING@ substitution; add pdumper mode. * .gitignore: Add make-fingerprint, temacs.in, fingerprint.c, dmpstruct.h, and pdumper dump files.
* Update copyright year to 2019Paul Eggert2019-01-011-1/+1
| | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* Update Unicode data files to version 11.0.0 of UnicodeEli Zaretskii2018-06-091-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/unidata/UnicodeData.txt: * admin/unidata/SpecialCasing.txt: * admin/unidata/NormalizationTest.txt: * admin/unidata/copyright.html: * admin/unidata/BidiMirroring.txt: * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0. * admin/notes/unicode: Update the URL for OTF script tags. * lisp/international/mule-cmds.el (ucs-names): Update unused ranges. * lisp/international/fontset.el (script-representative-chars): Add hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi, makasar, and medefaidrin. (otf-script-alist): Add old-hungarian. * lisp/international/characters.el (tbl): Add syntax entries for Supplemental Mathematical Operators, Miscellaneous Symbols and Arrows, and Supplemental Punctuation. Update the list of wide characters. * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-tests--failing-lines-part2): Update to match admin/unidata/NormalizationTest.txt. * doc/lispref/nonascii.texi (Character Properties): Update the reference to the Unicode Standard. * doc/misc/efaq.texi (New in Emacs 26): * etc/NEWS: Mention compatibility with Unicode 11.0.
* Clarify doc string of 'update-glyphless-char-display'Eli Zaretskii2018-06-081-1/+3
| | | | | * lisp/international/characters.el (update-glyphless-char-display): Doc fix. (Bug#31730)
* Update copyright year to 2018Paul Eggert2018-01-011-1/+1
| | | | Run admin/update-copyright.
* Prefer HTTPS to FTP and HTTP in documentationPaul Eggert2017-09-131-1/+1
| | | | | | | | | | | | | Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.