aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-01-30 11:41:07 -0800
committerPaul Eggert2016-01-30 11:41:07 -0800
commit9304e6d3a222de6ef1c405bfd6e09eee6ed2c2aa (patch)
tree730b07f317a18596dba60ac473d40069b6d1c1cf
parentbeec9cbb1705a7bc4e11a11fe4b5a2f1bfca96a0 (diff)
parent12eeaa877c4396880c926c26b4010a059b6a3325 (diff)
downloademacs-9304e6d3a222de6ef1c405bfd6e09eee6ed2c2aa.tar.gz
emacs-9304e6d3a222de6ef1c405bfd6e09eee6ed2c2aa.zip
-
-rw-r--r--ChangeLog.272
-rw-r--r--admin/authors.el35
-rw-r--r--doc/emacs/ChangeLog.14
-rw-r--r--doc/misc/tramp.texi209
-rw-r--r--etc/NEWS6
-rw-r--r--lisp/ChangeLog.1711
-rw-r--r--lisp/net/browse-url.el35
-rw-r--r--lisp/net/eww.el5
8 files changed, 210 insertions, 167 deletions
diff --git a/ChangeLog.2 b/ChangeLog.2
index a407c3b84ed..7bb0862d886 100644
--- a/ChangeLog.2
+++ b/ChangeLog.2
@@ -9174,7 +9174,7 @@
9174 9174
9175 Provide NS notification objects where required to eliminate warnings 9175 Provide NS notification objects where required to eliminate warnings
9176 9176
9177 * nsterm.m (windowDidResize:, toggleFullScreen:): 9177 * src/nsterm.m (windowDidResize:, toggleFullScreen:):
9178 Call notification functions with notification objects 9178 Call notification functions with notification objects
9179 as per delegate APIs. 9179 as per delegate APIs.
9180 9180
@@ -9193,7 +9193,7 @@
9193 9193
9194 Ignore fullscreen exit notifications on NS when frame is dead 9194 Ignore fullscreen exit notifications on NS when frame is dead
9195 9195
9196 * nsterm.m (windowDidResize:, windowWillExitFullScreen:) 9196 * src/nsterm.m (windowDidResize:, windowWillExitFullScreen:)
9197 (windowDidExitFullScreen:): Return if frame is dead. 9197 (windowDidExitFullScreen:): Return if frame is dead.
9198 These functions may be called when a fullscreen frame 9198 These functions may be called when a fullscreen frame
9199 is closed; they are called before, not after. 9199 is closed; they are called before, not after.
@@ -9345,7 +9345,7 @@
9345 9345
93462015-11-05 Juanma Barranquero <lekktu@gmail.com> 93462015-11-05 Juanma Barranquero <lekktu@gmail.com>
9347 9347
9348 * test/automated/elisp-mode-test.el: Silence some run-time warnings. 9348 * test/automated/elisp-mode-tests.el: Silence some run-time warnings.
9349 (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t. 9349 (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
9350 9350
93512015-11-05 Tassilo Horn <tsdh@gnu.org> 93512015-11-05 Tassilo Horn <tsdh@gnu.org>
@@ -9430,7 +9430,7 @@
9430 9430
94312015-11-03 Jay Belanger <jay.p.belanger@gmail.com> 94312015-11-03 Jay Belanger <jay.p.belanger@gmail.com>
9432 9432
9433 * lisp/calc/calc (calc-bug-address): Change maintainer address. 9433 * lisp/calc/calc.el (calc-bug-address): Change maintainer address.
9434 9434
94352015-11-03 Michael Albinus <michael.albinus@gmx.de> 94352015-11-03 Michael Albinus <michael.albinus@gmx.de>
9436 9436
@@ -9528,7 +9528,7 @@
9528 9528
9529 Add JSX indentation via js-jsx-mode (Bug#21799) 9529 Add JSX indentation via js-jsx-mode (Bug#21799)
9530 9530
9531 * progmodes/js.el: Add JSX indentation support. 9531 * lisp/progmodes/js.el: Add JSX indentation support.
9532 (js--jsx-end-tag-re) 9532 (js--jsx-end-tag-re)
9533 (js--jsx-after-tag-re): New variables. 9533 (js--jsx-after-tag-re): New variables.
9534 (js--jsx-find-before-tag) 9534 (js--jsx-find-before-tag)
@@ -9537,7 +9537,7 @@
9537 (js--expression-in-sgml-indent-line) 9537 (js--expression-in-sgml-indent-line)
9538 (js-jsx-indent-line) 9538 (js-jsx-indent-line)
9539 (js-jsx-mode): New functions. 9539 (js-jsx-mode): New functions.
9540 * test/indent/js-jsx.el: New file. 9540 * test/indent/js-jsx.js: New file.
9541 * etc/NEWS: Add information about js-jsx-mode. 9541 * etc/NEWS: Add information about js-jsx-mode.
9542 9542
95432015-10-31 Michael Albinus <michael.albinus@gmx.de> 95432015-10-31 Michael Albinus <michael.albinus@gmx.de>
@@ -9949,8 +9949,8 @@
9949 incomplete" error issued when double-clicking on the Emacs 9949 incomplete" error issued when double-clicking on the Emacs
9950 application. 9950 application.
9951 9951
9952 * nsterm.m (ns_constrain_all_frames, ns_init_term): Block input. 9952 * src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
9953 * nsterm.m (ns_send_appdefined, EmacsApp): Trace output. 9953 * src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
9954 9954
99552015-10-28 Artur Malabarba <bruce.connor.am@gmail.com> 99552015-10-28 Artur Malabarba <bruce.connor.am@gmail.com>
9956 9956
@@ -9961,12 +9961,12 @@
9961 9961
9962 Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame. 9962 Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
9963 9963
9964 * nsterm.h (struct ns_output): New flag, in_animation. 9964 * src/nsterm.h (struct ns_output): New flag, in_animation.
9965 * nsfns.m (Fx_create_frame): Initialize in_animation flag. 9965 * src/nsfns.m (Fx_create_frame): Initialize in_animation flag.
9966 * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set 9966 * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
9967 in_animation flag around call to "setVisible". Set new tool bar 9967 in_animation flag around call to "setVisible". Set new tool bar
9968 height before call to setVisible. 9968 height before call to setVisible.
9969 * nsterm.m (x_set_window_size): Don't call [view setRow: 9969 * src/nsterm.m (x_set_window_size): Don't call [view setRow:
9970 andColumns:] as this fools the subsequent call to updateFrameSize 9970 andColumns:] as this fools the subsequent call to updateFrameSize
9971 from performing the real resize. 9971 from performing the real resize.
9972 (windowDidResize): Don't update anything when in_animation is 9972 (windowDidResize): Don't update anything when in_animation is
@@ -9974,9 +9974,9 @@
9974 9974
9975 Trace output. 9975 Trace output.
9976 9976
9977 * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar) 9977 * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
9978 (EmacsToolbar): 9978 (EmacsToolbar):
9979 * nsterm.m (x_set_window_size, updateFrameSize) 9979 * src/nsterm.m (x_set_window_size, updateFrameSize)
9980 ([EmacsView setRows: andColumns:]) 9980 ([EmacsView setRows: andColumns:])
9981 9981
99822015-10-28 Nicolas Petton <nicolas@petton.fr> 99822015-10-28 Nicolas Petton <nicolas@petton.fr>
@@ -10655,7 +10655,7 @@
10655 Don't add the xsi:type attribute (Exchange refuses requests which have 10655 Don't add the xsi:type attribute (Exchange refuses requests which have
10656 this attribute). 10656 this attribute).
10657 10657
10658 * lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding, 10658 * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding,
10659 correct compiler warnings about unused function arguments and 10659 correct compiler warnings about unused function arguments and
10660 local variables. 10660 local variables.
10661 10661
@@ -10958,7 +10958,7 @@
10958 (NSTRACE_RETURN_what): Macros to print return value for 10958 (NSTRACE_RETURN_what): Macros to print return value for
10959 various types. 10959 various types.
10960 10960
10961 * nsterm.m: Remove old NSTRACE macro 10961 * src/nsterm.m: Remove old NSTRACE macro
10962 * src/nsterm.m (nstrace_num): Trace counter. 10962 * src/nsterm.m (nstrace_num): Trace counter.
10963 (nstrace_depth): Current call depth. 10963 (nstrace_depth): Current call depth.
10964 (nstrace_leave): NSTRACE support function, called when the 10964 (nstrace_leave): NSTRACE support function, called when the
@@ -11007,16 +11007,16 @@
11007 (resetCursorRects, setPosition, EmacsScroller_mouseDown) 11007 (resetCursorRects, setPosition, EmacsScroller_mouseDown)
11008 (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system. 11008 (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
11009 11009
11010 * nsfns.m: Remove old NSTRACE macro 11010 * src/nsfns.m: Remove old NSTRACE macro
11011 * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name) 11011 * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
11012 (x_implicitly_set_name, x_set_title, ns_set_name_as_filename) 11012 (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
11013 (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system. 11013 (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
11014 11014
11015 * nsimage.m: Remove old NSTRACE macro 11015 * src/nsimage.m: Remove old NSTRACE macro
11016 * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM) 11016 * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
11017 (ns_image_from_bitmap_file, ns_load_image): Use new trace system. 11017 (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
11018 11018
11019 * nsmenu.m: Remove old NSTRACE macro 11019 * src/nsmenu.m: Remove old NSTRACE macro
11020 * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): 11020 * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
11021 Use new trace system. 11021 Use new trace system.
11022 11022
@@ -11416,8 +11416,8 @@
11416 11416
11417 Unbreak `group' option for `mail-sources' 11417 Unbreak `group' option for `mail-sources'
11418 11418
11419 * nnml.el (nnml-retrieve-groups, nnml-request-scan): 11419 * lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan):
11420 * nnmail.el (nnmail-get-new-mail-per-group) 11420 * lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group)
11421 (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'. 11421 (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
11422 11422
114232015-10-19 Nicolas Petton <nicolas@petton.fr> 114232015-10-19 Nicolas Petton <nicolas@petton.fr>
@@ -11806,7 +11806,7 @@
11806 11806
11807 Reduce face-related consing during frame creation. 11807 Reduce face-related consing during frame creation.
11808 11808
11809 * faces.el (face--attributes-unspecified): Compute the "unspecified" 11809 * lisp/faces.el (face--attributes-unspecified): Compute the "unspecified"
11810 attribute list once. 11810 attribute list once.
11811 (face-spec-reset-face): Use it instead of building the list. 11811 (face-spec-reset-face): Use it instead of building the list.
11812 11812
@@ -13396,7 +13396,7 @@
13396 13396
13397 Fixes bug#21365. 13397 Fixes bug#21365.
13398 13398
13399 * dec/lispref/edebug.texi (Edebug Execution Modes): Change the 13399 * doc/lispref/edebug.texi (Edebug Execution Modes): Change the
13400 description of `edebug-initial-mode' from that of its implementation 13400 description of `edebug-initial-mode' from that of its implementation
13401 to that of its visual effect and use. Move the paragraph higher up. 13401 to that of its visual effect and use. Move the paragraph higher up.
13402 13402
@@ -14021,7 +14021,7 @@
140212015-09-15 Jay Belanger <jay.p.belanger@gmail.com> 140212015-09-15 Jay Belanger <jay.p.belanger@gmail.com>
14022 14022
14023 Add new functions for the root mean square of a (Calc) vector 14023 Add new functions for the root mean square of a (Calc) vector
14024 * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms): 14024 * lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms):
14025 New functions. 14025 New functions.
14026 * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for 14026 * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
14027 `calc-vector-rms', add autoloads for `calc-vector-rms' and 14027 `calc-vector-rms', add autoloads for `calc-vector-rms' and
@@ -15831,7 +15831,7 @@
15831 (mac_font_create_available_families, mac_font_shape): 15831 (mac_font_create_available_families, mac_font_shape):
15832 Remove macros for renamed functions. 15832 Remove macros for renamed functions.
15833 (mac_nsctfont_copy_font_descriptor): Remove unused macro. 15833 (mac_nsctfont_copy_font_descriptor): Remove unused macro.
15834 * src/macterm.m (mac_font_descriptor_supports_languages): 15834 * src/macfont.m (mac_font_descriptor_supports_languages):
15835 Rename from mac_ctfont_descriptor_supports_languages. 15835 Rename from mac_ctfont_descriptor_supports_languages.
15836 (mac_font_create_preferred_family_for_attributes): Rename from 15836 (mac_font_create_preferred_family_for_attributes): Rename from
15837 mac_ctfont_create_preferred_family_for_attributes. 15837 mac_ctfont_create_preferred_family_for_attributes.
@@ -17878,7 +17878,7 @@
17878 17878
178792015-08-14 Ronnie Schnell <ronnie@driver-aces.com> 178792015-08-14 Ronnie Schnell <ronnie@driver-aces.com>
17880 17880
17881 * doc/emacs/misc.text (Amusements): Fixed typo. 17881 * doc/emacs/misc.texi (Amusements): Fixed typo.
17882 17882
178832015-08-14 Eli Zaretskii <eliz@gnu.org> 178832015-08-14 Eli Zaretskii <eliz@gnu.org>
17884 17884
@@ -18233,7 +18233,7 @@
18233 18233
18234 * test/automated/ert-tests.el (ert-test-deftest): Add FIXME. 18234 * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
18235 18235
18236 * org.el: Fix up some lexical scoping warnings, and use dolist 18236 * lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist
18237 * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map) 18237 * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
18238 (org-set-regexps-and-options, org-assign-fast-keys) 18238 (org-set-regexps-and-options, org-assign-fast-keys)
18239 (org-contextualize-keys, org-contextualize-validate-key) 18239 (org-contextualize-keys, org-contextualize-validate-key)
@@ -18299,7 +18299,7 @@
182992015-08-07 Phillip Lord <phillip.lord@newcastle.ac.uk> 182992015-08-07 Phillip Lord <phillip.lord@newcastle.ac.uk>
18300 18300
18301 Improve error signalling for seq-subseq 18301 Improve error signalling for seq-subseq
18302 * lisp/seq.el (seq-subseq): The existing behavior is to error 18302 * lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error
18303 when indexes are too large, but to silently ignore numbers which 18303 when indexes are too large, but to silently ignore numbers which
18304 are too negative for lists. String and vector handling errors in 18304 are too negative for lists. String and vector handling errors in
18305 both cases. This has been regularized. Error signaling behavior 18305 both cases. This has been regularized. Error signaling behavior
@@ -18336,8 +18336,8 @@
18336 Add support for 'inhibit-same-window in 'display-buffer-use-some-frame' 18336 Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
18337 * lisp/window.el (display-buffer-use-some-frame): Add support for 18337 * lisp/window.el (display-buffer-use-some-frame): Add support for
18338 'inhibit-same-window in alist. 18338 'inhibit-same-window in alist.
18339 * doc/windows.texi (display-buffer-use-some-frame): Doc support for 18339 * doc/lispref/windows.texi (display-buffer-use-some-frame):
18340 'inhibit-same-window in alist. 18340 Doc support for 'inhibit-same-window in alist.
18341 18341
183422015-08-07 Eli Zaretskii <eliz@gnu.org> 183422015-08-07 Eli Zaretskii <eliz@gnu.org>
18343 18343
@@ -19111,7 +19111,7 @@
19111 Check also for hits in `tramp-connection-properties'. Adapt docstring. 19111 Check also for hits in `tramp-connection-properties'. Adapt docstring.
19112 (tramp-get-remote-tmpdir): Cache only the local name of tmpdir. 19112 (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
19113 (all): Adapt `tramp-get-method-parameter' calls. 19113 (all): Adapt `tramp-get-method-parameter' calls.
19114 * lisp/net/trampver.el Update release number. 19114 * lisp/net/trampver.el: Update release number.
19115 * test/automated/tramp-tests.el (tramp--instrument-test-case): 19115 * test/automated/tramp-tests.el (tramp--instrument-test-case):
19116 Add "^make-symbolic-link not supported$" to `debug-ignored-errors'. 19116 Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
19117 (tramp-test13-make-directory, tramp--test-adb-p) 19117 (tramp-test13-make-directory, tramp--test-adb-p)
@@ -20905,7 +20905,7 @@
20905 * lisp/emacs-lisp/package.el (package--with-work-buffer-async): 20905 * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
20906 Fix error reporting. 20906 Fix error reporting.
20907 20907
20908 * lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el 20908 * lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
20909 20909
20910 * lisp/emacs-lisp/package.el: Revert buffer after any operation 20910 * lisp/emacs-lisp/package.el: Revert buffer after any operation
20911 Call `package-menu--post-refresh' after any operation that changes 20911 Call `package-menu--post-refresh' after any operation that changes
@@ -21371,7 +21371,7 @@
21371 21371
213722015-06-11 Artur Malabarba <bruce.connor.am@gmail.com> 213722015-06-11 Artur Malabarba <bruce.connor.am@gmail.com>
21373 21373
21374 * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons. 21374 * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
21375 * test/automated/let-alist.el (let-alist-cons): Test it. 21375 * test/automated/let-alist.el (let-alist-cons): Test it.
21376 21376
213772015-06-11 Nicolas Richard <theonewiththeevillook@yahoo.fr> 213772015-06-11 Nicolas Richard <theonewiththeevillook@yahoo.fr>
@@ -22112,10 +22112,10 @@
22112 Throw an error when converting a map into an unknown map type 22112 Throw an error when converting a map into an unknown map type
22113 * lisp/emacs-lisp/map.el (map-into): Throw an error if type is 22113 * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
22114 not valid. 22114 not valid.
22115 * test/automated/map-test.el: Add a regression test. 22115 * test/automated/map-tests.el: Add a regression test.
22116 22116
22117 New library map.el similar to seq.el but for mapping data structures. 22117 New library map.el similar to seq.el but for mapping data structures.
22118 * test/automated/map-test.el: New file. 22118 * test/automated/map-tests.el: New file.
22119 * lisp/emacs-lisp/map.el: New file. 22119 * lisp/emacs-lisp/map.el: New file.
22120 22120
221212015-05-30 Dmitry Gutov <dgutov@yandex.ru> 221212015-05-30 Dmitry Gutov <dgutov@yandex.ru>
@@ -27050,7 +27050,7 @@
270502015-04-07 Alan Mackenzie <acm@muc.de> 270502015-04-07 Alan Mackenzie <acm@muc.de>
27051 27051
27052 Always mark "<" and ">" in #include directives with text properties. 27052 Always mark "<" and ">" in #include directives with text properties.
27053 * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock 27053 * lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock
27054 "anchored matcher" with an invocation of 27054 "anchored matcher" with an invocation of
27055 c-make-font-lock-search-function to allow fontification when there's 27055 c-make-font-lock-search-function to allow fontification when there's
27056 no trailing space on an "#include <..>" line. 27056 no trailing space on an "#include <..>" line.
diff --git a/admin/authors.el b/admin/authors.el
index d579c1f0f49..a303f4bac50 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -279,6 +279,9 @@ Changes to files matching one of the regexps in this list are not listed.")
279 "ChangeLog.nextstep" "Emacs.clr" "spec.txt" 279 "ChangeLog.nextstep" "Emacs.clr" "spec.txt"
280 "gfdl.1" 280 "gfdl.1"
281 "texi/Makefile.in" 281 "texi/Makefile.in"
282 "lwlib/autodeps.mk"
283 "oldXMenu/autodeps.mk"
284 "src/autodeps.mk"
282 "Imakefile" "icons/sink.ico" "aixcc.lex" 285 "Imakefile" "icons/sink.ico" "aixcc.lex"
283 "nxml/char-name/unicode" 286 "nxml/char-name/unicode"
284 "spec.txt" 287 "spec.txt"
@@ -294,6 +297,7 @@ Changes to files matching one of the regexps in this list are not listed.")
294 "cedet/tests/test.cpp" 297 "cedet/tests/test.cpp"
295 "cedet/tests/test.py" 298 "cedet/tests/test.py"
296 "cedet/tests/teststruct.cpp" 299 "cedet/tests/teststruct.cpp"
300 "subdirs.el"
297 "*.el" 301 "*.el"
298 ;; Autogen: 302 ;; Autogen:
299 "cus-load.el" "finder-inf.el" "ldefs-boot.el" "loaddefs-boot.el" 303 "cus-load.el" "finder-inf.el" "ldefs-boot.el" "loaddefs-boot.el"
@@ -357,12 +361,37 @@ Changes to files matching one of the regexps in this list are not listed.")
357 "debian/scripts/startup.erc" 361 "debian/scripts/startup.erc"
358 "debian/scripts/startup.erc-speak" 362 "debian/scripts/startup.erc-speak"
359 ;; Used to be in admin, not very interesting. 363 ;; Used to be in admin, not very interesting.
360 "emacs-pretesters" "make-announcement" "make-changelog-diff" 364 "emacs-pretesters" "make-announcement" "make-changelog-diff" "admin/FOR-RELEASE" "etc/FOR-RELEASE" "nextstep/FOR-RELEASE" "FOR-RELEASE"
361 ;; Textual comments that are not files. 365 ;; Textual comments that are not files.
362 "All" "Version" "Everywhere" "Many" "Various" "files" 366 "All" "Version" "Everywhere" "Many" "Various" "files"
363 ;; Directories. 367 ;; Directories.
364 "vms" "mac" "url" "tree-widget" 368 "vms" "mac" "url" "tree-widget"
365 "info/dir" 369 "info/dir"
370 ;; Not in gnulib anymore
371 "lib/qset-acl.c" "lib/qcopy-acl.c" "lib/file-has-acl.c"
372 ;; files from old MS Windows build procedures
373 "makefile.w32-in"
374 "admin/unidata/makefile.w32-in"
375 "lib/makefile.w32-in"
376 "leim/makefile.w32-in"
377 "src/makefile.w32-in"
378 "nt/emacs-src.tags"
379 "doc/emacs/makefile.w32-in"
380 "doc/lispintro/makefile.w32-in"
381 "doc/lispref/makefile.w32-in"
382 "doc/misc/makefile.w32-in"
383 "nt/paths.h"
384 "paths.h"
385 "src/paths.h"
386 "envadd.bat"
387 "multi-install-info.bat"
388 "INSTALL.OLD"
389 "nt/src/paths.h"
390 "nmake.defs"
391 "gmake.defs"
392 "zipdist.bat"
393 "nt/makefile.w32-in"
394 "config.nt"
366 ) 395 )
367 "List of files and directories to ignore. 396 "List of files and directories to ignore.
368Changes to files in this list are not listed.") 397Changes to files in this list are not listed.")
@@ -762,6 +791,8 @@ in the repository.")
762 ("DIFF" . "OTHER.EMACSES") 791 ("DIFF" . "OTHER.EMACSES")
763 ("CCADIFF" . "OTHER.EMACSES") 792 ("CCADIFF" . "OTHER.EMACSES")
764 ("GOSDIFF" . "OTHER.EMACSES") 793 ("GOSDIFF" . "OTHER.EMACSES")
794 ;; Nextstep
795 ("nextstep/Cocoa/Emacs.base/Contents/Info.plist" . "nextstep/templates/Info.plist.in")
765 ;; Moved from lisp/tpu-doc.el to etc/tpu-edt.doc in Emacs 19.29. 796 ;; Moved from lisp/tpu-doc.el to etc/tpu-edt.doc in Emacs 19.29.
766 ;; Removed in Emacs 19.30, replaced by new file etc/edt-user.doc 797 ;; Removed in Emacs 19.30, replaced by new file etc/edt-user.doc
767 ;; (no associated ChangeLog entry). 798 ;; (no associated ChangeLog entry).
@@ -886,6 +917,8 @@ in the repository.")
886 ("nt/README.W32" . "README.W32") 917 ("nt/README.W32" . "README.W32")
887 ("notes/BRANCH" . "notes/repo") 918 ("notes/BRANCH" . "notes/repo")
888 ("notes/bzr" . "notes/repo") 919 ("notes/bzr" . "notes/repo")
920 ;; moved from lisp/ to lisp/net/
921 ("lisp/pinentry.el" . "lisp/net/pinentry.el")
889 ) 922 )
890 "Alist of files which have been renamed during their lifetime. 923 "Alist of files which have been renamed during their lifetime.
891Elements are (OLDNAME . NEWNAME).") 924Elements are (OLDNAME . NEWNAME).")
diff --git a/doc/emacs/ChangeLog.1 b/doc/emacs/ChangeLog.1
index ecb0cb7700e..3f746ebd763 100644
--- a/doc/emacs/ChangeLog.1
+++ b/doc/emacs/ChangeLog.1
@@ -246,8 +246,8 @@
246 * emacs-xtra.texi: ditto. 246 * emacs-xtra.texi: ditto.
247 * emacs.texi: ditto. 247 * emacs.texi: ditto.
248 * makefile.w32-in: ditto. 248 * makefile.w32-in: ditto.
249 * msdog-xtra.texi: ditto, and rename file. 249 * msdos-xtra.texi: ditto, and rename file.
250 * msdog.texi: ditto, and rename file. 250 * msdos.texi: ditto, and rename file.
251 251
2522014-07-21 Glenn Morris <rgm@gnu.org> 2522014-07-21 Glenn Morris <rgm@gnu.org>
253 253
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 14afb4ad353..37bf7ea8bc4 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -18,52 +18,21 @@
18@include trampver.texi 18@include trampver.texi
19 19
20@c Macro for formatting a file name according to the respective syntax. 20@c Macro for formatting a file name according to the respective syntax.
21@c xxx and yyy are auxiliary macros in order to omit leading and 21@c Macro arguments should not have any leading or
22@c trailing whitespace. Not very elegant, but I don't know it better. 22@c trailing whitespace. Not very elegant, but I don't know it better.
23 23
24@c There are subtle differences between texinfo 4.13 and 5.0. We must 24@macro trampfn {method, userhost, localname}
25@c declare two versions of the macro. This will be improved, hopefully.
26
27@c Texinfo 5.0.
28@ifset txicommandconditionals
29@macro xxx {one}
30@set \one\
31@end macro
32
33@macro yyy {one, two}
34@xxx{x\one\}@c
35@ifclear x
36\one\@w{}\two\@c
37@end ifclear
38@clear x\one\
39@end macro
40
41@macro trampfn {method, user, host, localname}
42@value{prefix}@c 25@value{prefix}@c
43@yyy{\method\,@value{postfixhop}}@c 26\method\@value{postfixhop}@c
44@yyy{\user\,@@}@c 27\userhost\@value{postfix}\localname\
45\host\@value{postfix}\localname\
46@end macro 28@end macro
47@end ifset
48 29
49@c Texinfo 4.13. 30@c Similar, but without a method prefix.
50@ifclear txicommandconditionals
51@macro xxx {one}@c
52@set \one\@c
53@end macro
54 31
55@macro yyy {one, two}@c 32@macro trampf {userhost, localname}
56@xxx{x\one\}@c 33@value{prefix}@c
57@ifclear x@c 34\userhost\@value{postfix}\localname\
58\one\@w{}\two\@c
59@end ifclear
60@clear x\one\@c
61@end macro
62
63@macro trampfn {method, user, host, localname}@c
64@value{prefix}@yyy{\method\,@value{postfixhop}}@yyy{\user\,@@}\host\@value{postfix}\localname\@c
65@end macro 35@end macro
66@end ifclear
67 36
68@copying 37@copying
69Copyright @copyright{} 1999--2016 Free Software Foundation, Inc. 38Copyright @copyright{} 1999--2016 Free Software Foundation, Inc.
@@ -469,7 +438,7 @@ In November 2012, added Juergen Hoetzel's @file{tramp-adb.el}.
469 438
470@value{tramp} is initially configured to use the @command{scp} program 439@value{tramp} is initially configured to use the @command{scp} program
471to connect to the remote host. Just type @kbd{C-x C-f} and then enter 440to connect to the remote host. Just type @kbd{C-x C-f} and then enter
472file name @file{@trampfn{, user, host, /path/to.file}}. For details, 441file name @file{@trampf{user@@host,/path/to.file}}. For details,
473see @xref{Default Method}. 442see @xref{Default Method}.
474 443
475For problems related to the behavior of remote shell, see @ref{Remote 444For problems related to the behavior of remote shell, see @ref{Remote
@@ -877,7 +846,7 @@ authorization, @value{tramp} provides for an extended syntax in
877percent symbol, and domain is the windows domain name). An example: 846percent symbol, and domain is the windows domain name). An example:
878 847
879@example 848@example
880@trampfn{smb, daniel%BIZARRE, melancholia, /daniel$$/.emacs} 849@trampfn{smb,daniel%BIZARRE@@melancholia,/daniel$$/.emacs}
881@end example 850@end example
882 851
883where user @code{daniel} connects as a domain user to the SMB host 852where user @code{daniel} connects as a domain user to the SMB host
@@ -889,7 +858,7 @@ substitute the domain name with the name of the local host in
889UPPERCASE as shown here: 858UPPERCASE as shown here:
890 859
891@example 860@example
892@trampfn{smb, daniel%MELANCHOLIA, melancholia, /daniel$$/.emacs} 861@trampfn{smb,daniel%MELANCHOLIA@@melancholia,/daniel$$/.emacs}
893@end example 862@end example
894 863
895where user @code{daniel} connects as local user to the SMB host 864where user @code{daniel} connects as local user to the SMB host
@@ -932,7 +901,7 @@ Emacs.
932 901
933@value{tramp} does not require a host name part of the remote file 902@value{tramp} does not require a host name part of the remote file
934name when a single Android device is connected to @command{adb}. 903name when a single Android device is connected to @command{adb}.
935@value{tramp} instead uses @file{@trampfn{adb, , ,}} as the default 904@value{tramp} instead uses @file{@trampfn{adb,,}} as the default
936name. @command{adb devices} shows available host names. 905name. @command{adb devices} shows available host names.
937 906
938@option{adb} method normally does not need user name to authenticate 907@option{adb} method normally does not need user name to authenticate
@@ -974,7 +943,7 @@ D-Bus, dbus}.
974This method is for connecting to remote hosts with the Apple Filing 943This method is for connecting to remote hosts with the Apple Filing
975Protocol for accessing files on Mac OS X volumes. @value{tramp} access 944Protocol for accessing files on Mac OS X volumes. @value{tramp} access
976syntax requires a leading volume (share) name, for example: 945syntax requires a leading volume (share) name, for example:
977@file{@trampfn{afp, user, host, /volume}}. 946@file{@trampfn{afp,user@@host,/volume}}.
978 947
979@item @option{dav} 948@item @option{dav}
980@item @option{davs} 949@item @option{davs}
@@ -1138,7 +1107,7 @@ access and it has the most reasonable security protocols, use
1138@file{/etc/motd} file on the otherhost: 1107@file{/etc/motd} file on the otherhost:
1139 1108
1140@example 1109@example
1141@kbd{C-x C-f @trampfn{ssh, root, otherhost,/etc/motd} @key{RET}} 1110@kbd{C-x C-f @trampfn{ssh,root@@otherhost,/etc/motd} @key{RET}}
1142@end example 1111@end example
1143 1112
1144If @option{ssh} is unavailable for whatever reason, look for other 1113If @option{ssh} is unavailable for whatever reason, look for other
@@ -1149,7 +1118,7 @@ For editing local files as @option{su} or @option{sudo} methods, try
1149the shortened syntax of @samp{root}: 1118the shortened syntax of @samp{root}:
1150 1119
1151@example 1120@example
1152@kbd{C-x C-f @trampfn{su, , , /etc/motd} @key{RET}} 1121@kbd{C-x C-f @trampfn{su,,/etc/motd} @key{RET}}
1153@end example 1122@end example
1154 1123
1155For editing large files, @option{scp} is faster than @option{ssh}. 1124For editing large files, @option{scp} is faster than @option{ssh}.
@@ -1222,7 +1191,7 @@ and default host can be overridden as follows:
1222 tramp-default-host "target") 1191 tramp-default-host "target")
1223@end lisp 1192@end lisp
1224 1193
1225With both defaults set, @samp{@trampfn{ssh, , ,}} will connect 1194With both defaults set, @samp{@trampfn{ssh,,}} will connect
1226@value{tramp} to John's home directory on target. 1195@value{tramp} to John's home directory on target.
1227 1196
1228@strong{Note} @samp{/::} won't work, because @samp{/:} is the prefix 1197@strong{Note} @samp{/::} won't work, because @samp{/:} is the prefix
@@ -1275,7 +1244,7 @@ user @samp{bird} to reach remote hosts outside the local domain:
1275 1244
1276@lisp 1245@lisp
1277(add-to-list 'tramp-default-proxies-alist 1246(add-to-list 'tramp-default-proxies-alist
1278 '("\\." nil "@trampfn{ssh, bird, bastion.your.domain,}")) 1247 '("\\." nil "@trampfn{ssh,bird@@bastion.your.domain,}"))
1279(add-to-list 'tramp-default-proxies-alist 1248(add-to-list 'tramp-default-proxies-alist
1280 '("\\.your\\.domain\\'" nil nil)) 1249 '("\\.your\\.domain\\'" nil nil))
1281@end lisp 1250@end lisp
@@ -1291,7 +1260,7 @@ connect to @samp{bastion.your.domain}, then:
1291(add-to-list 'tramp-default-proxies-alist 1260(add-to-list 'tramp-default-proxies-alist
1292 '("\\`bastion\\.your\\.domain\\'" 1261 '("\\`bastion\\.your\\.domain\\'"
1293 "\\`bird\\'" 1262 "\\`bird\\'"
1294 "@trampfn{ssh, , jump.your.domain,}")) 1263 "@trampfn{ssh,jump.your.domain,}"))
1295@end lisp 1264@end lisp
1296 1265
1297@var{proxy} can take patterns @code{%h} or @code{%u} for @var{host} or 1266@var{proxy} can take patterns @code{%h} or @code{%u} for @var{host} or
@@ -1303,10 +1272,10 @@ access, then use this alist entry:
1303 1272
1304@lisp 1273@lisp
1305(add-to-list 'tramp-default-proxies-alist 1274(add-to-list 'tramp-default-proxies-alist
1306 '("\\.your\\.domain\\'" "\\`root\\'" "@trampfn{ssh, , %h,}")) 1275 '("\\.your\\.domain\\'" "\\`root\\'" "@trampfn{ssh,%h,}"))
1307@end lisp 1276@end lisp
1308 1277
1309Opening @file{@trampfn{sudo, , randomhost.your.domain,}} first 1278Opening @file{@trampfn{sudo,randomhost.your.domain,}} first
1310connects to @samp{randomhost.your.domain} via @code{ssh} under your 1279connects to @samp{randomhost.your.domain} via @code{ssh} under your
1311account name, and then perform @code{sudo -u root} on that host. 1280account name, and then perform @code{sudo -u root} on that host.
1312 1281
@@ -1322,7 +1291,7 @@ local one, first connect via @command{ssh}, and then apply
1322 1291
1323@lisp 1292@lisp
1324(add-to-list 'tramp-default-proxies-alist 1293(add-to-list 'tramp-default-proxies-alist
1325 '(nil "\\`root\\'" "@trampfn{ssh, , %h,}")) 1294 '(nil "\\`root\\'" "@trampfn{ssh,%h,}"))
1326(add-to-list 'tramp-default-proxies-alist 1295(add-to-list 'tramp-default-proxies-alist
1327 '((regexp-quote (system-name)) nil nil)) 1296 '((regexp-quote (system-name)) nil nil))
1328@end lisp 1297@end lisp
@@ -1346,7 +1315,7 @@ discussion of ethical issues.} Then the configuration is:
1346@lisp 1315@lisp
1347(add-to-list 'tramp-default-proxies-alist 1316(add-to-list 'tramp-default-proxies-alist
1348 '("\\`host\\.other\\.domain\\'" nil 1317 '("\\`host\\.other\\.domain\\'" nil
1349 "@trampfn{tunnel, , proxy.your.domain#3128,}")) 1318 "@trampfn{tunnel,proxy.your.domain#3128,}"))
1350@end lisp 1319@end lisp
1351 1320
1352Gateway methods in a multiple hop chain can be declared only as the first hop. 1321Gateway methods in a multiple hop chain can be declared only as the first hop.
@@ -1596,8 +1565,7 @@ cases, two different connections may result in the same persistent
1596information. For example, connecting to a host using @command{ssh} and 1565information. For example, connecting to a host using @command{ssh} and
1597connecting to the same host through @code{sshd} on port 3001. Both 1566connecting to the same host through @code{sshd} on port 3001. Both
1598access methods result in nearly identical persistent specifications 1567access methods result in nearly identical persistent specifications
1599@file{@trampfn{ssh, , localhost,}} and @file{@trampfn{ssh, , 1568@file{@trampfn{ssh,localhost,}} and @file{@trampfn{ssh,localhost#3001,}}.
1600localhost#3001,}}.
1601 1569
1602Changing host names could avoid duplicates. One way is to add a 1570Changing host names could avoid duplicates. One way is to add a
1603@option{Host} section in @file{~/.ssh/config} (@pxref{Frequently Asked 1571@option{Host} section in @file{~/.ssh/config} (@pxref{Frequently Asked
@@ -1629,10 +1597,10 @@ remote shell:
1629 1597
1630@lisp 1598@lisp
1631(add-to-list 'tramp-connection-properties 1599(add-to-list 'tramp-connection-properties
1632 (list (regexp-quote "@trampfn{ssh, user, randomhost.your.domain,}") 1600 (list (regexp-quote "@trampfn{ssh,user@@randomhost.your.domain,}")
1633 "remote-shell" "/bin/ksh")) 1601 "remote-shell" "/bin/ksh"))
1634(add-to-list 'tramp-connection-properties 1602(add-to-list 'tramp-connection-properties
1635 (list (regexp-quote "@trampfn{ssh, user, randomhost.your.domain,}") 1603 (list (regexp-quote "@trampfn{ssh,user@@randomhost.your.domain,}")
1636 "remote-shell-login" '("-"))) 1604 "remote-shell-login" '("-")))
1637@end lisp 1605@end lisp
1638 1606
@@ -1648,7 +1616,7 @@ special property @samp{busybox}. For example:
1648 1616
1649@lisp 1617@lisp
1650(add-to-list 'tramp-connection-properties 1618(add-to-list 'tramp-connection-properties
1651 (list (regexp-quote "@trampfn{ssh, user, randomhost.your.domain,}") 1619 (list (regexp-quote "@trampfn{ssh,user@@randomhost.your.domain,}")
1652 "busybox" t)) 1620 "busybox" t))
1653@end lisp 1621@end lisp
1654 1622
@@ -1949,8 +1917,8 @@ directory for temporary files:
1949@end lisp 1917@end lisp
1950 1918
1951@noindent 1919@noindent
1952Open a remote connection with the command @kbd{C-x C-f @trampfn{ssh, , 1920Open a remote connection with the command @kbd{C-x C-f
1953192.168.0.26#2222, }}, where @command{sshd} is listening on port 1921@trampfn{ssh,192.168.0.26#2222,}}, where @command{sshd} is listening on port
1954@samp{2222}. 1922@samp{2222}.
1955 1923
1956To add a corresponding entry to the @file{~/.ssh/config} file 1924To add a corresponding entry to the @file{~/.ssh/config} file
@@ -1974,7 +1942,7 @@ the previous example, fix the connection properties as follows:
1974 1942
1975@noindent 1943@noindent
1976Open a remote connection with a more concise command @kbd{C-x C-f 1944Open a remote connection with a more concise command @kbd{C-x C-f
1977@trampfn{ssh, , android, }}. 1945@trampfn{ssh,android,}}.
1978 1946
1979 1947
1980@node Auto-save and Backup 1948@node Auto-save and Backup
@@ -1992,7 +1960,7 @@ by default writes backup files to the same directory as the original
1992files unless changed to another location, such as 1960files unless changed to another location, such as
1993@file{~/.emacs.d/backups/}. Such a directory will also be used by 1961@file{~/.emacs.d/backups/}. Such a directory will also be used by
1994default by @value{tramp} when using, say, a restricted file 1962default by @value{tramp} when using, say, a restricted file
1995@file{@trampfn{su, root, localhost, /etc/secretfile}}. The backup 1963@file{@trampfn{su,root@@localhost,/etc/secretfile}}. The backup
1996file of the secretfile is now owned by the user logged in from tramp 1964file of the secretfile is now owned by the user logged in from tramp
1997and not root. 1965and not root.
1998 1966
@@ -2042,9 +2010,9 @@ Example:
2042@end lisp 2010@end lisp
2043 2011
2044@noindent 2012@noindent
2045The backup file name of @file{@trampfn{su, root, localhost, 2013The backup file name of
2046/etc/secretfile}} would be @file{@trampfn{su, root, localhost, 2014@file{@trampfn{su,root@@localhost,/etc/secretfile}} would be
2047~/.emacs.d/backups/!su:root@@localhost:!etc!secretfile~}} 2015@file{@trampfn{su,root@@localhost,~/.emacs.d/backups/!su:root@@localhost:!etc!secretfile~}}.
2048 2016
2049Just as for backup files, similar issues of file naming affect 2017Just as for backup files, similar issues of file naming affect
2050auto-saving @value{tramp} files. Auto-saved files are saved in the 2018auto-saving @value{tramp} files. Auto-saved files are saved in the
@@ -2143,7 +2111,7 @@ is a feature of Emacs that may cause missed prompts when using
2143@cindex file name syntax 2111@cindex file name syntax
2144@cindex file name examples 2112@cindex file name examples
2145 2113
2146@file{@trampfn{, , host, localfilename}} 2114@file{@trampf{host,localfilename}}
2147opens file @var{localfilename} on the remote host @var{host}, using 2115opens file @var{localfilename} on the remote host @var{host}, using
2148the default method. @xref{Default Method}. 2116the default method. @xref{Default Method}.
2149 2117
@@ -2169,21 +2137,21 @@ For the file @file{/etc/squid.conf} on the host @code{melancholia}.
2169 2137
2170@end table 2138@end table
2171 2139
2172@var{host} can take IPv4 or IPv6 address, as in @file{@trampfn{, , 2140@var{host} can take IPv4 or IPv6 address, as in
2173127.0.0.1, .emacs}} or @file{@trampfn{, , 2141@file{@trampf{127.0.0.1,.emacs}} or
2174@value{ipv6prefix}::1@value{ipv6postfix}, .emacs}}. For syntactical 2142@file{@trampf{@value{ipv6prefix}::1@value{ipv6postfix},.emacs}}.
2175reasons, IPv6 addresses must be embedded in square brackets 2143For syntactical reasons, IPv6 addresses must be embedded in square
2176@file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. 2144brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}.
2177 2145
2178By default, @value{tramp} will use the current local user name as the 2146By default, @value{tramp} will use the current local user name as the
2179remote user name for log in to the remote host. Specifying a different 2147remote user name for log in to the remote host. Specifying a different
2180name using the proper syntax will override this default behavior: 2148name using the proper syntax will override this default behavior:
2181 2149
2182@example 2150@example
2183@trampfn{, user, host, path/to.file} 2151@trampf{user@@host,path/to.file}
2184@end example 2152@end example
2185 2153
2186@file{@trampfn{, daniel, melancholia, .emacs}} is for file 2154@file{@trampf{daniel@@melancholia,.emacs}} is for file
2187@file{.emacs} in @code{daniel}'s home directory on the host, 2155@file{.emacs} in @code{daniel}'s home directory on the host,
2188@code{melancholia}. 2156@code{melancholia}.
2189 2157
@@ -2197,15 +2165,14 @@ change.
2197 2165
2198To connect to the host @code{melancholia} as @code{daniel}, using 2166To connect to the host @code{melancholia} as @code{daniel}, using
2199@option{ssh} method for @file{.emacs} in @code{daniel}'s home 2167@option{ssh} method for @file{.emacs} in @code{daniel}'s home
2200directory, the full specification is: @file{@trampfn{ssh, daniel, 2168directory, the full specification is:
2201melancholia, .emacs}}. 2169@file{@trampfn{ssh,daniel@@melancholia,.emacs}}.
2202 2170
2203A remote file name containing a host name, which is the same string as 2171A remote file name containing a host name, which is the same string as
2204a method name, is not allowed. 2172a method name, is not allowed.
2205 2173
2206For specifying port numbers, affix @file{#<port>} to the host 2174For specifying port numbers, affix @file{#<port>} to the host
2207name. For example: @file{@trampfn{ssh, daniel, melancholia#42, 2175name. For example: @file{@trampfn{ssh,daniel@@melancholia#42,.emacs}}.
2208.emacs}}.
2209 2176
2210 2177
2211@node File name completion 2178@node File name completion
@@ -2224,7 +2191,7 @@ For example, type @kbd{C-x C-f @value{prefix}t @key{TAB}},
2224@value{tramp} completion choices show up as 2191@value{tramp} completion choices show up as
2225 2192
2226@example 2193@example
2227@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} 2194@c @multitable {@trampfn{telnet,melancholia.danann.net,}} {@trampfn{telnet,192.168.0.1,}}
2228@multitable @columnfractions .5 .5 2195@multitable @columnfractions .5 .5
2229@item @value{prefixhop}telnet@value{postfixhop} @tab tmp/ 2196@item @value{prefixhop}telnet@value{postfixhop} @tab tmp/
2230@item @value{prefixhop}toto@value{postfix} @tab 2197@item @value{prefixhop}toto@value{postfix} @tab
@@ -2244,10 +2211,11 @@ shows host names @value{tramp} from @file{/etc/hosts} file, for example.
2244 2211
2245@example 2212@example
2246@multitable @columnfractions .5 .5 2213@multitable @columnfractions .5 .5
2247@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} 2214@c @multitable {@trampfn{telnet,melancholia.danann.net,}} {@trampfn{telnet,192.168.0.1,}}
2248@item @trampfn{telnet, , 127.0.0.1,} @tab @trampfn{telnet, , 192.168.0.1,} 2215@item @trampfn{telnet,127.0.0.1,} @tab @trampfn{telnet,192.168.0.1,}
2249@item @trampfn{telnet, , @value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet, , localhost,} 2216@c @item @trampfn{telnet,@value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet,localhost,}
2250@item @trampfn{telnet, , melancholia.danann.net,} @tab @trampfn{telnet, , melancholia,} 2217@item @value{prefix}telnet@value{postfixhop}@value{ipv6prefix}::1@value{ipv6postfix}@value{postfix} @tab @trampfn{telnet,localhost,}
2218@item @trampfn{telnet,melancholia.danann.net,} @tab @trampfn{telnet,melancholia,}
2251@end multitable 2219@end multitable
2252@end example 2220@end example
2253 2221
@@ -2274,13 +2242,13 @@ stands for the default behavior.
2274Example: 2242Example:
2275 2243
2276@example 2244@example
2277@kbd{C-x C-f @trampfn{telnet, , melancholia, /usr/local/bin//etc} @key{TAB}} 2245@kbd{C-x C-f @trampfn{telnet,melancholia,/usr/local/bin//etc} @key{TAB}}
2278 @print{} @trampfn{telnet, , melancholia, /etc} 2246 @print{} @trampfn{telnet,melancholia,/etc}
2279 2247
2280@kbd{C-x C-f @trampfn{telnet, , melancholia, //etc} @key{TAB}} 2248@kbd{C-x C-f @trampfn{telnet,melancholia,//etc} @key{TAB}}
2281 @print{} /etc 2249 @print{} /etc
2282 2250
2283@kbd{C-x C-f @trampfn{telnet, , melancholia, /usr/local/bin///etc} @key{TAB}} 2251@kbd{C-x C-f @trampfn{telnet,melancholia,/usr/local/bin///etc} @key{TAB}}
2284 @print{} /etc 2252 @print{} /etc
2285@end example 2253@end example
2286 2254
@@ -2314,8 +2282,7 @@ remote host name and file name. For example, hopping over a single
2314proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}: 2282proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}:
2315 2283
2316@example 2284@example
2317@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh, you, 2285@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path}}
2318@c remotehost, /path}}
2319@kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path} 2286@kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path}
2320@end example 2287@end example
2321 2288
@@ -2324,8 +2291,8 @@ Proxies can take patterns @code{%h} or @code{%u}.
2324@value{tramp} adds the ad-hoc definitions on the fly to 2291@value{tramp} adds the ad-hoc definitions on the fly to
2325@code{tramp-default-proxies-alist} and is available for re-use during 2292@code{tramp-default-proxies-alist} and is available for re-use during
2326that Emacs session. Subsequent @value{tramp} connections to the same 2293that Emacs session. Subsequent @value{tramp} connections to the same
2327remote host can then use the shortcut form: @samp{@trampfn{ssh, you, 2294remote host can then use the shortcut form:
2328remotehost, /path}}. 2295@samp{@trampfn{ssh,you@@remotehost,/path}}.
2329 2296
2330@defopt tramp-save-ad-hoc-proxies 2297@defopt tramp-save-ad-hoc-proxies
2331@vindex tramp-save-ad-hoc-proxies 2298@vindex tramp-save-ad-hoc-proxies
@@ -2478,7 +2445,7 @@ on remote hosts and displays output in buffers on the local
2478host. Example: 2445host. Example:
2479 2446
2480@example 2447@example
2481@kbd{C-x C-f @trampfn{sudo, , , } @key{RET}} 2448@kbd{C-x C-f @trampfn{sudo,,} @key{RET}}
2482@kbd{M-! tail -f /var/log/syslog.log & @key{RET}} 2449@kbd{M-! tail -f /var/log/syslog.log & @key{RET}}
2483@end example 2450@end example
2484 2451
@@ -2498,14 +2465,14 @@ You must add the module @code{eshell-tramp} to
2498@kbd{M-x eshell} on a remote host: 2465@kbd{M-x eshell} on a remote host:
2499 2466
2500@example 2467@example
2501@b{~ $} cd @trampfn{sudo, , , /etc} @key{RET} 2468@b{~ $} cd @trampfn{sudo,,/etc} @key{RET}
2502@b{@trampfn{sudo, root, host, /etc} $} hostname @key{RET} 2469@b{@trampfn{sudo,root@@host,/etc} $} hostname @key{RET}
2503host 2470host
2504@b{@trampfn{sudo, root, host, /etc} $} id @key{RET} 2471@b{@trampfn{sudo,root@@host,/etc} $} id @key{RET}
2505uid=0(root) gid=0(root) groups=0(root) 2472uid=0(root) gid=0(root) groups=0(root)
2506@b{@trampfn{sudo, root, host, /etc} $} find-file shadow @key{RET} 2473@b{@trampfn{sudo,root@@host,/etc} $} find-file shadow @key{RET}
2507#<buffer shadow> 2474#<buffer shadow>
2508@b{@trampfn{sudo, root, host, /etc} $} 2475@b{@trampfn{sudo,root@@host,/etc} $}
2509@end example 2476@end example
2510 2477
2511@code{eshell} in Emacs 23.2 added custom @code{su} and @code{sudo} 2478@code{eshell} in Emacs 23.2 added custom @code{su} and @code{sudo}
@@ -2515,16 +2482,16 @@ commands that set the default directory correctly for the
2515(@pxref{Multi-hops}): 2482(@pxref{Multi-hops}):
2516 2483
2517@example 2484@example
2518@b{~ $} cd @trampfn{ssh, user, remotehost, /etc} @key{RET} 2485@b{~ $} cd @trampfn{ssh,user@@remotehost,/etc} @key{RET}
2519@b{@trampfn{ssh, user, remotehost, /etc} $} find-file shadow @key{RET} 2486@b{@trampfn{ssh,user@@remotehost,/etc} $} find-file shadow @key{RET}
2520File is not readable: @trampfn{ssh, user, remotehost, /etc/shadow} 2487File is not readable: @trampfn{ssh,user@@remotehost,/etc/shadow}
2521@b{@trampfn{ssh, user, remotehost, /etc} $} sudo find-file shadow @key{RET} 2488@b{@trampfn{ssh,user@@remotehost,/etc} $} sudo find-file shadow @key{RET}
2522#<buffer shadow> 2489#<buffer shadow>
2523 2490
2524@b{@trampfn{ssh, user, remotehost, /etc} $} su - @key{RET} 2491@b{@trampfn{ssh,user@@remotehost,/etc} $} su - @key{RET}
2525@b{@trampfn{su, root, remotehost, /root} $} id @key{RET} 2492@b{@trampfn{su,root@@remotehost,/root} $} id @key{RET}
2526uid=0(root) gid=0(root) groups=0(root) 2493uid=0(root) gid=0(root) groups=0(root)
2527@b{@trampfn{su, root, remotehost, /root} $} 2494@b{@trampfn{su,root@@remotehost,/root} $}
2528@end example 2495@end example
2529 2496
2530 2497
@@ -2543,11 +2510,11 @@ with a remote file name:
2543 2510
2544@example 2511@example
2545@kbd{M-x gdb @key{RET}} 2512@kbd{M-x gdb @key{RET}}
2546@b{Run gdb (like this):} gdb --annotate=3 @trampfn{ssh, , host, ~/myprog} @key{RET} 2513@b{Run gdb (like this):} gdb --annotate=3 @trampfn{ssh,host,~/myprog} @key{RET}
2547@end example 2514@end example
2548 2515
2549Relative file names are based on the remote default directory. When 2516Relative file names are based on the remote default directory. When
2550@file{myprog.pl} exists in @file{@trampfn{ssh, , host, /home/user}}, 2517@file{myprog.pl} exists in @file{@trampfn{ssh,host,/home/user}},
2551valid calls include: 2518valid calls include:
2552 2519
2553@example 2520@example
@@ -2602,8 +2569,9 @@ To open @command{powershell} as a remote shell, use this:
2602This command flushes all connection related objects. @option{vec} is 2569This command flushes all connection related objects. @option{vec} is
2603the internal representation of a remote connection. When called 2570the internal representation of a remote connection. When called
2604interactively, this command lists active remote connections in the 2571interactively, this command lists active remote connections in the
2605minibuffer. Each connection is of the format @file{@trampfn{method, 2572minibuffer. Each connection is of the format
2606user, host, }}. Flushing remote connections also cleans the password 2573@file{@trampfn{method,user@@host,}}. Flushing remote connections also
2574cleans the password
2607cache (@pxref{Password handling}), file cache, connection cache 2575cache (@pxref{Password handling}), file cache, connection cache
2608(@pxref{Connection caching}), and connection buffers. 2576(@pxref{Connection caching}), and connection buffers.
2609@end deffn 2577@end deffn
@@ -3058,7 +3026,7 @@ HISTFILE=/dev/null
3058How to shorten long file names when typing in @value{tramp}? 3026How to shorten long file names when typing in @value{tramp}?
3059 3027
3060Adapt several of these approaches to reduce typing. If the full name 3028Adapt several of these approaches to reduce typing. If the full name
3061is @file{@trampfn{ssh, news, news.my.domain, /opt/news/etc}}, then: 3029is @file{@trampfn{ssh,news@@news.my.domain,/opt/news/etc}}, then:
3062 3030
3063@enumerate 3031@enumerate
3064 3032
@@ -3073,11 +3041,11 @@ You can define default methods and user names for hosts,
3073 tramp-default-user "news") 3041 tramp-default-user "news")
3074@end lisp 3042@end lisp
3075 3043
3076The reduced typing: @kbd{C-x C-f @trampfn{, , news.my.domain, /opt/news/etc}}. 3044The reduced typing: @kbd{C-x C-f @trampf{news.my.domain,/opt/news/etc}}.
3077 3045
3078@strong{Note} that there are some useful shortcuts already. Accessing 3046@strong{Note} that there are some useful shortcuts already. Accessing
3079your local host as @samp{root} user, is possible just by @kbd{C-x C-f 3047your local host as @samp{root} user, is possible just by @kbd{C-x C-f
3080@trampfn{su, , ,}}. 3048@trampfn{su,,}}.
3081 3049
3082@item 3050@item
3083Use configuration options of the access method: 3051Use configuration options of the access method:
@@ -3092,7 +3060,7 @@ Host xy
3092 User news 3060 User news
3093@end example 3061@end example
3094 3062
3095The reduced typing: @kbd{C-x C-f @trampfn{ssh, , xy, /opt/news/etc}}. 3063The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc}}.
3096 3064
3097Depending on the number of files in the directories, host names 3065Depending on the number of files in the directories, host names
3098completion can further reduce key strokes: @kbd{C-x C-f 3066completion can further reduce key strokes: @kbd{C-x C-f
@@ -3106,7 +3074,7 @@ the minibuffer. Environment variables are set either outside Emacs or
3106inside Emacs with Lisp: 3074inside Emacs with Lisp:
3107 3075
3108@lisp 3076@lisp
3109(setenv "xy" "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}") 3077(setenv "xy" "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}")
3110@end lisp 3078@end lisp
3111 3079
3112The reduced typing: @kbd{C-x C-f $xy @key{RET}}. 3080The reduced typing: @kbd{C-x C-f $xy @key{RET}}.
@@ -3127,7 +3095,7 @@ Redefine another key sequence in Emacs for @kbd{C-x C-f}:
3127 (find-file 3095 (find-file
3128 (read-file-name 3096 (read-file-name
3129 "Find Tramp file: " 3097 "Find Tramp file: "
3130 "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")))) 3098 "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}"))))
3131@end lisp 3099@end lisp
3132 3100
3133Simply typing @kbd{C-x C-y} would prepare minibuffer editing of file 3101Simply typing @kbd{C-x C-y} would prepare minibuffer editing of file
@@ -3144,7 +3112,7 @@ Abbreviation list expansion can be used to reduce typing long file names:
3144@lisp 3112@lisp
3145(add-to-list 3113(add-to-list
3146 'directory-abbrev-alist 3114 'directory-abbrev-alist
3147 '("^/xy" . "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")) 3115 '("^/xy" . "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}"))
3148@end lisp 3116@end lisp
3149 3117
3150The reduced typing: @kbd{C-x C-f /xy @key{RET}}. 3118The reduced typing: @kbd{C-x C-f /xy @key{RET}}.
@@ -3161,7 +3129,7 @@ minibuffer:
3161 3129
3162@lisp 3130@lisp
3163(define-abbrev-table 'my-tramp-abbrev-table 3131(define-abbrev-table 'my-tramp-abbrev-table
3164 '(("xy" "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}"))) 3132 '(("xy" "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}")))
3165 3133
3166(add-hook 3134(add-hook
3167 'minibuffer-setup-hook 3135 'minibuffer-setup-hook
@@ -3221,7 +3189,7 @@ directory to the cache:
3221@lisp 3189@lisp
3222(eval-after-load "filecache" 3190(eval-after-load "filecache"
3223 '(file-cache-add-directory 3191 '(file-cache-add-directory
3224 "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")) 3192 "@trampfn{ssh,news@@news.my.domain,/opt/news/etc/}"))
3225@end lisp 3193@end lisp
3226 3194
3227Then use directory completion in the minibuffer with @kbd{C-x C-f 3195Then use directory completion in the minibuffer with @kbd{C-x C-f
@@ -3266,11 +3234,10 @@ Why saved multi-hop file names do not work in a new Emacs session?
3266When saving ad-hoc multi-hop @value{tramp} file names (@pxref{Ad-hoc 3234When saving ad-hoc multi-hop @value{tramp} file names (@pxref{Ad-hoc
3267multi-hops}) via bookmarks, recent files, filecache, bbdb, or another 3235multi-hops}) via bookmarks, recent files, filecache, bbdb, or another
3268package, use the full ad-hoc file name including all hops, like 3236package, use the full ad-hoc file name including all hops, like
3269@file{@trampfn{ssh, bird, bastion|ssh@value{postfixhop}news.my.domain, 3237@file{@trampfn{ssh,bird@@bastion|ssh@value{postfixhop}news.my.domain,/opt/news/etc}}.
3270/opt/news/etc}}.
3271 3238
3272Alternatively, when saving abbreviated multi-hop file names 3239Alternatively, when saving abbreviated multi-hop file names
3273@file{@trampfn{ssh, news, news.my.domain, /opt/news/etc}}, the custom 3240@file{@trampfn{ssh,news@@news.my.domain,/opt/news/etc}}, the custom
3274option @code{tramp-save-ad-hoc-proxies} must be set non-@code{nil} 3241option @code{tramp-save-ad-hoc-proxies} must be set non-@code{nil}
3275value. 3242value.
3276 3243
@@ -3302,7 +3269,7 @@ location.
3302Then start Emacs Client from the command line: 3269Then start Emacs Client from the command line:
3303 3270
3304@example 3271@example
3305emacsclient @trampfn{ssh, user, host, /file/to/edit} 3272emacsclient @trampfn{ssh,user@@host,/file/to/edit}
3306@end example 3273@end example
3307 3274
3308@code{user} and @code{host} refer to the local host. 3275@code{user} and @code{host} refer to the local host.
@@ -3312,7 +3279,7 @@ script @file{emacsclient.sh}:
3312 3279
3313@example 3280@example
3314#!/bin/sh 3281#!/bin/sh
3315emacsclient @trampfn{ssh, $(whoami), $(hostname --fqdn), $1} 3282emacsclient @trampfn{ssh,$(whoami)@@$(hostname --fqdn),$1}
3316@end example 3283@end example
3317 3284
3318Then change the environment variable @env{EDITOR} to point to the 3285Then change the environment variable @env{EDITOR} to point to the
diff --git a/etc/NEWS b/etc/NEWS
index 2ac7383c9c3..d6044ce2c2b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -486,6 +486,9 @@ specified message types for the respective specified targets.
486*** New variable `erc-default-port-tls' used to connect to TLS IRC 486*** New variable `erc-default-port-tls' used to connect to TLS IRC
487servers. 487servers.
488 488
489---
490*** Reconnection is now asynchronous.
491
489** Midnight-mode 492** Midnight-mode
490 493
491--- 494---
@@ -1186,6 +1189,9 @@ make the new option `eshell-destroy-buffer-when-process-dies' non-nil.
1186** Browse-url 1189** Browse-url
1187 1190
1188--- 1191---
1192*** Support for the Google Chrome web browser.
1193
1194---
1189*** Support for the Conkeror web browser. 1195*** Support for the Conkeror web browser.
1190 1196
1191--- 1197---
diff --git a/lisp/ChangeLog.17 b/lisp/ChangeLog.17
index 10a466361ef..ee812bde82d 100644
--- a/lisp/ChangeLog.17
+++ b/lisp/ChangeLog.17
@@ -3951,7 +3951,8 @@
3951 3951
39522014-12-22 Artur Malabarba <bruce.connor.am@gmail.com> 39522014-12-22 Artur Malabarba <bruce.connor.am@gmail.com>
3953 3953
3954 * let-alist.el (let-alist): Use `make-symbol' instead of `gensym'. 3954 * emacs-lisp/let-alist.el (let-alist): Use `make-symbol'
3955 instead of `gensym'.
3955 3956
39562014-12-20 Michael Albinus <michael.albinus@gmx.de> 39572014-12-20 Michael Albinus <michael.albinus@gmx.de>
3957 3958
@@ -3963,7 +3964,7 @@
3963 3964
39642014-12-19 Artur Malabarba <bruce.connor.am@gmail.com> 39652014-12-19 Artur Malabarba <bruce.connor.am@gmail.com>
3965 3966
3966 * let-alist.el (let-alist): Enable access to deeper alists by 3967 * emacs-lisp/let-alist.el (let-alist): Enable access to deeper alists by
3967 using dots inside the dotted symbols. 3968 using dots inside the dotted symbols.
3968 3969
39692014-12-19 Alan Mackenzie <acm@muc.de> 39702014-12-19 Alan Mackenzie <acm@muc.de>
@@ -4005,7 +4006,7 @@
4005 4006
40062014-12-18 Artur Malabarba <bruce.connor.am@gmail.com> 40072014-12-18 Artur Malabarba <bruce.connor.am@gmail.com>
4007 4008
4008 * let-alist.el (let-alist): Evaluate the `alist' argument only once. 4009 * emacs-lisp/let-alist.el (let-alist): Evaluate the `alist' argument only once.
4009 4010
40102014-12-18 Sam Steingold <sds@gnu.org> 40112014-12-18 Sam Steingold <sds@gnu.org>
4011 4012
@@ -4141,7 +4142,7 @@
4141 4142
41422014-12-14 Artur Malabarba <bruce.connor.am@gmail.com> 41432014-12-14 Artur Malabarba <bruce.connor.am@gmail.com>
4143 4144
4144 * let-alist.el: Add lexical binding. 4145 * emacs-lisp/let-alist.el: Add lexical binding.
4145 4146
41462014-12-14 Steve Purcell <steve@sanityinc.com> (tiny change) 41472014-12-14 Steve Purcell <steve@sanityinc.com> (tiny change)
4147 4148
@@ -4273,7 +4274,7 @@
4273 4274
42742014-12-10 Artur Malabarba <bruce.connor.am@gmail.com> 42752014-12-10 Artur Malabarba <bruce.connor.am@gmail.com>
4275 4276
4276 * let-alist.el: Add new package and macro. 4277 * emacs-lisp/let-alist.el: Add new package and macro.
4277 4278
42782014-12-10 Eric S. Raymond <esr@snark.thyrsus.com> 42792014-12-10 Eric S. Raymond <esr@snark.thyrsus.com>
4279 4280
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 2bda97f95d0..edf91ab6000 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -36,6 +36,7 @@
36;; Function Browser Earliest version 36;; Function Browser Earliest version
37;; browse-url-mozilla Mozilla Don't know 37;; browse-url-mozilla Mozilla Don't know
38;; browse-url-firefox Firefox Don't know (tried with 1.0.1) 38;; browse-url-firefox Firefox Don't know (tried with 1.0.1)
39;; browse-url-chrome Chrome 47.0.2526.111
39;; browse-url-chromium Chromium 3.0 40;; browse-url-chromium Chromium 3.0
40;; browse-url-epiphany Epiphany Don't know 41;; browse-url-epiphany Epiphany Don't know
41;; browse-url-conkeror Conkeror Don't know 42;; browse-url-conkeror Conkeror Don't know
@@ -147,6 +148,7 @@ regexp should probably be \".\" to specify a default browser."
147 (function-item :tag "eww" :value eww-browse-url) 148 (function-item :tag "eww" :value eww-browse-url)
148 (function-item :tag "Mozilla" :value browse-url-mozilla) 149 (function-item :tag "Mozilla" :value browse-url-mozilla)
149 (function-item :tag "Firefox" :value browse-url-firefox) 150 (function-item :tag "Firefox" :value browse-url-firefox)
151 (function-item :tag "Google Chrome" :value browse-url-chrome)
150 (function-item :tag "Chromium" :value browse-url-chromium) 152 (function-item :tag "Chromium" :value browse-url-chromium)
151 (function-item :tag "Epiphany" :value browse-url-epiphany) 153 (function-item :tag "Epiphany" :value browse-url-epiphany)
152 (function-item :tag "Conkeror" :value browse-url-conkeror) 154 (function-item :tag "Conkeror" :value browse-url-conkeror)
@@ -259,6 +261,22 @@ Defaults to the value of `browse-url-firefox-arguments' at the time
259(make-obsolete-variable 'browse-url-firefox-startup-arguments 261(make-obsolete-variable 'browse-url-firefox-startup-arguments
260 "it no longer has any effect." "24.5") 262 "it no longer has any effect." "24.5")
261 263
264(defcustom browse-url-chrome-program
265 (let ((candidates '("google-chrome-stable" "google-chrome")))
266 (while (and candidates (not (executable-find (car candidates))))
267 (setq candidates (cdr candidates)))
268 (or (car candidates) "chromium"))
269 "The name by which to invoke Chromium."
270 :type 'string
271 :version "24.1"
272 :group 'browse-url)
273
274(defcustom browse-url-chrome-arguments nil
275 "A list of strings to pass to Google Chrome as arguments."
276 :type '(repeat (string :tag "Argument"))
277 :version "24.1"
278 :group 'browse-url)
279
262(defcustom browse-url-chromium-program 280(defcustom browse-url-chromium-program
263 (let ((candidates '("chromium" "chromium-browser"))) 281 (let ((candidates '("chromium" "chromium-browser")))
264 (while (and candidates (not (executable-find (car candidates)))) 282 (while (and candidates (not (executable-find (car candidates))))
@@ -902,6 +920,7 @@ instead of `browse-url-new-window-flag'."
902 ((browse-url-can-use-xdg-open) 'browse-url-xdg-open) 920 ((browse-url-can-use-xdg-open) 'browse-url-xdg-open)
903;;; ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz) 921;;; ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz)
904 ((executable-find browse-url-mozilla-program) 'browse-url-mozilla) 922 ((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
923 ((executable-find browse-url-chrome-program) 'browse-url-chrome)
905 ((executable-find browse-url-firefox-program) 'browse-url-firefox) 924 ((executable-find browse-url-firefox-program) 'browse-url-firefox)
906 ((executable-find browse-url-chromium-program) 'browse-url-chromium) 925 ((executable-find browse-url-chromium-program) 'browse-url-chromium)
907;;; ((executable-find browse-url-galeon-program) 'browse-url-galeon) 926;;; ((executable-find browse-url-galeon-program) 'browse-url-galeon)
@@ -1126,6 +1145,22 @@ The optional argument NEW-WINDOW is not used."
1126 browse-url-chromium-arguments 1145 browse-url-chromium-arguments
1127 (list url))))) 1146 (list url)))))
1128 1147
1148(defun browse-url-chrome (url &optional _new-window)
1149 "Ask the Google Chrome WWW browser to load URL.
1150Default to the URL around or before point. The strings in
1151variable `browse-url-chrome-arguments' are also passed to
1152Google Chrome.
1153The optional argument NEW-WINDOW is not used."
1154 (interactive (browse-url-interactive-arg "URL: "))
1155 (setq url (browse-url-encode-url url))
1156 (let* ((process-environment (browse-url-process-environment)))
1157 (apply 'start-process
1158 (concat "google-chrome " url) nil
1159 browse-url-chrome-program
1160 (append
1161 browse-url-chrome-arguments
1162 (list url)))))
1163
1129;;;###autoload 1164;;;###autoload
1130(defun browse-url-galeon (url &optional new-window) 1165(defun browse-url-galeon (url &optional new-window)
1131 "Ask the Galeon WWW browser to load URL. 1166 "Ask the Galeon WWW browser to load URL.
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 3c2e74799af..cb231270b33 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -323,8 +323,9 @@ Currently this means either text/html or application/xhtml+xml."
323 (let* ((headers (eww-parse-headers)) 323 (let* ((headers (eww-parse-headers))
324 (content-type 324 (content-type
325 (mail-header-parse-content-type 325 (mail-header-parse-content-type
326 (or (cdr (assoc "content-type" headers)) 326 (if (zerop (length (cdr (assoc "content-type" headers))))
327 "text/plain"))) 327 "text/plain"
328 (cdr (assoc "content-type" headers)))))
328 (charset (intern 329 (charset (intern
329 (downcase 330 (downcase
330 (or (cdr (assq 'charset (cdr content-type))) 331 (or (cdr (assq 'charset (cdr content-type)))