From: Glenn Morris Date: Sat, 1 Jun 2019 19:04:41 +0000 (-0700) Subject: Merge from origin/emacs-26 X-Git-Tag: emacs-27.0.90~2744 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=17a1dae4af751c82e78991350559481e9fa42959;p=emacs.git Merge from origin/emacs-26 2168165 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo. 8f18d12 Improve documentation of decoding into a unibyte buffer 7681a57 Remove redundants "See" before @xref or @pxref (Bug#35793) 9bee762 ; * src/coding.c: Improve commentary. (Bug#34765) e61349c Fix customization type of recentf-max-saved-items # Conflicts: # src/coding.c --- 17a1dae4af751c82e78991350559481e9fa42959 diff --cc src/coding.c index 9cba6494a8d,078c1c4e6a7..5b9bfa17dd2 --- a/src/coding.c +++ b/src/coding.c @@@ -7803,15 -7782,22 +7803,22 @@@ encode_coding (struct coding_system *co SAFE_FREE (); } - - /* Name (or base name) of work buffer for code conversion. */ + /* Code-conversion operations use internal buffers. There's a single + reusable buffer, which is created the first time it is needed, and + then never killed. When this reusable buffer is being used, the + reused_workbuf_in_use flag is set. If we need another conversion + buffer while the reusable one is in use (e.g., if code-conversion + is reentered when another code-conversion is in progress), we + create temporary buffers using the name of the reusable buffer as + the base name, see code_conversion_save below. These temporary + buffers are killed when the code-conversion operations that use + them return, see code_conversion_restore below. */ + + /* A string that serves as name of the reusable work buffer, and as base + name of temporary work buffers used for code-conversion operations. */ -static Lisp_Object Vcode_conversion_workbuf_name; +Lisp_Object Vcode_conversion_workbuf_name; - /* A working buffer used by the top level conversion. Once it is - created, it is never destroyed. It has the name - Vcode_conversion_workbuf_name. The other working buffers are - destroyed after the use is finished, and their names are modified - versions of Vcode_conversion_workbuf_name. */ + /* The reusable working buffer, created once and never killed. */ static Lisp_Object Vcode_conversion_reused_workbuf; /* True iff Vcode_conversion_reused_workbuf is already in use. */