(defun-declarations-alist): Use it. Add `pure' and `side-effect-free'.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct, cl-struct-sequence-type)
(cl-struct-slot-info, cl-struct-slot-offset, cl-struct-slot-value):
Use them.
Add support for bracketed paste mode; add infrastructure for
managing terminal mode enabling and disabling automatically.
* xt-mouse.el:
(xterm-mouse-mode): Simplify.
(xterm-mouse-tracking-enable-sequence)
(xterm-mouse-tracking-disable-sequence): New constants.
(turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal): Use
tty-mode-set-strings and tty-mode-reset-strings terminal
parameters instead of random hooks.
(turn-on-xterm-mouse-tracking)
(turn-off-xterm-mouse-tracking): Delete.
* term/xterm.el (xterm-extra-capabilities): Fix bitrotted comment.
(xterm-paste-ending-sequence): New constant.
(xterm-paste): New command used for bracketed paste support.
(xterm-modify-other-keys-terminal-list): Delete obsolete variable.
(terminal-init-xterm-bracketed-paste-mode): New function.
(terminal-init-xterm): Call it.
(terminal-init-xterm-modify-other-keys): Use tty-mode-set-strings
and tty-mode-reset-strings instead of random hooks.
(xterm-turn-on-modify-other-keys)
(xterm-turn-off-modify-other-keys)
(xterm-remove-modify-other-keys): Delete obsolete functions.
* term/screen.el: Rewrite to just use the xterm code. Add
copyright notice. Mention tmux.
The DATA_SEG_BITS hack was needed for older 32 bit platforms.
As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
cc, but that platform is so old that SGI itself stopped supporting
it in December 2013. If you still need Emacs on IRIX, please
either compile with GCC and port the undumping code, or run
'./configure --with-wide-int'.
* configure.ac (DATA_SEG_BITS): Remove. All uses removed.
* src/alloc.c (gdb_make_enums_visible): Update to match lisp.h.
* src/lisp.h (GCTYPEBITS): Move definition up, and switch to the
DEFINE_GDB_SYMBOL_START way to define it.
(NONPOINTER_BITS): New macro.
(EMACS_INT): Use it.
[!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
the problem and/or configuring --with-wide-int.
(USE_LSB_TAG): Simplify, based on above changes.
(gdb_DATA_SEG_BITS): Remove. All uses removed.
* src/vm-limit.c (exceeds_lisp_ptr): Remove. All uses removed.
* doc/lispref/display.texi (Overlay Properties): Reword the doc of `priority'.
(Finding Overlays): Document new arg of `overlays-at'.
* lisp/obsolete/lucid.el (extent-at):
* lisp/htmlfontify.el (hfy-overlay-props-at): Use the new `sorted' arg of
overlays-at.
(hfy-fontify-buffer): Remove unused var `orig-ovls'.
* lisp/ps-def.el (ps-generate-postscript-with-faces1): Use the new `sorted'
arg of overlays-at. Use `invisible-p'.
region handling (and don't call signal_before_change) if
inhibit_modification_hooks is set.
(signal_before_change): Don't check inhibit_modification_hooks any more.
* lisp/subr.el (with-silent-modifications): Don't bind deactivate-mark,
buffer-file-name, and buffer-file-truename any more.
* doc/emacs/files.texi (Backup Names):
* doc/emacs/arevert-xtra.texi (Supporting additional buffers):
* doc/lispref/backups.texi (Making Backups, Reverting):
Update for default values of some -function vars no longer being nil.
* etc/NEWS: Related edits.
* configure.ac (ACL_SUMMARY): Rename from acl_summary, for consistency.
(EMACS_CONFIG_FEATURES): New define.
* src/emacs.c (syms_of_emacs) <system-configuration-features>: New var.
* lisp/mail/emacsbug.el (report-emacs-bug):
Include system-configuration-features.
* etc/NEWS: Mention this.
Ref: http://debbugs.gnu.org/16717#45
If no-one objects, we can then start getting rid of some of the
convoluted Makefile hacks that exist to support non-GNU makes.
* configure.ac: Require GNU make.
(HAVE_GNU_MAKE): Remove.
* INSTALL, etc/NEWS, etc/PROBLEMS: Update for this change.
* Makefile.in: Comment.
These are old copies of online information that is not Emacs-specific.
* etc/CENSORSHIP, etc/GNU, etc/LINUX-GNU, etc/THE-GNU-PROJECT, etc/WHY-FREE:
Replace contents with pointers to www.gnu.org or emacs.info, mark obsolete.
* src/callproc.c (init_callproc): In etc, look for NEWS rather than GNU.
* lisp/startup.el (fancy-startup-text):
* lisp/help.el (describe-gnu-project): Visit online info about GNU project.
* doc/emacs/help.texi (Help Files): Update C-h g description.
* doc/misc/efaq.texi (Informational files for Emacs): Do not mention etc/GNU.
* admin/notes/copyright: Remove references to these files.
* etc/MACHINES, etc/NEWS.19: Replace references to these files.
The class of problems that this was designed to detect, namely .elc
files getting corrupted by being passed around by email via uuencode
or somesuch, has not been a relevant concern for many years.
* lib-src/test-distrib.c, lib-src/testfile: Remove.
* lib-src/Makefile.in (DONT_INSTALL): Remove test-distrib.
(test-distrib${EXEEXT}): Remove rule.
* make-dist: Do not distribute lib-src/testfile.
* admin/quick-install-emacs (AVOID): Remove testfile and test-distrib.
* INSTALL, etc/PROBLEMS, admin/notes/unicode:
Remove references to test-distrib and testfile.
* w32fns.c (w32_wnd_proc): For WM_WINDOWPOSCHANGING don't
constrain frame size in SW_SHOWMAXIMIZED case so we can truly
maximize a frame for odd default fonts.
* frames.texi (Size and Position): In `frame-resize-pixelwise'
description drop remark about frame maximization.
* windows.texi (Display Action Functions): Add description for
`display-buffer-no-window' and explain use of `allow-no-window'
alist entries.
* doc/misc/cc-mode.texi (Indentation Commands): Remove C-j, since it's not
defined by CC-mode but globally.
(FAQ): Tweak text about RET and auto-indentation.
* doc/misc/vip.texi (Other Vi Commands): Adjust doc of C-j.
* doc/emacs/programs.texi (Matching): Update WRT to the new
`blink-matchin-paren' behavior.
* doc/lispref/display.texi (Blinking): Update WRT to the new
`blink-matchin-paren' behavior.
* lisp/simple.el (blink-matching-paren): Describe the new value,
`jump', enabling the old behavior.
(blink-matching-open): Use that value.
Fixes: debbugs:17008