Move epa-pinentry-mode to epg-config (Bug#26298)
[emacs.git] / etc / NEWS
blob0f4c90be754e7ba5512d5d522613acc3eea67f87
1 GNU Emacs NEWS -- history of user-visible changes.
3 Copyright (C) 2017-2018 Free Software Foundation, Inc.
4 See the end of the file for license conditions.
6 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
7 If possible, use M-x report-emacs-bug.
9 This file is about changes in Emacs version 27.
11 See file HISTORY for a list of GNU Emacs versions and release dates.
12 See files NEWS.26, NEWS.25, ..., NEWS.18, and NEWS.1-17 for changes
13 in older Emacs versions.
15 You can narrow news to a specific version by calling 'view-emacs-news'
16 with a prefix argument or by typing C-u C-h C-n.
18 Temporary note:
19 +++ indicates that all necessary documentation updates are complete.
20     (This means all relevant manuals in doc/ AND lisp doc-strings.)
21 --- means no change in the manuals is needed.
22 When you add a new item, use the appropriate mark if you are sure it applies,
25 * Installation Changes in Emacs 27.1
27 ** The new configure option '--with-json' adds support for JSON using
28 the Jansson library.  It is on by default; use 'configure
29 --with-json=no' to build without Jansson support.  The new JSON
30 functions 'json-serialize', 'json-insert', 'json-parse-string', and
31 'json-parse-buffer' are typically much faster than their Lisp
32 counterparts from json.el.
34 ** Emacs has been ported to the -fcheck-pointer-bounds option of GCC.
35 This causes Emacs to check bounds of some arrays addressed by its
36 internal pointers, which can be helpful when debugging the Emacs
37 interpreter or modules that it uses.  If your platform supports it you
38 can enable it when configuring, e.g., './configure CFLAGS="-g3 -O2
39 -mmpx -fcheck-pointer-bounds"' on Intel MPX platforms.
41 ** Emacs now normally uses a C pointer type instead of a C integer
42 type to implement Lisp_Object, which is the fundamental machine word
43 type internal to the Emacs Lisp interpreter.  This change aims to
44 catch typos and support -fcheck-pointer-bounds.  The 'configure'
45 option --enable-check-lisp-object-type is therefore no longer as
46 useful and so is no longer enabled by default in developer builds,
47 to reduce differences between developer and production builds.
50 * Startup Changes in Emacs 27.1
52 +++
53 ** Emacs can now be configured using an early init file.
54 The file is called 'early-init.el', in 'user-emacs-directory'.  It is
55 loaded very early in the startup process: before graphical elements
56 such as the tool bar are initialized, and before the package manager
57 is initialized.  The primary purpose is to allow customizing how the
58 package system is initialized given that initialization now happens
59 before loading the regular init file (see below).
61 +++
62 ** Installed packages are now activated *before* loading the init file.
63 This is part of a change intended to eliminate the behavior of
64 package.el inserting a call to 'package-initialize' into the init
65 file, which was previously done when Emacs was started.  As a result
66 of this change, it is no longer necessary to call 'package-initialize'
67 in your init file.
69 However, if your init file changes the values of 'package-load-list' or
70 'package-user-dir', or sets 'package-enable-at-startup' to nil then it won't
71 work right without some adjustment:
72 - you can move that code to the early init file (see above), so those settings
73   apply before Emacs tries to activate the packages.
74 - you can use the new 'package-quickstart' so activation of packages does not
75   need to pay attention to 'package-load-list' or 'package-user-dir' any more.
78 * Changes in Emacs 27.1
80 ---
81 ** New variable 'xft-ignore-color-fonts'.
82 Default t means don't try to load color fonts when using Xft, as they
83 often cause crashes.  Set it to nil if you really need those fonts.
84 (Bug#30874)
86 ---
87 ** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text
88 on GUI frames when tooltips are displayed in the echo area.  Instead,
89 it resizes the echo area as needed to accommodate the full tool-tip
90 text.
92 ---
93 ** Show modeline tooltips only if the corresponding action applies.
94 Customize the option 'mode-line-default-help-echo' to restore the old
95 behavior where the tooltip text is also shown when the corresponding
96 action does not apply.
98 +++
99 ** New hook 'server-after-make-frame-hook'.
100 This hook is a convenient place to perform initializations in daemon
101 mode which require GUI features to be available.  One example is
102 restoration of the previous session using the desktop.el package: put
103 the call to 'desktop-read' in this hook, if you want the GUI settings
104 to be restored, or if desktop.el needs to interact with you during
105 restoration of the session.
108 ** New function 'logcount' calculates an integer's Hamming weight.
111 ** New function 'libxml-available-p'.
112 This function returns non-nil if libxml support is both compiled in
113 and available at run time.  Lisp programs should use this function to
114 detect built-in libxml support, instead of testing for that
115 indirectly, e.g., by checking that functions like
116 'libxml-parse-html-region' return nil.
119 ** 'libxml-parse-xml-region' and 'libxml-parse-html' region take
120 a parameter that's called DISCARD-COMMENTS, but it really only
121 discards the top-level comment.  Therefore this parameter is now
122 obsolete, and the new utility function 'xml-remove-comments' can be
123 used to remove comments before calling the libxml functions to parse
124 the data.
127 ** New function 'fill-polish-nobreak-p', to be used in 'fill-nobreak-predicate'.
128 It blocks line breaking after a one-letter word, also in the case when
129 this word is preceded by a non-space, but non-alphanumeric character.
132 ** The limit on repetitions in regexps has been raised to 2^16-1.
133 It was previously limited to 2^15-1.  For example, the following
134 regular expression was previously invalid, but is now accepted:
136    x\{32768\}
139 ** The German prefix and postfix input methods now support Capital sharp S.
142 * Editing Changes in Emacs 27.1
145 ** New variable 'x-wait-for-event-timeout'.
146 This controls how long Emacs will wait for updates to the graphical
147 state to take effect (making a frame visible, for example).
150 ** New user option 'electric-quote-replace-double'.
151 This option controls whether '"' is replaced in 'electric-quote-mode',
152 in addition to other quote characters.  If non-nil, ASCII double-quote
153 characters that quote text "like this" are replaced by double
154 typographic quotes, “like this”, in text modes, and in comments in
155 non-text modes.
158 ** 'write-abbrev-file' now includes special properties.
159 'write-abbrev-file' now writes special properties like ':case-fixed'
160 for abbrevs that have them.
163 ** The new functions and commands 'text-property-search-forward' and
164 'text-property-search-backward' have been added.  These provide an
165 interface that's more like functions like @code{search-forward}.
168 ** More commands support noncontiguous rectangular regions, namely
169 'upcase-dwim', 'downcase-dwim', 'replace-string', 'replace-regexp'.
172 * Changes in Specialized Modes and Packages in Emacs 27.1
174 ** Browse-url
175 *** The function 'browse-url-emacs' can now visit a URL in selected window.
176 It now treats the optional 2nd argument to mean that the URL should be
177 shown in the currently selected window.
179 ** Package
180 *** New 'package-quickstart' feature
181 When 'package-quickstart' is non-nil, package.el precomputes a big autoloads
182 file so that activation of packages can be done much faster, which can speed up
183 your startup significantly.
184 It also causes variables like package-user-dir and package-load-list to be
185 consulted when 'package-quickstart-refresh' is run rather than at startup so
186 you don't need to set them in your early init file.
188 *** New function 'package-activate-all'.
190 ** Ecomplete
191 *** The ecomplete sorting has changed to a decay-based algorithm.
192 This can be controlled by the new 'ecomplete-sort-predicate' variable.
194 *** The 'ecompleterc' file is now placed in ~/.emacs.d/ecompleterc by default
195 Of course it will still find it if you have it in ~/.ecompleterc
197 ** Gnus
200 *** A prefix argument to 'gnus-summary-limit-to-score' will limit reverse
201 Limit to articles with score at below.
203 *** The function 'gnus-score-find-favorite-words' has been renamed
204 from 'gnus-score-find-favourite-words'.
207 *** Gmane has been removed as an nnir backend, since Gmane no longer
208 has a search engine.
211 *** Splitting mail on common mailing list headers has been added.  See
212 the concept index in the Gnus manual for the 'match-list' entry.
215 *** nil is no longer an allowed value for 'mm-text-html-renderer'.
218 *** A new Gnus summary mode command, 'S A'
219 ('gnus-summary-attach-article') can be used to attach the current
220 article(s) to a pre-existing Message buffer, or create a new Message
221 buffer with the article(s) attached.
223 ** erc
226 *** 'erc-button-google-url' has been renamed 'erc-button-search-url'
227 and its value has been changed to Duck Duck Go.
229 ** eww/shr
231 *** When opening external links in eww/shr (typically with the
232 'C-u RET' keystroke on a link), the link will be flashed with the new
233 'shr-selected-link' face to give the user feedback that the command
234 has been executed.
236 ** Htmlfontify
237 *** The functions 'hfy-color', 'hfy-color-vals' and
238 'hfy-fallback-color-values' and the variables 'hfy-fallback-color-map'
239 and 'hfy-rgb-txt-color-map' have been renamed from names that used
240 'colour' instead of 'color'.
243 ** Enriched mode supports the 'charset' text property.
244 You can add or modify the 'charset' text properties of text using the
245 Edit->Text Properties->Special Properties menu, or by invoking the
246 'facemenu-set-charset' command.  Documents in Enriched mode will be
247 saved with the charset properties, and those properties will be
248 restored when the file is visited.
250 ** Smtpmail
251 Authentication mechanisms can be added via external packages, by
252 defining new cl-defmethod of smtpmail-try-auth-method.
254 ** Footnote-mode
255 *** Support Hebrew-style footnotes
256 *** Footnote text lines are now aligned.
257 Can be controlled via the new variable 'footnote-align-to-fn-text'.
259 ** CSS mode
262 *** A new command 'css-cycle-color-format' for cycling between color
263 formats (e.g. "black" => "#000000" => "rgb(0, 0, 0)") has been added,
264 bound to 'C-c C-f'.
266 ** SGML mode
269 *** 'sgml-quote' now handles double quotes and apostrophes
270 when escaping text and in addition all numeric entities when
271 unescaping text.
273 ** Dired
276 *** The new user option 'dired-create-destination-dirs' controls whether
277 'dired-do-copy' and 'dired-rename-file' should create non-existent
278 directories in the destination.
280 ** Help
283 *** Output format of 'C-h l' (view-lossage) has changed.
284 For convenience, 'view-lossage' now displays the last keystrokes
285 and commands in the same format as the edit buffer of
286 'edit-last-kbd-macro'.  This makes it possible to copy the lines from
287 the buffer generated by 'view-lossage' to the "*Edit Macro*" buffer
288 created by 'edit-last-kbd-macro', and to save the macro by 'C-c C-c'.
291 *** The list of help commands produced by 'C-h C-h' ('help-for-help')
292 can now be searched via 'C-s'.
294 ** Ibuffer
297 *** New filter ibuffer-filter-by-process; bound to '/E'.
299 ** Search and Replace
302 *** New isearch bindings.
304 'C-M-w' in isearch changed from isearch-del-char to the new function
305 isearch-yank-symbol-or-char.  isearch-del-char is now bound to
306 'C-M-d'.
309 *** 'search-exit-option' provides new options 'move' and 'shift-move'
310 to extend the search string by yanking text that ends at the new
311 position after moving point in the current buffer.  'shift-move'
312 extends the search string by motion commands while holding down
313 the shift key.
316 *** Isearch now remembers the regexp-based search mode for words/symbols
317 and case-sensitivity together with search strings in the search ring.
319 ** Edebug
322 *** The runtime behavior of Edebug's instrumentation can be changed
323 using the new variables 'edebug-behavior-alist',
324 'edebug-after-instrumentation-function' and
325 'edebug-new-definition-function'.  Edebug's behavior can be changed
326 globally or for individual definitions.
328 ** Enhanced xterm support
330 *** New variable 'xterm-set-window-title' controls whether Emacs sets
331 the XTerm window title.  This feature is experimental and is disabled
332 by default.
334 ** Gamegrid
336 ** grep
339 *** rgrep, lgrep and zrgrep now hide part of the command line
340 that contains a list of ignored directories and files.
341 Clicking on the button with ellipsis unhides it.
342 The abbreviation can be disabled by the new option
343 'grep-find-abbreviate'.  The new command
344 'grep-find-toggle-abbreviation' toggles it interactively.
346 ** ERT
349 *** New variable 'ert-quiet' allows to make ERT output in batch mode
350 less verbose by removing non-essential information.
353 *** Gamegrid now determines its default glyph size based on display
354 dimensions, instead of always using 16 pixels.  As a result, Tetris,
355 Snake and Pong are more playable on HiDPI displays.
357 ** Filecache
360 *** Completing filenames in the minibuffer via 'C-TAB' now uses the
361 styles as configured by the variable 'completion-styles'.
363 ** New macros 'thunk-let' and 'thunk-let*'.
364 These macros are analogue to 'let' and 'let*', but create bindings that
365 are evaluated lazily.
367 ** next-error
370 *** New customizable variable 'next-error-find-buffer-function'.
371 The value should be a function that determines how to find the
372 next buffer to be used by 'next-error' and 'previous-error'.  The
373 default is to use the last buffer that navigated to the current
374 error.
377 *** New command 'next-error-select-buffer'.
378 It can be used to set any buffer as the next one to be used by
379 'next-error' and 'previous-error'.
381 ** nxml-mode
384 *** The default value of 'nxml-sexp-element-flag' is now t.
385 This means that pressing C-M-SPACE now selects the entire tree by
386 default, and not just the opening element.
389 ** Eshell
392 *** Expansion of history event designators is disabled by default.
393 To restore the old behavior, use
395     (add-hook 'eshell-expand-input-functions
396               #'eshell-expand-history-references)
399 *** The function 'eshell-uniquify-list' has been renamed from
400 'eshell-uniqify-list'.
402 *** The function eshell/kill is now able to handle signal switches.
403 Previously eshell/kill would fail if provided a kill signal to send to the
404 process.  It now accepts signals specified either by name or by its number.
406 ** Pcomplete
407 *** The function 'pcomplete-uniquify-list' has been renamed from
408 'pcomplete-uniqify-list'.
411 ** Auth-source
414 *** The Secret Service backend supports the :create key now.
416 ** Tramp
419 *** New connection method "owncloud", which allows to access OwnCloud
420 or NextCloud hosted files and directories.
423 *** Validated passwords are saved by auth-source backends which support this.
426 *** The user option 'tramp-ignored-file-name-regexp' allows to disable
427 Tramp for some look-alike remote file names.
430 ** The options.el library has been removed.
431 It was obsolete since Emacs 22.1, replaced by customize.
434 ** Message
437 *** Messages can now be systematically encrypted
438 when the PGP keyring contains a public key for every recipient.  To
439 achieve this, add 'message-sign-encrypt-if-all-keys-available' to
440 'message-send-hook'.
443 *** When replying a message that have addresses on the form
444 '"foo@bar.com" <foo@bar.com>', Message will elide the repeated "name"
445 from the address field in the response.
448 *** The default of 'message-forward-as-mime' has changed from t to nil
449 as it has been reported that many recipients can't read forwards that
450 are formatted as MIME digests.
453 *** 'message-forward-included-headers' has changed its default to
454 exclude most headers when forwarding.
456 ** 'epa-pinentry-mode' is renamed to 'epg-pinentry-mode'.
457 It now applies to epg functions as well as epa functions.
459 * New Modes and Packages in Emacs 27.1
462 ** Emacs can now visit files in archives as if they were directories.
463 This feature uses Tramp and works only on systems which support GVFS,
464 i.e. GNU/Linux, roughly spoken.  See the chapter "(tramp) Archive file
465 names" in the Tramp manual for full documentation of these facilities.
468 * Incompatible Lisp Changes in Emacs 27.1
470 ** The 'repetitions' argument of 'benchmark-run' can now also be a variable.
471 ** The FILENAME argument to 'file-name-base' is now mandatory and no
472 longer defaults to 'buffer-file-name'.
475 ** The function 'eldoc-message' now accepts a single argument.
476 Programs that called it with multiple arguments before should pass
477 them through 'format' first.  Even that is discouraged: for ElDoc
478 support, you should set 'eldoc-documentation-function' instead of
479 calling 'eldoc-message' directly.
481 ** Old-style backquotes now generate an error.  They have been
482 generating warnings for a decade.  To interpret old-style backquotes
483 as new-style, bind the new variable 'force-new-style-backquotes' to t.
485 ** Defining a Common Lisp structure using 'cl-defstruct' or
486 'cl-struct-define' whose name clashes with a builtin type (e.g.,
487 'integer' or 'hash-table') now signals an error.
489 ** When formatting a floating-point number as an octal or hexadecimal
490 integer, Emacs now signals an error if the number is too large for the
491 implementation to format (Bug#30408).
494 ** The Lisp reader now signals an overflow for plain decimal integers
495 that do not end in '.' and are outside Emacs range.  Formerly the Lisp
496 reader silently converted them to floating-point numbers, and signaled
497 overflow only for integers with a radix that are outside machine range.
498 To get the old behavior, set the new, experimental variable
499 read-integer-overflow-as-float to t and please email
500 30408@debbugs.gnu.org if you need that.  (Bug#30408).
503 ** Some functions and variables obsolete since Emacs 22 have been removed:
504 archive-mouse-extract, assoc-ignore-case, assoc-ignore-representation,
505 backward-text-line, blink-cursor, bookmark-exit-hooks,
506 comint-use-prompt-regexp-instead-of-fields, compilation-finish-function,
507 count-text-lines, cperl-vc-header-alist, custom-face-save-command,
508 cvs-display-full-path, cvs-fileinfo->full-path, delete-frame-hook,
509 derived-mode-class, describe-char-after, describe-project,
510 desktop-basefilename, desktop-buffer-handlers, desktop-buffer-misc-functions,
511 desktop-buffer-modes-to-save, desktop-enable, desktop-load-default,
512 dired-omit-files-p, disabled-command-hook, dungeon-mode-map,
513 electric-nroff-mode, electric-nroff-newline, electric-perl-terminator,
514 focus-frame, forward-text-line, generic-define-mswindows-modes,
515 generic-define-unix-modes, generic-font-lock-defaults, goto-address-at-mouse,
516 highlight-changes-colours, ibuffer-elide-long-columns, ibuffer-hooks,
517 ibuffer-mode-hooks, icalendar-convert-diary-to-ical,
518 icalendar-extract-ical-from-buffer, imenu-always-use-completion-buffer-p,
519 ipconfig-program, ipconfig-program-options, isearch-lazy-highlight-cleanup,
520 isearch-lazy-highlight-initial-delay, isearch-lazy-highlight-interval,
521 isearch-lazy-highlight-max-at-a-time, iswitchb-use-fonts,
522 latin1-char-displayable-p, mouse-wheel-click-button, mouse-wheel-down-button,
523 mouse-wheel-up-button, new-frame, pascal-outline, process-kill-without-query,
524 recentf-menu-append-commands-p, rmail-pop-password,
525 rmail-pop-password-required, savehist-load, set-default-font,
526 spam-list-of-processors, speedbar-add-ignored-path-regexp,
527 speedbar-buffers-line-path, speedbar-ignored-path-expressions,
528 speedbar-ignored-path-regexp, speedbar-line-path, speedbar-path-line,
529 timer-set-time-with-usecs, tooltip-gud-display, tooltip-gud-modes,
530 tooltip-gud-toggle-dereference, unfocus-frame, unload-hook-features-list,
531 update-autoloads-from-directories, vc-comment-ring, vc-comment-ring-index,
532 vc-comment-search-forward, vc-comment-search-reverse, vc-comment-to-change-log,
533 vc-diff-switches-list, vc-next-comment, vc-previous-comment, view-todo,
534 x-lost-selection-hooks, x-sent-selection-hooks.
537 ** Further functions and variables obsolete since Emacs 24 have been removed:
538 default-directory-alist, dired-default-directory,
539 dired-default-directory-alist, dired-enable-local-variables,
540 dired-hack-local-variables, dired-local-variables-file, dired-omit-here-always.
542 ** The function 'display-buffer-in-major-side-window' no longer exists.
543 It has been renamed as internal function 'window--make-major-side-window',
544 however applications should instead call 'display-buffer-in-side-window'
545 (passing the SIDE and SLOT parameters as elements of ALIST).  This approach
546 is backwards-compatible with versions of Emacs in which the old function
547 exists.  See the node "Displaying Buffers in Side Windows" in the ELisp
548 manual for more details.
550 * Lisp Changes in Emacs 27.1
553 ** New function assoc-delete-all.
556 ** New function 'string-distance' to calculate the Levenshtein distance
557 between two strings.
559 ** 'print-quoted' now defaults to t, so if you want to see
560 (quote x) instead of 'x you will have to bind it to nil where applicable.
562 ** To avoid confusion caused by "smart quotes", the reader signals an
563 error when reading Lisp symbols which begin with one of the following
564 quotation characters: ‘’‛“”‟〞"'.  A symbol beginning with such a
565 character can be written by escaping the quotation character with a
566 backslash.  For example:
568     (read "‘smart") => (invalid-read-syntax "strange quote" "‘")
569     (read "\\‘smart") == (intern "‘smart")
572 ** Omitting variables after '&optional' and '&rest' is now allowed.
573 For example (defun foo (&optional)) is no longer an error.  This is
574 sometimes convenient when writing macros.  See the ChangeLog entry
575 titled "Allow `&rest' or `&optional' without following variable
576 (Bug#29165)" for a full listing of which arglists are accepted across
577 versions.
579 ** Internal parsing commands now use 'syntax-ppss' and disregard
580 'open-paren-in-column-0-is-defun-start'.  This affects mostly things like
581 'forward-comment', 'scan-sexps', and 'forward-sexp' when parsing backward.
582 The new variable 'comment-use-syntax-ppss' can be set to nil to recover the old
583 behavior if needed.
585 ** The 'server-name' and 'server-socket-dir' variables are set when a
586 socket has been passed to Emacs (Bug#24218).
589 ** The 'file-system-info' function is now available on all platforms.
590 instead of just Microsoft platforms.  This fixes a 'get-free-disk-space'
591 bug on OS X 10.8 and later (Bug#28639).
594 ** New macro 'combine-change-calls' arranges to call the change hooks
595 ('before-change-functions' and 'after-change-functions') just once
596 each around a sequence of lisp forms, given a region.  This is
597 useful when a function makes a possibly large number of repetitive
598 changes and the change hooks are time consuming.
601 ** The function 'get-free-disk-space' returns now a non-nil value for
602 remote systems, which support this check.
605 ** The function 'make-string' accepts an additional optional argument.
606 If the optional third argument is non-nil, 'make-string' will produce
607 a multibyte string even if its second argument is an ASCII character.
609 ** (format "%d" X) no longer mishandles a floating-point number X that
610 does not fit in a machine integer (Bug#30408).
612 ** New JSON parsing and serialization functions 'json-serialize',
613 'json-insert', 'json-parse-string', and 'json-parse-buffer'.  These
614 are implemented in C using the Jansson library.
616 ** Mailcap
619 *** The new function 'mailcap-file-name-to-mime-type' has been added.
620 It's a simple convenience function for looking up MIME types based on
621 file name extensions.
623 *** The default way the list of possible external viewers for MIME
624 types is sorted and chosen has changed.  Earlier, the most specific
625 viewer was chosen, even if there was a general override in ~/.mailcap.
626 For instance, if /etc/mailcap has an entry for image/gif, that one
627 will be chosen even if you have an entry for image/* in your
628 ~/.mailcap file.  But with the new method, entries from ~/.mailcap
629 overrides all system and Emacs-provided defaults.  To get the old
630 method back, set 'mailcap-prefer-mailcap-viewers' to nil.
633 ** URL
635 *** The file: handler no longer looks for index.html in directories if
636 you ask it for a file:///dir URL.  Since this is a low-level library,
637 such decisions (if they are to be made at all) are left to
638 higher-level functions.
641 ** image-mode
643 *** image-mode started using ImageMagick by default for all images
644 some years back.  It now respects 'imagemagick-types-inhibit' as a way
645 to disable that.
649 ** The new function 'read-answer' accepts either long or short answers
650 depending on the new customizable variable 'read-answer-short'.
652 ** The function 'load' now behaves correctly when loading modules.
653 Specifically, it puts the module name into 'load-history', prints
654 loading messages if requested, and protects against recursive loads.
657 ** The function 'read-variable' now uses its own history list.
658 The history of variable names read by 'read-variable' is recorded in
659 the new variable 'custom-variable-history'.
662 * Changes in Emacs 27.1 on Non-Free Operating Systems
665 ** Battery status is now supported in all Cygwin builds.
666 Previously it was supported only in the Cygwin-w32 build.
668 ** Emacs now handles key combinations involving the macOS "command"
669 and "option" modifier keys more correctly.
671 ** The special handling of 'frame-title-format' on NS where setting it
672 to 't' would enable the macOS proxy icon has been replaced with a
673 separate variable, 'ns-use-proxy-icon'.  'frame-title-format' will now
674 work as on other platforms.
677 ----------------------------------------------------------------------
678 This file is part of GNU Emacs.
680 GNU Emacs is free software: you can redistribute it and/or modify
681 it under the terms of the GNU General Public License as published by
682 the Free Software Foundation, either version 3 of the License, or
683 (at your option) any later version.
685 GNU Emacs is distributed in the hope that it will be useful,
686 but WITHOUT ANY WARRANTY; without even the implied warranty of
687 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
688 GNU General Public License for more details.
690 You should have received a copy of the GNU General Public License
691 along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
694 Local variables:
695 coding: utf-8
696 mode: outline
697 paragraph-separate: "[  \f]*$"
698 end: