aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2014-11-08 10:21:38 -0800
committerGlenn Morris2014-11-08 10:21:38 -0800
commit416148257afedb97bbe6d732eea3a0c72473dab0 (patch)
tree959013e867de73a5ad27e013a1637119833e7856
parent97cd730164baf67617e1031730105523315c068f (diff)
parent86b1c771e14efcc98f8fe07510a4238bf94ced7b (diff)
downloademacs-416148257afedb97bbe6d732eea3a0c72473dab0.tar.gz
emacs-416148257afedb97bbe6d732eea3a0c72473dab0.zip
Merge from emacs-24; up to 117687
-rw-r--r--doc/misc/eww.texi8
-rw-r--r--lisp/ChangeLog36
-rw-r--r--lisp/emulation/cua-base.el6
-rw-r--r--lisp/emulation/cua-gmrk.el2
-rw-r--r--lisp/files.el2
-rw-r--r--lisp/net/tramp-adb.el23
-rw-r--r--lisp/net/tramp-gvfs.el234
-rw-r--r--lisp/net/tramp-sh.el35
-rw-r--r--lisp/net/tramp.el7
-rw-r--r--lisp/progmodes/cc-fonts.el4
-rw-r--r--src/ChangeLog23
-rw-r--r--src/callproc.c8
-rw-r--r--src/dired.c5
-rw-r--r--src/nsterm.m14
-rw-r--r--src/syntax.c2
-rw-r--r--src/xgselect.c18
16 files changed, 260 insertions, 167 deletions
diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi
index f8f87d37a39..edc2e0fdb3a 100644
--- a/doc/misc/eww.texi
+++ b/doc/misc/eww.texi
@@ -198,11 +198,11 @@ specific images completely by customizing @code{shr-blocked-images}.
198@vindex shr-color-visible-distance-min 198@vindex shr-color-visible-distance-min
199@vindex shr-color-visible-luminance-min 199@vindex shr-color-visible-luminance-min
200@cindex Contrast 200@cindex Contrast
201 EWW (or rather its HTML renderer @code{shr}) use the colors declared 201 EWW (or rather its HTML renderer @code{shr}) uses the colors declared
202in the HTML page but adjust them if needed to keep a certain minimum 202in the HTML page, but adjusts them if needed to keep a certain minimum
203contrast. If that is still to low for you, have a look at the 203contrast. If that is still too low for you, you can customize the
204variables @code{shr-color-visible-distance-min} and 204variables @code{shr-color-visible-distance-min} and
205@code{shr-color-visible-luminance-min}. 205@code{shr-color-visible-luminance-min} to get a better contrast.
206 206
207@node History and Acknowledgments 207@node History and Acknowledgments
208@appendix History and Acknowledgments 208@appendix History and Acknowledgments
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a67f9220bbb..ab12e064aaa 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,39 @@
12014-11-08 Michael Albinus <michael.albinus@gmx.de>
2
3 * net/tramp.el (tramp-check-cached-permissions): Include hop in
4 the constructed Tramp file name. (Bug#18943)
5
62014-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
7
8 * emulation/cua-base.el (cua--select-keymaps): Use region-active-p
9 (bug#18952).
10 (cua-set-mark, cua--post-command-handler-1):
11 * emulation/cua-gmrk.el (cua-cancel-global-mark): Same.
12
132014-11-08 Michael Albinus <michael.albinus@gmx.de>
14
15 * files.el (file-name-non-special): Wrap the call of
16 `insert-file-contents' by `unwind-protect', in order to set the
17 buffer's file name anyway. (Bug#18891)
18
192014-11-08 Alan Mackenzie <acm@muc.de>
20
21 Fix wrong bound to c-font-lock-declarators. Fixes bug #18948.
22 * progmodes/cc-fonts.el (c-font-lock-declarations): Pass
23 "(point-max)" as bound to c-font-lock-declarators, not "limit", as
24 the buffer is sometimes narrowed to less than "limit" (e.g., in
25 the presence of macros).
26
272014-11-08 Michael Albinus <michael.albinus@gmx.de>
28
29 * net/tramp.el (tramp-error-with-buffer): Show connection buffer
30 only when message appeared in minibuffer. (Bug#18891)
31
32 * net/tramp-adb.el (tramp-adb-handle-file-attributes):
33 * net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
34 * net/tramp-sh.el (tramp-sh-handle-file-attributes): Return nil in
35 case of errors.
36
12014-11-08 Stefan Monnier <monnier@iro.umontreal.ca> 372014-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
2 38
3 * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): 39 * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index 0b6891d6d6d..2b4d0f6ba90 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1015,7 +1015,7 @@ With a double \\[universal-argument] prefix argument, unconditionally set mark."
1015 (or (and cua-auto-mark-last-change 1015 (or (and cua-auto-mark-last-change
1016 (cua-pop-to-last-change)) 1016 (cua-pop-to-last-change))
1017 (pop-to-mark-command))) 1017 (pop-to-mark-command)))
1018 ((and cua-toggle-set-mark mark-active) 1018 ((and cua-toggle-set-mark (region-active-p))
1019 (cua--deactivate) 1019 (cua--deactivate)
1020 (message "Mark cleared")) 1020 (message "Mark cleared"))
1021 (t 1021 (t
@@ -1127,7 +1127,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
1127 (if cua--debug 1127 (if cua--debug
1128 (cond 1128 (cond
1129 (cua--rectangle (cua--rectangle-assert)) 1129 (cua--rectangle (cua--rectangle-assert))
1130 (mark-active (message "Mark=%d Point=%d" (mark t) (point))))) 1130 ((region-active-p) (message "Mark=%d Point=%d" (mark t) (point)))))
1131 1131
1132 (if cua-enable-cursor-indications 1132 (if cua-enable-cursor-indications
1133 (cua--update-indications)) 1133 (cua--update-indications))
@@ -1186,7 +1186,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
1186(defun cua--select-keymaps () 1186(defun cua--select-keymaps ()
1187 ;; Setup conditions for selecting the proper keymaps in cua--keymap-alist. 1187 ;; Setup conditions for selecting the proper keymaps in cua--keymap-alist.
1188 (setq cua--ena-region-keymap 1188 (setq cua--ena-region-keymap
1189 (and mark-active (not deactivate-mark))) 1189 (and (region-active-p) (not deactivate-mark)))
1190 (setq cua--ena-prefix-override-keymap 1190 (setq cua--ena-prefix-override-keymap
1191 (and cua--ena-region-keymap 1191 (and cua--ena-region-keymap
1192 cua-enable-cua-keys 1192 cua-enable-cua-keys
diff --git a/lisp/emulation/cua-gmrk.el b/lisp/emulation/cua-gmrk.el
index b77b2105f64..3d6c9d62a26 100644
--- a/lisp/emulation/cua-gmrk.el
+++ b/lisp/emulation/cua-gmrk.el
@@ -321,7 +321,7 @@ With prefix argument, don't jump to global mark when canceling it."
321(defun cua-cancel-global-mark () 321(defun cua-cancel-global-mark ()
322 "Cancel the global mark." 322 "Cancel the global mark."
323 (interactive) 323 (interactive)
324 (if mark-active 324 (if (region-active-p)
325 (cua-cancel) 325 (cua-cancel)
326 (if (cua--global-mark-active) 326 (if (cua--global-mark-active)
327 (cua--deactivate-global-mark t))) 327 (cua--deactivate-global-mark t)))
diff --git a/lisp/files.el b/lisp/files.el
index be1b6c29d10..c9d1d2da3b8 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -6670,7 +6670,7 @@ only these files will be asked to be saved."
6670 (`add (concat "/:" (apply operation arguments))) 6670 (`add (concat "/:" (apply operation arguments)))
6671 (`insert-file-contents 6671 (`insert-file-contents
6672 (let ((visit (nth 1 arguments))) 6672 (let ((visit (nth 1 arguments)))
6673 (prog1 6673 (unwind-protect
6674 (apply operation arguments) 6674 (apply operation arguments)
6675 (when (and visit buffer-file-name) 6675 (when (and visit buffer-file-name)
6676 (setq buffer-file-name (concat "/:" buffer-file-name)))))) 6676 (setq buffer-file-name (concat "/:" buffer-file-name))))))
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index 639f07b2f1d..2401b4af479 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -316,17 +316,18 @@ pass to the OPERATION."
316(defun tramp-adb-handle-file-attributes (filename &optional id-format) 316(defun tramp-adb-handle-file-attributes (filename &optional id-format)
317 "Like `file-attributes' for Tramp files." 317 "Like `file-attributes' for Tramp files."
318 (unless id-format (setq id-format 'integer)) 318 (unless id-format (setq id-format 'integer))
319 (with-parsed-tramp-file-name filename nil 319 (ignore-errors
320 (with-tramp-file-property 320 (with-parsed-tramp-file-name filename nil
321 v localname (format "file-attributes-%s" id-format) 321 (with-tramp-file-property
322 (and 322 v localname (format "file-attributes-%s" id-format)
323 (tramp-adb-send-command-and-check 323 (and
324 v (format "%s -d -l %s" 324 (tramp-adb-send-command-and-check
325 (tramp-adb-get-ls-command v) 325 v (format "%s -d -l %s"
326 (tramp-shell-quote-argument localname))) 326 (tramp-adb-get-ls-command v)
327 (with-current-buffer (tramp-get-buffer v) 327 (tramp-shell-quote-argument localname)))
328 (tramp-adb-sh-fix-ls-output) 328 (with-current-buffer (tramp-get-buffer v)
329 (cdar (tramp-do-parse-file-attributes-with-ls v id-format))))))) 329 (tramp-adb-sh-fix-ls-output)
330 (cdar (tramp-do-parse-file-attributes-with-ls v id-format))))))))
330 331
331(defun tramp-do-parse-file-attributes-with-ls (vec &optional id-format) 332(defun tramp-do-parse-file-attributes-with-ls (vec &optional id-format)
332 "Parse `file-attributes' for Tramp files using the ls(1) command." 333 "Parse `file-attributes' for Tramp files using the ls(1) command."
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 1b4c1694a92..30802273d5c 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -720,124 +720,128 @@ is no information where to trace the message.")
720(defun tramp-gvfs-handle-file-attributes (filename &optional id-format) 720(defun tramp-gvfs-handle-file-attributes (filename &optional id-format)
721 "Like `file-attributes' for Tramp files." 721 "Like `file-attributes' for Tramp files."
722 (unless id-format (setq id-format 'integer)) 722 (unless id-format (setq id-format 'integer))
723 ;; Don't modify `last-coding-system-used' by accident. 723 (ignore-errors
724 (let ((last-coding-system-used last-coding-system-used) 724 ;; Don't modify `last-coding-system-used' by accident.
725 dirp res-symlink-target res-numlinks res-uid res-gid res-access 725 (let ((last-coding-system-used last-coding-system-used)
726 res-mod res-change res-size res-filemodes res-inode res-device) 726 dirp res-symlink-target res-numlinks res-uid res-gid res-access
727 (with-parsed-tramp-file-name filename nil 727 res-mod res-change res-size res-filemodes res-inode res-device)
728 (with-tramp-file-property 728 (with-parsed-tramp-file-name filename nil
729 v localname (format "file-attributes-%s" id-format) 729 (with-tramp-file-property
730 (tramp-message v 5 "file attributes: %s" localname) 730 v localname (format "file-attributes-%s" id-format)
731 (tramp-gvfs-send-command 731 (tramp-message v 5 "file attributes: %s" localname)
732 v "gvfs-info" (tramp-gvfs-url-file-name filename)) 732 (tramp-gvfs-send-command
733 ;; Parse output ... 733 v "gvfs-info" (tramp-gvfs-url-file-name filename))
734 (with-current-buffer (tramp-get-connection-buffer v) 734 ;; Parse output ...
735 (goto-char (point-min)) 735 (with-current-buffer (tramp-get-connection-buffer v)
736 (when (re-search-forward "attributes:" nil t)
737 ;; ... directory or symlink
738 (goto-char (point-min))
739 (setq dirp (if (re-search-forward "type:\\s-+directory" nil t) t))
740 (goto-char (point-min))
741 (setq res-symlink-target
742 (if (re-search-forward
743 "standard::symlink-target:\\s-+\\(\\S-+\\)" nil t)
744 (match-string 1)))
745 ;; ... number links
746 (goto-char (point-min))
747 (setq res-numlinks
748 (if (re-search-forward "unix::nlink:\\s-+\\([0-9]+\\)" nil t)
749 (string-to-number (match-string 1)) 0))
750 ;; ... uid and gid
751 (goto-char (point-min)) 736 (goto-char (point-min))
752 (setq res-uid 737 (when (re-search-forward "attributes:" nil t)
753 (or (if (eq id-format 'integer) 738 ;; ... directory or symlink
739 (goto-char (point-min))
740 (setq dirp (if (re-search-forward "type:\\s-+directory" nil t) t))
741 (goto-char (point-min))
742 (setq res-symlink-target
743 (if (re-search-forward
744 "standard::symlink-target:\\s-+\\(\\S-+\\)" nil t)
745 (match-string 1)))
746 ;; ... number links
747 (goto-char (point-min))
748 (setq res-numlinks
749 (if (re-search-forward
750 "unix::nlink:\\s-+\\([0-9]+\\)" nil t)
751 (string-to-number (match-string 1)) 0))
752 ;; ... uid and gid
753 (goto-char (point-min))
754 (setq res-uid
755 (or (if (eq id-format 'integer)
756 (if (re-search-forward
757 "unix::uid:\\s-+\\([0-9]+\\)" nil t)
758 (string-to-number (match-string 1)))
754 (if (re-search-forward 759 (if (re-search-forward
755 "unix::uid:\\s-+\\([0-9]+\\)" nil t) 760 "owner::user:\\s-+\\(\\S-+\\)" nil t)
756 (string-to-number (match-string 1))) 761 (match-string 1)))
757 (if (re-search-forward 762 (tramp-get-local-uid id-format)))
758 "owner::user:\\s-+\\(\\S-+\\)" nil t) 763 (setq res-gid
759 (match-string 1))) 764 (or (if (eq id-format 'integer)
760 (tramp-get-local-uid id-format))) 765 (if (re-search-forward
761 (setq res-gid 766 "unix::gid:\\s-+\\([0-9]+\\)" nil t)
762 (or (if (eq id-format 'integer) 767 (string-to-number (match-string 1)))
763 (if (re-search-forward 768 (if (re-search-forward
764 "unix::gid:\\s-+\\([0-9]+\\)" nil t) 769 "owner::group:\\s-+\\(\\S-+\\)" nil t)
765 (string-to-number (match-string 1))) 770 (match-string 1)))
766 (if (re-search-forward 771 (tramp-get-local-gid id-format)))
767 "owner::group:\\s-+\\(\\S-+\\)" nil t) 772 ;; ... last access, modification and change time
768 (match-string 1))) 773 (goto-char (point-min))
769 (tramp-get-local-gid id-format))) 774 (setq res-access
770 ;; ... last access, modification and change time 775 (if (re-search-forward
771 (goto-char (point-min)) 776 "time::access:\\s-+\\([0-9]+\\)" nil t)
772 (setq res-access 777 (seconds-to-time (string-to-number (match-string 1)))
773 (if (re-search-forward 778 '(0 0)))
774 "time::access:\\s-+\\([0-9]+\\)" nil t) 779 (goto-char (point-min))
775 (seconds-to-time (string-to-number (match-string 1))) 780 (setq res-mod
776 '(0 0))) 781 (if (re-search-forward
777 (goto-char (point-min)) 782 "time::modified:\\s-+\\([0-9]+\\)" nil t)
778 (setq res-mod 783 (seconds-to-time (string-to-number (match-string 1)))
779 (if (re-search-forward 784 '(0 0)))
780 "time::modified:\\s-+\\([0-9]+\\)" nil t) 785 (goto-char (point-min))
781 (seconds-to-time (string-to-number (match-string 1))) 786 (setq res-change
782 '(0 0))) 787 (if (re-search-forward
783 (goto-char (point-min)) 788 "time::changed:\\s-+\\([0-9]+\\)" nil t)
784 (setq res-change 789 (seconds-to-time (string-to-number (match-string 1)))
785 (if (re-search-forward 790 '(0 0)))
786 "time::changed:\\s-+\\([0-9]+\\)" nil t) 791 ;; ... size
787 (seconds-to-time (string-to-number (match-string 1))) 792 (goto-char (point-min))
788 '(0 0))) 793 (setq res-size
789 ;; ... size 794 (if (re-search-forward
790 (goto-char (point-min)) 795 "standard::size:\\s-+\\([0-9]+\\)" nil t)
791 (setq res-size 796 (string-to-number (match-string 1)) 0))
792 (if (re-search-forward 797 ;; ... file mode flags
793 "standard::size:\\s-+\\([0-9]+\\)" nil t) 798 (goto-char (point-min))
794 (string-to-number (match-string 1)) 0)) 799 (setq res-filemodes
795 ;; ... file mode flags 800 (if (re-search-forward "unix::mode:\\s-+\\([0-9]+\\)" nil t)
796 (goto-char (point-min)) 801 (tramp-file-mode-from-int
797 (setq res-filemodes 802 (string-to-number (match-string 1)))
798 (if (re-search-forward "unix::mode:\\s-+\\([0-9]+\\)" nil t) 803 (if dirp "drwx------" "-rwx------")))
799 (tramp-file-mode-from-int 804 ;; ... inode and device
800 (string-to-number (match-string 1))) 805 (goto-char (point-min))
801 (if dirp "drwx------" "-rwx------"))) 806 (setq res-inode
802 ;; ... inode and device 807 (if (re-search-forward
803 (goto-char (point-min)) 808 "unix::inode:\\s-+\\([0-9]+\\)" nil t)
804 (setq res-inode 809 (string-to-number (match-string 1))
805 (if (re-search-forward "unix::inode:\\s-+\\([0-9]+\\)" nil t) 810 (tramp-get-inode v)))
806 (string-to-number (match-string 1)) 811 (goto-char (point-min))
807 (tramp-get-inode v))) 812 (setq res-device
808 (goto-char (point-min)) 813 (if (re-search-forward
809 (setq res-device 814 "unix::device:\\s-+\\([0-9]+\\)" nil t)
810 (if (re-search-forward "unix::device:\\s-+\\([0-9]+\\)" nil t) 815 (string-to-number (match-string 1))
811 (string-to-number (match-string 1)) 816 (tramp-get-device v)))
812 (tramp-get-device v))) 817
813 818 ;; Return data gathered.
814 ;; Return data gathered. 819 (list
815 (list 820 ;; 0. t for directory, string (name linked to) for
816 ;; 0. t for directory, string (name linked to) for 821 ;; symbolic link, or nil.
817 ;; symbolic link, or nil. 822 (or dirp res-symlink-target)
818 (or dirp res-symlink-target) 823 ;; 1. Number of links to file.
819 ;; 1. Number of links to file. 824 res-numlinks
820 res-numlinks 825 ;; 2. File uid.
821 ;; 2. File uid. 826 res-uid
822 res-uid 827 ;; 3. File gid.
823 ;; 3. File gid. 828 res-gid
824 res-gid 829 ;; 4. Last access time, as a list of integers.
825 ;; 4. Last access time, as a list of integers. 830 ;; 5. Last modification time, likewise.
826 ;; 5. Last modification time, likewise. 831 ;; 6. Last status change time, likewise.
827 ;; 6. Last status change time, likewise. 832 res-access res-mod res-change
828 res-access res-mod res-change 833 ;; 7. Size in bytes (-1, if number is out of range).
829 ;; 7. Size in bytes (-1, if number is out of range). 834 res-size
830 res-size 835 ;; 8. File modes.
831 ;; 8. File modes. 836 res-filemodes
832 res-filemodes 837 ;; 9. t if file's gid would change if file were deleted
833 ;; 9. t if file's gid would change if file were deleted 838 ;; and recreated.
834 ;; and recreated. 839 nil
835 nil 840 ;; 10. Inode number.
836 ;; 10. Inode number. 841 res-inode
837 res-inode 842 ;; 11. Device number.
838 ;; 11. Device number. 843 res-device
839 res-device 844 ))))))))
840 )))))))
841 845
842(defun tramp-gvfs-handle-file-directory-p (filename) 846(defun tramp-gvfs-handle-file-directory-p (filename)
843 "Like `file-directory-p' for Tramp files." 847 "Like `file-directory-p' for Tramp files."
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 3103eb0daa2..6e46df254b2 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -1103,23 +1103,24 @@ target of the symlink differ."
1103(defun tramp-sh-handle-file-attributes (filename &optional id-format) 1103(defun tramp-sh-handle-file-attributes (filename &optional id-format)
1104 "Like `file-attributes' for Tramp files." 1104 "Like `file-attributes' for Tramp files."
1105 (unless id-format (setq id-format 'integer)) 1105 (unless id-format (setq id-format 'integer))
1106 ;; Don't modify `last-coding-system-used' by accident. 1106 (ignore-errors
1107 (let ((last-coding-system-used last-coding-system-used)) 1107 ;; Don't modify `last-coding-system-used' by accident.
1108 (with-parsed-tramp-file-name (expand-file-name filename) nil 1108 (let ((last-coding-system-used last-coding-system-used))
1109 (with-tramp-file-property 1109 (with-parsed-tramp-file-name (expand-file-name filename) nil
1110 v localname (format "file-attributes-%s" id-format) 1110 (with-tramp-file-property
1111 (save-excursion 1111 v localname (format "file-attributes-%s" id-format)
1112 (tramp-convert-file-attributes 1112 (save-excursion
1113 v 1113 (tramp-convert-file-attributes
1114 (or 1114 v
1115 (cond 1115 (or
1116 ((tramp-get-remote-stat v) 1116 (cond
1117 (tramp-do-file-attributes-with-stat v localname id-format)) 1117 ((tramp-get-remote-stat v)
1118 ((tramp-get-remote-perl v) 1118 (tramp-do-file-attributes-with-stat v localname id-format))
1119 (tramp-do-file-attributes-with-perl v localname id-format)) 1119 ((tramp-get-remote-perl v)
1120 (t nil)) 1120 (tramp-do-file-attributes-with-perl v localname id-format))
1121 ;; The scripts could fail, for example with huge file size. 1121 (t nil))
1122 (tramp-do-file-attributes-with-ls v localname id-format)))))))) 1122 ;; The scripts could fail, for example with huge file size.
1123 (tramp-do-file-attributes-with-ls v localname id-format)))))))))
1123 1124
1124(defun tramp-do-file-attributes-with-ls (vec localname &optional id-format) 1125(defun tramp-do-file-attributes-with-ls (vec localname &optional id-format)
1125 "Implement `file-attributes' for Tramp files using the ls(1) command." 1126 "Implement `file-attributes' for Tramp files using the ls(1) command."
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index e3fb177b0c5..5889743e28b 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1604,7 +1604,9 @@ an input event arrives. The other arguments are passed to `tramp-error'."
1604 (when (and buf 1604 (when (and buf
1605 tramp-message-show-message 1605 tramp-message-show-message
1606 (not (zerop tramp-verbose)) 1606 (not (zerop tramp-verbose))
1607 (not (tramp-completion-mode-p))) 1607 (not (tramp-completion-mode-p))
1608 ;; Show only when Emacs has started already.
1609 (current-message))
1608 (let ((enable-recursive-minibuffers t)) 1610 (let ((enable-recursive-minibuffers t))
1609 ;; `tramp-error' does not show messages. So we must do it 1611 ;; `tramp-error' does not show messages. So we must do it
1610 ;; ourselves. 1612 ;; ourselves.
@@ -3917,7 +3919,8 @@ be granted."
3917 (tramp-file-name-method vec) 3919 (tramp-file-name-method vec)
3918 (tramp-file-name-user vec) 3920 (tramp-file-name-user vec)
3919 (tramp-file-name-host vec) 3921 (tramp-file-name-host vec)
3920 (tramp-file-name-localname vec)) 3922 (tramp-file-name-localname vec)
3923 (tramp-file-name-hop vec))
3921 (intern suffix)))) 3924 (intern suffix))))
3922 (remote-uid 3925 (remote-uid
3923 (tramp-get-connection-property 3926 (tramp-get-connection-property
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index 1c389bc3665..8035c1891d7 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -1255,6 +1255,8 @@ casts and declarations are fontified. Used on level 2 and higher."
1255 c-font-lock-maybe-decl-faces 1255 c-font-lock-maybe-decl-faces
1256 1256
1257 (lambda (match-pos inside-macro) 1257 (lambda (match-pos inside-macro)
1258 ;; Note to maintainers: don't use `limit' inside this lambda form;
1259 ;; c-find-decl-spots sometimes narrows to less than `limit'.
1258 (setq start-pos (point)) 1260 (setq start-pos (point))
1259 (when 1261 (when
1260 ;; The result of the form below is true when we don't recognize a 1262 ;; The result of the form below is true when we don't recognize a
@@ -1487,7 +1489,7 @@ casts and declarations are fontified. Used on level 2 and higher."
1487 ;; At a real declaration? 1489 ;; At a real declaration?
1488 (if (memq (c-forward-type t) '(t known found decltype)) 1490 (if (memq (c-forward-type t) '(t known found decltype))
1489 (progn 1491 (progn
1490 (c-font-lock-declarators limit t is-typedef) 1492 (c-font-lock-declarators (point-max) t is-typedef)
1491 nil) 1493 nil)
1492 ;; False alarm. Return t to go on to the next check. 1494 ;; False alarm. Return t to go on to the next check.
1493 (goto-char start-pos) 1495 (goto-char start-pos)
diff --git a/src/ChangeLog b/src/ChangeLog
index f8ed3b36dde..e3f34e27dfc 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,26 @@
12014-11-08 Jan Djärv <jan.h.d@swipnet.se>
2
3 * nsterm.m (run): Only use non-system event loop if OSX version is
4 exactly 10.9 (Bug#18993).
5
62014-11-08 Michael Albinus <michael.albinus@gmx.de>
7
8 * callproc.c (encode_current_directory): Support handling of file
9 names prepended by "/:". (Bug#18891)
10
112014-11-08 Alan Mackenzie <acm@muc.de>
12
13 * syntax.c (back_comment): Fix off-by-one error (bug#18022).
14
152014-11-08 Dima Kogan <dima@secretsauce.net>
16
17 * xgselect.c (xg_select): Use g_main_context_acquire (bug#18861).
18
192014-11-08 Michael Albinus <michael.albinus@gmx.de>
20
21 * dired.c (Ffile_attributes): Return Qnil, if Fexpand_file_name
22 raises an error. (Bug#18891)
23
12014-11-08 Martin Rudalics <rudalics@gmx.at> 242014-11-08 Martin Rudalics <rudalics@gmx.at>
2 25
3 * frame.c (adjust_frame_size): Call x_set_window_size only if 26 * frame.c (adjust_frame_size): Call x_set_window_size only if
diff --git a/src/callproc.c b/src/callproc.c
index e3dcc7bbcca..24b88551851 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -127,6 +127,14 @@ encode_current_directory (void)
127 127
128 dir = expand_and_dir_to_file (dir, Qnil); 128 dir = expand_and_dir_to_file (dir, Qnil);
129 129
130 if (NILP (Ffile_accessible_directory_p (dir)))
131 report_file_error ("Setting current directory",
132 BVAR (current_buffer, directory));
133
134 /* Remove "/:" from dir. */
135 if (! NILP (Fstring_match (build_string ("^/:"), dir, Qnil)))
136 dir = Fsubstring (dir, make_number (2), Qnil);
137
130 if (STRING_MULTIBYTE (dir)) 138 if (STRING_MULTIBYTE (dir))
131 dir = ENCODE_FILE (dir); 139 dir = ENCODE_FILE (dir);
132 if (! file_accessible_directory_p (dir)) 140 if (! file_accessible_directory_p (dir))
diff --git a/src/dired.c b/src/dired.c
index ba6a61a2f5b..8afba247e61 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -909,7 +909,10 @@ so last access time will always be midnight of that day. */)
909 Lisp_Object encoded; 909 Lisp_Object encoded;
910 Lisp_Object handler; 910 Lisp_Object handler;
911 911
912 filename = Fexpand_file_name (filename, Qnil); 912 filename = internal_condition_case_2 (Fexpand_file_name, filename, Qnil,
913 Qt, Fidentity);
914 if (!STRINGP (filename))
915 return Qnil;
913 916
914 /* If the file name has special constructs in it, 917 /* If the file name has special constructs in it,
915 call the corresponding file handler. */ 918 call the corresponding file handler. */
diff --git a/src/nsterm.m b/src/nsterm.m
index c8ad50ef339..216678357e7 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -4501,15 +4501,15 @@ ns_term_shutdown (int sig)
4501#ifdef NS_IMPL_COCOA 4501#ifdef NS_IMPL_COCOA
4502- (void)run 4502- (void)run
4503{ 4503{
4504#ifndef NSAppKitVersionNumber10_8 4504#ifndef NSAppKitVersionNumber10_9
4505#define NSAppKitVersionNumber10_8 1187 4505#define NSAppKitVersionNumber10_9 1265
4506#endif 4506#endif
4507 4507
4508 if (NSAppKitVersionNumber <= NSAppKitVersionNumber10_8) 4508 if ((int)NSAppKitVersionNumber != NSAppKitVersionNumber10_9)
4509 { 4509 {
4510 [super run]; 4510 [super run];
4511 return; 4511 return;
4512 } 4512 }
4513 4513
4514 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 4514 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
4515 4515
diff --git a/src/syntax.c b/src/syntax.c
index 9f5ef754e2a..dc84ca69fb7 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -825,7 +825,7 @@ back_comment (ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t stop,
825 { 825 {
826 from = comment_end; 826 from = comment_end;
827 from_byte = comment_end_byte; 827 from_byte = comment_end_byte;
828 UPDATE_SYNTAX_TABLE_FORWARD (comment_end - 1); 828 UPDATE_SYNTAX_TABLE_FORWARD (comment_end);
829 } 829 }
830 /* If comstart_pos is set and we get here (ie. didn't jump to `lossage' 830 /* If comstart_pos is set and we get here (ie. didn't jump to `lossage'
831 or `done'), then we've found the beginning of the non-nested comment. */ 831 or `done'), then we've found the beginning of the non-nested comment. */
diff --git a/src/xgselect.c b/src/xgselect.c
index bf889a90e97..4e2d1c8db69 100644
--- a/src/xgselect.c
+++ b/src/xgselect.c
@@ -55,19 +55,28 @@ xg_select (int fds_lim, fd_set *rfds, fd_set *wfds, fd_set *efds,
55 GPollFD *gfds = gfds_buf; 55 GPollFD *gfds = gfds_buf;
56 int gfds_size = ARRAYELTS (gfds_buf); 56 int gfds_size = ARRAYELTS (gfds_buf);
57 int n_gfds, retval = 0, our_fds = 0, max_fds = fds_lim - 1; 57 int n_gfds, retval = 0, our_fds = 0, max_fds = fds_lim - 1;
58 int i, nfds, tmo_in_millisec; 58 bool context_acquired = false;
59 int i, nfds, tmo_in_millisec = -1;
59 bool need_to_dispatch; 60 bool need_to_dispatch;
60 USE_SAFE_ALLOCA; 61 USE_SAFE_ALLOCA;
61 62
62 context = g_main_context_default (); 63 context = g_main_context_default ();
64 context_acquired = g_main_context_acquire (context);
65 /* FIXME: If we couldn't acquire the context, we just silently proceed
66 because this function handles more than just glib file descriptors.
67 Note that, as implemented, this failure is completely silent: there is
68 no feedback to the caller. */
63 69
64 if (rfds) all_rfds = *rfds; 70 if (rfds) all_rfds = *rfds;
65 else FD_ZERO (&all_rfds); 71 else FD_ZERO (&all_rfds);
66 if (wfds) all_wfds = *wfds; 72 if (wfds) all_wfds = *wfds;
67 else FD_ZERO (&all_wfds); 73 else FD_ZERO (&all_wfds);
68 74
69 n_gfds = g_main_context_query (context, G_PRIORITY_LOW, &tmo_in_millisec, 75 n_gfds = (context_acquired
70 gfds, gfds_size); 76 ? g_main_context_query (context, G_PRIORITY_LOW, &tmo_in_millisec,
77 gfds, gfds_size)
78 : -1);
79
71 if (gfds_size < n_gfds) 80 if (gfds_size < n_gfds)
72 { 81 {
73 SAFE_NALLOCA (gfds, sizeof *gfds, n_gfds); 82 SAFE_NALLOCA (gfds, sizeof *gfds, n_gfds);
@@ -152,6 +161,9 @@ xg_select (int fds_lim, fd_set *rfds, fd_set *wfds, fd_set *efds,
152 errno = pselect_errno; 161 errno = pselect_errno;
153 } 162 }
154 163
164 if (context_acquired)
165 g_main_context_release (context);
166
155 /* To not have to recalculate timeout, return like this. */ 167 /* To not have to recalculate timeout, return like this. */
156 if ((our_fds > 0 || (nfds == 0 && tmop == &tmo)) && (retval == 0)) 168 if ((our_fds > 0 || (nfds == 0 && tmop == &tmo)) && (retval == 0))
157 { 169 {