1. 10 Apr, 2017 2 commits
  2. 09 Apr, 2017 7 commits
    • Michael Albinus's avatar
      Document Tramp changes · 9e1f45d9
      Michael Albinus authored
      * doc/misc/tramp.texi (Change file name syntax): New node.
      
      * etc/NEWS: Mention `tramp-change-syntax'.
      
      * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
      External packages uses it.
      (tramp-syntax): Set also `tramp-file-name-regexp'.
      9e1f45d9
    • Paul Eggert's avatar
      Merge from gnulib (Bug#26398) · 43bc45ba
      Paul Eggert authored
      This incorporates:
      2017-04-08 getopt: prefer - to _ in new file names
      2017-04-08 getopt: port recent getopt changes to macOS
      * .gitignore: Add lib/getopt-cdefs.h.
      * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
      * lib/getopt-core.h: Rename from lib/getopt_core.h.
      * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
      * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
      * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
      * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
      Copy from Gnulib.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      43bc45ba
    • Ken Raeburn's avatar
      Write updated loaddefs to a temporary file and rename into place. · 440bafef
      Ken Raeburn authored
      In a parallel build, byte compilation can be running at the same times
      as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
      loaddefs.el is read at startup and must always be in a usable state.
      
      * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
      loaddefs.el.new and then rename it to loaddefs.el.
      440bafef
    • Glenn Morris's avatar
      In the manual, mention pops and imaps · e3c15342
      Glenn Morris authored
      * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
      Mention pops and imaps protocols.
      e3c15342
    • Glenn Morris's avatar
    • Sergey Poznyakoff's avatar
      Fix rmail handling of movemail protocols (bug#18278) · 48536f67
      Sergey Poznyakoff authored
      * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
      (rmail-parse-url): Return protocol in second list element.
      Only use passwords with remote mailboxes.
      (rmail-insert-inbox-text): Handle non-simple local
      mailboxes (maildir, MH, etc.).
      48536f67
    • Glenn Morris's avatar
      Fix typos in manual re movemail local mailboxes · 79b1669c
      Glenn Morris authored
      * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
      Fix examples of local mailbox urls.
      79b1669c
  3. 08 Apr, 2017 12 commits
    • Glenn Morris's avatar
    • Glenn Morris's avatar
      Remove references to OS/2 in code, doc, and comments · bca1fde8
      Glenn Morris authored
      * lisp/gnus/nnheader.el (nnheader-read-timeout)
      (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
      * lisp/emulation/viper-util.el (viper-color-defined-p):
      * lisp/net/pop3.el (pop3-read-timeout):
      * lisp/net/imap.el (imap-read-timeout):
      * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
      * lisp/emulation/viper-ex.el (viper-glob-function):
      * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
      * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
      * doc/emacs/msdos-xtra.texi (MS-DOS):
      * doc/misc/gnus.texi (Various Various):
      * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
      ; * lisp/url/url.el, lisp/url/url-vars.el:
      ; * lisp/progmodes/cperl-mode.el: Remove old comments.
      bca1fde8
    • Michael Albinus's avatar
      Tune Tramp syntax · b7d61609
      Michael Albinus authored
      * lisp/net/tramp-cmds.el (tramp-change-syntax):
      Use `tramp-syntax-values'.
      
      * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
      
      * lisp/net/tramp.el (tramp-syntax): Rename possible values.
      (tramp-syntax-values): New defun.
      (tramp-prefix-format, tramp-method-regexp)
      (tramp-postfix-method-format, tramp-prefix-ipv6-format)
      (tramp-postfix-ipv6-format, tramp-postfix-host-format)
      (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
      and changed values.
      (tramp-completion-file-name-regexp-default): Rename from
      `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
      (tramp-completion-file-name-regexp-simplified): Rename from
      `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
      (tramp-initial-completion-file-name-regexp):
      Use `tramp-completion-file-name-regexp-default'.
      (tramp-run-real-handler): Do not autoload any longer.
      b7d61609
    • Mark Oteiza's avatar
      Replace more nested ifs with cond · c5f319eb
      Mark Oteiza authored
      This is a continuation of d5260473 "Replace more nested ifs with cond".
      * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
      when and cond where appropriate.
      c5f319eb
    • Mark Oteiza's avatar
      Adjust the edebug spec of if-let* · fd4b83ca
      Mark Oteiza authored
      This was fixed in Bug#24748, but now looking more closely, using gate in
      the spec seems correct.  See (info "(elisp) Backtracking").
      * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
      fd4b83ca
    • Mark Oteiza's avatar
      Replace some uses of cl-member-if with apply · 1c69215c
      Mark Oteiza authored
      From the mhtml-mode series.  Some of the uses of cl-lib are not
      necessary.
      * lisp/align.el: Don't require cl-lib.
      (align-region): Use apply instead of cl-member-if.
      * lisp/emulation/viper.el: Don't require cl-lib.
      (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
      cl-member-if.
      1c69215c
    • Philipp Stephani's avatar
      Validate SPEC of `dolist', cf. Bug#25477. · 98bfac68
      Philipp Stephani authored
      * lisp/subr.el (dolist): Test type and length of SPEC.
      * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
      Add unit test.
      98bfac68
    • Philipp Stephani's avatar
      Add unit test for Bug#26378 · 5ea696fd
      Philipp Stephani authored
      * test/lisp/vc/ediff-diff-tests.el
      (ediff-diff-tests--ediff-exec-process--nil): New unit test.
      5ea696fd
    • Lars Brinkhoff's avatar
      Fix circular read syntax for records. · 4fbfd7ad
      Lars Brinkhoff authored
      * lread.c (substitute_object_recurse): Work with records.
      
      * lread-tests.el (lread-record-1): New test.
      4fbfd7ad
    • Paul Eggert's avatar
      Deprecate copy-record in favor of copy-sequence · a2b3fea9
      Paul Eggert authored
      Since copy-sequence seems to be needed anyway for records, have it
      work on records, and remove copy-record as being superfluous.
      * doc/lispref/records.texi (Records, Record Functions):
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
      * lisp/emacs-lisp/eieio.el (make-instance, clone):
      * test/src/alloc-tests.el (record-3):
      Use copy-sequence, not copy-record, to copy records.
      * doc/lispref/sequences.texi (Sequence Functions)
      (Array Functions): Document that aref and copy-sequence
      work on records.
      * etc/NEWS: Omit copy-record.
      * src/alloc.c (Fcopy_record): Remove.
      * src/data.c (Faref): Document that arg can be a record.
      * src/fns.c (Fcopy_sequence): Copy records, too.
      a2b3fea9
    • Paul Eggert's avatar
      Fix dependency checking in src/Makefile.in · a614cd41
      Paul Eggert authored
      * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
      dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
      Otherwise, some dependencies will be missed.
      a614cd41
    • Paul Eggert's avatar
      Minor tuneup of write-region change · 6fbbfc77
      Paul Eggert authored
      * src/fileio.c (write_region): Use SCHARS, not Flength,
      on a value known to be a string.
      6fbbfc77
  4. 07 Apr, 2017 11 commits
    • Noam Postavsky's avatar
      Adjust write-region so file name is at the beginning again · c3236593
      Noam Postavsky authored
      * lisp/epa-file.el (epa-file-write-region):
      * lisp/gnus/mm-util.el (mm-append-to-file):
      * lisp/jka-compr.el (jka-compr-write-region):
      * lisp/net/ange-ftp.el (ange-ftp-write-region):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
      * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
      * src/fileio.c (write_region): Put file name at the beginning and move
      number of characters to the end of the message.
      c3236593
    • Kaushal Modi's avatar
      Check that file argument is a string · 75824977
      Kaushal Modi authored
      * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
        passed to `file-local-copy' is a string (Bug#26378).  Also fix
        the existing comment for this function, and convert it to its
        doc-string.
      75824977
    • Noam Postavsky's avatar
      Fix handling of non-integer START param to write-region · 9e27e0d1
      Noam Postavsky authored
      The previous patch for Bug#354 incorrectly assumed that START would
      always be an integer.
      
      * lisp/epa-file.el (epa-file-write-region):
      * lisp/jka-compr.el (jka-compr-write-region):
      * lisp/net/ange-ftp.el (ange-ftp-write-region):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
      * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
      * src/fileio.c (write_region): Handle nil and string values of START.
      9e27e0d1
    • Glenn Morris's avatar
    • Michael Albinus's avatar
      Add Tramp versions to `customize-package-emacs-version-alist' · 5c6b0136
      Michael Albinus authored
      * lisp/net/trampver.el (customize-package-emacs-version-alist):
      Add Tramp versions to `customize-package-emacs-version-alist'.
      5c6b0136
    • Tom Tromey's avatar
    • Lars Brinkhoff's avatar
      67aeaa74
    • Paul Eggert's avatar
      More casefiddle minor fixes · 2012839a
      Paul Eggert authored
      * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
      (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
      (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
      2012839a
    • Paul Eggert's avatar
      ; Spelling and punctuation fixes · cea942e5
      Paul Eggert authored
      cea942e5
    • Jeff Clough's avatar
      Output number of characters added to file (Bug#354) · cd0a7951
      Jeff Clough authored
      * fileio.c (write_region):
      * epa-file.el (epa-file-write-region):
      * jka-compr.el (jka-compr-write-region):
      * ange-ftp.el (ange-ftp-write-region):
      * tramp-gvfs.el (tramp-gvfs-handle-write-region):
      * tramp-sh.el (tramp-sh-handle-write-region):
      * mm-util.el (mm-append-to-file): Functions now output
      characters written in addition to file name.
      * files.texi: Added documentation to write-region and
      append-to-file describing their output.
      cd0a7951
    • Noam Postavsky's avatar
      Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap · 4b3db0da
      Noam Postavsky authored
      The recent changes to src/casefiddle.c cause build failure as seen
      below:
      
          Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
      	--batch --load loadup bootstrap
          [Thread debugging using libthread_db enabled]
          Using host libthread_db library "/usr/lib/libthread_db.so.1".
          Loading loadup.el (source)...
          Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
      	/home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
      	/home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
      	/home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
      	/home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
      	/home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
          Loading emacs-lisp/byte-run (source)...
          Loading emacs-lisp/backquote (source)...
          Loading subr (source)...
          Loading version (source)...
          Loading widget (source)...
          Loading custom (source)...
          Loading emacs-lisp/map-ynp (source)...
          Loading international/mule (source)...
          Loading international/mule-conf (source)...
      
          lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
      
          Breakpoint 1, terminate_due_to_signal at emacs.c:363
          363	  signal (sig, SIG_DFL);
          (gdb) bt
          #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
          #1  0x000000000060ec33 in die at alloc.c:7352
          #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
          #3  0x0000000000576884 in intern_c_string at lisp.h:3790
          #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
          #5  0x00000000005dd37f in casify_object at casefiddle.c:311
          #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
          #7  0x00000000006325ac in eval_sub at eval.c:2219
          #8  0x0000000000632368 in eval_sub at eval.c:2184
          #9  0x000000000063446c in apply_lambda at eval.c:2875
          #10 0x00000000006329af in eval_sub at eval.c:2294
          #11 0x000000000062d462 in Fprogn at eval.c:449
          #12 0x000000000062d4cf in prog_ignore at eval.c:461
          #13 0x000000000062f19c in Fwhile at eval.c:982
          #14 0x00000000006321f4 in eval_sub at eval.c:2172
          #15 0x000000000062d462 in Fprogn at eval.c:449
          #16 0x000000000062f0c4 in Flet at eval.c:963
          #17 0x00000000006321f4 in eval_sub at eval.c:2172
          #18 0x0000000000632963 in eval_sub at eval.c:2290
          #19 0x000000000062d462 in Fprogn at eval.c:449
          #20 0x000000000062f0c4 in Flet at eval.c:963
          #21 0x00000000006321f4 in eval_sub at eval.c:2172
          #22 0x0000000000668caa in readevalloop at lread.c:1927
          #23 0x0000000000667253 in Fload at lread.c:1332
          #24 0x0000000000632683 in eval_sub at eval.c:2233
          #25 0x0000000000668caa in readevalloop at lread.c:1927
          #26 0x0000000000667253 in Fload at lread.c:1332
          #27 0x0000000000632683 in eval_sub at eval.c:2233
          #28 0x0000000000631be5 in Feval at eval.c:2041
          #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
          #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
          #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
          #32 0x000000000062f51e in internal_catch at eval.c:1091
          #33 0x000000000057e0ea in command_loop at keyboard.c:1090
          #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
          #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
          #36 0x000000000057b55b in main at emacs.c:1687
      
          Lisp Backtrace:
          "capitalize" (0xffffcf70)
          "format" (0xffffd130)
          "define-charset" (0xffffd370)
          "while" (0xffffd560)
          "let" (0xffffd7c0)
          "dolist" (0xffffd910)
          "let" (0xffffdb70)
          "load" (0xffffdfe0)
          "load" (0xffffe4a0)
      
      * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
      Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
      Qspecial_titlecase.
      (prepare_casing_context): Use aforementioned symbols.
      4b3db0da
  5. 06 Apr, 2017 8 commits
    • Paul Eggert's avatar
      Merge from gnulib · 02275595
      Paul Eggert authored
      This merges some getopt fixes from Zack Weinberg, and affects only
      non-GNUish platforms.  It incorporates:
      2017-04-06 getopt-gnu: omit some duplicate code
      2017-04-06 getopt-posix: use angle-bracket include
      2017-04-06 getopt: annotate files with relationship to glibc
      2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
      2017-04-06 getopt: better handling of ambiguous options
      2017-04-06 getopt: refactor long-option handling
      2017-04-06 getopt: tidy up _getopt_initialize a bit
      2017-04-06 getopt: merge from glibc: repetition reduction
      2017-04-06 getopt: clean up error reporting
      2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
      2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
      2017-04-06 getopt: harmonize comments with glibc
      2017-04-06 getopt: remove USE_NONOPTION_FLAGS
      2017-04-06 getopt: tabify, in preparation for merge with glibc
      2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
      * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
      * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
      * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
      * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
      Copy from gnulib.
      * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
      * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
      New files, taken from gnulib.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4:
      Regenerate.
      02275595
    • Paul Eggert's avatar
      Minor casefiddle.c cleanups · 451a0c8b
      Paul Eggert authored
      * src/casefiddle.c: Redo recent changes to match GNU style,
      and prefer C99-style decls within blocks.
      (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
      we are merely using the Unicode name, and make it a constant
      rather than a macro.  All uses changed.
      (SMALL_SIGMA): Remove; unused.
      (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
      and make it a constant rather than a macro.  All uses changed.
      (do_casify_multibyte_string): Use ‘verify’ rather than an
      unportable static_assertion local.
      451a0c8b
    • Paul Eggert's avatar
      f3a0f3a1
    • Paul Eggert's avatar
      Fix 'make clean' in lib subdirectory · 360b2bf2
      Paul Eggert authored
      * lib/Makefile.in (clean): Remove *-t files.
      (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
      This removes files like lib/getopt.h that should be removed
      even if this configuration did not need to build them.
      (maintainer-clean): Remove TAGS here, not in distclean,
      to be consistent with ../src/Makefile.in.
      360b2bf2
    • Michael Albinus's avatar
      Add new Tramp syntax · 69061fd1
      Michael Albinus authored
      * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
      
      * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
      Add :set function.
      (tramp-prefix-port-format): Simplify.
      (tramp-file-name-regexp-separate): Remove.
      (tramp-initial-file-name-regexp)
      (tramp-completion-file-name-regexp-old-style)
      (tramp-initial-completion-file-name-regexp): New defconst.
      (tramp-prefix-format, tramp-prefix-regexp)
      (tramp-method-regexp, tramp-postfix-method-format)
      (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
      (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
      (tramp-postfix-ipv6-regexp)
      (tramp-postfix-host-format, tramp-postfix-host-regexp)
      (tramp-remote-file-name-spec-regexp)
      (tramp-file-name-structure, tramp-file-name-regexp)
      (tramp-completion-file-name-regexp)
      (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
      (tramp-tramp-file-p, tramp-find-method)
      (tramp-dissect-file-name, tramp-make-tramp-file-name)
      (tramp-completion-make-tramp-file-name)
      (tramp-rfn-eshadow-update-overlay)
      (tramp-register-autoload-file-name-handlers)
      (tramp-register-file-name-handlers)
      (tramp-unload-file-name-handlers)
      (tramp-completion-handle-file-name-all-completions)
      (tramp-completion-dissect-file-name, tramp-clear-passwd):
      * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
      * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
      (tramp-compute-multi-hops): Use them.
      69061fd1
    • Michal Nazarewicz's avatar
      Implement special sigma casing rule (bug#24603) · c1fa0722
      Michal Nazarewicz authored
      In Greek, a sigma character has two lower case forms which depend on
      their position in the word.  Implement logic determining it.
      
      * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
      assume inword is true when flag is CASE_UP and false when flag is
      CASE_DOWN.  For final sigma detection we need this information tracked
      reliably;.
      (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
      Unicode code point of different forms of sigma letter.
      (case_character): Implement support for final sigma casing.
      (do_casify_multibyte_string, do_casify_multibyte_region): Update after
      changes to case_character.
      
      * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
      cases for final sigma.
      c1fa0722
    • Michal Nazarewicz's avatar
      Support casing characters which map into multiple code points (bug#24603) · b3b9b258
      Michal Nazarewicz authored
      Implement unconditional special casing rules defined in Unicode standard.
      
      Among other things, they deal with cases when a single code point is
      replaced by multiple ones because single character does not exist (e.g.
      ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
      into SS).
      
      * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
      standard distribution.
      * admin/unidata/README: Mention SpecialCasing.txt.
      
      * admin/unidata/unidata-get.el (unidata-gen-table-special-casing,
      unidata-gen-table-special-casing--do-load): New functions generating
      ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
      character Unicode properties built from the SpecialCasing.txt Unicode
      data file.
      
      * src/casefiddle.c (struct casing_str_buf): New structure for
      representing short strings used to handle one-to-many character
      mappings.
      
      (case_character_imlp): New function which can handle one-to-many
      character mappings.
      (case_character, case_single_character): Wrappers for the above
      functions.  The former may map one character to multiple (or no)
      code points while the latter does what the former used to do (i.e.
      handles one-to-one mappings only).
      
      (do_casify_natnum, do_casify_unibyte_string,
      do_casify_unibyte_region): Use case_single_character.
      (do_casify_multibyte_string, do_casify_multibyte_region): Support new
      features of case_character.
      * (do_casify_region): Updated to reflact do_casify_multibyte_string
      changes.
      
      (casify_word): Handle situation when one character-length of a word
      can change affecting where end of the word is.
      
      (upcase, capitalize, upcase-initials): Update documentation to mention
      limitations when working on characters.
      
      * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
      Add test cases for the newly introduced character properties.
      (casefiddle-tests-casing): Update test cases which are now passing.
      
      * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
      char-fold--ascii-downcase): New functions which behave like old ‘upcase’
      and ‘downcase’.
      (char-fold--test-match-exactly): Use the new functions.  This is needed
      because otherwise fi and similar characters are turned into their multi-
      -character representation.
      
      * doc/lispref/strings.texi: Describe issue with casing characters versus
      strings.
      * doc/lispref/nonascii.texi: Describe the new character properties.
      b3b9b258
    • Michal Nazarewicz's avatar
      Split up casify_region function (bug#24603) · 2c87dabd
      Michal Nazarewicz authored
      No functional changes at this time but splitting casify_region into
      a function dealing with multibyte and another dealing with unibyte
      buffers will make future code changes slightly easier.
      
      * src/casefiddle.c (casify_region): Move most of the code into two
      new functions:
      (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
      2c87dabd