diff options
| author | Paul Eggert | 2016-01-30 11:41:07 -0800 |
|---|---|---|
| committer | Paul Eggert | 2016-01-30 11:41:07 -0800 |
| commit | 9304e6d3a222de6ef1c405bfd6e09eee6ed2c2aa (patch) | |
| tree | 730b07f317a18596dba60ac473d40069b6d1c1cf | |
| parent | beec9cbb1705a7bc4e11a11fe4b5a2f1bfca96a0 (diff) | |
| parent | 12eeaa877c4396880c926c26b4010a059b6a3325 (diff) | |
| download | emacs-9304e6d3a222de6ef1c405bfd6e09eee6ed2c2aa.tar.gz emacs-9304e6d3a222de6ef1c405bfd6e09eee6ed2c2aa.zip | |
-
| -rw-r--r-- | ChangeLog.2 | 72 | ||||
| -rw-r--r-- | admin/authors.el | 35 | ||||
| -rw-r--r-- | doc/emacs/ChangeLog.1 | 4 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 209 | ||||
| -rw-r--r-- | etc/NEWS | 6 | ||||
| -rw-r--r-- | lisp/ChangeLog.17 | 11 | ||||
| -rw-r--r-- | lisp/net/browse-url.el | 35 | ||||
| -rw-r--r-- | lisp/net/eww.el | 5 |
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 | ||
| 9346 | 2015-11-05 Juanma Barranquero <lekktu@gmail.com> | 9346 | 2015-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 | ||
| 9351 | 2015-11-05 Tassilo Horn <tsdh@gnu.org> | 9351 | 2015-11-05 Tassilo Horn <tsdh@gnu.org> |
| @@ -9430,7 +9430,7 @@ | |||
| 9430 | 9430 | ||
| 9431 | 2015-11-03 Jay Belanger <jay.p.belanger@gmail.com> | 9431 | 2015-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 | ||
| 9435 | 2015-11-03 Michael Albinus <michael.albinus@gmx.de> | 9435 | 2015-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 | ||
| 9543 | 2015-10-31 Michael Albinus <michael.albinus@gmx.de> | 9543 | 2015-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 | ||
| 9955 | 2015-10-28 Artur Malabarba <bruce.connor.am@gmail.com> | 9955 | 2015-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 | ||
| 9982 | 2015-10-28 Nicolas Petton <nicolas@petton.fr> | 9982 | 2015-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 | ||
| 11423 | 2015-10-19 Nicolas Petton <nicolas@petton.fr> | 11423 | 2015-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 @@ | |||
| 14021 | 2015-09-15 Jay Belanger <jay.p.belanger@gmail.com> | 14021 | 2015-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 | ||
| 17879 | 2015-08-14 Ronnie Schnell <ronnie@driver-aces.com> | 17879 | 2015-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 | ||
| 17883 | 2015-08-14 Eli Zaretskii <eliz@gnu.org> | 17883 | 2015-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 @@ | |||
| 18299 | 2015-08-07 Phillip Lord <phillip.lord@newcastle.ac.uk> | 18299 | 2015-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 | ||
| 18342 | 2015-08-07 Eli Zaretskii <eliz@gnu.org> | 18342 | 2015-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 | ||
| 21372 | 2015-06-11 Artur Malabarba <bruce.connor.am@gmail.com> | 21372 | 2015-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 | ||
| 21377 | 2015-06-11 Nicolas Richard <theonewiththeevillook@yahoo.fr> | 21377 | 2015-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 | ||
| 22121 | 2015-05-30 Dmitry Gutov <dgutov@yandex.ru> | 22121 | 2015-05-30 Dmitry Gutov <dgutov@yandex.ru> |
| @@ -27050,7 +27050,7 @@ | |||
| 27050 | 2015-04-07 Alan Mackenzie <acm@muc.de> | 27050 | 2015-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. |
| 368 | Changes to files in this list are not listed.") | 397 | Changes 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. |
| 891 | Elements are (OLDNAME . NEWNAME).") | 924 | Elements 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 | ||
| 252 | 2014-07-21 Glenn Morris <rgm@gnu.org> | 252 | 2014-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 |
| 69 | Copyright @copyright{} 1999--2016 Free Software Foundation, Inc. | 38 | Copyright @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 |
| 471 | to connect to the remote host. Just type @kbd{C-x C-f} and then enter | 440 | to connect to the remote host. Just type @kbd{C-x C-f} and then enter |
| 472 | file name @file{@trampfn{, user, host, /path/to.file}}. For details, | 441 | file name @file{@trampf{user@@host,/path/to.file}}. For details, |
| 473 | see @xref{Default Method}. | 442 | see @xref{Default Method}. |
| 474 | 443 | ||
| 475 | For problems related to the behavior of remote shell, see @ref{Remote | 444 | For problems related to the behavior of remote shell, see @ref{Remote |
| @@ -877,7 +846,7 @@ authorization, @value{tramp} provides for an extended syntax in | |||
| 877 | percent symbol, and domain is the windows domain name). An example: | 846 | percent 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 | ||
| 883 | where user @code{daniel} connects as a domain user to the SMB host | 852 | where 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 | |||
| 889 | UPPERCASE as shown here: | 858 | UPPERCASE 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 | ||
| 895 | where user @code{daniel} connects as local user to the SMB host | 864 | where 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 |
| 934 | name when a single Android device is connected to @command{adb}. | 903 | name 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 |
| 936 | name. @command{adb devices} shows available host names. | 905 | name. @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}. | |||
| 974 | This method is for connecting to remote hosts with the Apple Filing | 943 | This method is for connecting to remote hosts with the Apple Filing |
| 975 | Protocol for accessing files on Mac OS X volumes. @value{tramp} access | 944 | Protocol for accessing files on Mac OS X volumes. @value{tramp} access |
| 976 | syntax requires a leading volume (share) name, for example: | 945 | syntax 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 | ||
| 1144 | If @option{ssh} is unavailable for whatever reason, look for other | 1113 | If @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 | |||
| 1149 | the shortened syntax of @samp{root}: | 1118 | the 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 | ||
| 1155 | For editing large files, @option{scp} is faster than @option{ssh}. | 1124 | For 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 | ||
| 1225 | With both defaults set, @samp{@trampfn{ssh, , ,}} will connect | 1194 | With 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 | ||
| 1309 | Opening @file{@trampfn{sudo, , randomhost.your.domain,}} first | 1278 | Opening @file{@trampfn{sudo,randomhost.your.domain,}} first |
| 1310 | connects to @samp{randomhost.your.domain} via @code{ssh} under your | 1279 | connects to @samp{randomhost.your.domain} via @code{ssh} under your |
| 1311 | account name, and then perform @code{sudo -u root} on that host. | 1280 | account 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 | ||
| 1352 | Gateway methods in a multiple hop chain can be declared only as the first hop. | 1321 | Gateway 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 | |||
| 1596 | information. For example, connecting to a host using @command{ssh} and | 1565 | information. For example, connecting to a host using @command{ssh} and |
| 1597 | connecting to the same host through @code{sshd} on port 3001. Both | 1566 | connecting to the same host through @code{sshd} on port 3001. Both |
| 1598 | access methods result in nearly identical persistent specifications | 1567 | access 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,}}. |
| 1600 | localhost#3001,}}. | ||
| 1601 | 1569 | ||
| 1602 | Changing host names could avoid duplicates. One way is to add a | 1570 | Changing 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 |
| 1952 | Open a remote connection with the command @kbd{C-x C-f @trampfn{ssh, , | 1920 | Open a remote connection with the command @kbd{C-x C-f |
| 1953 | 192.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 | ||
| 1956 | To add a corresponding entry to the @file{~/.ssh/config} file | 1924 | To 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 |
| 1976 | Open a remote connection with a more concise command @kbd{C-x C-f | 1944 | Open 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 | |||
| 1992 | files unless changed to another location, such as | 1960 | files 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 |
| 1994 | default by @value{tramp} when using, say, a restricted file | 1962 | default 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 |
| 1996 | file of the secretfile is now owned by the user logged in from tramp | 1964 | file of the secretfile is now owned by the user logged in from tramp |
| 1997 | and not root. | 1965 | and not root. |
| 1998 | 1966 | ||
| @@ -2042,9 +2010,9 @@ Example: | |||
| 2042 | @end lisp | 2010 | @end lisp |
| 2043 | 2011 | ||
| 2044 | @noindent | 2012 | @noindent |
| 2045 | The backup file name of @file{@trampfn{su, root, localhost, | 2013 | The 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 | ||
| 2049 | Just as for backup files, similar issues of file naming affect | 2017 | Just as for backup files, similar issues of file naming affect |
| 2050 | auto-saving @value{tramp} files. Auto-saved files are saved in the | 2018 | auto-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}} |
| 2147 | opens file @var{localfilename} on the remote host @var{host}, using | 2115 | opens file @var{localfilename} on the remote host @var{host}, using |
| 2148 | the default method. @xref{Default Method}. | 2116 | the 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 |
| 2173 | 127.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}}. |
| 2175 | reasons, IPv6 addresses must be embedded in square brackets | 2143 | For syntactical reasons, IPv6 addresses must be embedded in square |
| 2176 | @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. | 2144 | brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. |
| 2177 | 2145 | ||
| 2178 | By default, @value{tramp} will use the current local user name as the | 2146 | By default, @value{tramp} will use the current local user name as the |
| 2179 | remote user name for log in to the remote host. Specifying a different | 2147 | remote user name for log in to the remote host. Specifying a different |
| 2180 | name using the proper syntax will override this default behavior: | 2148 | name 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 | ||
| 2198 | To connect to the host @code{melancholia} as @code{daniel}, using | 2166 | To 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 |
| 2200 | directory, the full specification is: @file{@trampfn{ssh, daniel, | 2168 | directory, the full specification is: |
| 2201 | melancholia, .emacs}}. | 2169 | @file{@trampfn{ssh,daniel@@melancholia,.emacs}}. |
| 2202 | 2170 | ||
| 2203 | A remote file name containing a host name, which is the same string as | 2171 | A remote file name containing a host name, which is the same string as |
| 2204 | a method name, is not allowed. | 2172 | a method name, is not allowed. |
| 2205 | 2173 | ||
| 2206 | For specifying port numbers, affix @file{#<port>} to the host | 2174 | For specifying port numbers, affix @file{#<port>} to the host |
| 2207 | name. For example: @file{@trampfn{ssh, daniel, melancholia#42, | 2175 | name. 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. | |||
| 2274 | Example: | 2242 | Example: |
| 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 | |||
| 2314 | proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}: | 2282 | proxy @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 |
| 2326 | that Emacs session. Subsequent @value{tramp} connections to the same | 2293 | that Emacs session. Subsequent @value{tramp} connections to the same |
| 2327 | remote host can then use the shortcut form: @samp{@trampfn{ssh, you, | 2294 | remote host can then use the shortcut form: |
| 2328 | remotehost, /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 | |||
| 2478 | host. Example: | 2445 | host. 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} |
| 2503 | host | 2470 | host |
| 2504 | @b{@trampfn{sudo, root, host, /etc} $} id @key{RET} | 2471 | @b{@trampfn{sudo,root@@host,/etc} $} id @key{RET} |
| 2505 | uid=0(root) gid=0(root) groups=0(root) | 2472 | uid=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} |
| 2520 | File is not readable: @trampfn{ssh, user, remotehost, /etc/shadow} | 2487 | File 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} |
| 2526 | uid=0(root) gid=0(root) groups=0(root) | 2493 | uid=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 | ||
| 2549 | Relative file names are based on the remote default directory. When | 2516 | Relative 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}}, |
| 2551 | valid calls include: | 2518 | valid calls include: |
| 2552 | 2519 | ||
| 2553 | @example | 2520 | @example |
| @@ -2602,8 +2569,9 @@ To open @command{powershell} as a remote shell, use this: | |||
| 2602 | This command flushes all connection related objects. @option{vec} is | 2569 | This command flushes all connection related objects. @option{vec} is |
| 2603 | the internal representation of a remote connection. When called | 2570 | the internal representation of a remote connection. When called |
| 2604 | interactively, this command lists active remote connections in the | 2571 | interactively, this command lists active remote connections in the |
| 2605 | minibuffer. Each connection is of the format @file{@trampfn{method, | 2572 | minibuffer. Each connection is of the format |
| 2606 | user, host, }}. Flushing remote connections also cleans the password | 2573 | @file{@trampfn{method,user@@host,}}. Flushing remote connections also |
| 2574 | cleans the password | ||
| 2607 | cache (@pxref{Password handling}), file cache, connection cache | 2575 | cache (@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 | |||
| 3058 | How to shorten long file names when typing in @value{tramp}? | 3026 | How to shorten long file names when typing in @value{tramp}? |
| 3059 | 3027 | ||
| 3060 | Adapt several of these approaches to reduce typing. If the full name | 3028 | Adapt several of these approaches to reduce typing. If the full name |
| 3061 | is @file{@trampfn{ssh, news, news.my.domain, /opt/news/etc}}, then: | 3029 | is @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 | ||
| 3076 | The reduced typing: @kbd{C-x C-f @trampfn{, , news.my.domain, /opt/news/etc}}. | 3044 | The 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 |
| 3079 | your local host as @samp{root} user, is possible just by @kbd{C-x C-f | 3047 | your 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 |
| 3083 | Use configuration options of the access method: | 3051 | Use 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 | ||
| 3095 | The reduced typing: @kbd{C-x C-f @trampfn{ssh, , xy, /opt/news/etc}}. | 3063 | The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc}}. |
| 3096 | 3064 | ||
| 3097 | Depending on the number of files in the directories, host names | 3065 | Depending on the number of files in the directories, host names |
| 3098 | completion can further reduce key strokes: @kbd{C-x C-f | 3066 | completion can further reduce key strokes: @kbd{C-x C-f |
| @@ -3106,7 +3074,7 @@ the minibuffer. Environment variables are set either outside Emacs or | |||
| 3106 | inside Emacs with Lisp: | 3074 | inside 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 | ||
| 3112 | The reduced typing: @kbd{C-x C-f $xy @key{RET}}. | 3080 | The 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 | ||
| 3133 | Simply typing @kbd{C-x C-y} would prepare minibuffer editing of file | 3101 | Simply 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 | ||
| 3150 | The reduced typing: @kbd{C-x C-f /xy @key{RET}}. | 3118 | The 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 | ||
| 3227 | Then use directory completion in the minibuffer with @kbd{C-x C-f | 3195 | Then 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? | |||
| 3266 | When saving ad-hoc multi-hop @value{tramp} file names (@pxref{Ad-hoc | 3234 | When saving ad-hoc multi-hop @value{tramp} file names (@pxref{Ad-hoc |
| 3267 | multi-hops}) via bookmarks, recent files, filecache, bbdb, or another | 3235 | multi-hops}) via bookmarks, recent files, filecache, bbdb, or another |
| 3268 | package, use the full ad-hoc file name including all hops, like | 3236 | package, 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 | ||
| 3272 | Alternatively, when saving abbreviated multi-hop file names | 3239 | Alternatively, 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 |
| 3274 | option @code{tramp-save-ad-hoc-proxies} must be set non-@code{nil} | 3241 | option @code{tramp-save-ad-hoc-proxies} must be set non-@code{nil} |
| 3275 | value. | 3242 | value. |
| 3276 | 3243 | ||
| @@ -3302,7 +3269,7 @@ location. | |||
| 3302 | Then start Emacs Client from the command line: | 3269 | Then start Emacs Client from the command line: |
| 3303 | 3270 | ||
| 3304 | @example | 3271 | @example |
| 3305 | emacsclient @trampfn{ssh, user, host, /file/to/edit} | 3272 | emacsclient @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 |
| 3315 | emacsclient @trampfn{ssh, $(whoami), $(hostname --fqdn), $1} | 3282 | emacsclient @trampfn{ssh,$(whoami)@@$(hostname --fqdn),$1} |
| 3316 | @end example | 3283 | @end example |
| 3317 | 3284 | ||
| 3318 | Then change the environment variable @env{EDITOR} to point to the | 3285 | Then change the environment variable @env{EDITOR} to point to the |
| @@ -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 |
| 487 | servers. | 487 | servers. |
| 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 | ||
| 3952 | 2014-12-22 Artur Malabarba <bruce.connor.am@gmail.com> | 3952 | 2014-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 | ||
| 3956 | 2014-12-20 Michael Albinus <michael.albinus@gmx.de> | 3957 | 2014-12-20 Michael Albinus <michael.albinus@gmx.de> |
| 3957 | 3958 | ||
| @@ -3963,7 +3964,7 @@ | |||
| 3963 | 3964 | ||
| 3964 | 2014-12-19 Artur Malabarba <bruce.connor.am@gmail.com> | 3965 | 2014-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 | ||
| 3969 | 2014-12-19 Alan Mackenzie <acm@muc.de> | 3970 | 2014-12-19 Alan Mackenzie <acm@muc.de> |
| @@ -4005,7 +4006,7 @@ | |||
| 4005 | 4006 | ||
| 4006 | 2014-12-18 Artur Malabarba <bruce.connor.am@gmail.com> | 4007 | 2014-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 | ||
| 4010 | 2014-12-18 Sam Steingold <sds@gnu.org> | 4011 | 2014-12-18 Sam Steingold <sds@gnu.org> |
| 4011 | 4012 | ||
| @@ -4141,7 +4142,7 @@ | |||
| 4141 | 4142 | ||
| 4142 | 2014-12-14 Artur Malabarba <bruce.connor.am@gmail.com> | 4143 | 2014-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 | ||
| 4146 | 2014-12-14 Steve Purcell <steve@sanityinc.com> (tiny change) | 4147 | 2014-12-14 Steve Purcell <steve@sanityinc.com> (tiny change) |
| 4147 | 4148 | ||
| @@ -4273,7 +4274,7 @@ | |||
| 4273 | 4274 | ||
| 4274 | 2014-12-10 Artur Malabarba <bruce.connor.am@gmail.com> | 4275 | 2014-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 | ||
| 4278 | 2014-12-10 Eric S. Raymond <esr@snark.thyrsus.com> | 4279 | 2014-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. | ||
| 1150 | Default to the URL around or before point. The strings in | ||
| 1151 | variable `browse-url-chrome-arguments' are also passed to | ||
| 1152 | Google Chrome. | ||
| 1153 | The 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))) |