diff options
| author | Stefan Monnier | 2015-05-27 22:42:33 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2015-05-27 22:42:33 -0400 |
| commit | f655987d63e181deb5e6fef1f93b409d96184fae (patch) | |
| tree | cd6b7a1510e03b33fbaa72fa86d95ac10945f5b9 | |
| parent | 6c52e9b93b68795d1876718d8f3c1d57bf7f6d91 (diff) | |
| download | emacs-f655987d63e181deb5e6fef1f93b409d96184fae.tar.gz emacs-f655987d63e181deb5e6fef1f93b409d96184fae.zip | |
Un-revert changes mistakenly dropped by f9fabb2b
| -rw-r--r-- | etc/NEWS | 18 | ||||
| -rw-r--r-- | lisp/arc-mode.el | 31 | ||||
| -rw-r--r-- | lisp/isearch.el | 23 | ||||
| -rw-r--r-- | lisp/net/tramp.el | 4 | ||||
| -rw-r--r-- | src/textprop.c | 12 |
5 files changed, 75 insertions, 13 deletions
| @@ -756,6 +756,8 @@ a typographically-correct documents. | |||
| 756 | 756 | ||
| 757 | * Incompatible Lisp Changes in Emacs 25.1 | 757 | * Incompatible Lisp Changes in Emacs 25.1 |
| 758 | 758 | ||
| 759 | ** `inhibit-point-motion-hooks' now defaults to t and is obsolete. | ||
| 760 | |||
| 759 | ** The optional `predicate' argument of `lisp-complete-symbol' no longer | 761 | ** The optional `predicate' argument of `lisp-complete-symbol' no longer |
| 760 | has any effect. (This change was made in Emacs 24.4 but was not | 762 | has any effect. (This change was made in Emacs 24.4 but was not |
| 761 | advertised at the time.) | 763 | advertised at the time.) |
| @@ -987,6 +989,22 @@ is strongly dedicated to its buffer. | |||
| 987 | ** Tearoff menus and detachable toolbars for Gtk+ has been removed. | 989 | ** Tearoff menus and detachable toolbars for Gtk+ has been removed. |
| 988 | Those features have been deprecated in Gtk+ for a long time. | 990 | Those features have been deprecated in Gtk+ for a long time. |
| 989 | 991 | ||
| 992 | ** Miscellaneous | ||
| 993 | |||
| 994 | *** etags no longer qualifies class members by default. | ||
| 995 | By default, `etags' will not qualify class members for C-like | ||
| 996 | object-oriented languages with their class names and namespaces, and | ||
| 997 | will remove qualifications used explicitly in the code from the tag | ||
| 998 | names it puts in TAGS files. This is so the etags.el back-end for | ||
| 999 | `xref-find-definitions' is more accurate and produces less false | ||
| 1000 | positives. | ||
| 1001 | |||
| 1002 | Use --class-qualify (-Q) if you want the old default behavior of | ||
| 1003 | qualifying class members in C++, Java, and Objective C. Note that | ||
| 1004 | using -Q might make some class members become "unknown" to `M-.' | ||
| 1005 | (`xref-find-definitions'); if so, you can use `C-u M-.' to specify the | ||
| 1006 | qualified names by hand. | ||
| 1007 | |||
| 990 | 1008 | ||
| 991 | * Changes in Emacs 25.1 on Non-Free Operating Systems | 1009 | * Changes in Emacs 25.1 on Non-Free Operating Systems |
| 992 | 1010 | ||
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 063e4ba9dcb..5f2fc8f3804 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el | |||
| @@ -1811,11 +1811,38 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1811 | (defun archive-zip-summarize () | 1811 | (defun archive-zip-summarize () |
| 1812 | (goto-char (- (point-max) (- 22 18))) | 1812 | (goto-char (- (point-max) (- 22 18))) |
| 1813 | (search-backward-regexp "[P]K\005\006") | 1813 | (search-backward-regexp "[P]K\005\006") |
| 1814 | (let ((p (+ (point-min) (archive-l-e (+ (point) 16) 4))) | 1814 | (let ((p (archive-l-e (+ (point) 16) 4)) |
| 1815 | (maxlen 8) | 1815 | (maxlen 8) |
| 1816 | (totalsize 0) | 1816 | (totalsize 0) |
| 1817 | files | 1817 | files |
| 1818 | visual) | 1818 | visual |
| 1819 | emacs-int-has-32bits) | ||
| 1820 | (when (= p -1) | ||
| 1821 | ;; If the offset of end-of-central-directory is -1, this is a | ||
| 1822 | ;; Zip64 extended ZIP file format, and we need to glean the info | ||
| 1823 | ;; from Zip64 records instead. | ||
| 1824 | ;; | ||
| 1825 | ;; First, find the Zip64 end-of-central-directory locator. | ||
| 1826 | (search-backward "PK\006\007") | ||
| 1827 | ;; Pay attention: the offset of Zip64 end-of-central-directory | ||
| 1828 | ;; is a 64-bit field, so it could overflow the Emacs integer | ||
| 1829 | ;; even on a 64-bit host, let alone 32-bit one. But since we've | ||
| 1830 | ;; already read the zip file into a buffer, and this is a byte | ||
| 1831 | ;; offset into the file we've read, it must be short enough, so | ||
| 1832 | ;; such an overflow can never happen, and we can safely read | ||
| 1833 | ;; these 8 bytes into an Emacs integer. Moreover, on host with | ||
| 1834 | ;; 32-bit Emacs integer we can only read 4 bytes, since they are | ||
| 1835 | ;; stored in little-endian byte order. | ||
| 1836 | (setq emacs-int-has-32bits (<= most-positive-fixnum #x1fffffff)) | ||
| 1837 | (setq p (+ (point-min) | ||
| 1838 | (archive-l-e (+ (point) 8) (if emacs-int-has-32bits 4 8)))) | ||
| 1839 | (goto-char p) | ||
| 1840 | ;; We should be at Zip64 end-of-central-directory record now. | ||
| 1841 | (or (string= "PK\006\006" (buffer-substring p (+ p 4))) | ||
| 1842 | (error "Unrecognized ZIP file format")) | ||
| 1843 | ;; Offset to central directory: | ||
| 1844 | (setq p (+ (point-min) | ||
| 1845 | (archive-l-e (+ p 48) (if emacs-int-has-32bits 4 8))))) | ||
| 1819 | (while (string= "PK\001\002" (buffer-substring p (+ p 4))) | 1846 | (while (string= "PK\001\002" (buffer-substring p (+ p 4))) |
| 1820 | (let* ((creator (byte-after (+ p 5))) | 1847 | (let* ((creator (byte-after (+ p 5))) |
| 1821 | ;; (method (archive-l-e (+ p 10) 2)) | 1848 | ;; (method (archive-l-e (+ p 10) 2)) |
diff --git a/lisp/isearch.el b/lisp/isearch.el index dc10502309f..5599ea55632 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -932,12 +932,6 @@ convert the search string to a regexp used by regexp search functions." | |||
| 932 | (add-hook 'post-command-hook 'isearch-post-command-hook) | 932 | (add-hook 'post-command-hook 'isearch-post-command-hook) |
| 933 | (add-hook 'mouse-leave-buffer-hook 'isearch-done) | 933 | (add-hook 'mouse-leave-buffer-hook 'isearch-done) |
| 934 | (add-hook 'kbd-macro-termination-hook 'isearch-done) | 934 | (add-hook 'kbd-macro-termination-hook 'isearch-done) |
| 935 | (make-local-variable 'cursor-sensor-inhibit) | ||
| 936 | (unless (boundp 'cursor-sensor-inhibit) | ||
| 937 | (setq cursor-sensor-inhibit nil)) | ||
| 938 | ;; Suspend things like cursor-intangible during Isearch so we can search even | ||
| 939 | ;; within intangible text. | ||
| 940 | (push 'isearch cursor-sensor-inhibit) | ||
| 941 | 935 | ||
| 942 | ;; isearch-mode can be made modal (in the sense of not returning to | 936 | ;; isearch-mode can be made modal (in the sense of not returning to |
| 943 | ;; the calling function until searching is completed) by entering | 937 | ;; 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." | |||
| 949 | 943 | ||
| 950 | 944 | ||
| 951 | ;; Some high level utilities. Others below. | 945 | ;; Some high level utilities. Others below. |
| 946 | (defvar isearch--current-buffer) | ||
| 952 | 947 | ||
| 953 | (defun isearch-update () | 948 | (defun isearch-update () |
| 954 | "This is called after every isearch command to update the display. | 949 | "This is called after every isearch command to update the display. |
| 955 | The last thing it does is to run `isearch-update-post-hook'." | 950 | The last thing it does is to run `isearch-update-post-hook'." |
| 951 | (unless (eq (current-buffer) isearch--current-buffer) | ||
| 952 | (when isearch--current-buffer | ||
| 953 | (with-current-buffer isearch--current-buffer | ||
| 954 | (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit)))) | ||
| 955 | (setq isearch--current-buffer (current-buffer)) | ||
| 956 | (make-local-variable 'cursor-sensor-inhibit) | ||
| 957 | (unless (boundp 'cursor-sensor-inhibit) | ||
| 958 | (setq cursor-sensor-inhibit nil)) | ||
| 959 | ;; Suspend things like cursor-intangible during Isearch so we can search | ||
| 960 | ;; even within intangible text. | ||
| 961 | (push 'isearch cursor-sensor-inhibit)) | ||
| 962 | |||
| 956 | (if (and (null unread-command-events) | 963 | (if (and (null unread-command-events) |
| 957 | (null executing-kbd-macro)) | 964 | (null executing-kbd-macro)) |
| 958 | (progn | 965 | (progn |
| @@ -1026,7 +1033,9 @@ NOPUSH is t and EDIT is t." | |||
| 1026 | (remove-hook 'mouse-leave-buffer-hook 'isearch-done) | 1033 | (remove-hook 'mouse-leave-buffer-hook 'isearch-done) |
| 1027 | (remove-hook 'kbd-macro-termination-hook 'isearch-done) | 1034 | (remove-hook 'kbd-macro-termination-hook 'isearch-done) |
| 1028 | (setq isearch-lazy-highlight-start nil) | 1035 | (setq isearch-lazy-highlight-start nil) |
| 1029 | (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit)) | 1036 | (with-current-buffer isearch--current-buffer |
| 1037 | (setq isearch--current-buffer nil) | ||
| 1038 | (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit))) | ||
| 1030 | 1039 | ||
| 1031 | ;; Called by all commands that terminate isearch-mode. | 1040 | ;; Called by all commands that terminate isearch-mode. |
| 1032 | ;; If NOPUSH is non-nil, we don't push the string on the search ring. | 1041 | ;; If NOPUSH is non-nil, we don't push the string on the search ring. |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 1614425c884..f0e3cb632bb 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -4038,8 +4038,8 @@ this file, if that variable is non-nil." | |||
| 4038 | ;; else | 4038 | ;; else |
| 4039 | (ad-deactivate 'make-auto-save-file-name) | 4039 | (ad-deactivate 'make-auto-save-file-name) |
| 4040 | (prog1 | 4040 | (prog1 |
| 4041 | (tramp-run-real-handler 'make-auto-save-file-name nil) | 4041 | (tramp-run-real-handler 'make-auto-save-file-name nil) |
| 4042 | (ad-activate 'make-auto-save-file-name))))) | 4042 | (ad-activate 'make-auto-save-file-name))))) |
| 4043 | 4043 | ||
| 4044 | (unless (tramp-exists-file-name-handler 'make-auto-save-file-name) | 4044 | (unless (tramp-exists-file-name-handler 'make-auto-save-file-name) |
| 4045 | (defadvice make-auto-save-file-name | 4045 | (defadvice make-auto-save-file-name |
diff --git a/src/textprop.c b/src/textprop.c index 0a591d0e05f..96d88edebd2 100644 --- a/src/textprop.c +++ b/src/textprop.c | |||
| @@ -2344,8 +2344,16 @@ returned. */); | |||
| 2344 | 2344 | ||
| 2345 | DEFVAR_LISP ("inhibit-point-motion-hooks", Vinhibit_point_motion_hooks, | 2345 | DEFVAR_LISP ("inhibit-point-motion-hooks", Vinhibit_point_motion_hooks, |
| 2346 | doc: /* If non-nil, don't run `point-left' and `point-entered' text properties. | 2346 | doc: /* If non-nil, don't run `point-left' and `point-entered' text properties. |
| 2347 | This also inhibits the use of the `intangible' text property. */); | 2347 | This also inhibits the use of the `intangible' text property. |
| 2348 | Vinhibit_point_motion_hooks = Qnil; | 2348 | |
| 2349 | This variable is obsolete since Emacs-25.1. Use `cursor-intangible-mode' | ||
| 2350 | or `cursor-sensor-mode' instead. */); | ||
| 2351 | /* FIXME: We should make-obsolete-variable, but that signals too many | ||
| 2352 | warnings in code which does (let ((inhibit-point-motion-hooks t)) ...) | ||
| 2353 | Ideally, make-obsolete-variable should let us specify that only the nil | ||
| 2354 | value is obsolete, but that requires too many changes in bytecomp.el, | ||
| 2355 | so for now we'll keep it "obsolete via the docstring". */ | ||
| 2356 | Vinhibit_point_motion_hooks = Qt; | ||
| 2349 | 2357 | ||
| 2350 | DEFVAR_LISP ("text-property-default-nonsticky", | 2358 | DEFVAR_LISP ("text-property-default-nonsticky", |
| 2351 | Vtext_property_default_nonsticky, | 2359 | Vtext_property_default_nonsticky, |