Commit f655987d authored by Stefan Monnier's avatar Stefan Monnier
Browse files

Un-revert changes mistakenly dropped by f9fabb2b

parent 6c52e9b9
......@@ -756,6 +756,8 @@ a typographically-correct documents.
* Incompatible Lisp Changes in Emacs 25.1
** `inhibit-point-motion-hooks' now defaults to t and is obsolete.
** The optional `predicate' argument of `lisp-complete-symbol' no longer
has any effect. (This change was made in Emacs 24.4 but was not
advertised at the time.)
......@@ -987,6 +989,22 @@ is strongly dedicated to its buffer.
** Tearoff menus and detachable toolbars for Gtk+ has been removed.
Those features have been deprecated in Gtk+ for a long time.
** Miscellaneous
*** etags no longer qualifies class members by default.
By default, `etags' will not qualify class members for C-like
object-oriented languages with their class names and namespaces, and
will remove qualifications used explicitly in the code from the tag
names it puts in TAGS files. This is so the etags.el back-end for
`xref-find-definitions' is more accurate and produces less false
Use --class-qualify (-Q) if you want the old default behavior of
qualifying class members in C++, Java, and Objective C. Note that
using -Q might make some class members become "unknown" to `M-.'
(`xref-find-definitions'); if so, you can use `C-u M-.' to specify the
qualified names by hand.
* Changes in Emacs 25.1 on Non-Free Operating Systems
......@@ -1811,11 +1811,38 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(defun archive-zip-summarize ()
(goto-char (- (point-max) (- 22 18)))
(search-backward-regexp "[P]K\005\006")
(let ((p (+ (point-min) (archive-l-e (+ (point) 16) 4)))
(let ((p (archive-l-e (+ (point) 16) 4))
(maxlen 8)
(totalsize 0)
(when (= p -1)
;; If the offset of end-of-central-directory is -1, this is a
;; Zip64 extended ZIP file format, and we need to glean the info
;; from Zip64 records instead.
;; First, find the Zip64 end-of-central-directory locator.
(search-backward "PK\006\007")
;; Pay attention: the offset of Zip64 end-of-central-directory
;; is a 64-bit field, so it could overflow the Emacs integer
;; even on a 64-bit host, let alone 32-bit one. But since we've
;; already read the zip file into a buffer, and this is a byte
;; offset into the file we've read, it must be short enough, so
;; such an overflow can never happen, and we can safely read
;; these 8 bytes into an Emacs integer. Moreover, on host with
;; 32-bit Emacs integer we can only read 4 bytes, since they are
;; stored in little-endian byte order.
(setq emacs-int-has-32bits (<= most-positive-fixnum #x1fffffff))
(setq p (+ (point-min)
(archive-l-e (+ (point) 8) (if emacs-int-has-32bits 4 8))))
(goto-char p)
;; We should be at Zip64 end-of-central-directory record now.
(or (string= "PK\006\006" (buffer-substring p (+ p 4)))
(error "Unrecognized ZIP file format"))
;; Offset to central directory:
(setq p (+ (point-min)
(archive-l-e (+ p 48) (if emacs-int-has-32bits 4 8)))))
(while (string= "PK\001\002" (buffer-substring p (+ p 4)))
(let* ((creator (byte-after (+ p 5)))
;; (method (archive-l-e (+ p 10) 2))
......@@ -932,12 +932,6 @@ convert the search string to a regexp used by regexp search functions."
(add-hook 'post-command-hook 'isearch-post-command-hook)
(add-hook 'mouse-leave-buffer-hook 'isearch-done)
(add-hook 'kbd-macro-termination-hook 'isearch-done)
(make-local-variable 'cursor-sensor-inhibit)
(unless (boundp 'cursor-sensor-inhibit)
(setq cursor-sensor-inhibit nil))
;; Suspend things like cursor-intangible during Isearch so we can search even
;; within intangible text.
(push 'isearch cursor-sensor-inhibit)
;; isearch-mode can be made modal (in the sense of not returning to
;; the calling function until searching is completed) by entering
......@@ -949,10 +943,23 @@ convert the search string to a regexp used by regexp search functions."
;; Some high level utilities. Others below.
(defvar isearch--current-buffer)
(defun isearch-update ()
"This is called after every isearch command to update the display.
The last thing it does is to run `isearch-update-post-hook'."
(unless (eq (current-buffer) isearch--current-buffer)
(when isearch--current-buffer
(with-current-buffer isearch--current-buffer
(setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit))))
(setq isearch--current-buffer (current-buffer))
(make-local-variable 'cursor-sensor-inhibit)
(unless (boundp 'cursor-sensor-inhibit)
(setq cursor-sensor-inhibit nil))
;; Suspend things like cursor-intangible during Isearch so we can search
;; even within intangible text.
(push 'isearch cursor-sensor-inhibit))
(if (and (null unread-command-events)
(null executing-kbd-macro))
......@@ -1026,7 +1033,9 @@ NOPUSH is t and EDIT is t."
(remove-hook 'mouse-leave-buffer-hook 'isearch-done)
(remove-hook 'kbd-macro-termination-hook 'isearch-done)
(setq isearch-lazy-highlight-start nil)
(setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit))
(with-current-buffer isearch--current-buffer
(setq isearch--current-buffer nil)
(setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit)))
;; Called by all commands that terminate isearch-mode.
;; If NOPUSH is non-nil, we don't push the string on the search ring.
......@@ -4038,8 +4038,8 @@ this file, if that variable is non-nil."
;; else
(ad-deactivate 'make-auto-save-file-name)
(tramp-run-real-handler 'make-auto-save-file-name nil)
(ad-activate 'make-auto-save-file-name)))))
(tramp-run-real-handler 'make-auto-save-file-name nil)
(ad-activate 'make-auto-save-file-name)))))
(unless (tramp-exists-file-name-handler 'make-auto-save-file-name)
(defadvice make-auto-save-file-name
......@@ -2344,8 +2344,16 @@ returned. */);
DEFVAR_LISP ("inhibit-point-motion-hooks", Vinhibit_point_motion_hooks,
doc: /* If non-nil, don't run `point-left' and `point-entered' text properties.
This also inhibits the use of the `intangible' text property. */);
Vinhibit_point_motion_hooks = Qnil;
This also inhibits the use of the `intangible' text property.
This variable is obsolete since Emacs-25.1. Use `cursor-intangible-mode'
or `cursor-sensor-mode' instead. */);
/* FIXME: We should make-obsolete-variable, but that signals too many
warnings in code which does (let ((inhibit-point-motion-hooks t)) ...)
Ideally, make-obsolete-variable should let us specify that only the nil
value is obsolete, but that requires too many changes in bytecomp.el,
so for now we'll keep it "obsolete via the docstring". */
Vinhibit_point_motion_hooks = Qt;
DEFVAR_LISP ("text-property-default-nonsticky",
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment